@taiga-ui/kit 2.37.0 → 2.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/input-slider.d.ts +9 -5
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +8 -10
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +8 -0
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +21 -14
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +12 -2
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +153 -117
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +18 -9
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +23 -2
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +25 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
- package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
- package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
- package/components/input-files/input-files.component.d.ts +1 -0
- package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
- package/components/input-number/input-number.component.d.ts +4 -2
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-range/input-range.component.d.ts +2 -1
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/input-slider.component.d.ts +39 -22
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/input-tag.component.d.ts +9 -2
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
- package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
- package/components/slider/slider-key-steps.directive.d.ts +3 -1
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
- package/esm2015/abstract/input-slider.js +9 -7
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
- package/esm2015/components/checkbox/checkbox.component.js +3 -3
- package/esm2015/components/input-files/input-files.component.js +5 -1
- package/esm2015/components/input-number/input-number.component.js +21 -15
- package/esm2015/components/input-number/input-number.module.js +5 -1
- package/esm2015/components/input-range/input-range.component.js +10 -4
- package/esm2015/components/input-slider/input-slider.component.js +155 -108
- package/esm2015/components/input-slider/input-slider.module.js +5 -2
- package/esm2015/components/input-tag/input-tag.component.js +21 -12
- package/esm2015/components/radio/radio.component.js +2 -2
- package/esm2015/components/select/select.component.js +2 -2
- package/esm2015/components/slider/slider-key-steps.directive.js +14 -1
- package/esm2015/components/slider/slider.component.js +3 -3
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/toggle/toggle.component.js +3 -3
- package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
- package/esm5/abstract/input-slider.js +9 -11
- package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
- package/esm5/components/checkbox/checkbox.component.js +3 -3
- package/esm5/components/input-files/input-files.component.js +9 -1
- package/esm5/components/input-number/input-number.component.js +18 -12
- package/esm5/components/input-number/input-number.module.js +5 -1
- package/esm5/components/input-range/input-range.component.js +14 -4
- package/esm5/components/input-slider/input-slider.component.js +153 -117
- package/esm5/components/input-slider/input-slider.module.js +5 -2
- package/esm5/components/input-tag/input-tag.component.js +21 -12
- package/esm5/components/radio/radio.component.js +2 -2
- package/esm5/components/select/select.component.js +2 -2
- package/esm5/components/slider/slider-key-steps.directive.js +22 -1
- package/esm5/components/slider/slider.component.js +3 -3
- package/esm5/components/text-area/text-area.component.js +3 -3
- package/esm5/components/toggle/toggle.component.js +3 -3
- package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
- package/fesm2015/taiga-ui-kit-abstract.js +8 -6
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +4 -0
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +24 -15
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +8 -2
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +156 -107
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +21 -12
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +15 -2
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +8 -10
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
- package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js +8 -0
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +21 -12
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +12 -2
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +154 -116
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +21 -12
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio.js +1 -1
- package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select.js +1 -1
- package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +23 -2
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
- package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
- package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +3 -0
- package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
- package/package.json +4 -4
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { __decorate, __extends, __param } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef,
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
5
|
-
import {
|
|
4
|
+
import { clamp, isNativeFocused, round, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAssert, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
5
|
+
import { getFractionPartPadded, HINT_CONTROLLER_PROVIDER, NumberFormatSettings, TEXTFIELD_CONTROLLER_PROVIDER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiDecimalT, TuiSizeL, TuiTextfieldController, } from '@taiga-ui/core';
|
|
6
6
|
import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
|
|
7
|
+
import { TuiInputNumberComponent } from '@taiga-ui/kit/components/input-number';
|
|
7
8
|
import { TuiSliderComponent, tuiSliderOptionsProvider, } from '@taiga-ui/kit/components/slider';
|
|
9
|
+
import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
|
|
8
10
|
import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
|
|
9
11
|
import { Observable } from 'rxjs';
|
|
10
12
|
/**
|
|
@@ -26,15 +28,26 @@ export { TuiNewInputSliderDirective };
|
|
|
26
28
|
// @dynamic
|
|
27
29
|
var TuiInputSliderComponent = /** @class */ (function (_super) {
|
|
28
30
|
__extends(TuiInputSliderComponent, _super);
|
|
29
|
-
function TuiInputSliderComponent(control, changeDetectorRef,
|
|
31
|
+
function TuiInputSliderComponent(control, changeDetectorRef, controller, numberFormat, fromToTexts$, isNew) {
|
|
30
32
|
var _this = _super.call(this, control, changeDetectorRef) || this;
|
|
31
|
-
_this.modeDirective = modeDirective;
|
|
32
|
-
_this.hintController = hintController;
|
|
33
33
|
_this.controller = controller;
|
|
34
34
|
_this.numberFormat = numberFormat;
|
|
35
|
-
_this.appearance = appearance;
|
|
36
35
|
_this.fromToTexts$ = fromToTexts$;
|
|
37
36
|
_this.isNew = isNew;
|
|
37
|
+
_this.min = 0;
|
|
38
|
+
_this.max = Infinity;
|
|
39
|
+
_this.quantum = 1;
|
|
40
|
+
_this.steps = 0;
|
|
41
|
+
_this.segments = 0;
|
|
42
|
+
_this.keySteps = null;
|
|
43
|
+
_this.valueContent = '';
|
|
44
|
+
_this.prefix = '';
|
|
45
|
+
_this.postfix = '';
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated use `tuiTextfieldSize` instead
|
|
48
|
+
* TODO delete in v3.0
|
|
49
|
+
*/
|
|
50
|
+
_this.size = 'l';
|
|
38
51
|
/**
|
|
39
52
|
* @deprecated use `tuiTextfieldCustomContent` instead
|
|
40
53
|
* TODO delete in v3.0
|
|
@@ -45,9 +58,10 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
|
|
|
45
58
|
TuiInputSliderComponent_1 = TuiInputSliderComponent;
|
|
46
59
|
Object.defineProperty(TuiInputSliderComponent.prototype, "nativeFocusableElement", {
|
|
47
60
|
get: function () {
|
|
48
|
-
|
|
61
|
+
var _a;
|
|
62
|
+
return !((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || this.computedDisabled
|
|
49
63
|
? null
|
|
50
|
-
: this.
|
|
64
|
+
: this.inputNumberRef.nativeFocusableElement;
|
|
51
65
|
},
|
|
52
66
|
enumerable: true,
|
|
53
67
|
configurable: true
|
|
@@ -61,170 +75,170 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
|
|
|
61
75
|
enumerable: true,
|
|
62
76
|
configurable: true
|
|
63
77
|
});
|
|
64
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
78
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "computedSteps", {
|
|
65
79
|
get: function () {
|
|
66
|
-
return
|
|
80
|
+
return this.steps || (this.max - this.min) / this.quantum;
|
|
67
81
|
},
|
|
68
82
|
enumerable: true,
|
|
69
83
|
configurable: true
|
|
70
84
|
});
|
|
71
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
85
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "precision", {
|
|
72
86
|
get: function () {
|
|
73
|
-
return
|
|
87
|
+
return getFractionPartPadded(this.quantum).length;
|
|
74
88
|
},
|
|
75
89
|
enumerable: true,
|
|
76
90
|
configurable: true
|
|
77
91
|
});
|
|
78
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
92
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "decimal", {
|
|
79
93
|
get: function () {
|
|
80
|
-
return
|
|
94
|
+
return this.precision ? 'not-zero' : 'never';
|
|
81
95
|
},
|
|
82
96
|
enumerable: true,
|
|
83
97
|
configurable: true
|
|
84
98
|
});
|
|
85
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
99
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "computedSize", {
|
|
100
|
+
/**
|
|
101
|
+
* TODO remove old property `size` in v3.0
|
|
102
|
+
*/
|
|
86
103
|
get: function () {
|
|
87
|
-
if (this.
|
|
88
|
-
|
|
104
|
+
if (this.isNew) {
|
|
105
|
+
tuiAssert.assert(this.controller.size !== 's', "Size 's' is not supported by this input.");
|
|
106
|
+
return this.controller.size === 'l' ? 'l' : 'm';
|
|
89
107
|
}
|
|
90
|
-
return this.
|
|
91
|
-
},
|
|
92
|
-
enumerable: true,
|
|
93
|
-
configurable: true
|
|
94
|
-
});
|
|
95
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "showValue", {
|
|
96
|
-
get: function () {
|
|
97
|
-
return !this.showMinLabel && !this.showMaxLabel;
|
|
108
|
+
return this.size;
|
|
98
109
|
},
|
|
99
110
|
enumerable: true,
|
|
100
111
|
configurable: true
|
|
101
112
|
});
|
|
102
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
113
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "computedValueContent", {
|
|
114
|
+
/**
|
|
115
|
+
* @deprecated for backward compatibility
|
|
116
|
+
* TODO replace by just `this.valueContent` in v3.0
|
|
117
|
+
*/
|
|
103
118
|
get: function () {
|
|
104
|
-
return this.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (this.focusableElement) {
|
|
108
|
-
this.focusableElement.nativeElement.value = value;
|
|
109
|
-
}
|
|
119
|
+
return this.minLabel || this.maxLabel
|
|
120
|
+
? legacyMinMaxLabel(this)
|
|
121
|
+
: this.valueContent;
|
|
110
122
|
},
|
|
111
123
|
enumerable: true,
|
|
112
124
|
configurable: true
|
|
113
125
|
});
|
|
114
126
|
TuiInputSliderComponent.prototype.focusTextInput = function () {
|
|
115
|
-
|
|
116
|
-
|
|
127
|
+
var _a;
|
|
128
|
+
var focusableElement = (_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement;
|
|
129
|
+
if (focusableElement) {
|
|
130
|
+
setNativeFocused(focusableElement);
|
|
117
131
|
}
|
|
118
132
|
};
|
|
119
|
-
TuiInputSliderComponent.prototype.
|
|
120
|
-
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
event.preventDefault();
|
|
124
|
-
this.processStep(true);
|
|
125
|
-
this.inputValue = this.formattedValue;
|
|
133
|
+
TuiInputSliderComponent.prototype.safelyUpdateValue = function (value) {
|
|
134
|
+
this.updateValue(this.valueGuard(value !== null && value !== void 0 ? value : this.safeCurrentValue));
|
|
126
135
|
};
|
|
127
|
-
TuiInputSliderComponent.prototype.
|
|
136
|
+
TuiInputSliderComponent.prototype.onVerticalArrowKeyDown = function (coefficient) {
|
|
128
137
|
if (this.readOnly) {
|
|
129
138
|
return;
|
|
130
139
|
}
|
|
131
|
-
|
|
132
|
-
this.
|
|
133
|
-
|
|
134
|
-
};
|
|
135
|
-
TuiInputSliderComponent.prototype.onFocused = function (focused) {
|
|
136
|
-
this.updateFocused(focused);
|
|
137
|
-
if (focused) {
|
|
138
|
-
return;
|
|
140
|
+
var value = this.value + coefficient * this.step;
|
|
141
|
+
if (value !== this.value) {
|
|
142
|
+
this.safelyUpdateValue(value);
|
|
139
143
|
}
|
|
140
|
-
|
|
141
|
-
var value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);
|
|
142
|
-
this.updateValue(value);
|
|
143
|
-
this.inputValue = this.formattedValue;
|
|
144
|
+
this.updateTextInputValue(this.valueGuard(value));
|
|
144
145
|
};
|
|
145
|
-
TuiInputSliderComponent.prototype.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (maskedMoneyValueIsEmpty(value) || capped === null) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
var newValue = this.formatNumber(capped) + postfix;
|
|
152
|
-
if (value !== newValue) {
|
|
153
|
-
this.inputValue = newValue;
|
|
146
|
+
TuiInputSliderComponent.prototype.onFocused = function (focused) {
|
|
147
|
+
if (!focused && !this.textInputValue) {
|
|
148
|
+
this.updateTextInputValue(this.safeCurrentValue);
|
|
154
149
|
}
|
|
155
|
-
this.
|
|
150
|
+
this.updateFocused(focused);
|
|
156
151
|
};
|
|
157
|
-
TuiInputSliderComponent.prototype.
|
|
158
|
-
this.
|
|
159
|
-
this.inputValue = this.formattedValue;
|
|
152
|
+
TuiInputSliderComponent.prototype.onPressed = function (pressed) {
|
|
153
|
+
this.updatePressed(pressed);
|
|
160
154
|
};
|
|
161
|
-
TuiInputSliderComponent.prototype.
|
|
162
|
-
|
|
155
|
+
TuiInputSliderComponent.prototype.onHovered = function (hovered) {
|
|
156
|
+
this.updateHovered(hovered);
|
|
163
157
|
};
|
|
164
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "
|
|
158
|
+
Object.defineProperty(TuiInputSliderComponent.prototype, "textInputValue", {
|
|
165
159
|
get: function () {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
enumerable: true,
|
|
169
|
-
configurable: true
|
|
170
|
-
});
|
|
171
|
-
Object.defineProperty(TuiInputSliderComponent.prototype, "isInputValueNotFinished", {
|
|
172
|
-
get: function () {
|
|
173
|
-
if (this.inputValue === '') {
|
|
174
|
-
return true;
|
|
175
|
-
}
|
|
176
|
-
var nativeNumberValue = maskedNumberStringToNumber(this.inputValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
|
|
177
|
-
return nativeNumberValue < 0
|
|
178
|
-
? nativeNumberValue > this.max
|
|
179
|
-
: nativeNumberValue < this.min;
|
|
160
|
+
var _a;
|
|
161
|
+
return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
|
|
180
162
|
},
|
|
181
163
|
enumerable: true,
|
|
182
164
|
configurable: true
|
|
183
165
|
});
|
|
184
|
-
TuiInputSliderComponent.prototype.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
166
|
+
TuiInputSliderComponent.prototype.getFallbackValue = function () {
|
|
167
|
+
return 0;
|
|
168
|
+
};
|
|
169
|
+
TuiInputSliderComponent.prototype.valueGuard = function (value) {
|
|
170
|
+
var roundedValue = round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
|
|
171
|
+
return clamp(roundedValue, this.min, this.max);
|
|
189
172
|
};
|
|
190
|
-
TuiInputSliderComponent.prototype.
|
|
191
|
-
|
|
173
|
+
TuiInputSliderComponent.prototype.updateTextInputValue = function (value) {
|
|
174
|
+
if (this.inputNumberRef) {
|
|
175
|
+
this.inputNumberRef.nativeValue =
|
|
176
|
+
this.inputNumberRef.getFormattedValue(value);
|
|
177
|
+
}
|
|
192
178
|
};
|
|
193
179
|
var TuiInputSliderComponent_1;
|
|
194
180
|
TuiInputSliderComponent.ctorParameters = function () { return [
|
|
195
181
|
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
|
|
196
182
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
197
|
-
{ type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
|
|
198
|
-
{ type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
|
|
199
183
|
{ type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
|
|
200
184
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
|
|
201
|
-
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
|
|
202
185
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
|
|
203
186
|
{ type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] }
|
|
204
187
|
]; };
|
|
205
188
|
__decorate([
|
|
206
|
-
ViewChild(
|
|
207
|
-
], TuiInputSliderComponent.prototype, "
|
|
189
|
+
ViewChild(TuiInputNumberComponent)
|
|
190
|
+
], TuiInputSliderComponent.prototype, "inputNumberRef", void 0);
|
|
208
191
|
__decorate([
|
|
209
192
|
ViewChild(TuiSliderComponent, { read: ElementRef })
|
|
210
193
|
], TuiInputSliderComponent.prototype, "sliderRef", void 0);
|
|
211
194
|
__decorate([
|
|
212
195
|
Input(),
|
|
213
196
|
tuiDefaultProp()
|
|
214
|
-
], TuiInputSliderComponent.prototype, "
|
|
197
|
+
], TuiInputSliderComponent.prototype, "min", void 0);
|
|
198
|
+
__decorate([
|
|
199
|
+
Input(),
|
|
200
|
+
tuiDefaultProp()
|
|
201
|
+
], TuiInputSliderComponent.prototype, "max", void 0);
|
|
202
|
+
__decorate([
|
|
203
|
+
Input(),
|
|
204
|
+
tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
|
|
205
|
+
], TuiInputSliderComponent.prototype, "quantum", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
Input(),
|
|
208
|
+
tuiDefaultProp()
|
|
209
|
+
], TuiInputSliderComponent.prototype, "steps", void 0);
|
|
210
|
+
__decorate([
|
|
211
|
+
Input(),
|
|
212
|
+
tuiDefaultProp()
|
|
213
|
+
], TuiInputSliderComponent.prototype, "segments", void 0);
|
|
214
|
+
__decorate([
|
|
215
|
+
Input(),
|
|
216
|
+
tuiDefaultProp()
|
|
217
|
+
], TuiInputSliderComponent.prototype, "keySteps", void 0);
|
|
218
|
+
__decorate([
|
|
219
|
+
Input(),
|
|
220
|
+
tuiDefaultProp()
|
|
221
|
+
], TuiInputSliderComponent.prototype, "valueContent", void 0);
|
|
222
|
+
__decorate([
|
|
223
|
+
Input(),
|
|
224
|
+
tuiDefaultProp()
|
|
225
|
+
], TuiInputSliderComponent.prototype, "prefix", void 0);
|
|
215
226
|
__decorate([
|
|
216
|
-
|
|
217
|
-
|
|
227
|
+
Input(),
|
|
228
|
+
tuiDefaultProp()
|
|
229
|
+
], TuiInputSliderComponent.prototype, "postfix", void 0);
|
|
218
230
|
__decorate([
|
|
219
|
-
|
|
220
|
-
|
|
231
|
+
Input(),
|
|
232
|
+
tuiDefaultProp()
|
|
233
|
+
], TuiInputSliderComponent.prototype, "size", void 0);
|
|
221
234
|
__decorate([
|
|
222
|
-
|
|
223
|
-
|
|
235
|
+
Input(),
|
|
236
|
+
tuiDefaultProp()
|
|
237
|
+
], TuiInputSliderComponent.prototype, "secondary", void 0);
|
|
224
238
|
TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
225
239
|
Component({
|
|
226
240
|
selector: 'tui-input-slider',
|
|
227
|
-
template: "<tui-
|
|
241
|
+
template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{secondary}}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"safelyUpdateValue($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div *ngIf=\"segments && !isNew\" class=\"t-ticks-labels\">\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }} {{\n tickIndex | tuiSliderTickLabel:segments:computedKeySteps |\n tuiFormatNumber}}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
|
|
228
242
|
host: {
|
|
229
243
|
/**
|
|
230
244
|
* TODO delete it in v3.0
|
|
@@ -242,23 +256,45 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
|
|
|
242
256
|
HINT_CONTROLLER_PROVIDER,
|
|
243
257
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
244
258
|
],
|
|
245
|
-
styles: [":host{position:relative;z-index:0;display:block
|
|
246
|
-
})
|
|
259
|
+
styles: [":host{position:relative;z-index:0;display:block}:host._segmented._show-ticks-labels{border-bottom:26px solid transparent}.t-slider-wrapper{position:absolute;top:100%;left:calc(var(--tui-radius-m)/ 2);right:0;margin:-.5625rem 0 0}input[type=range]{border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}.t-ticks-labels{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-ticks-labels>*{position:relative;flex:2;text-align:center}.t-ticks-labels>:first-child{left:-.5rem;flex:1;text-align:left}.t-ticks-labels>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+.t-ticks-labels{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}"]
|
|
260
|
+
})
|
|
261
|
+
/**
|
|
262
|
+
* TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`
|
|
263
|
+
* in v3.0
|
|
264
|
+
*/
|
|
265
|
+
,
|
|
247
266
|
__param(0, Optional()),
|
|
248
267
|
__param(0, Self()),
|
|
249
268
|
__param(0, Inject(NgControl)),
|
|
250
269
|
__param(1, Inject(ChangeDetectorRef)),
|
|
251
|
-
__param(2,
|
|
252
|
-
__param(
|
|
253
|
-
__param(
|
|
254
|
-
__param(
|
|
255
|
-
__param(5, Inject(
|
|
256
|
-
__param(6, Inject(TUI_TEXTFIELD_APPEARANCE)),
|
|
257
|
-
__param(7, Inject(TUI_FROM_TO_TEXTS)),
|
|
258
|
-
__param(8, Optional()),
|
|
259
|
-
__param(8, Inject(TuiNewInputSliderDirective))
|
|
270
|
+
__param(2, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
|
|
271
|
+
__param(3, Inject(TUI_NUMBER_FORMAT)),
|
|
272
|
+
__param(4, Inject(TUI_FROM_TO_TEXTS)),
|
|
273
|
+
__param(5, Optional()),
|
|
274
|
+
__param(5, Inject(TuiNewInputSliderDirective))
|
|
260
275
|
], TuiInputSliderComponent);
|
|
261
276
|
return TuiInputSliderComponent;
|
|
262
277
|
}(AbstractTuiInputSlider));
|
|
263
278
|
export { TuiInputSliderComponent };
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEM7Ozs7R0FJRztBQUlIO0lBQUE7SUFBeUMsQ0FBQztJQUE3QiwwQkFBMEI7UUFIdEMsU0FBUyxDQUFD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akIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4QixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFeEMsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUV6QixXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRWhDLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0FyQzlCLHVCQUF1QixDQXlNbkM7SUFBRCw4QkFBQztDQUFBLEFBek1ELENBQ1ksc0JBQXNCLEdBd01qQztTQXpNWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZST01fVE9fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIoe3RyYWNrQ29sb3I6ICd0cmFuc3BhcmVudCd9KSxcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnRgIGluc3RlYWRcbiAgICAgKiBUT0RPIGRlbGV0ZSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlY29uZGFyeSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy10b29sdGlwJylcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50Q29udHJvbGxlci5jb250ZW50ICYmICF0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5taW4gJiYgISF0aGlzLm1pbkxhYmVsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21heC1sYWJlbCcpXG4gICAgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5tYXggJiYgISF0aGlzLm1heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5pc0lucHV0VmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaG93TWluTGFiZWwgJiYgIXRoaXMuc2hvd01heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBpbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzVGV4dElucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKSA/IHRoaXMubWluIDogdGhpcy52YWx1ZUd1YXJkKGlucHV0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBwb3N0Zml4ID0gdmFsdWUuc2xpY2UoLTEpWzBdID09PSAnLCcgPyAnLCcgOiAnJztcblxuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpIHx8IGNhcHBlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihjYXBwZWQpICsgcG9zdGZpeDtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBvblNsaWRlclZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNJbnB1dFZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RlcChpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
279
|
+
function quantumAssertion(quantum) {
|
|
280
|
+
return quantum > 0;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* @deprecated helper for backward compatibility.
|
|
284
|
+
* TODO remove in v3.0
|
|
285
|
+
*/
|
|
286
|
+
function legacyMinMaxLabel(_a) {
|
|
287
|
+
var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel;
|
|
288
|
+
return function (_a) {
|
|
289
|
+
var value = _a.$implicit;
|
|
290
|
+
switch (value) {
|
|
291
|
+
case min:
|
|
292
|
+
return minLabel || value;
|
|
293
|
+
case max:
|
|
294
|
+
return maxLabel || value;
|
|
295
|
+
default:
|
|
296
|
+
return value;
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILEtBQUssRUFDTCxlQUFlLEVBQ2YsS0FBSyxFQUNMLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsU0FBUyxFQUVULGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsZ0NBQWdDLEVBQ2hDLFdBQVcsRUFDWCxRQUFRLEVBQ1Isc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUNILGtCQUFrQixFQUNsQix3QkFBd0IsR0FDM0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDOzs7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aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICByb3VuZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc3NlcnQsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGdldEZyYWN0aW9uUGFydFBhZGRlZCxcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGVjaW1hbFQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUlucHV0U2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFR1cm4gb24gbmV3IGBJbnB1dFNsaWRlcmAncyB2ZXJzaW9uLlxuICogVGhlIG5ldyB2ZXJzaW9uIHdpbGwgYmVoYXZlIGFsbW9zdCB0aGUgc2FtZSBhcyBgSW5wdXRTbGlkZXJgIGZyb20gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbiAqIEBkZXByZWNhdGVkIFRPRE8gcmVtb3ZlIG1lIGluIHYzLjAgYW5kIG1ha2UgYElucHV0U2xpZGVyYCBhbHdheXMgXCJuZXdcIi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtc2xpZGVyW25ld10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB7fVxuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtc2xpZGVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXNsaWRlci5zdHlsZS5sZXNzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETyBkZWxldGUgaXQgaW4gdjMuMFxuICAgICAgICAgKiBEb250IGZvcmdldCB0byBjbGVhciBodG1sLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgICdbY2xhc3MuX3Nob3ctdGlja3MtbGFiZWxzXSc6ICchaXNOZXcnLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyKHt0cmFja0NvbG9yOiAndHJhbnNwYXJlbnQnfSksXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG4vKipcbiAqIFRPRE8gcmVwbGFjZSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPG51bWJlcj5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5gXG4gKiBpbiB2My4wXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXROdW1iZXJSZWY/OiBUdWlJbnB1dE51bWJlckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2xpZGVyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzbGlkZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRTaXplYCBpbnN0ZWFkXG4gICAgICogVE9ETyBkZWxldGUgaW4gdjMuMFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9ICdsJztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudGAgaW5zdGVhZFxuICAgICAqIFRPRE8gZGVsZXRlIGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2Vjb25kYXJ5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfRlJPTV9UT19URVhUUykgcmVhZG9ubHkgZnJvbVRvVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBpc05ldzogVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5pbnB1dE51bWJlclJlZi5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXBzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzIHx8ICh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMucXVhbnR1bTtcbiAgICB9XG5cbiAgICBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGRlY2ltYWwoKTogVHVpRGVjaW1hbFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24gPyAnbm90LXplcm8nIDogJ25ldmVyJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPIHJlbW92ZSBvbGQgcHJvcGVydHkgYHNpemVgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRTaXplKCk6IFR1aVNpemVMIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOZXcpIHtcbiAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnNpemUgIT09ICdzJyxcbiAgICAgICAgICAgICAgICBcIlNpemUgJ3MnIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBpbnB1dC5cIixcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZSA9PT0gJ2wnID8gJ2wnIDogJ20nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAqIFRPRE8gcmVwbGFjZSBieSBqdXN0IGB0aGlzLnZhbHVlQ29udGVudGAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFZhbHVlQ29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5MYWJlbCB8fCB0aGlzLm1heExhYmVsXG4gICAgICAgICAgICA/IGxlZ2FjeU1pbk1heExhYmVsKHRoaXMpXG4gICAgICAgICAgICA6IHRoaXMudmFsdWVDb250ZW50O1xuICAgIH1cblxuICAgIGZvY3VzVGV4dElucHV0KCkge1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50ID0gdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmb2N1c2FibGVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlID8/IHRoaXMuc2FmZUN1cnJlbnRWYWx1ZSkpO1xuICAgIH1cblxuICAgIG9uVmVydGljYWxBcnJvd0tleURvd24oY29lZmZpY2llbnQ6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlICsgY29lZmZpY2llbnQgKiB0aGlzLnN0ZXA7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFmb2N1c2VkICYmICF0aGlzLnRleHRJbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKHRoaXMuc2FmZUN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlVmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlR3VhcmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0TnVtYmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZVZhbHVlID1cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcXVhbnR1bUFzc2VydGlvbihxdWFudHVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVhbnR1bSA+IDA7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaGVscGVyIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICogVE9ETyByZW1vdmUgaW4gdjMuMFxuICovXG5mdW5jdGlvbiBsZWdhY3lNaW5NYXhMYWJlbCh7bWluLCBtYXgsIG1pbkxhYmVsLCBtYXhMYWJlbH06IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuICh7JGltcGxpY2l0OiB2YWx1ZX06IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPikgPT4ge1xuICAgICAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlIG1pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWluTGFiZWwgfHwgdmFsdWU7XG4gICAgICAgICAgICBjYXNlIG1heDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4TGFiZWwgfHwgdmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
|
|
@@ -3,7 +3,8 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { NgModule } from '@angular/core';
|
|
4
4
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiInputModeModule, TuiMapperPipeModule, TuiPressedModule, TuiRepeatTimesModule, } from '@taiga-ui/cdk';
|
|
6
|
-
import { TuiFormatNumberPipeModule, TuiTooltipModule, TuiWrapperModule, } from '@taiga-ui/core';
|
|
6
|
+
import { TuiFormatNumberPipeModule, TuiTextfieldControllerModule, TuiTooltipModule, TuiWrapperModule, } from '@taiga-ui/core';
|
|
7
|
+
import { TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
|
|
7
8
|
import { TuiSliderModule } from '@taiga-ui/kit/components/slider';
|
|
8
9
|
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
9
10
|
import { TextMaskModule } from 'angular2-text-mask';
|
|
@@ -30,6 +31,8 @@ var TuiInputSliderModule = /** @class */ (function () {
|
|
|
30
31
|
TuiFormatNumberPipeModule,
|
|
31
32
|
TuiRepeatTimesModule,
|
|
32
33
|
PolymorpheusModule,
|
|
34
|
+
TuiInputNumberModule,
|
|
35
|
+
TuiTextfieldControllerModule,
|
|
33
36
|
],
|
|
34
37
|
declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],
|
|
35
38
|
exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],
|
|
@@ -38,4 +41,4 @@ var TuiInputSliderModule = /** @class */ (function () {
|
|
|
38
41
|
return TuiInputSliderModule;
|
|
39
42
|
}());
|
|
40
43
|
export { TuiInputSliderModule };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLDBCQUEwQixHQUM3QixNQUFNLDBCQUEwQixDQUFDO0FBMEJsQztJQUFBO0lBQW1DLENBQUM7SUFBdkIsb0JBQW9CO1FBeEJoQyxRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixXQUFXO2dCQUNYLG1CQUFtQjtnQkFDbkIsY0FBYztnQkFDZCxrQkFBa0I7Z0JBQ2xCLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLG1CQUFtQjtnQkFDbkIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQix5QkFBeUI7Z0JBQ3pCLG9CQUFvQjtnQkFDcEIsa0JBQWtCO2dCQUNsQixvQkFBb0I7Z0JBQ3BCLDRCQUE0QjthQUMvQjtZQUNELFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO1lBQ25FLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO1NBQ2pFLENBQUM7T0FDVyxvQkFBb0IsQ0FBRztJQUFELDJCQUFDO0NBQUEsQUFBcEMsSUFBb0M7U0FBdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgIFR1aUZvY3VzZWRNb2R1bGUsXG4gICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICBUdWlJbnB1dE1vZGVNb2R1bGUsXG4gICAgVHVpTWFwcGVyUGlwZU1vZHVsZSxcbiAgICBUdWlQcmVzc2VkTW9kdWxlLFxuICAgIFR1aVJlcGVhdFRpbWVzTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgVHVpV3JhcHBlck1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1R1aVNsaWRlck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7VGV4dE1hc2tNb2R1bGV9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmltcG9ydCB7XG4gICAgVHVpSW5wdXRTbGlkZXJDb21wb25lbnQsXG4gICAgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5wdXQtc2xpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUZXh0TWFza01vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgICAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgICAgICBUdWlQcmVzc2VkTW9kdWxlLFxuICAgICAgICBUdWlNYXBwZXJQaXBlTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aVNsaWRlck1vZHVsZSxcbiAgICAgICAgVHVpV3JhcHBlck1vZHVsZSxcbiAgICAgICAgVHVpRm9ybWF0TnVtYmVyUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlJbnB1dFNsaWRlckNvbXBvbmVudCwgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlJbnB1dFNsaWRlckNvbXBvbmVudCwgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlck1vZHVsZSB7fVxuIl19
|