@taiga-ui/kit 2.53.0 → 2.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/bundles/taiga-ui-kit-components-input-files.umd.js +11 -5
  2. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -2
  6. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -0
  10. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +32 -4
  14. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-slider.umd.js +148 -85
  18. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-tabs.umd.js +5 -3
  22. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  25. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  26. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  27. package/components/line-clamp/index.d.ts +1 -0
  28. package/components/line-clamp/line-clamp-options.d.ts +7 -0
  29. package/components/line-clamp/line-clamp.component.d.ts +8 -3
  30. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  31. package/components/slider/{slider-key-steps.directive.d.ts → helpers/slider-key-steps.directive.d.ts} +1 -1
  32. package/components/slider/{slider-readonly.directive.d.ts → helpers/slider-readonly.directive.d.ts} +0 -0
  33. package/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.d.ts +12 -0
  34. package/components/slider/index.d.ts +3 -2
  35. package/components/slider/slider.component.d.ts +2 -1
  36. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  37. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  38. package/esm2015/components/input-files/input-files.module.js +10 -3
  39. package/esm2015/components/input-month-range/input-month-range.component.js +3 -4
  40. package/esm2015/components/input-phone-international/const/countries.js +2 -1
  41. package/esm2015/components/line-clamp/index.js +2 -1
  42. package/esm2015/components/line-clamp/line-clamp-options.js +12 -0
  43. package/esm2015/components/line-clamp/line-clamp.component.js +23 -8
  44. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +103 -0
  45. package/esm2015/components/slider/helpers/slider-readonly.directive.js +79 -0
  46. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +40 -0
  47. package/esm2015/components/slider/index.js +4 -3
  48. package/esm2015/components/slider/slider.component.js +12 -2
  49. package/esm2015/components/slider/slider.module.js +6 -3
  50. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  51. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +6 -4
  52. package/esm5/components/input-files/input-files.module.js +10 -3
  53. package/esm5/components/input-month-range/input-month-range.component.js +3 -4
  54. package/esm5/components/input-phone-international/const/countries.js +2 -1
  55. package/esm5/components/line-clamp/index.js +2 -1
  56. package/esm5/components/line-clamp/line-clamp-options.js +13 -0
  57. package/esm5/components/line-clamp/line-clamp.component.js +23 -8
  58. package/esm5/components/slider/helpers/slider-key-steps.directive.js +129 -0
  59. package/esm5/components/slider/helpers/slider-readonly.directive.js +87 -0
  60. package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +55 -0
  61. package/esm5/components/slider/index.js +4 -3
  62. package/esm5/components/slider/slider.component.js +12 -2
  63. package/esm5/components/slider/slider.module.js +6 -3
  64. package/esm5/components/tabs/tab/tab.component.js +1 -1
  65. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +6 -4
  66. package/fesm2015/taiga-ui-kit-components-input-files.js +9 -2
  67. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  68. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -3
  69. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  70. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -0
  71. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  72. package/fesm2015/taiga-ui-kit-components-line-clamp.js +33 -8
  73. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  74. package/fesm2015/taiga-ui-kit-components-slider.js +122 -75
  75. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  76. package/fesm2015/taiga-ui-kit-components-tabs.js +6 -4
  77. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  78. package/fesm5/taiga-ui-kit-components-input-files.js +9 -2
  79. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  80. package/fesm5/taiga-ui-kit-components-input-month-range.js +2 -3
  81. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  82. package/fesm5/taiga-ui-kit-components-input-phone-international.js +1 -0
  83. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  84. package/fesm5/taiga-ui-kit-components-line-clamp.js +34 -9
  85. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  86. package/fesm5/taiga-ui-kit-components-slider.js +149 -87
  87. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  88. package/fesm5/taiga-ui-kit-components-tabs.js +6 -4
  89. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  90. package/package.json +5 -5
  91. package/esm2015/components/slider/slider-key-steps.directive.js +0 -102
  92. package/esm2015/components/slider/slider-readonly.directive.js +0 -79
  93. package/esm5/components/slider/slider-key-steps.directive.js +0 -128
  94. package/esm5/components/slider/slider-readonly.directive.js +0 -87
