@energinet/watt 4.1.27 → 4.1.28
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.
|
@@ -16,118 +16,105 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
//#endregion
|
|
19
|
-
import { ChangeDetectionStrategy, Component,
|
|
19
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, input, output, viewChild, ViewEncapsulation, } from '@angular/core';
|
|
20
20
|
import { fromEvent } from 'rxjs';
|
|
21
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
21
22
|
import { WattColorHelperService } from '@energinet/watt/core/color';
|
|
22
23
|
import * as i0 from "@angular/core";
|
|
23
24
|
/**
|
|
24
25
|
* Slider for providing a range of values.
|
|
25
26
|
*/
|
|
26
27
|
export class WattSliderComponent {
|
|
27
|
-
|
|
28
|
+
colorService = inject(WattColorHelperService);
|
|
29
|
+
destroyRef = inject(DestroyRef);
|
|
28
30
|
/** The lowest permitted value. */
|
|
29
|
-
min =
|
|
31
|
+
min = input.required(...(ngDevMode ? [{ debugName: "min" }] : []));
|
|
30
32
|
/** The highest permitted value. */
|
|
31
|
-
max =
|
|
33
|
+
max = input.required(...(ngDevMode ? [{ debugName: "max" }] : []));
|
|
32
34
|
/** Step between each value. */
|
|
33
|
-
step = 1;
|
|
35
|
+
step = input(1, ...(ngDevMode ? [{ debugName: "step" }] : []));
|
|
34
36
|
/** The currently selected range value. */
|
|
35
|
-
value =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const maxValue = event.target.valueAsNumber;
|
|
53
|
-
const minValue = minRangeElement.valueAsNumber || this.min;
|
|
54
|
-
this.updateRange(minValue, maxValue);
|
|
55
|
-
if (minValue <= maxValue) {
|
|
56
|
-
maxRangeElement.valueAsNumber = maxValue;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
maxRangeElement.valueAsNumber = minValue;
|
|
60
|
-
}
|
|
61
|
-
this.onChange({ min: minValue, max: maxValue });
|
|
37
|
+
value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
|
|
38
|
+
currentValue = computed(() => {
|
|
39
|
+
const inputValue = this.value();
|
|
40
|
+
if (!inputValue) {
|
|
41
|
+
return { min: this.min(), max: this.max() };
|
|
42
|
+
}
|
|
43
|
+
return inputValue;
|
|
44
|
+
}, ...(ngDevMode ? [{ debugName: "currentValue" }] : []));
|
|
45
|
+
maxRange = viewChild.required('maxRange');
|
|
46
|
+
minRange = viewChild.required('minRange');
|
|
47
|
+
valueChange = output();
|
|
48
|
+
sliderColor = this.colorService.getColor('secondaryLight');
|
|
49
|
+
rangeColor = this.colorService.getColor('primary');
|
|
50
|
+
constructor() {
|
|
51
|
+
effect(() => {
|
|
52
|
+
const value = this.currentValue();
|
|
53
|
+
this.updateRange(value.min, value.max);
|
|
62
54
|
});
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
55
|
+
effect(() => {
|
|
56
|
+
const maxRange = this.maxRange();
|
|
57
|
+
const minRange = this.minRange();
|
|
58
|
+
const maxRangeElement = maxRange.nativeElement;
|
|
59
|
+
const minRangeElement = minRange.nativeElement;
|
|
60
|
+
// Setup max range input events
|
|
61
|
+
fromEvent(maxRangeElement, 'input')
|
|
62
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
63
|
+
.subscribe((event) => {
|
|
64
|
+
const maxValue = event.target.valueAsNumber;
|
|
65
|
+
const minValue = minRangeElement.valueAsNumber;
|
|
66
|
+
let newMaxValue = maxValue;
|
|
67
|
+
if (minValue > maxValue) {
|
|
68
|
+
newMaxValue = minValue;
|
|
69
|
+
maxRangeElement.valueAsNumber = newMaxValue;
|
|
70
|
+
}
|
|
71
|
+
const newValue = { min: minValue, max: newMaxValue };
|
|
72
|
+
this.updateRange(newValue.min, newValue.max);
|
|
73
|
+
this.valueChange.emit(newValue);
|
|
74
|
+
});
|
|
75
|
+
// Setup min range input events
|
|
76
|
+
fromEvent(minRangeElement, 'input')
|
|
77
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
78
|
+
.subscribe((event) => {
|
|
79
|
+
const minValue = event.target.valueAsNumber;
|
|
80
|
+
const maxValue = maxRangeElement.valueAsNumber;
|
|
81
|
+
let newMinValue = minValue;
|
|
82
|
+
if (minValue > maxValue) {
|
|
83
|
+
newMinValue = maxValue;
|
|
84
|
+
minRangeElement.valueAsNumber = newMinValue;
|
|
85
|
+
}
|
|
86
|
+
const newValue = { min: newMinValue, max: maxValue };
|
|
87
|
+
this.updateRange(newValue.min, newValue.max);
|
|
88
|
+
this.valueChange.emit(newValue);
|
|
89
|
+
});
|
|
71
90
|
});
|
|
72
91
|
}
|
|
73
|
-
isElementRefsPopulated() {
|
|
74
|
-
return !!this.maxRange && !!this.minRange;
|
|
75
|
-
}
|
|
76
|
-
ngOnChanges() {
|
|
77
|
-
if (this.isElementRefsPopulated()) {
|
|
78
|
-
this.updateRange(this.value.min, this.value.max);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
ngOnDestroy() {
|
|
82
|
-
this._maxChangeSubscription.unsubscribe();
|
|
83
|
-
this._minChangeSubscription.unsubscribe();
|
|
84
|
-
}
|
|
85
92
|
updateRange(minValue, maxValue) {
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
const maxRange = this.maxRange();
|
|
94
|
+
const minRange = this.minRange();
|
|
95
|
+
if (!maxRange || !minRange)
|
|
96
|
+
return;
|
|
97
|
+
const maxRangeElement = maxRange.nativeElement;
|
|
98
|
+
const minRangeElement = minRange.nativeElement;
|
|
99
|
+
maxRangeElement.valueAsNumber = maxValue;
|
|
100
|
+
minRangeElement.valueAsNumber = minValue;
|
|
101
|
+
const rangeDistance = this.max() - this.min();
|
|
102
|
+
const fromPosition = minValue - this.min();
|
|
103
|
+
const toPosition = maxValue - this.min();
|
|
104
|
+
maxRangeElement.style.background = `linear-gradient(
|
|
94
105
|
to right,
|
|
95
|
-
${sliderColor} 0%,
|
|
96
|
-
${sliderColor} ${(fromPosition / rangeDistance) * 100}%,
|
|
97
|
-
${rangeColor} ${(fromPosition / rangeDistance) * 100}%,
|
|
98
|
-
${rangeColor} ${(toPosition / rangeDistance) * 100}%,
|
|
99
|
-
${sliderColor} ${(toPosition / rangeDistance) * 100}%,
|
|
100
|
-
${sliderColor} 100%)`;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Change handler for updating value.
|
|
104
|
-
* @ignore
|
|
105
|
-
*/
|
|
106
|
-
onChange(value) {
|
|
107
|
-
this.value = value;
|
|
108
|
-
this.valueChange.emit(value);
|
|
106
|
+
${this.sliderColor} 0%,
|
|
107
|
+
${this.sliderColor} ${(fromPosition / rangeDistance) * 100}%,
|
|
108
|
+
${this.rangeColor} ${(fromPosition / rangeDistance) * 100}%,
|
|
109
|
+
${this.rangeColor} ${(toPosition / rangeDistance) * 100}%,
|
|
110
|
+
${this.sliderColor} ${(toPosition / rangeDistance) * 100}%,
|
|
111
|
+
${this.sliderColor} 100%)`;
|
|
109
112
|
}
|
|
110
113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: WattSliderComponent, isStandalone: true, selector: "watt-slider", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: true, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "maxRange", first: true, predicate: ["maxRange"], descendants: true, isSignal: true }, { propertyName: "minRange", first: true, predicate: ["minRange"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<div class=\"controls\">\n <input\n #minRange\n class=\"min-range\"\n [style.z-index]=\"1\"\n [style.height]=\"0\"\n type=\"range\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()?.min\"\n />\n <input\n #maxRange\n class=\"max-range\"\n type=\"range\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()?.max\"\n />\n</div>\n", styles: ["watt-slider{display:flex;flex-direction:column;margin:var(--watt-space-m) 0}watt-slider .controls{position:relative}watt-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:var(--watt-space-ml);height:var(--watt-space-ml);background-color:var(--watt-color-primary-dark);border-radius:50%;box-shadow:0 0 0 1px var(--watt-color-primary);cursor:pointer}watt-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:24px;height:24px;background-color:var(--watt-color-primary-dark);border-radius:50%;box-shadow:0 0 0 1px var(--watt-color-primary);cursor:pointer}watt-slider input[type=range]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px var(--watt-color-primary-dark),0 0 9px var(--watt-color-primary-dark);-webkit-box-shadow:inset 0 0 3px var(--watt-color-primary-dark),0 0 9px var(--watt-color-primary-dark);cursor:ew-resize}watt-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:var(--watt-space-s);top:var(--watt-space-s)/2;left:0;right:0;position:absolute;transform:translateY(-50%);background-color:var(--watt-color-secondary-light);pointer-events:none;border-radius:var(--watt-space-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
112
115
|
}
|
|
113
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattSliderComponent, decorators: [{
|
|
114
117
|
type: Component,
|
|
115
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-slider', template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<div class=\"controls\">\n <input\n #minRange\n class=\"min-range\"\n [style.z-index]=\"1\"\n [style.height]=\"0\"\n type=\"range\"\n [max]=\"max\"\n [min]=\"min\"\n [step]=\"step\"\n [value]=\"value
|
|
116
|
-
}], propDecorators: { min: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], max: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], step: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], value: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], maxRange: [{
|
|
125
|
-
type: ViewChild,
|
|
126
|
-
args: ['maxRange']
|
|
127
|
-
}], minRange: [{
|
|
128
|
-
type: ViewChild,
|
|
129
|
-
args: ['minRange']
|
|
130
|
-
}], valueChange: [{
|
|
131
|
-
type: Output
|
|
132
|
-
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2Uvc2xpZGVyL3dhdHQtc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3NsaWRlci93YXR0LXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGFBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN2RCxrQ0FBa0M7SUFDekIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVqQixtQ0FBbUM7SUFDMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVuQiwrQkFBK0I7SUFDdEIsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUVsQiwwQ0FBMEM7SUFDakMsS0FBSyxHQUFvQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFNUMsUUFBUSxDQUFnQztJQUV4QyxRQUFRLENBQWdDO0lBRXZELHNCQUFzQixDQUFnQjtJQUN0QyxzQkFBc0IsQ0FBZ0I7SUFDOUM7OztPQUdHO0lBQ08sV0FBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRTVELGVBQWU7UUFDYixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsYUFBYSxDQUFDO1lBQ2xFLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUVyQyxJQUFJLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDekIsZUFBZSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGVBQWUsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1lBQzNDLENBQUM7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsYUFBYSxDQUFDO1lBQ2xFLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUVyQyxJQUFJLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQztnQkFDeEIsZUFBZSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7WUFDM0MsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUNwRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUc7O1FBRTNDLFdBQVc7UUFDWCxXQUFXLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBRztRQUNuRCxVQUFVLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBRztRQUNsRCxVQUFVLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBRztRQUNoRCxXQUFXLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBRztRQUNqRCxXQUFXLFFBQVEsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7dUdBdkdVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLG9ZQ25EaEMscy9CQXNDQTs7MkZEYWEsbUJBQW1CO2tCQVAvQixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksWUFDM0IsYUFBYTs7c0JBT3RCLEtBQUs7O3NCQUdMLEtBQUs7O3NCQUdMLEtBQUs7O3NCQUdMLEtBQUs7O3NCQUVMLFNBQVM7dUJBQUMsVUFBVTs7c0JBRXBCLFNBQVM7dUJBQUMsVUFBVTs7c0JBUXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgV2F0dENvbG9ySGVscGVyU2VydmljZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9jb3JlL2NvbG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXR0U2xpZGVyVmFsdWUge1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59XG5cbi8qKlxuICogU2xpZGVyIGZvciBwcm92aWRpbmcgYSByYW5nZSBvZiB2YWx1ZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICd3YXR0LXNsaWRlcicsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93YXR0LXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgX2NvbG9yU2VydmljZSA9IGluamVjdChXYXR0Q29sb3JIZWxwZXJTZXJ2aWNlKTtcbiAgLyoqIFRoZSBsb3dlc3QgcGVybWl0dGVkIHZhbHVlLiAqL1xuICBASW5wdXQoKSBtaW4gPSAwO1xuXG4gIC8qKiBUaGUgaGlnaGVzdCBwZXJtaXR0ZWQgdmFsdWUuICovXG4gIEBJbnB1dCgpIG1heCA9IDEwMDtcblxuICAvKiogU3RlcCBiZXR3ZWVuIGVhY2ggdmFsdWUuICovXG4gIEBJbnB1dCgpIHN0ZXAgPSAxO1xuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJhbmdlIHZhbHVlLiAqL1xuICBASW5wdXQoKSB2YWx1ZTogV2F0dFNsaWRlclZhbHVlID0geyBtaW46IHRoaXMubWluLCBtYXg6IHRoaXMubWF4IH07XG5cbiAgQFZpZXdDaGlsZCgnbWF4UmFuZ2UnKSBtYXhSYW5nZSE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnbWluUmFuZ2UnKSBtaW5SYW5nZSE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfbWF4Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9taW5DaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIC8qKlxuICAgKiBFbWl0cyB2YWx1ZSB3aGVuZXZlciBpdCBjaGFuZ2VzLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFdhdHRTbGlkZXJWYWx1ZT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4UmFuZ2VFbGVtZW50ID0gdGhpcy5tYXhSYW5nZS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG1pblJhbmdlRWxlbWVudCA9IHRoaXMubWluUmFuZ2UubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBtYXhDaGFuZ2VkJCA9IGZyb21FdmVudChtYXhSYW5nZUVsZW1lbnQsICdpbnB1dCcpO1xuICAgIGNvbnN0IG1pbkNoYW5nZWQkID0gZnJvbUV2ZW50KG1pblJhbmdlRWxlbWVudCwgJ2lucHV0Jyk7XG5cbiAgICB0aGlzLnVwZGF0ZVJhbmdlKHRoaXMudmFsdWUubWluLCB0aGlzLnZhbHVlLm1heCk7XG5cbiAgICB0aGlzLl9tYXhDaGFuZ2VTdWJzY3JpcHRpb24gPSBtYXhDaGFuZ2VkJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBtYXhWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVBc051bWJlcjtcbiAgICAgIGNvbnN0IG1pblZhbHVlID0gbWluUmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgfHwgdGhpcy5taW47XG4gICAgICB0aGlzLnVwZGF0ZVJhbmdlKG1pblZhbHVlLCBtYXhWYWx1ZSk7XG5cbiAgICAgIGlmIChtaW5WYWx1ZSA8PSBtYXhWYWx1ZSkge1xuICAgICAgICBtYXhSYW5nZUVsZW1lbnQudmFsdWVBc051bWJlciA9IG1heFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgPSBtaW5WYWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vbkNoYW5nZSh7IG1pbjogbWluVmFsdWUsIG1heDogbWF4VmFsdWUgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9taW5DaGFuZ2VTdWJzY3JpcHRpb24gPSBtaW5DaGFuZ2VkJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBtaW5WYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVBc051bWJlcjtcbiAgICAgIGNvbnN0IG1heFZhbHVlID0gbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgfHwgdGhpcy5tYXg7XG4gICAgICB0aGlzLnVwZGF0ZVJhbmdlKG1pblZhbHVlLCBtYXhWYWx1ZSk7XG5cbiAgICAgIGlmIChtaW5WYWx1ZSA+IG1heFZhbHVlKSB7XG4gICAgICAgIG1pblJhbmdlRWxlbWVudC52YWx1ZUFzTnVtYmVyID0gbWF4VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub25DaGFuZ2UoeyBtaW46IG1pblZhbHVlLCBtYXg6IG1heFZhbHVlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaXNFbGVtZW50UmVmc1BvcHVsYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm1heFJhbmdlICYmICEhdGhpcy5taW5SYW5nZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRWxlbWVudFJlZnNQb3B1bGF0ZWQoKSkge1xuICAgICAgdGhpcy51cGRhdGVSYW5nZSh0aGlzLnZhbHVlLm1pbiwgdGhpcy52YWx1ZS5tYXgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21heENoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX21pbkNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSYW5nZShtaW5WYWx1ZTogbnVtYmVyLCBtYXhWYWx1ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgcmFuZ2VEaXN0YW5jZSA9IHRoaXMubWF4IC0gdGhpcy5taW47XG4gICAgY29uc3QgZnJvbVBvc2l0aW9uID0gbWluVmFsdWUgLSB0aGlzLm1pbjtcbiAgICBjb25zdCB0b1Bvc2l0aW9uID0gbWF4VmFsdWUgLSB0aGlzLm1pbjtcblxuICAgIGNvbnN0IHNsaWRlckNvbG9yID0gdGhpcy5fY29sb3JTZXJ2aWNlLmdldENvbG9yKCdzZWNvbmRhcnlMaWdodCcpO1xuICAgIGNvbnN0IHJhbmdlQ29sb3IgPSB0aGlzLl9jb2xvclNlcnZpY2UuZ2V0Q29sb3IoJ3ByaW1hcnknKTtcblxuICAgIHRoaXMubWF4UmFuZ2UubmF0aXZlRWxlbWVudC52YWx1ZUFzTnVtYmVyID0gdGhpcy52YWx1ZS5tYXg7XG4gICAgdGhpcy5taW5SYW5nZS5uYXRpdmVFbGVtZW50LnZhbHVlQXNOdW1iZXIgPSB0aGlzLnZhbHVlLm1pbjtcbiAgICB0aGlzLm1heFJhbmdlLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZCA9IGBsaW5lYXItZ3JhZGllbnQoXG4gICAgICB0byByaWdodCxcbiAgICAgICR7c2xpZGVyQ29sb3J9IDAlLFxuICAgICAgJHtzbGlkZXJDb2xvcn0gJHsoZnJvbVBvc2l0aW9uIC8gcmFuZ2VEaXN0YW5jZSkgKiAxMDB9JSxcbiAgICAgICR7cmFuZ2VDb2xvcn0gJHsoZnJvbVBvc2l0aW9uIC8gcmFuZ2VEaXN0YW5jZSkgKiAxMDB9JSxcbiAgICAgICR7cmFuZ2VDb2xvcn0gJHsodG9Qb3NpdGlvbiAvIHJhbmdlRGlzdGFuY2UpICogMTAwfSUsXG4gICAgICAke3NsaWRlckNvbG9yfSAkeyh0b1Bvc2l0aW9uIC8gcmFuZ2VEaXN0YW5jZSkgKiAxMDB9JSxcbiAgICAgICR7c2xpZGVyQ29sb3J9IDEwMCUpYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgaGFuZGxlciBmb3IgdXBkYXRpbmcgdmFsdWUuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG9uQ2hhbmdlKHZhbHVlOiBXYXR0U2xpZGVyVmFsdWUpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPCEtLVxuQGxpY2Vuc2VcbkNvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLT5cbjxkaXYgY2xhc3M9XCJjb250cm9sc1wiPlxuICA8aW5wdXRcbiAgICAjbWluUmFuZ2VcbiAgICBjbGFzcz1cIm1pbi1yYW5nZVwiXG4gICAgW3N0eWxlLnotaW5kZXhdPVwiMVwiXG4gICAgW3N0eWxlLmhlaWdodF09XCIwXCJcbiAgICB0eXBlPVwicmFuZ2VcIlxuICAgIFttYXhdPVwibWF4XCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW3ZhbHVlXT1cInZhbHVlLm1pblwiXG4gIC8+XG4gIDxpbnB1dFxuICAgICNtYXhSYW5nZVxuICAgIGNsYXNzPVwibWF4LXJhbmdlXCJcbiAgICB0eXBlPVwicmFuZ2VcIlxuICAgIFttYXhdPVwibWF4XCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW3ZhbHVlXT1cInZhbHVlLm1heFwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==
|
|
118
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-slider', template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<div class=\"controls\">\n <input\n #minRange\n class=\"min-range\"\n [style.z-index]=\"1\"\n [style.height]=\"0\"\n type=\"range\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()?.min\"\n />\n <input\n #maxRange\n class=\"max-range\"\n type=\"range\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()?.max\"\n />\n</div>\n", styles: ["watt-slider{display:flex;flex-direction:column;margin:var(--watt-space-m) 0}watt-slider .controls{position:relative}watt-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:var(--watt-space-ml);height:var(--watt-space-ml);background-color:var(--watt-color-primary-dark);border-radius:50%;box-shadow:0 0 0 1px var(--watt-color-primary);cursor:pointer}watt-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:24px;height:24px;background-color:var(--watt-color-primary-dark);border-radius:50%;box-shadow:0 0 0 1px var(--watt-color-primary);cursor:pointer}watt-slider input[type=range]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px var(--watt-color-primary-dark),0 0 9px var(--watt-color-primary-dark);-webkit-box-shadow:inset 0 0 3px var(--watt-color-primary-dark),0 0 9px var(--watt-color-primary-dark);cursor:ew-resize}watt-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:var(--watt-space-s);top:var(--watt-space-s)/2;left:0;right:0;position:absolute;transform:translateY(-50%);background-color:var(--watt-color-secondary-light);pointer-events:none;border-radius:var(--watt-space-s)}\n"] }]
|
|
119
|
+
}], ctorParameters: () => [], propDecorators: { min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: true }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: true }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], maxRange: [{ type: i0.ViewChild, args: ['maxRange', { isSignal: true }] }], minRange: [{ type: i0.ViewChild, args: ['minRange', { isSignal: true }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2Uvc2xpZGVyL3dhdHQtc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3NsaWRlci93YXR0LXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUVOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ2IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakQsa0NBQWtDO0lBQ3pCLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSw4Q0FBVSxDQUFDO0lBRXhDLG1DQUFtQztJQUMxQixHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsOENBQVUsQ0FBQztJQUV4QywrQkFBK0I7SUFDdEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLGdEQUFDLENBQUM7SUFFekIsMENBQTBDO0lBQ2pDLEtBQUssR0FBRyxLQUFLLDJEQUErQixDQUFDO0lBQzdDLFlBQVksR0FBRyxRQUFRLENBQUMsR0FB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UUFDeEQsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHO1FBQ3ZELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBRztRQUNyRCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUc7UUFDdEQsSUFBSSxDQUFDLFdBQVcsUUFBUSxDQUFDO0lBQy9CLENBQUM7dUdBekdVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHd5QkNuRGhDLHdnQ0FzQ0E7OzJGRGFhLG1CQUFtQjtrQkFQL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLGFBQWE7NGJBMkI4QyxVQUFVLGtFQUNWLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFdhdHRDb2xvckhlbHBlclNlcnZpY2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9jb2xvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0dFNsaWRlclZhbHVlIHtcbiAgbWluOiBudW1iZXI7XG4gIG1heDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFNsaWRlciBmb3IgcHJvdmlkaW5nIGEgcmFuZ2Ugb2YgdmFsdWVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnd2F0dC1zbGlkZXInLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LXNsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vd2F0dC1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0U2xpZGVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2xvclNlcnZpY2UgPSBpbmplY3QoV2F0dENvbG9ySGVscGVyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAvKiogVGhlIGxvd2VzdCBwZXJtaXR0ZWQgdmFsdWUuICovXG4gIHJlYWRvbmx5IG1pbiA9IGlucHV0LnJlcXVpcmVkPG51bWJlcj4oKTtcblxuICAvKiogVGhlIGhpZ2hlc3QgcGVybWl0dGVkIHZhbHVlLiAqL1xuICByZWFkb25seSBtYXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG5cbiAgLyoqIFN0ZXAgYmV0d2VlbiBlYWNoIHZhbHVlLiAqL1xuICByZWFkb25seSBzdGVwID0gaW5wdXQoMSk7XG5cbiAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmFuZ2UgdmFsdWUuICovXG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQ8V2F0dFNsaWRlclZhbHVlIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBjdXJyZW50VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIWlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybiB7IG1pbjogdGhpcy5taW4oKSwgbWF4OiB0aGlzLm1heCgpIH07XG4gICAgfVxuICAgIHJldHVybiBpbnB1dFZhbHVlO1xuICB9KTtcblxuICByZWFkb25seSBtYXhSYW5nZSA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignbWF4UmFuZ2UnKTtcbiAgcmVhZG9ubHkgbWluUmFuZ2UgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ21pblJhbmdlJyk7XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8V2F0dFNsaWRlclZhbHVlPigpO1xuXG4gIHJlYWRvbmx5IHNsaWRlckNvbG9yID0gdGhpcy5jb2xvclNlcnZpY2UuZ2V0Q29sb3IoJ3NlY29uZGFyeUxpZ2h0Jyk7XG4gIHJlYWRvbmx5IHJhbmdlQ29sb3IgPSB0aGlzLmNvbG9yU2VydmljZS5nZXRDb2xvcigncHJpbWFyeScpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlKCk7XG4gICAgICB0aGlzLnVwZGF0ZVJhbmdlKHZhbHVlLm1pbiwgdmFsdWUubWF4KTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBtYXhSYW5nZSA9IHRoaXMubWF4UmFuZ2UoKTtcbiAgICAgIGNvbnN0IG1pblJhbmdlID0gdGhpcy5taW5SYW5nZSgpO1xuXG4gICAgICBjb25zdCBtYXhSYW5nZUVsZW1lbnQgPSBtYXhSYW5nZS5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgbWluUmFuZ2VFbGVtZW50ID0gbWluUmFuZ2UubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gU2V0dXAgbWF4IHJhbmdlIGlucHV0IGV2ZW50c1xuICAgICAgZnJvbUV2ZW50KG1heFJhbmdlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF4VmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlQXNOdW1iZXI7XG4gICAgICAgICAgY29uc3QgbWluVmFsdWUgPSBtaW5SYW5nZUVsZW1lbnQudmFsdWVBc051bWJlcjtcblxuICAgICAgICAgIGxldCBuZXdNYXhWYWx1ZSA9IG1heFZhbHVlO1xuICAgICAgICAgIGlmIChtaW5WYWx1ZSA+IG1heFZhbHVlKSB7XG4gICAgICAgICAgICBuZXdNYXhWYWx1ZSA9IG1pblZhbHVlO1xuICAgICAgICAgICAgbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgPSBuZXdNYXhWYWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgbWluOiBtaW5WYWx1ZSwgbWF4OiBuZXdNYXhWYWx1ZSB9O1xuICAgICAgICAgIHRoaXMudXBkYXRlUmFuZ2UobmV3VmFsdWUubWluLCBuZXdWYWx1ZS5tYXgpO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBTZXR1cCBtaW4gcmFuZ2UgaW5wdXQgZXZlbnRzXG4gICAgICBmcm9tRXZlbnQobWluUmFuZ2VFbGVtZW50LCAnaW5wdXQnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBtaW5WYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVBc051bWJlcjtcbiAgICAgICAgICBjb25zdCBtYXhWYWx1ZSA9IG1heFJhbmdlRWxlbWVudC52YWx1ZUFzTnVtYmVyO1xuXG4gICAgICAgICAgbGV0IG5ld01pblZhbHVlID0gbWluVmFsdWU7XG4gICAgICAgICAgaWYgKG1pblZhbHVlID4gbWF4VmFsdWUpIHtcbiAgICAgICAgICAgIG5ld01pblZhbHVlID0gbWF4VmFsdWU7XG4gICAgICAgICAgICBtaW5SYW5nZUVsZW1lbnQudmFsdWVBc051bWJlciA9IG5ld01pblZhbHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0geyBtaW46IG5ld01pblZhbHVlLCBtYXg6IG1heFZhbHVlIH07XG4gICAgICAgICAgdGhpcy51cGRhdGVSYW5nZShuZXdWYWx1ZS5taW4sIG5ld1ZhbHVlLm1heCk7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJhbmdlKG1pblZhbHVlOiBudW1iZXIsIG1heFZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBtYXhSYW5nZSA9IHRoaXMubWF4UmFuZ2UoKTtcbiAgICBjb25zdCBtaW5SYW5nZSA9IHRoaXMubWluUmFuZ2UoKTtcbiAgICBpZiAoIW1heFJhbmdlIHx8ICFtaW5SYW5nZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgbWF4UmFuZ2VFbGVtZW50ID0gbWF4UmFuZ2UubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBtaW5SYW5nZUVsZW1lbnQgPSBtaW5SYW5nZS5uYXRpdmVFbGVtZW50O1xuXG4gICAgbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgPSBtYXhWYWx1ZTtcbiAgICBtaW5SYW5nZUVsZW1lbnQudmFsdWVBc051bWJlciA9IG1pblZhbHVlO1xuXG4gICAgY29uc3QgcmFuZ2VEaXN0YW5jZSA9IHRoaXMubWF4KCkgLSB0aGlzLm1pbigpO1xuICAgIGNvbnN0IGZyb21Qb3NpdGlvbiA9IG1pblZhbHVlIC0gdGhpcy5taW4oKTtcbiAgICBjb25zdCB0b1Bvc2l0aW9uID0gbWF4VmFsdWUgLSB0aGlzLm1pbigpO1xuXG4gICAgbWF4UmFuZ2VFbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSBgbGluZWFyLWdyYWRpZW50KFxuICAgICAgdG8gcmlnaHQsXG4gICAgICAke3RoaXMuc2xpZGVyQ29sb3J9IDAlLFxuICAgICAgJHt0aGlzLnNsaWRlckNvbG9yfSAkeyhmcm9tUG9zaXRpb24gLyByYW5nZURpc3RhbmNlKSAqIDEwMH0lLFxuICAgICAgJHt0aGlzLnJhbmdlQ29sb3J9ICR7KGZyb21Qb3NpdGlvbiAvIHJhbmdlRGlzdGFuY2UpICogMTAwfSUsXG4gICAgICAke3RoaXMucmFuZ2VDb2xvcn0gJHsodG9Qb3NpdGlvbiAvIHJhbmdlRGlzdGFuY2UpICogMTAwfSUsXG4gICAgICAke3RoaXMuc2xpZGVyQ29sb3J9ICR7KHRvUG9zaXRpb24gLyByYW5nZURpc3RhbmNlKSAqIDEwMH0lLFxuICAgICAgJHt0aGlzLnNsaWRlckNvbG9yfSAxMDAlKWA7XG4gIH1cbn1cbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48ZGl2IGNsYXNzPVwiY29udHJvbHNcIj5cbiAgPGlucHV0XG4gICAgI21pblJhbmdlXG4gICAgY2xhc3M9XCJtaW4tcmFuZ2VcIlxuICAgIFtzdHlsZS56LWluZGV4XT1cIjFcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiMFwiXG4gICAgdHlwZT1cInJhbmdlXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbc3RlcF09XCJzdGVwKClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSgpPy5taW5cIlxuICAvPlxuICA8aW5wdXRcbiAgICAjbWF4UmFuZ2VcbiAgICBjbGFzcz1cIm1heC1yYW5nZVwiXG4gICAgdHlwZT1cInJhbmdlXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbc3RlcF09XCJzdGVwKClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSgpPy5tYXhcIlxuICAvPlxuPC9kaXY+XG4iXX0=
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { ElementRef } from '@angular/core';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
export interface WattSliderValue {
|
|
20
20
|
min: number;
|
|
@@ -23,35 +23,25 @@ export interface WattSliderValue {
|
|
|
23
23
|
/**
|
|
24
24
|
* Slider for providing a range of values.
|
|
25
25
|
*/
|
|
26
|
-
export declare class WattSliderComponent
|
|
27
|
-
private
|
|
26
|
+
export declare class WattSliderComponent {
|
|
27
|
+
private readonly colorService;
|
|
28
|
+
private readonly destroyRef;
|
|
28
29
|
/** The lowest permitted value. */
|
|
29
|
-
min: number
|
|
30
|
+
readonly min: import("@angular/core").InputSignal<number>;
|
|
30
31
|
/** The highest permitted value. */
|
|
31
|
-
max: number
|
|
32
|
+
readonly max: import("@angular/core").InputSignal<number>;
|
|
32
33
|
/** Step between each value. */
|
|
33
|
-
step: number
|
|
34
|
+
readonly step: import("@angular/core").InputSignal<number>;
|
|
34
35
|
/** The currently selected range value. */
|
|
35
|
-
value: WattSliderValue
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
valueChange: EventEmitter<WattSliderValue>;
|
|
45
|
-
ngAfterViewInit(): void;
|
|
46
|
-
isElementRefsPopulated(): boolean;
|
|
47
|
-
ngOnChanges(): void;
|
|
48
|
-
ngOnDestroy(): void;
|
|
36
|
+
readonly value: import("@angular/core").InputSignal<WattSliderValue | undefined>;
|
|
37
|
+
readonly currentValue: import("@angular/core").Signal<WattSliderValue>;
|
|
38
|
+
readonly maxRange: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
|
|
39
|
+
readonly minRange: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
|
|
40
|
+
readonly valueChange: import("@angular/core").OutputEmitterRef<WattSliderValue>;
|
|
41
|
+
readonly sliderColor: string;
|
|
42
|
+
readonly rangeColor: string;
|
|
43
|
+
constructor();
|
|
49
44
|
private updateRange;
|
|
50
|
-
/**
|
|
51
|
-
* Change handler for updating value.
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
onChange(value: WattSliderValue): void;
|
|
55
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<WattSliderComponent, never>;
|
|
56
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WattSliderComponent, "watt-slider", never, { "min": { "alias": "min"; "required":
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WattSliderComponent, "watt-slider", never, { "min": { "alias": "min"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": true; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
57
47
|
}
|