@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,11 +1,13 @@
|
|
|
1
1
|
var TuiInputSliderComponent_1;
|
|
2
2
|
import { __decorate, __param } from "tslib";
|
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef,
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
4
4
|
import { NgControl } from '@angular/forms';
|
|
5
|
-
import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
6
|
-
import {
|
|
5
|
+
import { clamp, isNativeFocused, round, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAssert, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
6
|
+
import { getFractionPartPadded, HINT_CONTROLLER_PROVIDER, NumberFormatSettings, TEXTFIELD_CONTROLLER_PROVIDER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiDecimalT, TuiSizeL, TuiTextfieldController, } from '@taiga-ui/core';
|
|
7
7
|
import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
|
|
8
|
+
import { TuiInputNumberComponent } from '@taiga-ui/kit/components/input-number';
|
|
8
9
|
import { TuiSliderComponent, tuiSliderOptionsProvider, } from '@taiga-ui/kit/components/slider';
|
|
10
|
+
import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
|
|
9
11
|
import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
|
|
10
12
|
import { Observable } from 'rxjs';
|
|
11
13
|
/**
|
|
@@ -22,16 +24,32 @@ TuiNewInputSliderDirective = __decorate([
|
|
|
22
24
|
], TuiNewInputSliderDirective);
|
|
23
25
|
export { TuiNewInputSliderDirective };
|
|
24
26
|
// @dynamic
|
|
25
|
-
let TuiInputSliderComponent = TuiInputSliderComponent_1 =
|
|
26
|
-
|
|
27
|
+
let TuiInputSliderComponent = TuiInputSliderComponent_1 =
|
|
28
|
+
/**
|
|
29
|
+
* TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`
|
|
30
|
+
* in v3.0
|
|
31
|
+
*/
|
|
32
|
+
class TuiInputSliderComponent extends AbstractTuiInputSlider {
|
|
33
|
+
constructor(control, changeDetectorRef, controller, numberFormat, fromToTexts$, isNew) {
|
|
27
34
|
super(control, changeDetectorRef);
|
|
28
|
-
this.modeDirective = modeDirective;
|
|
29
|
-
this.hintController = hintController;
|
|
30
35
|
this.controller = controller;
|
|
31
36
|
this.numberFormat = numberFormat;
|
|
32
|
-
this.appearance = appearance;
|
|
33
37
|
this.fromToTexts$ = fromToTexts$;
|
|
34
38
|
this.isNew = isNew;
|
|
39
|
+
this.min = 0;
|
|
40
|
+
this.max = Infinity;
|
|
41
|
+
this.quantum = 1;
|
|
42
|
+
this.steps = 0;
|
|
43
|
+
this.segments = 0;
|
|
44
|
+
this.keySteps = null;
|
|
45
|
+
this.valueContent = '';
|
|
46
|
+
this.prefix = '';
|
|
47
|
+
this.postfix = '';
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated use `tuiTextfieldSize` instead
|
|
50
|
+
* TODO delete in v3.0
|
|
51
|
+
*/
|
|
52
|
+
this.size = 'l';
|
|
35
53
|
/**
|
|
36
54
|
* @deprecated use `tuiTextfieldCustomContent` instead
|
|
37
55
|
* TODO delete in v3.0
|
|
@@ -39,147 +57,156 @@ let TuiInputSliderComponent = TuiInputSliderComponent_1 = class TuiInputSliderCo
|
|
|
39
57
|
this.secondary = '';
|
|
40
58
|
}
|
|
41
59
|
get nativeFocusableElement() {
|
|
42
|
-
|
|
60
|
+
var _a;
|
|
61
|
+
return !((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || this.computedDisabled
|
|
43
62
|
? null
|
|
44
|
-
: this.
|
|
63
|
+
: this.inputNumberRef.nativeFocusableElement;
|
|
45
64
|
}
|
|
46
65
|
get focused() {
|
|
47
66
|
var _a;
|
|
48
67
|
return (isNativeFocused(this.nativeFocusableElement) ||
|
|
49
68
|
isNativeFocused(((_a = this.sliderRef) === null || _a === void 0 ? void 0 : _a.nativeElement) || null));
|
|
50
69
|
}
|
|
51
|
-
get
|
|
52
|
-
return
|
|
70
|
+
get computedSteps() {
|
|
71
|
+
return this.steps || (this.max - this.min) / this.quantum;
|
|
53
72
|
}
|
|
54
|
-
get
|
|
55
|
-
return
|
|
73
|
+
get precision() {
|
|
74
|
+
return getFractionPartPadded(this.quantum).length;
|
|
56
75
|
}
|
|
57
|
-
get
|
|
58
|
-
return
|
|
76
|
+
get decimal() {
|
|
77
|
+
return this.precision ? 'not-zero' : 'never';
|
|
59
78
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
79
|
+
/**
|
|
80
|
+
* TODO remove old property `size` in v3.0
|
|
81
|
+
*/
|
|
82
|
+
get computedSize() {
|
|
83
|
+
if (this.isNew) {
|
|
84
|
+
tuiAssert.assert(this.controller.size !== 's', "Size 's' is not supported by this input.");
|
|
85
|
+
return this.controller.size === 'l' ? 'l' : 'm';
|
|
63
86
|
}
|
|
64
|
-
return this.
|
|
87
|
+
return this.size;
|
|
65
88
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.focusableElement.nativeElement.value = value;
|
|
75
|
-
}
|
|
89
|
+
/**
|
|
90
|
+
* @deprecated for backward compatibility
|
|
91
|
+
* TODO replace by just `this.valueContent` in v3.0
|
|
92
|
+
*/
|
|
93
|
+
get computedValueContent() {
|
|
94
|
+
return this.minLabel || this.maxLabel
|
|
95
|
+
? legacyMinMaxLabel(this)
|
|
96
|
+
: this.valueContent;
|
|
76
97
|
}
|
|
77
98
|
focusTextInput() {
|
|
78
|
-
|
|
79
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
const focusableElement = (_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement;
|
|
101
|
+
if (focusableElement) {
|
|
102
|
+
setNativeFocused(focusableElement);
|
|
80
103
|
}
|
|
81
104
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
event.preventDefault();
|
|
87
|
-
this.processStep(true);
|
|
88
|
-
this.inputValue = this.formattedValue;
|
|
105
|
+
safelyUpdateValue(value) {
|
|
106
|
+
this.updateValue(this.valueGuard(value !== null && value !== void 0 ? value : this.safeCurrentValue));
|
|
89
107
|
}
|
|
90
|
-
|
|
108
|
+
onVerticalArrowKeyDown(coefficient) {
|
|
91
109
|
if (this.readOnly) {
|
|
92
110
|
return;
|
|
93
111
|
}
|
|
94
|
-
|
|
95
|
-
this.
|
|
96
|
-
|
|
112
|
+
const value = this.value + coefficient * this.step;
|
|
113
|
+
if (value !== this.value) {
|
|
114
|
+
this.safelyUpdateValue(value);
|
|
115
|
+
}
|
|
116
|
+
this.updateTextInputValue(this.valueGuard(value));
|
|
97
117
|
}
|
|
98
118
|
onFocused(focused) {
|
|
99
|
-
this.
|
|
100
|
-
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const inputValue = maskedNumberStringToNumber(this.computedValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
|
|
104
|
-
const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);
|
|
105
|
-
this.updateValue(value);
|
|
106
|
-
this.inputValue = this.formattedValue;
|
|
107
|
-
}
|
|
108
|
-
onValue(value) {
|
|
109
|
-
const capped = this.capInputValue(value);
|
|
110
|
-
const postfix = value.slice(-1)[0] === ',' ? ',' : '';
|
|
111
|
-
if (maskedMoneyValueIsEmpty(value) || capped === null) {
|
|
112
|
-
return;
|
|
119
|
+
if (!focused && !this.textInputValue) {
|
|
120
|
+
this.updateTextInputValue(this.safeCurrentValue);
|
|
113
121
|
}
|
|
114
|
-
|
|
115
|
-
if (value !== newValue) {
|
|
116
|
-
this.inputValue = newValue;
|
|
117
|
-
}
|
|
118
|
-
this.updateValue(capped);
|
|
122
|
+
this.updateFocused(focused);
|
|
119
123
|
}
|
|
120
|
-
|
|
121
|
-
this.
|
|
122
|
-
|
|
124
|
+
onPressed(pressed) {
|
|
125
|
+
this.updatePressed(pressed);
|
|
126
|
+
}
|
|
127
|
+
onHovered(hovered) {
|
|
128
|
+
this.updateHovered(hovered);
|
|
129
|
+
}
|
|
130
|
+
get textInputValue() {
|
|
131
|
+
var _a;
|
|
132
|
+
return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
|
|
123
133
|
}
|
|
124
134
|
getFallbackValue() {
|
|
125
135
|
return 0;
|
|
126
136
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
get isInputValueNotFinished() {
|
|
131
|
-
if (this.inputValue === '') {
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
const nativeNumberValue = maskedNumberStringToNumber(this.inputValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
|
|
135
|
-
return nativeNumberValue < 0
|
|
136
|
-
? nativeNumberValue > this.max
|
|
137
|
-
: nativeNumberValue < this.min;
|
|
137
|
+
valueGuard(value) {
|
|
138
|
+
const roundedValue = round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
|
|
139
|
+
return clamp(roundedValue, this.min, this.max);
|
|
138
140
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
updateTextInputValue(value) {
|
|
142
|
+
if (this.inputNumberRef) {
|
|
143
|
+
this.inputNumberRef.nativeValue =
|
|
144
|
+
this.inputNumberRef.getFormattedValue(value);
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
|
-
formatNumber(value) {
|
|
146
|
-
return formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
|
|
147
|
-
}
|
|
148
147
|
};
|
|
149
148
|
TuiInputSliderComponent.ctorParameters = () => [
|
|
150
149
|
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
|
|
151
150
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
152
|
-
{ type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
|
|
153
|
-
{ type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
|
|
154
151
|
{ type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
|
|
155
152
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
|
|
156
|
-
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
|
|
157
153
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
|
|
158
154
|
{ type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] }
|
|
159
155
|
];
|
|
160
156
|
__decorate([
|
|
161
|
-
ViewChild(
|
|
162
|
-
], TuiInputSliderComponent.prototype, "
|
|
157
|
+
ViewChild(TuiInputNumberComponent)
|
|
158
|
+
], TuiInputSliderComponent.prototype, "inputNumberRef", void 0);
|
|
163
159
|
__decorate([
|
|
164
160
|
ViewChild(TuiSliderComponent, { read: ElementRef })
|
|
165
161
|
], TuiInputSliderComponent.prototype, "sliderRef", void 0);
|
|
166
162
|
__decorate([
|
|
167
163
|
Input(),
|
|
168
164
|
tuiDefaultProp()
|
|
169
|
-
], TuiInputSliderComponent.prototype, "
|
|
165
|
+
], TuiInputSliderComponent.prototype, "min", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
Input(),
|
|
168
|
+
tuiDefaultProp()
|
|
169
|
+
], TuiInputSliderComponent.prototype, "max", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
Input(),
|
|
172
|
+
tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
|
|
173
|
+
], TuiInputSliderComponent.prototype, "quantum", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
Input(),
|
|
176
|
+
tuiDefaultProp()
|
|
177
|
+
], TuiInputSliderComponent.prototype, "steps", void 0);
|
|
178
|
+
__decorate([
|
|
179
|
+
Input(),
|
|
180
|
+
tuiDefaultProp()
|
|
181
|
+
], TuiInputSliderComponent.prototype, "segments", void 0);
|
|
182
|
+
__decorate([
|
|
183
|
+
Input(),
|
|
184
|
+
tuiDefaultProp()
|
|
185
|
+
], TuiInputSliderComponent.prototype, "keySteps", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
Input(),
|
|
188
|
+
tuiDefaultProp()
|
|
189
|
+
], TuiInputSliderComponent.prototype, "valueContent", void 0);
|
|
190
|
+
__decorate([
|
|
191
|
+
Input(),
|
|
192
|
+
tuiDefaultProp()
|
|
193
|
+
], TuiInputSliderComponent.prototype, "prefix", void 0);
|
|
170
194
|
__decorate([
|
|
171
|
-
|
|
172
|
-
|
|
195
|
+
Input(),
|
|
196
|
+
tuiDefaultProp()
|
|
197
|
+
], TuiInputSliderComponent.prototype, "postfix", void 0);
|
|
173
198
|
__decorate([
|
|
174
|
-
|
|
175
|
-
|
|
199
|
+
Input(),
|
|
200
|
+
tuiDefaultProp()
|
|
201
|
+
], TuiInputSliderComponent.prototype, "size", void 0);
|
|
176
202
|
__decorate([
|
|
177
|
-
|
|
178
|
-
|
|
203
|
+
Input(),
|
|
204
|
+
tuiDefaultProp()
|
|
205
|
+
], TuiInputSliderComponent.prototype, "secondary", void 0);
|
|
179
206
|
TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
180
207
|
Component({
|
|
181
208
|
selector: 'tui-input-slider',
|
|
182
|
-
template: "<tui-
|
|
209
|
+
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",
|
|
183
210
|
host: {
|
|
184
211
|
/**
|
|
185
212
|
* TODO delete it in v3.0
|
|
@@ -197,21 +224,41 @@ TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
|
197
224
|
HINT_CONTROLLER_PROVIDER,
|
|
198
225
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
199
226
|
],
|
|
200
|
-
styles: [":host{position:relative;z-index:0;display:block
|
|
201
|
-
})
|
|
227
|
+
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)}"]
|
|
228
|
+
})
|
|
229
|
+
/**
|
|
230
|
+
* TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`
|
|
231
|
+
* in v3.0
|
|
232
|
+
*/
|
|
233
|
+
,
|
|
202
234
|
__param(0, Optional()),
|
|
203
235
|
__param(0, Self()),
|
|
204
236
|
__param(0, Inject(NgControl)),
|
|
205
237
|
__param(1, Inject(ChangeDetectorRef)),
|
|
206
|
-
__param(2,
|
|
207
|
-
__param(
|
|
208
|
-
__param(
|
|
209
|
-
__param(
|
|
210
|
-
__param(5, Inject(
|
|
211
|
-
__param(6, Inject(TUI_TEXTFIELD_APPEARANCE)),
|
|
212
|
-
__param(7, Inject(TUI_FROM_TO_TEXTS)),
|
|
213
|
-
__param(8, Optional()),
|
|
214
|
-
__param(8, Inject(TuiNewInputSliderDirective))
|
|
238
|
+
__param(2, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
|
|
239
|
+
__param(3, Inject(TUI_NUMBER_FORMAT)),
|
|
240
|
+
__param(4, Inject(TUI_FROM_TO_TEXTS)),
|
|
241
|
+
__param(5, Optional()),
|
|
242
|
+
__param(5, Inject(TuiNewInputSliderDirective))
|
|
215
243
|
], TuiInputSliderComponent);
|
|
216
244
|
export { TuiInputSliderComponent };
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsWUFBWSxFQUNaLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQiw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsZ0NBQWdDLEVBQ2hDLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUNILGtCQUFrQixFQUNsQix3QkFBd0IsR0FDM0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDOzs7O0dBSUc7QUFJSCxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtDQUFHLENBQUE7QUFB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QUFBO0lBRXpCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFFaEMsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtHQXJDOUIsdUJBQXVCLENBeU1uQztTQXpNWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZST01fVE9fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIoe3RyYWNrQ29sb3I6ICd0cmFuc3BhcmVudCd9KSxcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnRgIGluc3RlYWRcbiAgICAgKiBUT0RPIGRlbGV0ZSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlY29uZGFyeSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy10b29sdGlwJylcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50Q29udHJvbGxlci5jb250ZW50ICYmICF0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5taW4gJiYgISF0aGlzLm1pbkxhYmVsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21heC1sYWJlbCcpXG4gICAgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5tYXggJiYgISF0aGlzLm1heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5pc0lucHV0VmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaG93TWluTGFiZWwgJiYgIXRoaXMuc2hvd01heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBpbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzVGV4dElucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKSA/IHRoaXMubWluIDogdGhpcy52YWx1ZUd1YXJkKGlucHV0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBwb3N0Zml4ID0gdmFsdWUuc2xpY2UoLTEpWzBdID09PSAnLCcgPyAnLCcgOiAnJztcblxuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpIHx8IGNhcHBlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihjYXBwZWQpICsgcG9zdGZpeDtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBvblNsaWRlclZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNJbnB1dFZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RlcChpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
245
|
+
function quantumAssertion(quantum) {
|
|
246
|
+
return quantum > 0;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* @deprecated helper for backward compatibility.
|
|
250
|
+
* TODO remove in v3.0
|
|
251
|
+
*/
|
|
252
|
+
function legacyMinMaxLabel({ min, max, minLabel, maxLabel }) {
|
|
253
|
+
return ({ $implicit: value }) => {
|
|
254
|
+
switch (value) {
|
|
255
|
+
case min:
|
|
256
|
+
return minLabel || value;
|
|
257
|
+
case max:
|
|
258
|
+
return maxLabel || value;
|
|
259
|
+
default:
|
|
260
|
+
return value;
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLFNBQVMsRUFFVCxjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiw2QkFBNkIsRUFDN0IsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxXQUFXLEVBQ1gsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQzNCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQzs7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QUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtJQUV4QyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBRXpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7R0ExRTlCLHVCQUF1QixDQW9NbkM7U0FwTVksdUJBQXVCO0FBc01wQyxTQUFTLGdCQUFnQixDQUFDLE9BQWU7SUFDckMsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUEwQjtJQUM5RSxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFpQyxFQUFFLEVBQUU7UUFDMUQsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLEdBQUc7Z0JBQ0osT0FBTyxRQUFRLElBQUksS0FBSyxDQUFDO1lBQzdCLEtBQUssR0FBRztnQkFDSixPQUFPLFFBQVEsSUFBSSxLQUFLLENBQUM7WUFDN0I7Z0JBQ0ksT0FBTyxLQUFLLENBQUM7U0FDcEI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHJvdW5kLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1xuICAgIFR1aVNsaWRlckNvbXBvbmVudCxcbiAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9GUk9NX1RPX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIoe3RyYWNrQ29sb3I6ICd0cmFuc3BhcmVudCd9KSxcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbi8qKlxuICogVE9ETyByZXBsYWNlIGBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPmAgYnkgYGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPG51bWJlcj4gaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPmBcbiAqIGluIHYzLjBcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aUlucHV0U2xpZGVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSW5wdXROdW1iZXJDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dE51bWJlclJlZj86IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKHF1YW50dW1Bc3NlcnRpb24sICdRdWFudHVtIG11c3QgYmUgcG9zaXRpdmUnKVxuICAgIHF1YW50dW0gPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0ZXBzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWdtZW50cyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFNpemVgIGluc3RlYWRcbiAgICAgKiBUT0RPIGRlbGV0ZSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ2wnO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50YCBpbnN0ZWFkXG4gICAgICogVE9ETyBkZWxldGUgaW4gdjMuMFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWNvbmRhcnkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMuc2xpZGVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZGVjaW1hbCgpOiBUdWlEZWNpbWFsVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/ICdub3QtemVybycgOiAnbmV2ZXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVtb3ZlIG9sZCBwcm9wZXJ0eSBgc2l6ZWAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICBpZiAodGhpcy5pc05ldykge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnLFxuICAgICAgICAgICAgICAgIFwiU2l6ZSAncycgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGlucHV0LlwiLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplID09PSAnbCcgPyAnbCcgOiAnbSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICogVE9ETyByZXBsYWNlIGJ5IGp1c3QgYHRoaXMudmFsdWVDb250ZW50YCBpbiB2My4wXG4gICAgICovXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkxhYmVsIHx8IHRoaXMubWF4TGFiZWxcbiAgICAgICAgICAgID8gbGVnYWN5TWluTWF4TGFiZWwodGhpcylcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZm9jdXNUZXh0SW5wdXQoKSB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2FmZWx5VXBkYXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25WZXJ0aWNhbEFycm93S2V5RG93bihjb2VmZmljaWVudDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgKyBjb2VmZmljaWVudCAqIHRoaXMuc3RlcDtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUpKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoIWZvY3VzZWQgJiYgIXRoaXMudGV4dElucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy5zYWZlQ3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRleHRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVWYWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVHdWFyZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXROdW1iZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBxdWFudHVtQXNzZXJ0aW9uKHF1YW50dW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBxdWFudHVtID4gMDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBoZWxwZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKiBUT0RPIHJlbW92ZSBpbiB2My4wXG4gKi9cbmZ1bmN0aW9uIGxlZ2FjeU1pbk1heExhYmVsKHttaW4sIG1heCwgbWluTGFiZWwsIG1heExhYmVsfTogVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gKHskaW1wbGljaXQ6IHZhbHVlfTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+KSA9PiB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgbWF4OlxuICAgICAgICAgICAgICAgIHJldHVybiBtYXhMYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -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';
|
|
@@ -29,10 +30,12 @@ TuiInputSliderModule = __decorate([
|
|
|
29
30
|
TuiFormatNumberPipeModule,
|
|
30
31
|
TuiRepeatTimesModule,
|
|
31
32
|
PolymorpheusModule,
|
|
33
|
+
TuiInputNumberModule,
|
|
34
|
+
TuiTextfieldControllerModule,
|
|
32
35
|
],
|
|
33
36
|
declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],
|
|
34
37
|
exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],
|
|
35
38
|
})
|
|
36
39
|
], TuiInputSliderModule);
|
|
37
40
|
export { TuiInputSliderModule };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLDBCQUEwQixHQUM3QixNQUFNLDBCQUEwQixDQUFDO0FBMEJsQyxJQUFhLG9CQUFvQixHQUFqQyxNQUFhLG9CQUFvQjtDQUFHLENBQUE7QUFBdkIsb0JBQW9CO0lBeEJoQyxRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLDRCQUE0QjtTQUMvQjtRQUNELFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO1FBQ25FLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO0tBQ2pFLENBQUM7R0FDVyxvQkFBb0IsQ0FBRztTQUF2QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgVHVpRm9jdXNlZE1vZHVsZSxcbiAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgIFR1aUlucHV0TW9kZU1vZHVsZSxcbiAgICBUdWlNYXBwZXJQaXBlTW9kdWxlLFxuICAgIFR1aVByZXNzZWRNb2R1bGUsXG4gICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlGb3JtYXROdW1iZXJQaXBlTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICBUdWlXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7VHVpU2xpZGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtUZXh0TWFza01vZHVsZX0gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcblxuaW1wb3J0IHtcbiAgICBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCxcbiAgICBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbnB1dC1zbGlkZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRleHRNYXNrTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2FibGVNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzZWRNb2R1bGUsXG4gICAgICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgICAgIFR1aVByZXNzZWRNb2R1bGUsXG4gICAgICAgIFR1aU1hcHBlclBpcGVNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0TW9kZU1vZHVsZSxcbiAgICAgICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgVHVpU2xpZGVyTW9kdWxlLFxuICAgICAgICBUdWlXcmFwcGVyTW9kdWxlLFxuICAgICAgICBUdWlGb3JtYXROdW1iZXJQaXBlTW9kdWxlLFxuICAgICAgICBUdWlSZXBlYXRUaW1lc01vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0U2xpZGVyQ29tcG9uZW50LCBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUlucHV0U2xpZGVyQ29tcG9uZW50LCBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0U2xpZGVyTW9kdWxlIHt9XG4iXX0=
|