@@ -0,0 +1,103 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { ChangeDetectorRef, Directive, ElementRef, HostListener, Inject, Input, Optional, Output, Pipe, PipeTransform, Self, } from '@angular/core';
3
+ import { NgControl } from '@angular/forms';
4
+ import { AbstractTuiControl, clamp, isNativeFocused, tuiAssert, tuiDefaultProp, typedFromEvent, } from '@taiga-ui/cdk';
5
+ import { tuiCheckKeyStepsHaveMinMaxPercents, tuiKeyStepValueToPercentage, tuiPercentageToKeyStepValue, } from '@taiga-ui/kit/utils';
6
+ import { map } from 'rxjs/operators';
7
+ import { TuiSliderComponent } from '../slider.component';
8
+ // @dynamic
9
+ let TuiSliderKeyStepsDirective = class TuiSliderKeyStepsDirective extends AbstractTuiControl {
10
+ constructor(control, changeDetectorRef, elementRef, slider) {
11
+ super(control, changeDetectorRef);
12
+ this.elementRef = elementRef;
13
+ this.slider = slider;
14
+ this.keySteps = [];
15
+ this.keyStepsInput = typedFromEvent(this.elementRef.nativeElement, 'input').pipe(map(() => this.controlValue));
16
+ }
17
+ get nativeFocusableElement() {
18
+ return this.computedDisabled ? null : this.elementRef.nativeElement;
19
+ }
20
+ get focused() {
21
+ return isNativeFocused(this.nativeFocusableElement);
22
+ }
23
+ get min() {
24
+ var _a;
25
+ return ((_a = this.keySteps[0]) === null || _a === void 0 ? void 0 : _a[1]) || 0;
26
+ }
27
+ get max() {
28
+ var _a;
29
+ return ((_a = this.keySteps[this.keySteps.length - 1]) === null || _a === void 0 ? void 0 : _a[1]) || 100;
30
+ }
31
+ get controlValue() {
32
+ return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);
33
+ }
34
+ updateControlValue() {
35
+ this.updateValue(this.controlValue);
36
+ }
37
+ writeValue(controlValue) {
38
+ if (controlValue === null) {
39
+ return;
40
+ }
41
+ const clampedControlValue = clamp(controlValue, this.min, this.max);
42
+ tuiAssert.assert(controlValue === clampedControlValue, '\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max');
43
+ this.slider.value = this.transformToNativeValue(clampedControlValue);
44
+ }
45
+ getFallbackValue() {
46
+ return 0;
47
+ }
48
+ transformToNativeValue(controlValue) {
49
+ const { min, max } = this.slider;
50
+ const newValuePercentage = tuiKeyStepValueToPercentage(controlValue, this.keySteps);
51
+ return (newValuePercentage * (max - min)) / 100 + min;
52
+ }
53
+ };
54
+ TuiSliderKeyStepsDirective.ctorParameters = () => [
55
+ { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
56
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
57
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
58
+ { type: TuiSliderComponent, decorators: [{ type: Inject, args: [TuiSliderComponent,] }] }
59
+ ];
60
+ __decorate([
61
+ Input(),
62
+ tuiDefaultProp(tuiCheckKeyStepsHaveMinMaxPercents, 'Should contain min and max values')
63
+ ], TuiSliderKeyStepsDirective.prototype, "keySteps", void 0);
64
+ __decorate([
65
+ Output()
66
+ ], TuiSliderKeyStepsDirective.prototype, "keyStepsInput", void 0);
67
+ __decorate([
68
+ HostListener('change')
69
+ ], TuiSliderKeyStepsDirective.prototype, "updateControlValue", null);
70
+ TuiSliderKeyStepsDirective = __decorate([
71
+ Directive({
72
+ selector: 'input[tuiSlider][keySteps]',
73
+ host: {
74
+ '[attr.data-key-steps]': 'true',
75
+ '[attr.aria-valuenow]': 'controlValue',
76
+ '[attr.aria-valuemin]': 'min',
77
+ '[attr.aria-valuemax]': 'max',
78
+ },
79
+ }),
80
+ __param(0, Optional()),
81
+ __param(0, Self()),
82
+ __param(0, Inject(NgControl)),
83
+ __param(1, Inject(ChangeDetectorRef)),
84
+ __param(2, Inject(ElementRef)),
85
+ __param(3, Inject(TuiSliderComponent))
86
+ ], TuiSliderKeyStepsDirective);
87
+ export { TuiSliderKeyStepsDirective };
88
+ /**
89
+ * @deprecated DONT USE IT! It is just temporary solution for internal purposes only. We will delete it in next major release.
90
+ * TODO delete it in v3.0
91
+ *
92
+ */
93
+ let TuiSliderTickLabelPipe = class TuiSliderTickLabelPipe {
94
+ transform(tickIndex, totalSegments, keySteps) {
95
+ const percentage = (100 / totalSegments) * tickIndex;
96
+ return tuiPercentageToKeyStepValue(percentage, keySteps);
97
+ }
98
+ };
99
+ TuiSliderTickLabelPipe = __decorate([
100
+ Pipe({ name: 'tuiSliderTickLabel' })
101
+ ], TuiSliderTickLabelPipe);
102
+ export { TuiSliderTickLabelPipe };
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyLyIsInNvdXJjZXMiOlsiaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLGFBQWEsRUFDYixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsY0FBYyxFQUVkLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILGtDQUFrQyxFQUNsQywyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzlCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZELFdBQVc7QUFVWCxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUNULFNBQVEsa0JBQTBCO0lBbUNsQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBQzFCLFVBQXdDLEVBQ2hDLE1BQTBCO1FBRXZFLEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUhHLGVBQVUsR0FBVixVQUFVLENBQThCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBbEMzRSxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUczQixrQkFBYSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxD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LEVBQUUsQ0FBQTtJQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7SUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7R0EzQ3RCLDBCQUEwQixDQWlGdEM7U0FqRlksMEJBQTBCO0FBbUZ2Qzs7OztHQUlHO0FBRUgsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFDL0IsU0FBUyxDQUFDLFNBQWlCLEVBQUUsYUFBcUIsRUFBRSxRQUFxQjtRQUNyRSxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxTQUFTLENBQUM7UUFFckQsT0FBTywyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNKLENBQUE7QUFOWSxzQkFBc0I7SUFEbEMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFDLENBQUM7R0FDdEIsc0JBQXNCLENBTWxDO1NBTlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBQaXBlLFxuICAgIFBpcGVUcmFuc2Zvcm0sXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgY2xhbXAsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1xuICAgIHR1aUNoZWNrS2V5U3RlcHNIYXZlTWluTWF4UGVyY2VudHMsXG4gICAgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlLFxuICAgIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi4vc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLWtleS1zdGVwc10nOiAndHJ1ZScsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbm93XSc6ICdjb250cm9sVmFsdWUnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1pbl0nOiAnbWluJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtYXhdJzogJ21heCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyS2V5U3RlcHNEaXJlY3RpdmVcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChcbiAgICAgICAgdHVpQ2hlY2tLZXlTdGVwc0hhdmVNaW5NYXhQZXJjZW50cyxcbiAgICAgICAgJ1Nob3VsZCBjb250YWluIG1pbiBhbmQgbWF4IHZhbHVlcycsXG4gICAgKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAga2V5U3RlcHNJbnB1dCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jb250cm9sVmFsdWUpLFxuICAgICk7XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgPyBudWxsIDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVN0ZXBzWzBdPy5bMV0gfHwgMDtcbiAgICB9XG5cbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVN0ZXBzW3RoaXMua2V5U3RlcHMubGVuZ3RoIC0gMV0/LlsxXSB8fCAxMDA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2xWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlKHRoaXMuc2xpZGVyLnZhbHVlUGVyY2VudGFnZSwgdGhpcy5rZXlTdGVwcyk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpU2xpZGVyQ29tcG9uZW50KSBwcml2YXRlIHJlYWRvbmx5IHNsaWRlcjogVHVpU2xpZGVyQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJylcbiAgICB1cGRhdGVDb250cm9sVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5jb250cm9sVmFsdWUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUoY29udHJvbFZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmIChjb250cm9sVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsYW1wZWRDb250cm9sVmFsdWUgPSBjbGFtcChjb250cm9sVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG5cbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgIGNvbnRyb2xWYWx1ZSA9PT0gY2xhbXBlZENvbnRyb2xWYWx1ZSxcbiAgICAgICAgICAgICdcXG5bU2xpZGVyS2V5U3RlcHNdOiBZb3UgY2Fubm90IHByb2dyYW1tYXRpY2FsbHkgc2V0IHZhbHVlIHdoaWNoIGlzIGxlc3MvbW9yZSB0aGFuIG1pbi9tYXgnLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2xpZGVyLnZhbHVlID0gdGhpcy50cmFuc2Zvcm1Ub05hdGl2ZVZhbHVlKGNsYW1wZWRDb250cm9sVmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJhbnNmb3JtVG9OYXRpdmVWYWx1ZShjb250cm9sVmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHttaW4sIG1heH0gPSB0aGlzLnNsaWRlcjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVQZXJjZW50YWdlID0gdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKFxuICAgICAgICAgICAgY29udHJvbFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5rZXlTdGVwcyxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKG5ld1ZhbHVlUGVyY2VudGFnZSAqIChtYXggLSBtaW4pKSAvIDEwMCArIG1pbjtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQhIEl0IGlzIGp1c3QgdGVtcG9yYXJ5IHNvbHV0aW9uIGZvciBpbnRlcm5hbCBwdXJwb3NlcyBvbmx5LiBXZSB3aWxsIGRlbGV0ZSBpdCBpbiBuZXh0IG1ham9yIHJlbGVhc2UuXG4gKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gKlxuICovXG5AUGlwZSh7bmFtZTogJ3R1aVNsaWRlclRpY2tMYWJlbCd9KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlclRpY2tMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odGlja0luZGV4OiBudW1iZXIsIHRvdGFsU2VnbWVudHM6IG51bWJlciwga2V5U3RlcHM6IFR1aUtleVN0ZXBzKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9ICgxMDAgLyB0b3RhbFNlZ21lbnRzKSAqIHRpY2tJbmRleDtcblxuICAgICAgICByZXR1cm4gdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlKHBlcmNlbnRhZ2UsIGtleVN0ZXBzKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
4
+ import { tuiCoerceBooleanProperty, tuiDefaultProp, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
5
+ import { combineLatest, merge, Observable } from 'rxjs';
6
+ import { filter, mapTo, takeUntil, tap } from 'rxjs/operators';
7
+ const SLIDER_INTERACTION_KEYS = new Set([
8
+ 'ArrowLeft',
9
+ 'ArrowRight',
10
+ 'ArrowUp',
11
+ 'ArrowDown',
12
+ 'Home',
13
+ 'End',
14
+ 'PageUp',
15
+ 'PageDown',
16
+ ]);
17
+ /**
18
+ * Native <input type='range' readonly> doesn't work.
19
+ * This directive imitates this native behaviour.
20
+ */
21
+ // @dynamic
22
+ let TuiSliderReadonlyDirective = class TuiSliderReadonlyDirective {
23
+ constructor(elementRef, documentRef, destroy$) {
24
+ this.readonly = true;
25
+ const touchStart$ = typedFromEvent(elementRef.nativeElement, 'touchstart', {
26
+ passive: false,
27
+ });
28
+ const touchMove$ = typedFromEvent(documentRef, 'touchmove', {
29
+ passive: false,
30
+ });
31
+ const touchEnd$ = typedFromEvent(documentRef, 'touchend', {
32
+ passive: true,
33
+ });
34
+ const shouldPreventMove$ = merge(touchStart$.pipe(tap(e => this.preventEvent(e)), mapTo(true)), touchEnd$.pipe(mapTo(false)));
35
+ /**
36
+ * @bad TODO think about another solution.
37
+ * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.
38
+ */
39
+ combineLatest([touchMove$, shouldPreventMove$])
40
+ .pipe(filter(([_, shouldPreventMove]) => shouldPreventMove), takeUntil(destroy$))
41
+ .subscribe(([moveEvent]) => this.preventEvent(moveEvent));
42
+ }
43
+ preventEvent(event) {
44
+ if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {
45
+ event.preventDefault();
46
+ }
47
+ }
48
+ preventKeyboardInteraction(event) {
49
+ if (SLIDER_INTERACTION_KEYS.has(event.key)) {
50
+ this.preventEvent(event);
51
+ }
52
+ }
53
+ };
54
+ TuiSliderReadonlyDirective.ctorParameters = () => [
55
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
56
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
57
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] }
58
+ ];
59
+ __decorate([
60
+ Input(),
61
+ tuiDefaultProp()
62
+ ], TuiSliderReadonlyDirective.prototype, "readonly", void 0);
63
+ __decorate([
64
+ HostListener('mousedown', ['$event'])
65
+ ], TuiSliderReadonlyDirective.prototype, "preventEvent", null);
66
+ __decorate([
67
+ HostListener('keydown', ['$event'])
68
+ ], TuiSliderReadonlyDirective.prototype, "preventKeyboardInteraction", null);
69
+ TuiSliderReadonlyDirective = __decorate([
70
+ Directive({
71
+ selector: 'input[tuiSlider][readonly]',
72
+ providers: [TuiDestroyService],
73
+ }),
74
+ __param(0, Inject(ElementRef)),
75
+ __param(1, Inject(DOCUMENT)),
76
+ __param(2, Inject(TuiDestroyService))
77
+ ], TuiSliderReadonlyDirective);
78
+ export { TuiSliderReadonlyDirective };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXJlYWRvbmx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJoZWxwZXJzL3NsaWRlci1yZWFkb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDcEMsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixLQUFLO0lBQ0wsUUFBUTtJQUNSLFVBQVU7Q0FDYixDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxXQUFXO0FBS1gsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7SUFLbkMsWUFDd0IsVUFBd0MsRUFDMUMsV0FBcUIsRUFFdkMsUUFBNkI7UUFOakMsYUFBUSxHQUFxQixJQUFJLENBQUM7UUFROUIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFO1lBQ3ZFLE9BQU8sRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFO1lBQ3RELE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUM1QixXQUFXLENBQUMsSUFBSSxDQUNaLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNkLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDL0IsQ0FBQztRQUVGOzs7V0FHRztRQUNILGFBQWEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2FBQzFDLElBQUksQ0FDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUNyRCxTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxZQUFZLENBQUMsS0FBWTtRQUNyQixJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFHRCwwQkFBMEIsQ0FBQyxLQUFvQjtRQUMzQyxJQUFJLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUM7Q0FDSixDQUFBOztZQWhEdUMsVUFBVSx1QkFBekMsTUFBTSxTQUFDLFVBQVU7WUFDYSxRQUFRLHVCQUF0QyxNQUFNLFNBQUMsUUFBUTtZQUVOLFVBQVUsdUJBRG5CLE1BQU0sU0FBQyxpQkFBaUI7O0FBTDdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzREQUNpQjtBQXVDbEM7SUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7OERBS3JDO0FBR0Q7SUFEQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7NEVBS25DO0FBckRRLDBCQUEwQjtJQUp0QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsNEJBQTRCO1FBQ3RDLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0tBQ2pDLENBQUM7SUFPTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBUnJCLDBCQUEwQixDQXNEdEM7U0F0RFksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0dWlDb2VyY2VCb29sZWFuUHJvcGVydHksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwVG8sIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFNMSURFUl9JTlRFUkFDVElPTl9LRVlTID0gbmV3IFNldChbXG4gICAgJ0Fycm93TGVmdCcsXG4gICAgJ0Fycm93UmlnaHQnLFxuICAgICdBcnJvd1VwJyxcbiAgICAnQXJyb3dEb3duJyxcbiAgICAnSG9tZScsXG4gICAgJ0VuZCcsXG4gICAgJ1BhZ2VVcCcsXG4gICAgJ1BhZ2VEb3duJyxcbl0pO1xuXG4vKipcbiAqIE5hdGl2ZSA8aW5wdXQgdHlwZT0ncmFuZ2UnIHJlYWRvbmx5PiBkb2Vzbid0IHdvcmsuXG4gKiBUaGlzIGRpcmVjdGl2ZSBpbWl0YXRlcyB0aGlzIG5hdGl2ZSBiZWhhdmlvdXIuXG4gKi9cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVNsaWRlcl1bcmVhZG9ubHldJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlclJlYWRvbmx5RGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZG9ubHk6IHN0cmluZyB8IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICApIHtcbiAgICAgICAgY29uc3QgdG91Y2hTdGFydCQgPSB0eXBlZEZyb21FdmVudChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jywge1xuICAgICAgICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0b3VjaE1vdmUkID0gdHlwZWRGcm9tRXZlbnQoZG9jdW1lbnRSZWYsICd0b3VjaG1vdmUnLCB7XG4gICAgICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHRvdWNoRW5kJCA9IHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2hlbmQnLCB7XG4gICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBzaG91bGRQcmV2ZW50TW92ZSQgPSBtZXJnZShcbiAgICAgICAgICAgIHRvdWNoU3RhcnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKGUgPT4gdGhpcy5wcmV2ZW50RXZlbnQoZSkpLFxuICAgICAgICAgICAgICAgIG1hcFRvKHRydWUpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRvdWNoRW5kJC5waXBlKG1hcFRvKGZhbHNlKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBiYWQgVE9ETyB0aGluayBhYm91dCBhbm90aGVyIHNvbHV0aW9uLlxuICAgICAgICAgKiBLZWVwIGluIG1pbmQgdGhhdCBwcmV2ZW50aW5nIHRvdWNoIGV2ZW50IChvbiBzbGlkZXIpIGluc2lkZSBgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcpYCBkb2Vzbid0IHdvcmsgZm9yIG1vYmlsZSBjaHJvbWUuXG4gICAgICAgICAqL1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0b3VjaE1vdmUkLCBzaG91bGRQcmV2ZW50TW92ZSRdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChbXywgc2hvdWxkUHJldmVudE1vdmVdKSA9PiBzaG91bGRQcmV2ZW50TW92ZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFttb3ZlRXZlbnRdKSA9PiB0aGlzLnByZXZlbnRFdmVudChtb3ZlRXZlbnQpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIHByZXZlbnRFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmNhbmNlbGFibGUgJiYgdHVpQ29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMucmVhZG9ubHkpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJldmVudEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFNMSURFUl9JTlRFUkFDVElPTl9LRVlTLmhhcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, ContentChild, } from '@angular/core';
3
+ import { NgControl } from '@angular/forms';
4
+ import { tuiAssert } from '@taiga-ui/cdk';
5
+ import { TuiSliderComponent } from '../../slider.component';
6
+ let TuiSliderThumbLabelComponent = class TuiSliderThumbLabelComponent {
7
+ get size() {
8
+ var _a;
9
+ return ((_a = this.slider) === null || _a === void 0 ? void 0 : _a.size) || 'm';
10
+ }
11
+ get ratio() {
12
+ var _a;
13
+ return (((_a = this.slider) === null || _a === void 0 ? void 0 : _a.valuePercentage) || 0) / 100;
14
+ }
15
+ get ghostLeft() {
16
+ var _a;
17
+ return this.ratio * (((_a = this.slider) === null || _a === void 0 ? void 0 : _a.elementRef.nativeElement.offsetWidth) || 0);
18
+ }
19
+ ngAfterContentInit() {
20
+ var _a;
21
+ tuiAssert.assert(Boolean((_a = this.control) === null || _a === void 0 ? void 0 : _a.valueChanges), `\n[tuiSliderThumbLabel] expected <input tuiSlider type="range" /> to use Angular Forms.\n` +
22
+ 'Use [(ngModel)] or [formControl] or formControlName for correct work.');
23
+ }
24
+ };
25
+ __decorate([
26
+ ContentChild(TuiSliderComponent)
27
+ ], TuiSliderThumbLabelComponent.prototype, "slider", void 0);
28
+ __decorate([
29
+ ContentChild(NgControl)
30
+ ], TuiSliderThumbLabelComponent.prototype, "control", void 0);
31
+ TuiSliderThumbLabelComponent = __decorate([
32
+ Component({
33
+ selector: '[tuiSliderThumbLabel]',
34
+ template: "<ng-container *ngIf=\"control?.valueChanges | async\"></ng-container>\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\n [style.left.px]=\"ghostLeft\"\n [style.--tui-slider-thumb-ratio]=\"ratio\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"input[type=range]\"></ng-content>\n",
35
+ changeDetection: ChangeDetectionStrategy.OnPush,
36
+ styles: [":host{position:relative}.t-ghost{position:absolute;top:0;bottom:0;margin:auto;border-radius:50%;pointer-events:none}.t-ghost[data-size='s']{width:.5rem;height:.5rem;transform:translateX(calc(var(--tui-slider-thumb-ratio) * -.5rem))}.t-ghost[data-size='m']{width:1rem;height:1rem;transform:translateX(calc(var(--tui-slider-thumb-ratio) * -1rem))}"]
37
+ })
38
+ ], TuiSliderThumbLabelComponent);
39
+ export { TuiSliderThumbLabelComponent };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRodW1iLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJoZWxwZXJzL3NsaWRlci10aHVtYi1sYWJlbC9zbGlkZXItdGh1bWItbGFiZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFRMUQsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7SUFPckMsSUFBSSxJQUFJOztRQUNKLE9BQU8sT0FBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJLEtBQUksR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLEtBQUs7O1FBQ0wsT0FBTyxDQUFDLE9BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsZUFBZSxLQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxTQUFTOztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEtBQUksQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGtCQUFrQjs7UUFDZCxTQUFTLENBQUMsTUFBTSxDQUNaLE9BQU8sT0FBQyxJQUFJLENBQUMsT0FBTywwQ0FBRSxZQUFZLENBQUMsRUFDbkMsMkZBQTJGO1lBQ3ZGLHVFQUF1RSxDQUM5RSxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUE7QUF4Qkc7SUFEQyxZQUFZLENBQUMsa0JBQWtCLENBQUM7NERBQ0k7QUFHckM7SUFEQyxZQUFZLENBQUMsU0FBUyxDQUFDOzZEQUNLO0FBTHBCLDRCQUE0QjtJQU54QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLHdVQUFpRDtRQUVqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztHQUNXLDRCQUE0QixDQTBCeEM7U0ExQlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHtUdWlTbGlkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL3NsaWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t0dWlTbGlkZXJUaHVtYkxhYmVsXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci10aHVtYi1sYWJlbC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zbGlkZXItdGh1bWItbGFiZWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJUaHVtYkxhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlTbGlkZXJDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgc2xpZGVyPzogVHVpU2xpZGVyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChOZ0NvbnRyb2wpXG4gICAgcmVhZG9ubHkgY29udHJvbD86IE5nQ29udHJvbDtcblxuICAgIGdldCBzaXplKCk6IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVyPy5zaXplIHx8ICdtJztcbiAgICB9XG5cbiAgICBnZXQgcmF0aW8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnNsaWRlcj8udmFsdWVQZXJjZW50YWdlIHx8IDApIC8gMTAwO1xuICAgIH1cblxuICAgIGdldCBnaG9zdExlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF0aW8gKiAodGhpcy5zbGlkZXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCB8fCAwKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICBCb29sZWFuKHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzKSxcbiAgICAgICAgICAgIGBcXG5bdHVpU2xpZGVyVGh1bWJMYWJlbF0gZXhwZWN0ZWQgPGlucHV0IHR1aVNsaWRlciB0eXBlPVwicmFuZ2VcIiAvPiB0byB1c2UgQW5ndWxhciBGb3Jtcy5cXG5gICtcbiAgICAgICAgICAgICAgICAnVXNlIFsobmdNb2RlbCldIG9yIFtmb3JtQ29udHJvbF0gb3IgZm9ybUNvbnRyb2xOYW1lIGZvciBjb3JyZWN0IHdvcmsuJyxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,8 @@
1
+ export * from './helpers/slider-key-steps.directive';
2
+ export * from './helpers/slider-readonly.directive';
3
+ export * from './helpers/slider-thumb-label/slider-thumb-label.component';
1
4
  export * from './slider.component';
