@energinet/watt 4.1.27 → 4.1.29

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, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, inject, } from '@angular/core';
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
- _colorService = inject(WattColorHelperService);
28
+ colorService = inject(WattColorHelperService);
29
+ destroyRef = inject(DestroyRef);
28
30
  /** The lowest permitted value. */
29
- min = 0;
31
+ min = input.required(...(ngDevMode ? [{ debugName: "min" }] : []));
30
32
  /** The highest permitted value. */
31
- max = 100;
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 = { min: this.min, max: this.max };
36
- maxRange;
37
- minRange;
38
- _maxChangeSubscription;
39
- _minChangeSubscription;
40
- /**
41
- * Emits value whenever it changes.
42
- * @ignore
43
- */
44
- valueChange = new EventEmitter();
45
- ngAfterViewInit() {
46
- const maxRangeElement = this.maxRange.nativeElement;
47
- const minRangeElement = this.minRange.nativeElement;
48
- const maxChanged$ = fromEvent(maxRangeElement, 'input');
49
- const minChanged$ = fromEvent(minRangeElement, 'input');
50
- this.updateRange(this.value.min, this.value.max);
51
- this._maxChangeSubscription = maxChanged$.subscribe((event) => {
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
- this._minChangeSubscription = minChanged$.subscribe((event) => {
64
- const minValue = event.target.valueAsNumber;
65
- const maxValue = maxRangeElement.valueAsNumber || this.max;
66
- this.updateRange(minValue, maxValue);
67
- if (minValue > maxValue) {
68
- minRangeElement.valueAsNumber = maxValue;
69
- }
70
- this.onChange({ min: minValue, max: maxValue });
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 rangeDistance = this.max - this.min;
87
- const fromPosition = minValue - this.min;
88
- const toPosition = maxValue - this.min;
89
- const sliderColor = this._colorService.getColor('secondaryLight');
90
- const rangeColor = this._colorService.getColor('primary');
91
- this.maxRange.nativeElement.valueAsNumber = this.value.max;
92
- this.minRange.nativeElement.valueAsNumber = this.value.min;
93
- this.maxRange.nativeElement.style.background = `linear-gradient(
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: "14.0.0", version: "20.3.6", type: WattSliderComponent, isStandalone: true, selector: "watt-slider", inputs: { min: "min", max: "max", step: "step", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "maxRange", first: true, predicate: ["maxRange"], descendants: true }, { propertyName: "minRange", first: true, predicate: ["minRange"], descendants: true }], usesOnChanges: 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 });
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.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"] }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2Uvc2xpZGVyL3dhdHQtc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3NsaWRlci93YXR0LXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGFBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN2RCxrQ0FBa0M7SUFDekIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVqQixtQ0FBbUM7SUFDMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVuQiwrQkFBK0I7SUFDdEIsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUVsQiwwQ0FBMEM7SUFDakMsS0FBSyxHQUFvQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFNUMsUUFBUSxDQUFnQztJQUV4QyxRQUFRLENBQWdDO0lBRXZELHNCQUFzQixDQUFnQjtJQUN0QyxzQkFBc0IsQ0FBZ0I7SUFDOUM7OztPQUdHO0lBQ08sV0FBVyxHQUFHLElBQUksWUFBWSxFQUFtQixD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c0JBRXBCLFNBQVM7dUJBQUMsVUFBVTs7c0JBUXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgV2F0dENvbG9ySGVscGVyU2VydmljZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9jb3JlL2NvbG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXR0U2xpZGVyVmFsdWUge1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59XG5cbi8qKlxuICogU2xpZGVyIGZvciBwcm92aWRpbmcgYSByYW5nZSBvZiB2YWx1ZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICd3YXR0LXNsaWRlcicsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93YXR0LXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHRTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgX2NvbG9yU2VydmljZSA9IGluamVjdChXYXR0Q29sb3JIZWxwZXJTZXJ2aWNlKTtcbiAgLyoqIFRoZSBsb3dlc3QgcGVybWl0dGVkIHZhbHVlLiAqL1xuICBASW5wdXQoKSBtaW4gPSAwO1xuXG4gIC8qKiBUaGUgaGlnaGVzdCBwZXJtaXR0ZWQgdmFsdWUuICovXG4gIEBJbnB1dCgpIG1heCA9IDEwMDtcblxuICAvKiogU3RlcCBiZXR3ZWVuIGVhY2ggdmFsdWUuICovXG4gIEBJbnB1dCgpIHN0ZXAgPSAxO1xuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJhbmdlIHZhbHVlLiAqL1xuICBASW5wdXQoKSB2YWx1ZTogV2F0dFNsaWRlclZhbHVlID0geyBtaW46IHRoaXMubWluLCBtYXg6IHRoaXMubWF4IH07XG5cbiAgQFZpZXdDaGlsZCgnbWF4UmFuZ2UnKSBtYXhSYW5nZSE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnbWluUmFuZ2UnKSBtaW5SYW5nZSE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfbWF4Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9taW5DaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIC8qKlxuICAgKiBFbWl0cyB2YWx1ZSB3aGVuZXZlciBpdCBjaGFuZ2VzLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFdhdHRTbGlkZXJWYWx1ZT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4UmFuZ2VFbGVtZW50ID0gdGhpcy5tYXhSYW5nZS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG1pblJhbmdlRWxlbWVudCA9IHRoaXMubWluUmFuZ2UubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBtYXhDaGFuZ2VkJCA9IGZyb21FdmVudChtYXhSYW5nZUVsZW1lbnQsICdpbnB1dCcpO1xuICAgIGNvbnN0IG1pbkNoYW5nZWQkID0gZnJvbUV2ZW50KG1pblJhbmdlRWxlbWVudCwgJ2lucHV0Jyk7XG5cbiAgICB0aGlzLnVwZGF0ZVJhbmdlKHRoaXMudmFsdWUubWluLCB0aGlzLnZhbHVlLm1heCk7XG5cbiAgICB0aGlzLl9tYXhDaGFuZ2VTdWJzY3JpcHRpb24gPSBtYXhDaGFuZ2VkJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBtYXhWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVBc051bWJlcjtcbiAgICAgIGNvbnN0IG1pblZhbHVlID0gbWluUmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgfHwgdGhpcy5taW47XG4gICAgICB0aGlzLnVwZGF0ZVJhbmdlKG1pblZhbHVlLCBtYXhWYWx1ZSk7XG5cbiAgICAgIGlmIChtaW5WYWx1ZSA8PSBtYXhWYWx1ZSkge1xuICAgICAgICBtYXhSYW5nZUVsZW1lbnQudmFsdWVBc051bWJlciA9IG1heFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgPSBtaW5WYWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vbkNoYW5nZSh7IG1pbjogbWluVmFsdWUsIG1heDogbWF4VmFsdWUgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9taW5DaGFuZ2VTdWJzY3JpcHRpb24gPSBtaW5DaGFuZ2VkJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBtaW5WYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVBc051bWJlcjtcbiAgICAgIGNvbnN0IG1heFZhbHVlID0gbWF4UmFuZ2VFbGVtZW50LnZhbHVlQXNOdW1iZXIgfHwgdGhpcy5tYXg7XG4gICAgICB0aGlzLnVwZGF0ZVJhbmdlKG1pblZhbHVlLCBtYXhWYWx1ZSk7XG5cbiAgICAgIGlmIChtaW5WYWx1ZSA+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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@energinet/watt",
4
- "version": "4.1.27",
4
+ "version": "4.1.29",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  ".": {
@@ -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 { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy } from '@angular/core';
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 implements AfterViewInit, OnDestroy, OnChanges {
27
- private _colorService;
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
- maxRange: ElementRef<HTMLInputElement>;
37
- minRange: ElementRef<HTMLInputElement>;
38
- private _maxChangeSubscription;
39
- private _minChangeSubscription;
40
- /**
41
- * Emits value whenever it changes.
42
- * @ignore
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": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
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
  }