2
5
  export * from './slider.module';
3
- export * from './slider-key-steps.directive';
4
6
  export * from './slider-old.component';
5
7
  export * from './slider-options';
6
- export * from './slider-readonly.directive';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZXItb2xkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWRlci1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLXJlYWRvbmx5LmRpcmVjdGl2ZSc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLXJlYWRvbmx5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLXRodW1iLWxhYmVsL3NsaWRlci10aHVtYi1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWRlci1vbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLW9wdGlvbnMnO1xuIl19
@@ -8,6 +8,7 @@ import { TUI_SLIDER_OPTIONS } from './slider-options';
8
8
  let TuiSliderComponent = class TuiSliderComponent {
9
9
  constructor(control, changeDetectorRef, options, elementRef, userAgent) {
10
10
  var _a;
11
+ this.control = control;
11
12
  this.options = options;
12
13
  this.elementRef = elementRef;
13
14
  this.userAgent = userAgent;
@@ -34,7 +35,16 @@ let TuiSliderComponent = class TuiSliderComponent {
34
35
  return Number(this.elementRef.nativeElement.step) || 1;
35
36
  }
36
37
  get value() {
37
- return Number(this.elementRef.nativeElement.value) || 0;
38
+ const { elementRef, control } = this;
39
+ const noKeySteps = !elementRef.nativeElement.hasAttribute('data-key-steps');
40
+ if (noKeySteps && control instanceof NgModel) {
41
+ /**
42
+ * If developer uses `[(ngModel)]` and programmatically change value,
43
+ * the `elementRef.nativeElement.value` is equal to the previous value at this moment.
44
+ */
45
+ return control.viewModel;
46
+ }
47
+ return Number(elementRef.nativeElement.value) || 0;
38
48
  }
39
49
  set value(newValue) {
40
50
  this.elementRef.nativeElement.value = `${newValue}`;
@@ -106,4 +116,4 @@ TuiSliderComponent = __decorate([
106
116
  __param(4, Inject(USER_AGENT))
107
117
  ], TuiSliderComponent);
108
118
  export { TuiSliderComponent };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUNILDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsY0FBYyxFQUNkLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEMsT0FBTyxFQUFDLGtCQUFrQixFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBd0J0RSxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQTZDM0IsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUMxQixPQUF5QixFQUN6QixVQUF3QyxFQUN4QyxTQUFpQjs7UUFGakIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDekIsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQWpEMUQsU0FBSSxHQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBSW5DLGFBQVEsR0FBRyxDQUFDLENBQUM7UUErQ1QsSUFBSSxPQUFPLFlBQVksT0FBTyxFQUFFO1lBQzVCOzs7Ozs7ZUFNRztZQUNILE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEdBQUc7U0FDN0U7SUFDTCxDQUFDO0lBdkRELElBQUksR0FBRztRQUNILE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFnQjtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBR0QsSUFBSSxlQUFlO1FBQ2YsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUdELElBQUksWUFBWTtRQUNaLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBR0QsSUFBSSxTQUFTO1FBQ1QsT0FBTyxlQUFlLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0F1QkosQ0FBQTs7WUFqQmdCLFNBQVMsdUJBSGpCLFFBQVEsWUFDUixJQUFJLFlBQ0osTUFBTSxTQUFDLFNBQVM7WUFFNkIsaUJBQWlCLHVCQUE5RCxNQUFNLFNBQUMsaUJBQWlCOzRDQUN4QixNQUFNLFNBQUMsa0JBQWtCO1lBQ3VCLFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO3lDQUNqQixNQUFNLFNBQUMsVUFBVTs7QUFqRHRCO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQzdCLGNBQWMsRUFBRTtnREFDa0I7QUFJbkM7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7b0RBQ0o7QUF1QmI7SUFEQyxXQUFXLENBQUMsc0NBQXNDLENBQUM7eURBR25EO0FBR0Q7SUFEQyxXQUFXLENBQUMsb0NBQW9DLENBQUM7c0RBR2pEO0FBR0Q7SUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7bURBRzlCO0FBM0NRLGtCQUFrQjtJQXRCOUIsU0FBUyxDQUFDO1FBQ1A7Ozs7O1dBS0c7UUFDSCxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFFBQVEsRUFBRSxFQUFFO1FBRVosSUFBSSxFQUFFO1lBQ0Y7Ozs7O2VBS0c7WUFDSCxTQUFTLEVBQUUsR0FBRztZQUNkLGtDQUFrQyxFQUFFLG9CQUFvQjtTQUMzRDtRQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBK0NPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzFCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0dBckRkLGtCQUFrQixDQWtFOUI7U0FsRVksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLFxuICAgIGlzRWRnZU9sZGVyVGhhbixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB3YXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfU0xJREVSX09QVElPTlMsIFR1aVNsaWRlck9wdGlvbnN9IGZyb20gJy4vc2xpZGVyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvKipcbiAgICAgKiBXZSBoYXZlIHRvIGNhbGwgb3VyIGNvbXBvbmVudCBhcyBgPGlucHV0IHR1aVNsaWRlciB0eXBlPVwicmFuZ2VcIiAuLi4gLz5gXG4gICAgICogYmVjYXVzZSBvdGhlcndpc2UgYnVpbHQtaW4gYW5ndWxhclxuICAgICAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2Zvcm1zL3NyYy9kaXJlY3RpdmVzL3JhbmdlX3ZhbHVlX2FjY2Vzc29yLnRzI0w0NSBSYW5nZVZhbHVlQWNjZXNzb3J9XG4gICAgICogY2Fubm90IGJlIG1hdGNoZWQgYnkgaXRzIENTUyBzZWxlY3Rvci5cbiAgICAgKi9cbiAgICBzZWxlY3RvcjogJ2lucHV0W3R5cGU9cmFuZ2VdW3R1aVNsaWRlcl0nLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuc3R5bGUubGVzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZvciBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgICAgKiBXZWJraXQgZG9lcyBub3QgaGF2ZSBidWlsdC1pbiBtZXRob2QgZm9yIGN1c3RvbWl6YXRpb24gb2YgZmlsbGluZyBwcm9ncmVzcyAoYXMgRmlyZWZveCkuXG4gICAgICAgICAqIFdlIGRyYXcgZmlsbGluZyBvZiBwcm9ncmVzcyBieSBgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC4uLilgIG9mIHRoZSB0cmFjay5cbiAgICAgICAgICogVGhpcyBmdW5jdGlvbiB0cmlnZ2VycyBjaGFuZ2UgZGV0ZWN0aW9uIChmb3Ige0BsaW5rIHZhbHVlUGVyY2VudGFnZX0gZnVuY3Rpb24pIHdoZW4gd2UgZHJhZyB0aHVtYiBvZiB0aGUgaW5wdXQuXG4gICAgICAgICAqL1xuICAgICAgICAnKGlucHV0KSc6ICcwJyxcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1zbGlkZXItdHJhY2stY29sb3JdJzogJ29wdGlvbnMudHJhY2tDb2xvcicsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWdtZW50cyA9IDE7XG5cbiAgICBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubWluKTtcbiAgICB9XG5cbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubWF4IHx8IDEwMCk7XG4gICAgfVxuXG4gICAgZ2V0IHN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdGVwKSB8fCAxO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKSB8fCAwO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gYCR7bmV3VmFsdWV9YDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdHVpLXNsaWRlci1maWxsLXBlcmNlbnRhZ2UuJScpXG4gICAgZ2V0IHZhbHVlUGVyY2VudGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKDEwMCAqICh0aGlzLnZhbHVlIC0gdGhpcy5taW4pKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSB8fCAwO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS10dWktc2xpZGVyLXNlZ21lbnQtd2lkdGguJScpXG4gICAgZ2V0IHNlZ21lbnRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMTAwIC8gTWF0aC5tYXgoMSwgdGhpcy5zZWdtZW50cyk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb2xkLWVkZ2UnKVxuICAgIGdldCBpc09sZEVkZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc0VkZ2VPbGRlclRoYW4oQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLCB0aGlzLnVzZXJBZ2VudCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfU0xJREVSX09QVElPTlMpIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVNsaWRlck9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBUaGUgVmFsdWVBY2Nlc3Nvci53cml0ZVZhbHVlIG1ldGhvZCBpcyBjYWxsZWQgdHdpY2Ugb24gYW55IHZhbHVlIGFjY2Vzc29yIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24sXG4gICAgICAgICAgICAgKiB3aGVuIGEgY29udHJvbCBpcyBib3VuZCB1c2luZyBbKG5nTW9kZWwpXSwgZmlyc3QgdGltZSB3aXRoIGEgcGhhbnRvbSBudWxsIHZhbHVlLlxuICAgICAgICAgICAgICogV2l0aCBgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hgIHRoZSBzZWNvbmQgY2FsbCBvZiB3cml0ZVZhbHVlIHdpdGggcmVhbCB2YWx1ZSBkb24ndCByZS1yZW5kZXIgdGhlIHZpZXcuXG4gICAgICAgICAgICAgKiBfX19cbiAgICAgICAgICAgICAqIFNlZSB0aGlzIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNDk4OCBpc3N1ZX1cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXM/LnBpcGUod2F0Y2goY2hhbmdlRGV0ZWN0b3JSZWYpLCB0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUNILDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsY0FBYyxFQUNkLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEMsT0FBTyxFQUFDLGtCQUFrQixFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBd0J0RSxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQXdEM0IsWUFJcUIsT0FBeUIsRUFDZixpQkFBb0MsRUFDMUIsT0FBeUIsRUFDakMsVUFBd0MsRUFDaEMsU0FBaUI7O1FBSnJDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBRUwsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQTVEMUQsU0FBSSxHQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBSW5DLGFBQVEsR0FBRyxDQUFDLENBQUM7UUEwRFQsSUFBSSxPQUFPLFlBQVksT0FBTyxFQUFFO1lBQzVCOzs7Ozs7ZUFNRztZQUNILE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUs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QUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUMxQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQWhFZCxrQkFBa0IsQ0E2RTlCO1NBN0VZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2wsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VVNFUl9BR0VOVH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENIUk9NSVVNX0VER0VfU1RBUlRfVkVSU0lPTixcbiAgICBpc0VkZ2VPbGRlclRoYW4sXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgd2F0Y2gsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX1NMSURFUl9PUFRJT05TLCBUdWlTbGlkZXJPcHRpb25zfSBmcm9tICcuL3NsaWRlci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgLyoqXG4gICAgICogV2UgaGF2ZSB0byBjYWxsIG91ciBjb21wb25lbnQgYXMgYDxpbnB1dCB0dWlTbGlkZXIgdHlwZT1cInJhbmdlXCIgLi4uIC8+YFxuICAgICAqIGJlY2F1c2Ugb3RoZXJ3aXNlIGJ1aWx0LWluIGFuZ3VsYXJcbiAgICAgKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21hc3Rlci9wYWNrYWdlcy9mb3Jtcy9zcmMvZGlyZWN0aXZlcy9yYW5nZV92YWx1ZV9hY2Nlc3Nvci50cyNMNDUgUmFuZ2VWYWx1ZUFjY2Vzc29yfVxuICAgICAqIGNhbm5vdCBiZSBtYXRjaGVkIGJ5IGl0cyBDU1Mgc2VsZWN0b3IuXG4gICAgICovXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPXJhbmdlXVt0dWlTbGlkZXJdJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGb3IgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgICAgICogV2Via2l0IGRvZXMgbm90IGhhdmUgYnVpbHQtaW4gbWV0aG9kIGZvciBjdXN0b21pemF0aW9uIG9mIGZpbGxpbmcgcHJvZ3Jlc3MgKGFzIEZpcmVmb3gpLlxuICAgICAgICAgKiBXZSBkcmF3IGZpbGxpbmcgb2YgcHJvZ3Jlc3MgYnkgYGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCguLi4pYCBvZiB0aGUgdHJhY2suXG4gICAgICAgICAqIFRoaXMgZnVuY3Rpb24gdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiAoZm9yIHtAbGluayB2YWx1ZVBlcmNlbnRhZ2V9IGZ1bmN0aW9uKSB3aGVuIHdlIGRyYWcgdGh1bWIgb2YgdGhlIGlucHV0LlxuICAgICAgICAgKi9cbiAgICAgICAgJyhpbnB1dCknOiAnMCcsXG4gICAgICAgICdbc3R5bGUuLS10dWktc2xpZGVyLXRyYWNrLWNvbG9yXSc6ICdvcHRpb25zLnRyYWNrQ29sb3InLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAxO1xuXG4gICAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1heCB8fCAxMDApO1xuICAgIH1cblxuICAgIGdldCBzdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3RlcCkgfHwgMTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRSZWYsIGNvbnRyb2x9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgbm9LZXlTdGVwcyA9ICFlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLWtleS1zdGVwcycpO1xuXG4gICAgICAgIGlmIChub0tleVN0ZXBzICYmIGNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIElmIGRldmVsb3BlciB1c2VzIGBbKG5nTW9kZWwpXWAgYW5kIHByb2dyYW1tYXRpY2FsbHkgY2hhbmdlIHZhbHVlLFxuICAgICAgICAgICAgICogdGhlIGBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWVgIGlzIGVxdWFsIHRvIHRoZSBwcmV2aW91cyB2YWx1ZSBhdCB0aGlzIG1vbWVudC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmlld01vZGVsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE51bWJlcihlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpIHx8IDA7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBgJHtuZXdWYWx1ZX1gO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS10dWktc2xpZGVyLWZpbGwtcGVyY2VudGFnZS4lJylcbiAgICBnZXQgdmFsdWVQZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogKHRoaXMudmFsdWUgLSB0aGlzLm1pbikpIC8gKHRoaXMubWF4IC0gdGhpcy5taW4pIHx8IDA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXR1aS1zbGlkZXItc2VnbWVudC13aWR0aC4lJylcbiAgICBnZXQgc2VnbWVudFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAxMDAgLyBNYXRoLm1heCgxLCB0aGlzLnNlZ21lbnRzKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vbGQtZWRnZScpXG4gICAgZ2V0IGlzT2xkRWRnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzRWRnZU9sZGVyVGhhbihDSFJPTUlVTV9FREdFX1NUQVJUX1ZFUlNJT04sIHRoaXMudXNlckFnZW50KTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1NMSURFUl9PUFRJT05TKSByZWFkb25seSBvcHRpb25zOiBUdWlTbGlkZXJPcHRpb25zLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVVNFUl9BR0VOVCkgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnQ6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBWYWx1ZUFjY2Vzc29yLndyaXRlVmFsdWUgbWV0aG9kIGlzIGNhbGxlZCB0d2ljZSBvbiBhbnkgdmFsdWUgYWNjZXNzb3IgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbixcbiAgICAgICAgICAgICAqIHdoZW4gYSBjb250cm9sIGlzIGJvdW5kIHVzaW5nIFsobmdNb2RlbCldLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWUuXG4gICAgICAgICAgICAgKiBXaXRoIGBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaGAgdGhlIHNlY29uZCBjYWxsIG9mIHdyaXRlVmFsdWUgd2l0aCByZWFsIHZhbHVlIGRvbid0IHJlLXJlbmRlciB0aGUgdmlldy5cbiAgICAgICAgICAgICAqIF9fX1xuICAgICAgICAgICAgICogU2VlIHRoaXMge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4IGlzc3VlfVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcz8ucGlwZSh3YXRjaChjaGFuZ2VEZXRlY3RvclJlZiksIHRha2UoMSkpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -3,10 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { TuiActiveZoneModule, TuiFocusableModule, TuiFocusVisibleModule, TuiRepeatTimesModule, } from '@taiga-ui/cdk';
5
5
  import { TuiFormatNumberPipeModule } from '@taiga-ui/core';
6
+ import { TuiSliderKeyStepsDirective, TuiSliderTickLabelPipe, } from './helpers/slider-key-steps.directive';
7
+ import { TuiSliderReadonlyDirective } from './helpers/slider-readonly.directive';
8
+ import { TuiSliderThumbLabelComponent } from './helpers/slider-thumb-label/slider-thumb-label.component';
6
9
  import { TuiSliderComponent } from './slider.component';
7
- import { TuiSliderKeyStepsDirective, TuiSliderTickLabelPipe, } from './slider-key-steps.directive';
8
10
  import { TuiSliderOldComponent } from './slider-old.component';
9
- import { TuiSliderReadonlyDirective } from './slider-readonly.directive';
10
11
  let TuiSliderModule = class TuiSliderModule {
11
12
  };
12
13
  TuiSliderModule = __decorate([
@@ -21,6 +22,7 @@ TuiSliderModule = __decorate([
21
22
  ],
22
23
  declarations: [
23
24
  TuiSliderComponent,
25
+ TuiSliderThumbLabelComponent,
24
26
  TuiSliderKeyStepsDirective,
25
27
  TuiSliderReadonlyDirective,
26
28
  TuiSliderTickLabelPipe,
@@ -28,6 +30,7 @@ TuiSliderModule = __decorate([
28
30
  ],
29
31
  exports: [
30
32
  TuiSliderComponent,
33
+ TuiSliderThumbLabelComponent,
31
34
  TuiSliderKeyStepsDirective,
32
35
  TuiSliderReadonlyDirective,
33
36
  TuiSliderTickLabelPipe,
@@ -36,4 +39,4 @@ TuiSliderModule = __decorate([
36
39
  })
37
40
  ], TuiSliderModule);
38
41
  export { TuiSliderModule };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3ZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsc0JBQXNCLEdBQ3pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUEwQnZFLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7Q0FBRyxDQUFBO0FBQWxCLGVBQWU7SUF4QjNCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRTtZQUNMLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIseUJBQXlCO1NBQzVCO1FBQ0QsWUFBWSxFQUFFO1lBQ1Ysa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtTQUN4QjtRQUNELE9BQU8sRUFBRTtZQUNMLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixxQkFBcUI7U0FDeEI7S0FDSixDQUFDO0dBQ1csZUFBZSxDQUFHO1NBQWxCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c1Zpc2libGVNb2R1bGUsXG4gICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlGb3JtYXROdW1iZXJQaXBlTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpU2xpZGVyQ29tcG9uZW50fSBmcm9tICcuL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJLZXlTdGVwc0RpcmVjdGl2ZSxcbiAgICBUdWlTbGlkZXJUaWNrTGFiZWxQaXBlLFxufSBmcm9tICcuL3NsaWRlci1rZXktc3RlcHMuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2xpZGVyT2xkQ29tcG9uZW50fSBmcm9tICcuL3NsaWRlci1vbGQuY29tcG9uZW50JztcbmltcG9ydCB7VHVpU2xpZGVyUmVhZG9ubHlEaXJlY3RpdmV9IGZyb20gJy4vc2xpZGVyLXJlYWRvbmx5LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aVJlcGVhdFRpbWVzTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlcktleVN0ZXBzRGlyZWN0aXZlLFxuICAgICAgICBUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZSxcbiAgICAgICAgVHVpU2xpZGVyVGlja0xhYmVsUGlwZSxcbiAgICAgICAgVHVpU2xpZGVyT2xkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlcktleVN0ZXBzRGlyZWN0aXZlLFxuICAgICAgICBUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZSxcbiAgICAgICAgVHVpU2xpZGVyVGlja0xhYmVsUGlwZSxcbiAgICAgICAgVHVpU2xpZGVyT2xkQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlck1vZHVsZSB7fVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3ZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsc0JBQXNCLEdBQ3pCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDdkcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUE0QjdELElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7Q0FBRyxDQUFBO0FBQWxCLGVBQWU7SUExQjNCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRTtZQUNMLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIseUJBQXlCO1NBQzVCO1FBQ0QsWUFBWSxFQUFFO1lBQ1Ysa0JBQWtCO1lBQ2xCLDRCQUE0QjtZQUM1QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixxQkFBcUI7U0FDeEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxrQkFBa0I7WUFDbEIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtTQUN4QjtLQUNKLENBQUM7R0FDVyxlQUFlLENBQUc7U0FBbEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aUFjdGl2ZVpvbmVNb2R1bGUsXG4gICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICBUdWlSZXBlYXRUaW1lc01vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUZvcm1hdE51bWJlclBpcGVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJLZXlTdGVwc0RpcmVjdGl2ZSxcbiAgICBUdWlTbGlkZXJUaWNrTGFiZWxQaXBlLFxufSBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZX0gZnJvbSAnLi9oZWxwZXJzL3NsaWRlci1yZWFkb25seS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlTbGlkZXJUaHVtYkxhYmVsQ29tcG9uZW50fSBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLXRodW1iLWxhYmVsL3NsaWRlci10aHVtYi1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlTbGlkZXJDb21wb25lbnR9IGZyb20gJy4vc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVNsaWRlck9sZENvbXBvbmVudH0gZnJvbSAnLi9zbGlkZXItb2xkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aVJlcGVhdFRpbWVzTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlclRodW1iTGFiZWxDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlcktleVN0ZXBzRGlyZWN0aXZlLFxuICAgICAgICBUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZSxcbiAgICAgICAgVHVpU2xpZGVyVGlja0xhYmVsUGlwZSxcbiAgICAgICAgVHVpU2xpZGVyT2xkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlclRodW1iTGFiZWxDb21wb25lbnQsXG4gICAgICAgIFR1aVNsaWRlcktleVN0ZXBzRGlyZWN0aXZlLFxuICAgICAgICBUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZSxcbiAgICAgICAgVHVpU2xpZGVyVGlja0xhYmVsUGlwZSxcbiAgICAgICAgVHVpU2xpZGVyT2xkQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlck1vZHVsZSB7fVxuIl19
@@ -63,7 +63,7 @@ TuiTabComponent = __decorate([
63
63
  '[style.--tui-tab-margin.px]': 'margin',
64
64
  type: 'button',
65
65
  },
66
- styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context([tuiTabs]>):first-child,:host-context([tuiTabs]>:first-child),:host-context(tui-tabs>):first-child,:host-context(tui-tabs>:first-child){margin-left:0}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:var(--tui-tab-margin,1.5rem)}:host:hover{color:var(--tui-text-01)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}"]
66
+ styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context([tuiTabs]>):first-child,:host-context([tuiTabs]>:first-child),:host-context(tui-tabs>):first-child,:host-context(tui-tabs>:first-child){margin-left:0}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:var(--tui-tab-margin,1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover:hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}"]
67
67
  }),
68
68
  __param(0, Optional()),
69
69
  __param(0, Inject(RouterLinkActive)),
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Inject, Input, Output, QueryList, TemplateRef, ViewChild, } from '@angular/core';
3
- import { EMPTY_QUERY, getClosestFocusable, isNativeFocused, setNativeFocused, toInt, tuiAssertIsHTMLElement, tuiDefaultProp, } from '@taiga-ui/cdk';
3
+ import { EMPTY_QUERY, getClosestFocusable, isNativeFocused, setNativeFocused, toInt, tuiAssertIsHTMLElement, tuiClamp, tuiDefaultProp, } from '@taiga-ui/cdk';
4
4
  import { TUI_MORE_WORD, TUI_TAB_MARGIN } from '@taiga-ui/kit/tokens';
5
5
  import { Observable } from 'rxjs';
6
6
  import { filter, map } from 'rxjs/operators';
@@ -33,8 +33,10 @@ let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
33
33
  }
34
34
  get activeElement() {
35
35
  var _a;
36
- return this.options.exposeActive || this.lastVisibleIndex >= this.activeItemIndex
37
- ? this.tabs[this.activeItemIndex] || null
36
+ const { tabs } = this;
37
+ const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);
38
+ return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex
39
+ ? tabs[safeActiveIndex] || null
38
40
  : ((_a = this.moreButton) === null || _a === void 0 ? void 0 : _a.nativeElement) || null;
39
41
  }
40
42
  get isMoreVisible() {
@@ -199,4 +201,4 @@ TuiTabsWithMoreComponent = __decorate([
199
201
  __param(5, Inject(TUI_MORE_WORD))
200
202
  ], TuiTabsWithMoreComponent);
201
203
  export { TuiTabsWithMoreComponent };
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMvIiwic291cmNlcyI6WyJ0YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsS0FBSyxFQUVMLHNCQUFzQixFQUV0QixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFeEUsV0FBVztBQVFYLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBb0NqQyxZQUMrQyxPQUF1QixFQUN6QixNQUFjLEVBQ2hCLFFBQTZCLEVBQy9CLFVBQW1D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LE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtHQTFDakIsd0JBQXdCLENBME1wQztTQTFNWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIHRvSW50LFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX01PUkVfV09SRCwgVFVJX1RBQl9NQVJHSU59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpVGFiRGlyZWN0aXZlfSBmcm9tICcuLi90YWIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGFiQ29tcG9uZW50fSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9UQUJTX09QVElPTlMsIFR1aVRhYnNPcHRpb25zfSBmcm9tICcuLi90YWJzLW9wdGlvbnMnO1xuaW1wb3J0IHtUQUJTX1BST1ZJREVSUywgVEFCU19SRUZSRVNIfSBmcm9tICcuL3RhYnMtd2l0aC1tb3JlLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS10YWJzLXdpdGgtbW9yZSwgbmF2W3R1aVRhYnNXaXRoTW9yZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJzLXdpdGgtbW9yZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWJzLXdpdGgtbW9yZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUQUJTX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic1dpdGhNb3JlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChUdWlUYWJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vcmVCdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIHByaXZhdGUgbWF4SW5kZXggPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb3JlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRyb3Bkb3duQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+PiA9XG4gICAgICAgICcnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bmRlcmxpbmUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdGhpcy5vcHRpb25zLnVuZGVybGluZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zTGltaXQgPSB0aGlzLm9wdGlvbnMuaXRlbXNMaW1pdDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlUYWJEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfVEFCU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVRhYnNPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9UQUJfTUFSR0lOKSBwcml2YXRlIHJlYWRvbmx5IG1hcmdpbjogbnVtYmVyLFxuICAgICAgICBASW5qZWN0KFRBQlNfUkVGUkVTSCkgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9SRV9XT1JEKSByZWFkb25seSBtb3JlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG5cbiAgICAvLyBUT0RPOiBJbXByb3ZlIHBlcmZvcm1hbmNlXG4gICAgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tPEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0dWlUYWJdJyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgfHwgdGhpcy5sYXN0VmlzaWJsZUluZGV4ID49IHRoaXMuYWN0aXZlSXRlbUluZGV4XG4gICAgICAgICAgICA/IHRoaXMudGFic1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gfHwgbnVsbFxuICAgICAgICAgICAgOiB0aGlzLm1vcmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5vcGVuIHx8XG4gICAgICAgICAgICAoIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5hY3RpdmVJdGVtSW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudChldmVudC50YXJnZXQpO1xuXG4gICAgICAgIGlmIChpc05hdGl2ZUZvY3VzZWQoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dMZWZ0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBsZXQgaW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pO1xuXG4gICAgICAgICAgICBpZiAoaXNOYXRpdmVGb2N1c2VkKHRhYnNbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5kZXgtLTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV3JhcHBlckFycm93KGV2ZW50OiBFdmVudCwgd3JhcHBlcjogSFRNTEVsZW1lbnQsIHByZXY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShidXR0b24sIHByZXYsIHdyYXBwZXIpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzT3ZlcmZsb3duKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZTtcbiAgICB9XG5cbiAgICBzaG91bGRTaG93KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gdGhpcy5sYXN0VmlzaWJsZUluZGV4ICYmIHRoaXMuaXNPdmVyZmxvd24oaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNNb3JlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb3JlQnV0dG9uKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgbW9yZVdpZHRoO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKG1heEluZGV4KSB7XG4gICAgICAgICAgICB0b3RhbCAtPSB0YWJzW21heEluZGV4XS5zY3JvbGxXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSAmJiBhY3RpdmVJdGVtSW5kZXggPiBtYXhJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU9mZnNldCA9IGFjdGl2ZURpc3BsYWNlZCA/IGFjdGl2ZVdpZHRoICsgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHRvdGFsICsgYWN0aXZlT2Zmc2V0ICsgbW9yZVdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0b0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBhY3RpdmVJdGVtSW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgdGhpcy5tYXhJbmRleCA9IHRoaXMuZ2V0TWF4SW5kZXgoKTtcbiAgICB9XG59XG4iXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMvIiwic291cmNlcyI6WyJ0YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsS0FBSyxFQUVMLHNCQUFzQixFQUN0QixRQUFRLEVBRVIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXhFLFdBQVc7QUFRWCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQW9DakMsWUFDK0MsT0FBdUIsRUFDekIsTUFBYyxFQUNoQixRQUE2QixF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QyxDQUFBO0lBQ3RCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7R0ExQ2pCLHdCQUF3QixDQTZNcEM7U0E3TVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgZ2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICB0b0ludCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQsXG4gICAgdHVpQ2xhbXAsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9NT1JFX1dPUkQsIFRVSV9UQUJfTUFSR0lOfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkRpcmVjdGl2ZX0gZnJvbSAnLi4vdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEFCU19PUFRJT05TLCBUdWlUYWJzT3B0aW9uc30gZnJvbSAnLi4vdGFicy1vcHRpb25zJztcbmltcG9ydCB7VEFCU19QUk9WSURFUlMsIFRBQlNfUkVGUkVTSH0gZnJvbSAnLi90YWJzLXdpdGgtbW9yZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktdGFicy13aXRoLW1vcmUsIG5hdlt0dWlUYWJzV2l0aE1vcmVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy13aXRoLW1vcmUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy13aXRoLW1vcmUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVEFCU19QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNXaXRoTW9yZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoVHVpVGFiQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb3JlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICBwcml2YXRlIG1heEluZGV4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9yZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkcm9wZG93bkNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj4gPVxuICAgICAgICAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fdW5kZXJsaW5lJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtc0xpbWl0ID0gdGhpcy5vcHRpb25zLml0ZW1zTGltaXQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpVGFiRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfVEFCX01BUkdJTikgcHJpdmF0ZSByZWFkb25seSBtYXJnaW46IG51bWJlcixcbiAgICAgICAgQEluamVjdChUQUJTX1JFRlJFU0gpIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PUkVfV09SRCkgcmVhZG9ubHkgbW9yZVdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgLy8gVE9ETzogSW1wcm92ZSBwZXJmb3JtYW5jZVxuICAgIGdldCB0YWJzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbTxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbdHVpVGFiXScpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHNhZmVBY3RpdmVJbmRleCA9IHR1aUNsYW1wKHRoaXMuYWN0aXZlSXRlbUluZGV4IHx8IDAsIDAsIHRhYnMubGVuZ3RoIC0gMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgfHwgdGhpcy5sYXN0VmlzaWJsZUluZGV4ID49IHNhZmVBY3RpdmVJbmRleFxuICAgICAgICAgICAgPyB0YWJzW3NhZmVBY3RpdmVJbmRleF0gfHwgbnVsbFxuICAgICAgICAgICAgOiB0aGlzLm1vcmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5vcGVuIHx8XG4gICAgICAgICAgICAoIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5hY3RpdmVJdGVtSW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudChldmVudC50YXJnZXQpO1xuXG4gICAgICAgIGlmIChpc05hdGl2ZUZvY3VzZWQoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dMZWZ0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBsZXQgaW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pO1xuXG4gICAgICAgICAgICBpZiAoaXNOYXRpdmVGb2N1c2VkKHRhYnNbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5kZXgtLTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV3JhcHBlckFycm93KGV2ZW50OiBFdmVudCwgd3JhcHBlcjogSFRNTEVsZW1lbnQsIHByZXY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShidXR0b24sIHByZXYsIHdyYXBwZXIpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzT3ZlcmZsb3duKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZTtcbiAgICB9XG5cbiAgICBzaG91bGRTaG93KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gdGhpcy5sYXN0VmlzaWJsZUluZGV4ICYmIHRoaXMuaXNPdmVyZmxvd24oaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNNb3JlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb3JlQnV0dG9uKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgbW9yZVdpZHRoO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKG1heEluZGV4KSB7XG4gICAgICAgICAgICB0b3RhbCAtPSB0YWJzW21heEluZGV4XS5zY3JvbGxXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSAmJiBhY3RpdmVJdGVtSW5kZXggPiBtYXhJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU9mZnNldCA9IGFjdGl2ZURpc3BsYWNlZCA/IGFjdGl2ZVdpZHRoICsgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHRvdGFsICsgYWN0aXZlT2Zmc2V0ICsgbW9yZVdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0b0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBhY3RpdmVJdGVtSW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgdGhpcy5tYXhJbmRleCA9IHRoaXMuZ2V0TWF4SW5kZXgoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
- import { TuiDroppableModule, TuiFocusableModule, TuiFocusedModule, TuiFocusVisibleModule, TuiHoveredModule, TuiLetModule, TuiPressedModule, } from '@taiga-ui/cdk';
4
+ import { TuiDroppableModule, TuiFocusableModule, TuiFocusedModule, TuiFocusVisibleModule, TuiHoveredModule, TuiItemDirective, TuiLetModule, TuiPressedModule, } from '@taiga-ui/cdk';
5
5
  import { TuiButtonModule, TuiGroupModule, TuiLinkModule, TuiLoaderModule, TuiSvgModule, TuiWrapperModule, } from '@taiga-ui/core';
6
+ import { TuiFileComponent, TuiFilesComponent, TuiFilesModule, } from '@taiga-ui/kit/components/files';
6
7
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
8
  import { TuiInputFilesComponent } from './input-files.component';
8
9
  var TuiInputFilesModule = /** @class */ (function () {
@@ -26,12 +27,18 @@ var TuiInputFilesModule = /** @class */ (function () {
26
27
  TuiLoaderModule,
27
28
  TuiButtonModule,
28
29
  TuiGroupModule,
30
+ TuiFilesModule,
29
31
  ],
30
32
  declarations: [TuiInputFilesComponent],
31
- exports: [TuiInputFilesComponent],
33
+ exports: [
34
+ TuiInputFilesComponent,
35
+ TuiFilesComponent,
36
+ TuiFileComponent,
37
+ TuiItemDirective,
38
+ ],
32
39
  })
33
40
  ], TuiInputFilesModule);
34
41
  return TuiInputFilesModule;
35
42
  }());
36
43
  export { TuiInputFilesModule };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWZpbGVzLyIsInNvdXJjZXMiOlsiaW5wdXQtZmlsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLGFBQWEsRUFDYixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBdUIvRDtJQUFBO0lBQWtDLENBQUM7SUFBdEIsbUJBQW1CO1FBckIvQixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixrQkFBa0I7Z0JBQ2xCLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixxQkFBcUI7Z0JBQ3JCLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2dCQUNoQixZQUFZO2dCQUNaLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixlQUFlO2dCQUNmLGNBQWM7YUFDakI7WUFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUN0QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztTQUNwQyxDQUFDO09BQ1csbUJBQW1CLENBQUc7SUFBRCwwQkFBQztDQUFBLEFBQW5DLElBQW1DO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aURyb3BwYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgVHVpRm9jdXNlZE1vZHVsZSxcbiAgICBUdWlGb2N1c1Zpc2libGVNb2R1bGUsXG4gICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICBUdWlMZXRNb2R1bGUsXG4gICAgVHVpUHJlc3NlZE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICBUdWlHcm91cE1vZHVsZSxcbiAgICBUdWlMaW5rTW9kdWxlLFxuICAgIFR1aUxvYWRlck1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGUsXG4gICAgVHVpV3JhcHBlck1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpSW5wdXRGaWxlc0NvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1maWxlcy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNNb2R1bGUsXG4gICAgICAgIFR1aUxldE1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNlZE1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNWaXNpYmxlTW9kdWxlLFxuICAgICAgICBUdWlQcmVzc2VkTW9kdWxlLFxuICAgICAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgICAgIFR1aURyb3BwYWJsZU1vZHVsZSxcbiAgICAgICAgVHVpV3JhcHBlck1vZHVsZSxcbiAgICAgICAgVHVpU3ZnTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlJbnB1dEZpbGVzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpSW5wdXRGaWxlc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RmlsZXNNb2R1bGUge31cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWZpbGVzLyIsInNvdXJjZXMiOlsiaW5wdXQtZmlsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixjQUFjLEdBQ2pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUE2Qi9EO0lBQUE7SUFBa0MsQ0FBQztJQUF0QixtQkFBbUI7UUEzQi9CLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLGtCQUFrQjtnQkFDbEIsWUFBWTtnQkFDWixnQkFBZ0I7Z0JBQ2hCLHFCQUFxQjtnQkFDckIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGtCQUFrQjtnQkFDbEIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixlQUFlO2dCQUNmLGVBQWU7Z0JBQ2YsY0FBYztnQkFDZCxjQUFjO2FBQ2pCO1lBQ0QsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDdEMsT0FBTyxFQUFFO2dCQUNMLHNCQUFzQjtnQkFDdEIsaUJBQWlCO2dCQUNqQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjthQUNuQjtTQUNKLENBQUM7T0FDVyxtQkFBbUIsQ0FBRztJQUFELDBCQUFDO0NBQUEsQUFBbkMsSUFBbUM7U0FBdEIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcHBhYmxlTW9kdWxlLFxuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgIFR1aUl0ZW1EaXJlY3RpdmUsXG4gICAgVHVpTGV0TW9kdWxlLFxuICAgIFR1aVByZXNzZWRNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgVHVpTGlua01vZHVsZSxcbiAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVdyYXBwZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRmlsZUNvbXBvbmVudCxcbiAgICBUdWlGaWxlc0NvbXBvbmVudCxcbiAgICBUdWlGaWxlc01vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0RmlsZXNDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZmlsZXMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlMZXRNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzZWRNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICAgICAgVHVpUHJlc3NlZE1vZHVsZSxcbiAgICAgICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlEcm9wcGFibGVNb2R1bGUsXG4gICAgICAgIFR1aVdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlGaWxlc01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0RmlsZXNDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpSW5wdXRGaWxlc0NvbXBvbmVudCxcbiAgICAgICAgVHVpRmlsZXNDb21wb25lbnQsXG4gICAgICAgIFR1aUZpbGVDb21wb25lbnQsXG4gICAgICAgIFR1aUl0ZW1EaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRGaWxlc01vZHVsZSB7fVxuIl19