@ruc-lib/metered-progress-bar 3.1.0 → 3.1.1
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/README.md +29 -21
- package/esm2020/index.mjs +4 -0
- package/esm2020/lib/enums/lable-position.enum.mjs +9 -0
- package/esm2020/lib/model/metered-bar.config.mjs +5 -0
- package/esm2020/lib/ruc-metered-progress-bar/ruc-metered-progress-bar.component.mjs +194 -0
- package/esm2020/lib/ruclib-metered-progress-bar.module.mjs +20 -0
- package/esm2020/ruc-lib-metered-progress-bar.mjs +5 -0
- package/fesm2015/ruc-lib-metered-progress-bar.mjs +231 -0
- package/fesm2015/ruc-lib-metered-progress-bar.mjs.map +1 -0
- package/fesm2020/ruc-lib-metered-progress-bar.mjs +230 -0
- package/fesm2020/ruc-lib-metered-progress-bar.mjs.map +1 -0
- package/index.d.ts +3 -87
- package/lib/enums/lable-position.enum.d.ts +7 -0
- package/lib/model/metered-bar.config.d.ts +19 -0
- package/lib/ruc-metered-progress-bar/ruc-metered-progress-bar.component.d.ts +58 -0
- package/lib/ruclib-metered-progress-bar.module.d.ts +10 -0
- package/package.json +18 -6
- package/fesm2022/ruc-lib-metered-progress-bar.mjs +0 -233
- package/fesm2022/ruc-lib-metered-progress-bar.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -30,26 +30,34 @@ Please ensure you install the correct version of `@ruc-lib/metered-progress-bar`
|
|
|
30
30
|
|
|
31
31
|
## Usage
|
|
32
32
|
|
|
33
|
-
### 1. Import the
|
|
34
|
-
In your Angular
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
import {
|
|
44
|
-
|
|
45
|
-
@
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
33
|
+
### 1. Import the Module
|
|
34
|
+
In your Angular module file (e.g., `app.module.ts`), import the `RuclibMeteredProgressBarModule`:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// For Complete Library
|
|
38
|
+
import { RuclibMeteredProgressBarModule } from '@uxpractice/ruc-lib/metered-progress-bar';
|
|
39
|
+
|
|
40
|
+
// For Individual Package
|
|
41
|
+
import { RuclibMeteredProgressBarModule } from '@ruc-lib/metered-progress-bar';
|
|
42
|
+
|
|
43
|
+
import { AppComponent } from './app.component';
|
|
44
|
+
import { NgModule } from '@angular/core';
|
|
45
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
46
|
+
import { MatCardModule } from '@angular/material/card';
|
|
47
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
48
|
+
|
|
49
|
+
@NgModule({
|
|
50
|
+
declarations: [AppComponent],
|
|
51
|
+
imports: [
|
|
52
|
+
BrowserModule,
|
|
53
|
+
RuclibMeteredProgressBarModule,
|
|
54
|
+
MatIconModule,
|
|
55
|
+
MatCardModule
|
|
56
|
+
],
|
|
57
|
+
providers: [],
|
|
58
|
+
bootstrap: [AppComponent]
|
|
59
|
+
})
|
|
60
|
+
export class AppModule {}
|
|
53
61
|
```
|
|
54
62
|
|
|
55
63
|
### 2. Use the Component
|
|
@@ -158,4 +166,4 @@ Contributions are welcome! Feel free to open issues or pull requests for any enh
|
|
|
158
166
|
|
|
159
167
|
## Acknowledgements
|
|
160
168
|
|
|
161
|
-
Thank you for choosing the Metered Progress Bar component. If you have any feedback or suggestions, please let us know!
|
|
169
|
+
Thank you for choosing the Metered Progress Bar component. If you have any feedback or suggestions, please let us know!
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/ruclib-metered-progress-bar.module';
|
|
2
|
+
export * from './lib/model/metered-bar.config';
|
|
3
|
+
export * from './lib/ruc-metered-progress-bar/ruc-metered-progress-bar.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUVBQW1FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ydWNsaWItbWV0ZXJlZC1wcm9ncmVzcy1iYXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvbWV0ZXJlZC1iYXIuY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVjLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyL3J1Yy1tZXRlcmVkLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var LablePositionEnums;
|
|
2
|
+
(function (LablePositionEnums) {
|
|
3
|
+
LablePositionEnums["left"] = "left";
|
|
4
|
+
LablePositionEnums["right"] = "right";
|
|
5
|
+
LablePositionEnums["same"] = "same";
|
|
6
|
+
LablePositionEnums["top"] = "top";
|
|
7
|
+
LablePositionEnums["bottom"] = "bottom";
|
|
8
|
+
})(LablePositionEnums || (LablePositionEnums = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFibGUtcG9zaXRpb24uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW51bXMvbGFibGUtcG9zaXRpb24uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxrQkFNWDtBQU5ELFdBQVksa0JBQWtCO0lBQzFCLG1DQUFhLENBQUE7SUFDYixxQ0FBZSxDQUFBO0lBQ2YsbUNBQWEsQ0FBQTtJQUNiLGlDQUFXLENBQUE7SUFDWCx1Q0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU03QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIExhYmxlUG9zaXRpb25FbnVtcyB7XHJcbiAgICBsZWZ0ID0gXCJsZWZ0XCIsXHJcbiAgICByaWdodCA9IFwicmlnaHRcIixcclxuICAgIHNhbWUgPSBcInNhbWVcIixcclxuICAgIHRvcCA9IFwidG9wXCIsXHJcbiAgICBib3R0b20gPSAnYm90dG9tJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export class MeteredBarConfig {
|
|
2
|
+
}
|
|
3
|
+
export class CategoryConfig {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0ZXJlZC1iYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2RlbC9tZXRlcmVkLWJhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGdCQUFnQjtDQVc1QjtBQUVELE1BQU0sT0FBTyxjQUFjO0NBTTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1ldGVyZWRCYXJDb25maWcge1xyXG4gICAgbWluITogbnVtYmVyO1xyXG4gICAgbWF4ITogbnVtYmVyO1xyXG4gICAgb3JpZW50YXRpb24hOiBzdHJpbmc7XHJcbiAgICBiYXJMYWJlbHMhOiBib29sZWFuO1xyXG4gICAgYmFyU3R5bGU/OiAnc29saWQnIHwgJ3N0cmlwZScgfCAnY2lyY2xlJyB8ICdyZWN0YW5nbGUnO1xyXG4gICAgY2F0ZWdvcnlMYWJlbHNPcmllbnRhdGlvbiE6IHN0cmluZztcclxuICAgIGNhdGVnb3J5TGFiZWxTdHlsZT86IHN0cmluZztcclxuICAgIHNob3dDYXRlZ29yeUxhYmVscz86IGJvb2xlYW47XHJcbiAgICBjYXRlZ29yaWVzITogQ2F0ZWdvcnlDb25maWdbXTtcclxuICAgIHVuaXRUeXBlPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUNvbmZpZyB7XHJcbiAgICBsYWJlbCE6IHN0cmluZztcclxuICAgIGNvbG9yITogc3RyaW5nO1xyXG4gICAgdmFsdWUhOiBudW1iZXI7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgaGFuZGxlcj86IChldmVudD86IGFueSkgPT4gdm9pZDtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { MeteredBarConfig } from '../model/metered-bar.config';
|
|
3
|
+
import { LablePositionEnums } from '../enums/lable-position.enum';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/card";
|
|
7
|
+
export class RucMeteredProgressBarComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.hoveredCategoryDetail = null;
|
|
10
|
+
this.hoverLabelStyle = { left: '0px', top: '-28px', display: 'none', transform: 'translateX(-50%)' };
|
|
11
|
+
this.progressPercentage = 0;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Calculates the total value of all categories.
|
|
15
|
+
* @returns The sum of all category values.
|
|
16
|
+
*/
|
|
17
|
+
get totalValue() {
|
|
18
|
+
return this.rucInputData.categories.reduce((sum, category) => sum + category.value, 0);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Calculates the overall progress percentage of the bar based on total value, min, and max.
|
|
22
|
+
* @returns The progress as a percentage (0-100).
|
|
23
|
+
*/
|
|
24
|
+
get progress() {
|
|
25
|
+
return ((this.totalValue - this.rucInputData.min) / (this.rucInputData.max - this.rucInputData.min)) * 100;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Determines if the progress bar is oriented vertically.
|
|
29
|
+
* @returns True if the orientation is 'vertical', false otherwise.
|
|
30
|
+
*/
|
|
31
|
+
get isVertical() {
|
|
32
|
+
return this.rucInputData.orientation === 'vertical';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Generates the CSS linear-gradient string for the progress bar.
|
|
36
|
+
* The gradient is composed of segments based on category values and colors.
|
|
37
|
+
* If no categories or total value is zero, it returns a transparent gradient.
|
|
38
|
+
* @returns A CSS linear-gradient string.
|
|
39
|
+
*/
|
|
40
|
+
get progressStyles() {
|
|
41
|
+
const direction = this.isVertical ? 'to bottom' : 'to right';
|
|
42
|
+
if (!this.rucInputData || !this.rucInputData.categories) {
|
|
43
|
+
return { background: 'transparent' };
|
|
44
|
+
}
|
|
45
|
+
const total = this.totalValue;
|
|
46
|
+
const colorStops = [];
|
|
47
|
+
let cumulativePercentage = 0;
|
|
48
|
+
if (total > 0) {
|
|
49
|
+
this.rucInputData.categories.forEach(category => {
|
|
50
|
+
if (category.value <= 0)
|
|
51
|
+
return; // Skip categories with zero or negative contribution
|
|
52
|
+
const segmentPercentage = (category.value / total) * 100;
|
|
53
|
+
const color = category.color;
|
|
54
|
+
// Add start of the segment using the previous cumulative percentage
|
|
55
|
+
colorStops.push(`${color} ${cumulativePercentage}%`);
|
|
56
|
+
// Update cumulative percentage for the end of this segment
|
|
57
|
+
cumulativePercentage += segmentPercentage;
|
|
58
|
+
// Add end of the segment
|
|
59
|
+
// Use Math.min to cap at 100% in case of floating point overshoot on the last segment
|
|
60
|
+
colorStops.push(`${color} ${Math.min(cumulativePercentage, 100)}%`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (colorStops.length === 0) {
|
|
64
|
+
return { background: 'transparent' };
|
|
65
|
+
}
|
|
66
|
+
const baseGradient = `linear-gradient(${direction}, ${colorStops.join(', ')})`;
|
|
67
|
+
const styles = {};
|
|
68
|
+
const barStyle = this.rucInputData?.barStyle;
|
|
69
|
+
switch (barStyle) {
|
|
70
|
+
case 'stripe':
|
|
71
|
+
// This uses multiple backgrounds for an overlay effect, as requested.
|
|
72
|
+
styles['background'] = `repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(0, 0, 0, 0.1) 5px, rgba(0, 0, 0, 0.1) 10px), ${baseGradient}`;
|
|
73
|
+
break;
|
|
74
|
+
case 'circle': {
|
|
75
|
+
// This uses a mask. The background is the color, the mask cuts out the shape.
|
|
76
|
+
styles['background'] = baseGradient;
|
|
77
|
+
// A repeating pattern of circles. Each circle has a diameter of 8px, with a 4px gap.
|
|
78
|
+
const circleMask = 'radial-gradient(circle, black 4px, transparent 4px) 0 0 / 12px 12px';
|
|
79
|
+
styles['-webkit-mask'] = circleMask;
|
|
80
|
+
styles['mask'] = circleMask;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case 'rectangle': {
|
|
84
|
+
styles['background'] = baseGradient;
|
|
85
|
+
// For vertical bar, create horizontal rectangles (0deg). For horizontal bar, create vertical rectangles (90deg).
|
|
86
|
+
const rectDirection = this.isVertical ? '0deg' : '90deg';
|
|
87
|
+
// A repeating pattern of bars. Each bar is 6px wide with a 6px gap.
|
|
88
|
+
const rectangleMask = `repeating-linear-gradient(${rectDirection}, black, black 6px, transparent 6px, transparent 12px)`;
|
|
89
|
+
styles['-webkit-mask'] = rectangleMask;
|
|
90
|
+
styles['mask'] = rectangleMask;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
default: // 'solid' or undefined
|
|
94
|
+
styles['background'] = baseGradient;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
return styles;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Handles mouse movement over the progress bar to display category-specific hover details.
|
|
101
|
+
* It calculates the hovered segment based on mouse position and updates the hover label.
|
|
102
|
+
* @param event The MouseEvent object.
|
|
103
|
+
*/
|
|
104
|
+
onProgressMouseMove(event) {
|
|
105
|
+
const progressBarElement = event.target;
|
|
106
|
+
let currentCumulativeGradientPct = 0;
|
|
107
|
+
let foundCategoryForHover = null;
|
|
108
|
+
let hoverPercentage_onFilledBar = 0;
|
|
109
|
+
let mousePositionWithinProgressDiv = 0;
|
|
110
|
+
if (this.isVertical) {
|
|
111
|
+
mousePositionWithinProgressDiv = event.offsetY; // Y position within the .progress div
|
|
112
|
+
const filledHeightPx = progressBarElement.offsetHeight;
|
|
113
|
+
if (filledHeightPx <= 0) { // Avoid division by zero if element has no height
|
|
114
|
+
this.onProgressMouseLeave();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
hoverPercentage_onFilledBar = (mousePositionWithinProgressDiv / filledHeightPx) * 100;
|
|
118
|
+
}
|
|
119
|
+
else { // Horizontal
|
|
120
|
+
mousePositionWithinProgressDiv = event.offsetX; // X position within the .progress div
|
|
121
|
+
const filledWidthPx = progressBarElement.offsetWidth;
|
|
122
|
+
if (filledWidthPx <= 0) { // Avoid division by zero if element has no width
|
|
123
|
+
this.onProgressMouseLeave();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
hoverPercentage_onFilledBar = (mousePositionWithinProgressDiv / filledWidthPx) * 100;
|
|
127
|
+
}
|
|
128
|
+
if (this.totalValue > 0) {
|
|
129
|
+
for (const category of this.rucInputData.categories) {
|
|
130
|
+
if (category.value <= 0)
|
|
131
|
+
continue; // Skip categories with zero or negative contribution
|
|
132
|
+
const segmentGradientPct = (category.value / this.totalValue) * 100;
|
|
133
|
+
const segmentStartGradientPct = currentCumulativeGradientPct;
|
|
134
|
+
const segmentEndGradientPct = currentCumulativeGradientPct + segmentGradientPct;
|
|
135
|
+
// Ensure hoverPercentage is within the segment, handling potential floating point inaccuracies for the last segment
|
|
136
|
+
if (hoverPercentage_onFilledBar >= segmentStartGradientPct && // Check if mouse is within or at the start of the segment
|
|
137
|
+
(hoverPercentage_onFilledBar < segmentEndGradientPct ||
|
|
138
|
+
(segmentEndGradientPct >= 99.99 && hoverPercentage_onFilledBar <= 100.01))) { // Tolerate slight overshoot for last segment
|
|
139
|
+
foundCategoryForHover = category;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
currentCumulativeGradientPct = segmentEndGradientPct;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (foundCategoryForHover) {
|
|
146
|
+
const percentageOfMax = (foundCategoryForHover.value / this.rucInputData.max) * 100; // Calculate percentage relative to max value
|
|
147
|
+
this.hoveredCategoryDetail = { category: foundCategoryForHover, percentageText: percentageOfMax.toFixed(0) + '%' };
|
|
148
|
+
if (this.isVertical) {
|
|
149
|
+
this.hoverLabelStyle = {
|
|
150
|
+
left: 'calc(100% + 5px)',
|
|
151
|
+
top: mousePositionWithinProgressDiv + 'px',
|
|
152
|
+
display: 'block',
|
|
153
|
+
transform: 'translateY(-50%)' // Vertically center label on mouse Y
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.hoverLabelStyle = {
|
|
158
|
+
left: mousePositionWithinProgressDiv + 'px',
|
|
159
|
+
top: '-28px',
|
|
160
|
+
display: 'block',
|
|
161
|
+
transform: 'translateX(-50%)' // Horizontally center label on mouse X
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this.hoveredCategoryDetail = null;
|
|
167
|
+
this.hoverLabelStyle = { ...this.hoverLabelStyle, display: 'none' };
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Hides the hover label when the mouse leaves the progress bar.
|
|
172
|
+
*/
|
|
173
|
+
onProgressMouseLeave() {
|
|
174
|
+
this.hoveredCategoryDetail = null;
|
|
175
|
+
this.hoverLabelStyle = { ...this.hoverLabelStyle, display: 'none' };
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* get the label position string value
|
|
179
|
+
*/
|
|
180
|
+
get LablePositionEnums() {
|
|
181
|
+
return LablePositionEnums;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
RucMeteredProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMeteredProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
RucMeteredProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMeteredProgressBarComponent, selector: "uxp-ruclib-metered-progress-bar", inputs: { rucInputData: "rucInputData", customTheme: "customTheme" }, ngImport: i0, template: "<div class=\"main\">\r\n<div class=\"progress-container\" class={{customTheme}} [class.vertical]=\"isVertical\" [class.horizontal]=\"!isVertical\">\r\n <div *ngIf=\"rucInputData.barLabels\" class=\"progress-label-container {{rucInputData.orientation}}\">\r\n <p class=\"progress-label\">{{progress | number:'1.0-0'}}% of {{rucInputData.max}} {{rucInputData.unitType}}\r\n Used\r\n </p>\r\n </div>\r\n \r\n <div class=\"progress-bar\">\r\n <!-- Removed (mouseenter) and (mouseleave) from progress-bar if only category hover is needed -->\r\n \r\n <!-- <mat-progress-bar> -->\r\n <div class=\"progress\" [style.width]=\"isVertical ? '100%' : progress + '%'\"\r\n [style.height]=\"isVertical ? progress + '%' : '100%'\"\r\n [style.transition]=\"rucInputData.orientation === 'vertical' ? 'height 0.3s ease' : 'width 0.3s ease'\"\r\n [ngStyle]=\"progressStyles\">\r\n <!-- This div is now only for displaying the colored bar -->\r\n </div>\r\n <!-- </mat-progress-bar> -->\r\n <!-- The hover label is now a sibling to .progress, positioned absolutely within .progress-bar -->\r\n <div class=\"hover-label\" *ngIf=\"hoveredCategoryDetail\" [ngStyle]=\"hoverLabelStyle\">\r\n {{hoveredCategoryDetail.category.label}}: {{hoveredCategoryDetail.percentageText}}\r\n </div>\r\n <!-- This overlay is now a sibling to .progress, sized to match it, to reliably capture mouse events -->\r\n <div class=\"progress-event-overlay\" [style.width]=\"isVertical ? '100%' : progress + '%'\"\r\n [style.height]=\"isVertical ? progress + '%' : '100%'\" (mousemove)=\"onProgressMouseMove($event)\"\r\n (mouseleave)=\"onProgressMouseLeave()\"></div>\r\n </div>\r\n <div class=\"categories-container\" *ngIf=\"rucInputData.categories.length > 0\">\r\n <div *ngIf=\"rucInputData.showCategoryLabels && rucInputData.categoryLabelStyle === 'basic'\" [ngClass]=\"{\r\n 'categories-block-top': !isVertical && (rucInputData.categoryLabelsOrientation === 'top' || rucInputData.categoryLabelsOrientation === 'same'),\r\n 'categories-block-left': isVertical && (rucInputData.categoryLabelsOrientation === 'left' || rucInputData.categoryLabelsOrientation === 'same'),\r\n 'categories-block-right': isVertical && !(rucInputData.categoryLabelsOrientation === 'left' || rucInputData.categoryLabelsOrientation === 'same')\r\n }\" class=\"categories\">\r\n <div class=\"category\" *ngFor=\"let category of rucInputData.categories\" [style.color]=\"category.color\">\r\n <ng-container *ngIf=\"category.icon !== undefined\">\r\n <div *ngIf=\"category.icon; else colorDotBasic\" class=\"category-icon-wrapper\">\r\n <i class=\"material-icons\" [style.color]=\"category.color\">{{ category.icon }}</i>\r\n </div>\r\n <ng-template #colorDotBasic>\r\n <div class=\"category-color\">\r\n <div class=\"color-gradient\"\r\n [style.background]=\"category.color ? 'linear-gradient(to right, ' + category.color + ', ' + category.color + ')' : ''\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <span class=\"category-label\">{{category.label}}</span>\r\n <p class=\"category-value\">({{(category.value / rucInputData.max * 100) | number:'1.0-0' }}%)</p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"rucInputData.showCategoryLabels && rucInputData.categoryLabelStyle === 'widget'\"\r\n class=\"categories widget-style\" [ngClass]=\"{\r\n 'categories-block-top': !isVertical && (rucInputData.categoryLabelsOrientation === LablePositionEnums.top || rucInputData.categoryLabelsOrientation === LablePositionEnums.same),\r\n 'categories-block-left': isVertical && (rucInputData.categoryLabelsOrientation === LablePositionEnums.left || rucInputData.categoryLabelsOrientation === LablePositionEnums.same),\r\n 'categories-block-right': isVertical && !(rucInputData.categoryLabelsOrientation === LablePositionEnums.left || rucInputData.categoryLabelsOrientation === LablePositionEnums.same)\r\n }\">\r\n <ng-container *ngFor=\"let category of rucInputData.categories\">\r\n <mat-card>\r\n <div class=\"widget-category\">\r\n <div class=\"widget-content\">\r\n <div class=\"widget-icon-box\">\r\n <ng-container *ngIf=\"category.icon !== undefined\">\r\n <div *ngIf=\"category.icon; else colorDotWidget\" class=\"widget-icon\">\r\n <i class=\"material-icons\" [style.color]=\"category.color\">{{ category.icon }}</i>\r\n </div>\r\n <ng-template #colorDotWidget>\r\n <div class=\"category-color\">\r\n <div class=\"color-gradient\"\r\n [style.background]=\"category.color ? 'linear-gradient(to right, ' + category.color + ', ' + category.color + ')' : ''\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <div class=\"widget-label\">{{category.label}}</div>\r\n </div>\r\n </div>\r\n <div class=\"widget-value\">\r\n <div>{{category.value}}</div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n</div>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.main{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em}.ruc-custom-theme{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-option{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal)}.ruc-custom-theme .mat-mdc-card-title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-headline6-font-size, 20px);line-height:var(--mdc-typography-headline6-line-height, 32px);font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:var(--mdc-typography-headline6-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:var(--mdc-typography-headline6-text-transform, none)}.ruc-custom-theme .mat-mdc-card-subtitle{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-form-field-infix{min-height:56px}.ruc-custom-theme .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:28px}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:24px;padding-bottom:8px}.ruc-custom-theme .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mdc-text-field__input,.ruc-custom-theme .mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mdc-text-field--textarea .mdc-text-field__input{line-height:1.5rem}.ruc-custom-theme .mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field-subscript-wrapper,.ruc-custom-theme .mat-mdc-form-field-bottom-align:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field,.ruc-custom-theme .mat-mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(15px * var(--mat-mdc-form-field-floating-label-scale, .75))}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:15px}.ruc-custom-theme .mat-mdc-select-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-select{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-autocomplete-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-dialog-container{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: normal;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 15px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-chip{height:32px}.ruc-custom-theme .mat-mdc-standard-chip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-slide-toggle{--mdc-switch-state-layer-size: 48px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio{padding:10px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{top:-10px;left:-10px;width:40px;height:40px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}.ruc-custom-theme .mat-mdc-slider{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 20px;--mdc-slider-label-label-text-line-height: 24px;--mdc-slider-label-label-text-tracking: normal;--mdc-slider-label-label-text-weight: 500}.ruc-custom-theme .mat-mdc-menu-content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-menu-content,.ruc-custom-theme .mat-mdc-menu-content .mat-mdc-menu-item .mdc-list-item__primary-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 15px;--mdc-list-list-item-label-text-tracking: normal;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: normal;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: normal;--mdc-list-list-item-trailing-supporting-text-weight: 400}.ruc-custom-theme .mdc-list-group__subheader{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-form-field-infix{min-height:40px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:20px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label{display:none}.ruc-custom-theme .mat-mdc-paginator-container{min-height:56px}.ruc-custom-theme .mat-mdc-paginator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-select-value{font-size:12px}.ruc-custom-theme .mat-mdc-tab-header .mdc-tab{height:48px}.ruc-custom-theme .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox{padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:var(--mdc-checkbox-touch-target-size, 40px);height:var(--mdc-checkbox-touch-target-size, 40px)}@media all and (-ms-high-contrast: none){.ruc-custom-theme .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.ruc-custom-theme .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-raised-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-unelevated-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-outlined-button.mat-mdc-button-base{height:36px}.ruc-custom-theme .mdc-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base{width:48px;height:48px;padding:12px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:48px;max-width:48px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:4px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%,-50%)}.ruc-custom-theme .mdc-fab--extended{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-snack-bar-container{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.ruc-custom-theme .mat-mdc-table .mdc-data-table__row{height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__pagination{min-height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__header-row{height:56px}.ruc-custom-theme .mdc-data-table__content,.ruc-custom-theme .mdc-data-table__cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mdc-data-table__header-cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-badge{position:relative}.ruc-custom-theme .mat-badge.mat-badge{overflow:visible}.ruc-custom-theme .mat-badge-hidden .mat-badge-content{display:none}.ruc-custom-theme .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ruc-custom-theme .ng-animate-disabled .mat-badge-content,.ruc-custom-theme .mat-badge-content._mat-animation-noopable{transition:none}.ruc-custom-theme .mat-badge-content.mat-badge-active{transform:none}.ruc-custom-theme .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.ruc-custom-theme .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.ruc-custom-theme .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.ruc-custom-theme .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.ruc-custom-theme .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.ruc-custom-theme .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.ruc-custom-theme .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,sans-serif}.ruc-custom-theme .mat-badge-small .mat-badge-content{font-size:9px}.ruc-custom-theme .mat-badge-large .mat-badge-content{font-size:24px}.ruc-custom-theme .mat-bottom-sheet-container{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.ruc-custom-theme .mat-button-toggle{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{width:40px;height:40px;padding:8px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:0}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:40px;left:50%;width:40px;transform:translate(-50%,-50%)}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target{display:none}.ruc-custom-theme .mat-calendar{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-body{font-size:13px}.ruc-custom-theme .mat-calendar-body-label,.ruc-custom-theme .mat-calendar-period-button{font-size:20px;font-weight:500}.ruc-custom-theme .mat-calendar-table-header th{font-size:11px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-header{height:48px}.ruc-custom-theme .mat-expansion-panel-header.mat-expanded{height:64px}.ruc-custom-theme .mat-expansion-panel-header{font-family:Roboto,sans-serif;font-size:15px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-content{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-grid-tile-header,.ruc-custom-theme .mat-grid-tile-footer{font-size:14px}.ruc-custom-theme .mat-grid-tile-header .mat-line,.ruc-custom-theme .mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.ruc-custom-theme .mat-grid-tile-header .mat-line:nth-child(n+2),.ruc-custom-theme .mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}.ruc-custom-theme .mat-horizontal-stepper-header{height:72px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.ruc-custom-theme .mat-vertical-stepper-header{padding:24px}.ruc-custom-theme .mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.ruc-custom-theme .mat-stepper-vertical,.ruc-custom-theme .mat-stepper-horizontal{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-step-label{font-size:14px;font-weight:400}.ruc-custom-theme .mat-step-sub-label-error{font-weight:400}.ruc-custom-theme .mat-step-label-error{font-size:20px}.ruc-custom-theme .mat-step-label-selected{font-size:20px;font-weight:500}.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:64px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:64px}@media (max-width: 599px){.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:56px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:56px}}.ruc-custom-theme .mat-toolbar,.ruc-custom-theme .mat-toolbar h1,.ruc-custom-theme .mat-toolbar h2,.ruc-custom-theme .mat-toolbar h3,.ruc-custom-theme .mat-toolbar h4,.ruc-custom-theme .mat-toolbar h5,.ruc-custom-theme .mat-toolbar h6{font-size:20px;font-weight:500;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0}.ruc-custom-theme .mat-tree-node{min-height:48px}.ruc-custom-theme .mat-tree{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-tree-node,.ruc-custom-theme .mat-nested-tree-node{font-weight:400;font-size:14px}.progress-container{position:relative;padding:5px}.progress-container.horizontal{width:100%}.progress-container.horizontal .progress-bar{width:100%;height:14%}.progress-container.vertical{width:60px;height:320px;margin:0 auto}.progress-container.vertical .progress-bar{width:24%;height:100%}.progress-label-container{z-index:2;width:100%;height:100%;pointer-events:none;display:flex}.progress-label-container.horizontal{justify-content:right;align-items:flex-end}.progress-label-container.vertical{justify-content:flex-start;align-items:flex-end;left:35px}.progress-label{margin:5px;font-size:12px;white-space:nowrap}.progress-label-container.horizontal .progress-label{margin-top:5px;margin-right:5px}.progress-label-container.vertical .progress-label{transform:rotate(-90deg);transform-origin:bottom left;margin-right:5px}.progress-bar{position:relative;border:1px solid #e0e0e0;border-radius:4px}.progress-bar .hover-label{position:absolute;top:-28px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8em;z-index:5;white-space:nowrap;pointer-events:none}.progress-event-overlay{position:absolute;top:0;left:0;z-index:4}.progress{position:relative;background:#2196F3;transition:width .3s ease,height .3s ease}.progress-bar.horizontal .progress{width:100%;height:100%}.progress-bar.vertical .progress{width:100%;height:0}.icons-container{position:absolute;display:flex;justify-content:space-between;width:100%;height:100%;align-items:center}.icons-container i{position:absolute;font-size:1.2em;color:#fff}.start-icon{left:0}.end-icon{right:0}.above-threshold{color:gold}.categories-container{width:100%;box-sizing:border-box}.categories{display:flex;flex-direction:row;flex-wrap:wrap;gap:1px}.categories-block-top,.categories-block-bottom,.categories-block-left,.categories-block-right{position:absolute;z-index:1}.categories-block-top{bottom:100%;left:0;padding-bottom:8px}.categories-block-bottom{top:100%;left:0;padding-top:10px}.categories-block-left{right:100%;top:0;padding-right:8px;width:200px}.categories-block-left .categories{flex-direction:inherit;align-items:flex-start;gap:0px}.categories-block-right{left:100%;top:0;padding-left:8px;width:200px}.categories-block-right .categories{flex-direction:inherit;align-items:flex-start;gap:0px}.category{display:flex;align-items:center;gap:6px;padding:8px;border-radius:4px}.category-label{font-weight:500}.category-value{font-size:.9em}.category-color{width:10px;height:10px;border-radius:50%;overflow:hidden;flex-shrink:0}.category-icon-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.color-gradient{width:100%;height:100%}.categories.widget-style{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-items:flex-start;margin:10px 0}.categories.widget-style .widget-category{width:calc(25% - 7.5px);min-width:159px;box-sizing:border-box;flex-shrink:0;flex-grow:0}@media (max-width: 1200px){.categories.widget-style .widget-category{width:calc(33.33% - 6.66px)}}@media (max-width: 768px){.categories.widget-style .widget-category{width:calc(50% - 5px)}}@media (max-width: 480px){.categories.widget-style .widget-category{width:100%}}.categories-block-left,.categories-block-right{flex-direction:inherit;align-items:flex-start;gap:10px}.categories-block-left .widget-category,.categories-block-right .widget-category{width:100%;max-width:none}.widget-category{padding:10px 15px}.widget-content{display:flex;width:100%;align-items:center;margin:0}.widget-icon{border:1px solid #ddd;border-radius:10px;width:35px;height:35px;line-height:45px;text-align:center;background-color:#fdfdfd}.widget-content .category-color{margin-right:35px}.widget-icon,.widget-color{margin-right:8px;flex-shrink:0}.widget-color{width:24px;height:24px;border-radius:50%}.widget-label{flex-grow:1;text-align:left;display:block}.widget-value{font-weight:700;flex-shrink:0;margin-left:45px;text-align:left;margin-top:5px}.widget-icon-box{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMeteredProgressBarComponent, decorators: [{
|
|
187
|
+
type: Component,
|
|
188
|
+
args: [{ selector: 'uxp-ruclib-metered-progress-bar', template: "<div class=\"main\">\r\n<div class=\"progress-container\" class={{customTheme}} [class.vertical]=\"isVertical\" [class.horizontal]=\"!isVertical\">\r\n <div *ngIf=\"rucInputData.barLabels\" class=\"progress-label-container {{rucInputData.orientation}}\">\r\n <p class=\"progress-label\">{{progress | number:'1.0-0'}}% of {{rucInputData.max}} {{rucInputData.unitType}}\r\n Used\r\n </p>\r\n </div>\r\n \r\n <div class=\"progress-bar\">\r\n <!-- Removed (mouseenter) and (mouseleave) from progress-bar if only category hover is needed -->\r\n \r\n <!-- <mat-progress-bar> -->\r\n <div class=\"progress\" [style.width]=\"isVertical ? '100%' : progress + '%'\"\r\n [style.height]=\"isVertical ? progress + '%' : '100%'\"\r\n [style.transition]=\"rucInputData.orientation === 'vertical' ? 'height 0.3s ease' : 'width 0.3s ease'\"\r\n [ngStyle]=\"progressStyles\">\r\n <!-- This div is now only for displaying the colored bar -->\r\n </div>\r\n <!-- </mat-progress-bar> -->\r\n <!-- The hover label is now a sibling to .progress, positioned absolutely within .progress-bar -->\r\n <div class=\"hover-label\" *ngIf=\"hoveredCategoryDetail\" [ngStyle]=\"hoverLabelStyle\">\r\n {{hoveredCategoryDetail.category.label}}: {{hoveredCategoryDetail.percentageText}}\r\n </div>\r\n <!-- This overlay is now a sibling to .progress, sized to match it, to reliably capture mouse events -->\r\n <div class=\"progress-event-overlay\" [style.width]=\"isVertical ? '100%' : progress + '%'\"\r\n [style.height]=\"isVertical ? progress + '%' : '100%'\" (mousemove)=\"onProgressMouseMove($event)\"\r\n (mouseleave)=\"onProgressMouseLeave()\"></div>\r\n </div>\r\n <div class=\"categories-container\" *ngIf=\"rucInputData.categories.length > 0\">\r\n <div *ngIf=\"rucInputData.showCategoryLabels && rucInputData.categoryLabelStyle === 'basic'\" [ngClass]=\"{\r\n 'categories-block-top': !isVertical && (rucInputData.categoryLabelsOrientation === 'top' || rucInputData.categoryLabelsOrientation === 'same'),\r\n 'categories-block-left': isVertical && (rucInputData.categoryLabelsOrientation === 'left' || rucInputData.categoryLabelsOrientation === 'same'),\r\n 'categories-block-right': isVertical && !(rucInputData.categoryLabelsOrientation === 'left' || rucInputData.categoryLabelsOrientation === 'same')\r\n }\" class=\"categories\">\r\n <div class=\"category\" *ngFor=\"let category of rucInputData.categories\" [style.color]=\"category.color\">\r\n <ng-container *ngIf=\"category.icon !== undefined\">\r\n <div *ngIf=\"category.icon; else colorDotBasic\" class=\"category-icon-wrapper\">\r\n <i class=\"material-icons\" [style.color]=\"category.color\">{{ category.icon }}</i>\r\n </div>\r\n <ng-template #colorDotBasic>\r\n <div class=\"category-color\">\r\n <div class=\"color-gradient\"\r\n [style.background]=\"category.color ? 'linear-gradient(to right, ' + category.color + ', ' + category.color + ')' : ''\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <span class=\"category-label\">{{category.label}}</span>\r\n <p class=\"category-value\">({{(category.value / rucInputData.max * 100) | number:'1.0-0' }}%)</p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"rucInputData.showCategoryLabels && rucInputData.categoryLabelStyle === 'widget'\"\r\n class=\"categories widget-style\" [ngClass]=\"{\r\n 'categories-block-top': !isVertical && (rucInputData.categoryLabelsOrientation === LablePositionEnums.top || rucInputData.categoryLabelsOrientation === LablePositionEnums.same),\r\n 'categories-block-left': isVertical && (rucInputData.categoryLabelsOrientation === LablePositionEnums.left || rucInputData.categoryLabelsOrientation === LablePositionEnums.same),\r\n 'categories-block-right': isVertical && !(rucInputData.categoryLabelsOrientation === LablePositionEnums.left || rucInputData.categoryLabelsOrientation === LablePositionEnums.same)\r\n }\">\r\n <ng-container *ngFor=\"let category of rucInputData.categories\">\r\n <mat-card>\r\n <div class=\"widget-category\">\r\n <div class=\"widget-content\">\r\n <div class=\"widget-icon-box\">\r\n <ng-container *ngIf=\"category.icon !== undefined\">\r\n <div *ngIf=\"category.icon; else colorDotWidget\" class=\"widget-icon\">\r\n <i class=\"material-icons\" [style.color]=\"category.color\">{{ category.icon }}</i>\r\n </div>\r\n <ng-template #colorDotWidget>\r\n <div class=\"category-color\">\r\n <div class=\"color-gradient\"\r\n [style.background]=\"category.color ? 'linear-gradient(to right, ' + category.color + ', ' + category.color + ')' : ''\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <div class=\"widget-label\">{{category.label}}</div>\r\n </div>\r\n </div>\r\n <div class=\"widget-value\">\r\n <div>{{category.value}}</div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n</div>\r\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.main{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em}.ruc-custom-theme{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-option{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal)}.ruc-custom-theme .mat-mdc-card-title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-headline6-font-size, 20px);line-height:var(--mdc-typography-headline6-line-height, 32px);font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:var(--mdc-typography-headline6-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:var(--mdc-typography-headline6-text-transform, none)}.ruc-custom-theme .mat-mdc-card-subtitle{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-form-field-infix{min-height:56px}.ruc-custom-theme .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:28px}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:24px;padding-bottom:8px}.ruc-custom-theme .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mdc-text-field__input,.ruc-custom-theme .mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mdc-text-field--textarea .mdc-text-field__input{line-height:1.5rem}.ruc-custom-theme .mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field-subscript-wrapper,.ruc-custom-theme .mat-mdc-form-field-bottom-align:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field,.ruc-custom-theme .mat-mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(15px * var(--mat-mdc-form-field-floating-label-scale, .75))}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:15px}.ruc-custom-theme .mat-mdc-select-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-select{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-autocomplete-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-dialog-container{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: normal;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 15px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-chip{height:32px}.ruc-custom-theme .mat-mdc-standard-chip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-slide-toggle{--mdc-switch-state-layer-size: 48px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio{padding:10px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{top:-10px;left:-10px;width:40px;height:40px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}.ruc-custom-theme .mat-mdc-slider{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 20px;--mdc-slider-label-label-text-line-height: 24px;--mdc-slider-label-label-text-tracking: normal;--mdc-slider-label-label-text-weight: 500}.ruc-custom-theme .mat-mdc-menu-content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-menu-content,.ruc-custom-theme .mat-mdc-menu-content .mat-mdc-menu-item .mdc-list-item__primary-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 15px;--mdc-list-list-item-label-text-tracking: normal;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: normal;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: normal;--mdc-list-list-item-trailing-supporting-text-weight: 400}.ruc-custom-theme .mdc-list-group__subheader{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-form-field-infix{min-height:40px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:20px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label{display:none}.ruc-custom-theme .mat-mdc-paginator-container{min-height:56px}.ruc-custom-theme .mat-mdc-paginator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-select-value{font-size:12px}.ruc-custom-theme .mat-mdc-tab-header .mdc-tab{height:48px}.ruc-custom-theme .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox{padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:var(--mdc-checkbox-touch-target-size, 40px);height:var(--mdc-checkbox-touch-target-size, 40px)}@media all and (-ms-high-contrast: none){.ruc-custom-theme .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.ruc-custom-theme .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-raised-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-unelevated-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-outlined-button.mat-mdc-button-base{height:36px}.ruc-custom-theme .mdc-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base{width:48px;height:48px;padding:12px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:48px;max-width:48px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:4px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%,-50%)}.ruc-custom-theme .mdc-fab--extended{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-snack-bar-container{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.ruc-custom-theme .mat-mdc-table .mdc-data-table__row{height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__pagination{min-height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__header-row{height:56px}.ruc-custom-theme .mdc-data-table__content,.ruc-custom-theme .mdc-data-table__cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mdc-data-table__header-cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-badge{position:relative}.ruc-custom-theme .mat-badge.mat-badge{overflow:visible}.ruc-custom-theme .mat-badge-hidden .mat-badge-content{display:none}.ruc-custom-theme .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ruc-custom-theme .ng-animate-disabled .mat-badge-content,.ruc-custom-theme .mat-badge-content._mat-animation-noopable{transition:none}.ruc-custom-theme .mat-badge-content.mat-badge-active{transform:none}.ruc-custom-theme .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.ruc-custom-theme .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.ruc-custom-theme .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.ruc-custom-theme .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.ruc-custom-theme .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.ruc-custom-theme .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.ruc-custom-theme .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,sans-serif}.ruc-custom-theme .mat-badge-small .mat-badge-content{font-size:9px}.ruc-custom-theme .mat-badge-large .mat-badge-content{font-size:24px}.ruc-custom-theme .mat-bottom-sheet-container{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.ruc-custom-theme .mat-button-toggle{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{width:40px;height:40px;padding:8px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:0}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:40px;left:50%;width:40px;transform:translate(-50%,-50%)}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target{display:none}.ruc-custom-theme .mat-calendar{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-body{font-size:13px}.ruc-custom-theme .mat-calendar-body-label,.ruc-custom-theme .mat-calendar-period-button{font-size:20px;font-weight:500}.ruc-custom-theme .mat-calendar-table-header th{font-size:11px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-header{height:48px}.ruc-custom-theme .mat-expansion-panel-header.mat-expanded{height:64px}.ruc-custom-theme .mat-expansion-panel-header{font-family:Roboto,sans-serif;font-size:15px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-content{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-grid-tile-header,.ruc-custom-theme .mat-grid-tile-footer{font-size:14px}.ruc-custom-theme .mat-grid-tile-header .mat-line,.ruc-custom-theme .mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.ruc-custom-theme .mat-grid-tile-header .mat-line:nth-child(n+2),.ruc-custom-theme .mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}.ruc-custom-theme .mat-horizontal-stepper-header{height:72px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.ruc-custom-theme .mat-vertical-stepper-header{padding:24px}.ruc-custom-theme .mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.ruc-custom-theme .mat-stepper-vertical,.ruc-custom-theme .mat-stepper-horizontal{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-step-label{font-size:14px;font-weight:400}.ruc-custom-theme .mat-step-sub-label-error{font-weight:400}.ruc-custom-theme .mat-step-label-error{font-size:20px}.ruc-custom-theme .mat-step-label-selected{font-size:20px;font-weight:500}.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:64px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:64px}@media (max-width: 599px){.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:56px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:56px}}.ruc-custom-theme .mat-toolbar,.ruc-custom-theme .mat-toolbar h1,.ruc-custom-theme .mat-toolbar h2,.ruc-custom-theme .mat-toolbar h3,.ruc-custom-theme .mat-toolbar h4,.ruc-custom-theme .mat-toolbar h5,.ruc-custom-theme .mat-toolbar h6{font-size:20px;font-weight:500;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0}.ruc-custom-theme .mat-tree-node{min-height:48px}.ruc-custom-theme .mat-tree{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-tree-node,.ruc-custom-theme .mat-nested-tree-node{font-weight:400;font-size:14px}.progress-container{position:relative;padding:5px}.progress-container.horizontal{width:100%}.progress-container.horizontal .progress-bar{width:100%;height:14%}.progress-container.vertical{width:60px;height:320px;margin:0 auto}.progress-container.vertical .progress-bar{width:24%;height:100%}.progress-label-container{z-index:2;width:100%;height:100%;pointer-events:none;display:flex}.progress-label-container.horizontal{justify-content:right;align-items:flex-end}.progress-label-container.vertical{justify-content:flex-start;align-items:flex-end;left:35px}.progress-label{margin:5px;font-size:12px;white-space:nowrap}.progress-label-container.horizontal .progress-label{margin-top:5px;margin-right:5px}.progress-label-container.vertical .progress-label{transform:rotate(-90deg);transform-origin:bottom left;margin-right:5px}.progress-bar{position:relative;border:1px solid #e0e0e0;border-radius:4px}.progress-bar .hover-label{position:absolute;top:-28px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8em;z-index:5;white-space:nowrap;pointer-events:none}.progress-event-overlay{position:absolute;top:0;left:0;z-index:4}.progress{position:relative;background:#2196F3;transition:width .3s ease,height .3s ease}.progress-bar.horizontal .progress{width:100%;height:100%}.progress-bar.vertical .progress{width:100%;height:0}.icons-container{position:absolute;display:flex;justify-content:space-between;width:100%;height:100%;align-items:center}.icons-container i{position:absolute;font-size:1.2em;color:#fff}.start-icon{left:0}.end-icon{right:0}.above-threshold{color:gold}.categories-container{width:100%;box-sizing:border-box}.categories{display:flex;flex-direction:row;flex-wrap:wrap;gap:1px}.categories-block-top,.categories-block-bottom,.categories-block-left,.categories-block-right{position:absolute;z-index:1}.categories-block-top{bottom:100%;left:0;padding-bottom:8px}.categories-block-bottom{top:100%;left:0;padding-top:10px}.categories-block-left{right:100%;top:0;padding-right:8px;width:200px}.categories-block-left .categories{flex-direction:inherit;align-items:flex-start;gap:0px}.categories-block-right{left:100%;top:0;padding-left:8px;width:200px}.categories-block-right .categories{flex-direction:inherit;align-items:flex-start;gap:0px}.category{display:flex;align-items:center;gap:6px;padding:8px;border-radius:4px}.category-label{font-weight:500}.category-value{font-size:.9em}.category-color{width:10px;height:10px;border-radius:50%;overflow:hidden;flex-shrink:0}.category-icon-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.color-gradient{width:100%;height:100%}.categories.widget-style{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-items:flex-start;margin:10px 0}.categories.widget-style .widget-category{width:calc(25% - 7.5px);min-width:159px;box-sizing:border-box;flex-shrink:0;flex-grow:0}@media (max-width: 1200px){.categories.widget-style .widget-category{width:calc(33.33% - 6.66px)}}@media (max-width: 768px){.categories.widget-style .widget-category{width:calc(50% - 5px)}}@media (max-width: 480px){.categories.widget-style .widget-category{width:100%}}.categories-block-left,.categories-block-right{flex-direction:inherit;align-items:flex-start;gap:10px}.categories-block-left .widget-category,.categories-block-right .widget-category{width:100%;max-width:none}.widget-category{padding:10px 15px}.widget-content{display:flex;width:100%;align-items:center;margin:0}.widget-icon{border:1px solid #ddd;border-radius:10px;width:35px;height:35px;line-height:45px;text-align:center;background-color:#fdfdfd}.widget-content .category-color{margin-right:35px}.widget-icon,.widget-color{margin-right:8px;flex-shrink:0}.widget-color{width:24px;height:24px;border-radius:50%}.widget-label{flex-grow:1;text-align:left;display:block}.widget-value{font-weight:700;flex-shrink:0;margin-left:45px;text-align:left;margin-top:5px}.widget-icon-box{display:flex;align-items:center}\n"] }]
|
|
189
|
+
}], propDecorators: { rucInputData: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], customTheme: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}] } });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcnVjLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyL3J1Yy1tZXRlcmVkLXByb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL3J1Yy1tZXRlcmVkLXByb2dyZXNzLWJhci9ydWMtbWV0ZXJlZC1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBVWxFLE1BQU0sT0FBTyw4QkFBOEI7SUFQM0M7UUFVRSwwQkFBcUIsR0FBZ0UsSUFBSSxDQUFDO1FBQzFGLG9CQUFlLEdBQXVFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDcEssdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO0tBeUx4QjtJQXhMQzs7O09BR0c7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcs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QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeUNvbmZpZywgTWV0ZXJlZEJhckNvbmZpZyB9IGZyb20gJy4uL21vZGVsL21ldGVyZWQtYmFyLmNvbmZpZyc7XHJcbmltcG9ydCB7IExhYmxlUG9zaXRpb25FbnVtcyB9IGZyb20gJy4uL2VudW1zL2xhYmxlLXBvc2l0aW9uLmVudW0nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXhwLXJ1Y2xpYi1tZXRlcmVkLXByb2dyZXNzLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3J1Yy1tZXRlcmVkLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJ1Y01ldGVyZWRQcm9ncmVzc0JhckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhITogTWV0ZXJlZEJhckNvbmZpZztcclxuICBASW5wdXQoKSBjdXN0b21UaGVtZSE6IHN0cmluZztcclxuICBob3ZlcmVkQ2F0ZWdvcnlEZXRhaWw6IHsgY2F0ZWdvcnk6IENhdGVnb3J5Q29uZmlnLCBwZXJjZW50YWdlVGV4dDogc3RyaW5nIH0gfCBudWxsID0gbnVsbDtcclxuICBob3ZlckxhYmVsU3R5bGU6IHsgbGVmdDogc3RyaW5nOyB0b3A6IHN0cmluZzsgZGlzcGxheTogc3RyaW5nOyB0cmFuc2Zvcm06IHN0cmluZzsgfSA9IHsgbGVmdDogJzBweCcsIHRvcDogJy0yOHB4JywgZGlzcGxheTogJ25vbmUnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MCUpJyB9O1xyXG4gIHByb2dyZXNzUGVyY2VudGFnZSA9IDA7XHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgdmFsdWUgb2YgYWxsIGNhdGVnb3JpZXMuXHJcbiAgICogQHJldHVybnMgVGhlIHN1bSBvZiBhbGwgY2F0ZWdvcnkgdmFsdWVzLlxyXG4gICAqL1xyXG4gIGdldCB0b3RhbFZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWNJbnB1dERhdGEuY2F0ZWdvcmllcy5yZWR1Y2UoKHN1bSwgY2F0ZWdvcnkpID0+IHN1bSArIGNhdGVnb3J5LnZhbHVlLCAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGN1bGF0ZXMgdGhlIG92ZXJhbGwgcHJvZ3Jlc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFyIGJhc2VkIG9uIHRvdGFsIHZhbHVlLCBtaW4sIGFuZCBtYXguXHJcbiAgICogQHJldHVybnMgVGhlIHByb2dyZXNzIGFzIGEgcGVyY2VudGFnZSAoMC0xMDApLlxyXG4gICAqL1xyXG4gIGdldCBwcm9ncmVzcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICgodGhpcy50b3RhbFZhbHVlIC0gdGhpcy5ydWNJbnB1dERhdGEubWluKSAvICh0aGlzLnJ1Y0lucHV0RGF0YS5tYXggLSB0aGlzLnJ1Y0lucHV0RGF0YS5taW4pKSAqIDEwMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgaWYgdGhlIHByb2dyZXNzIGJhciBpcyBvcmllbnRlZCB2ZXJ0aWNhbGx5LlxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9yaWVudGF0aW9uIGlzICd2ZXJ0aWNhbCcsIGZhbHNlIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YS5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlcyB0aGUgQ1NTIGxpbmVhci1ncmFkaWVudCBzdHJpbmcgZm9yIHRoZSBwcm9ncmVzcyBiYXIuXHJcbiAgICogVGhlIGdyYWRpZW50IGlzIGNvbXBvc2VkIG9mIHNlZ21lbnRzIGJhc2VkIG9uIGNhdGVnb3J5IHZhbHVlcyBhbmQgY29sb3JzLlxyXG4gICAqIElmIG5vIGNhdGVnb3JpZXMgb3IgdG90YWwgdmFsdWUgaXMgemVybywgaXQgcmV0dXJucyBhIHRyYW5zcGFyZW50IGdyYWRpZW50LlxyXG4gICAqIEByZXR1cm5zIEEgQ1NTIGxpbmVhci1ncmFkaWVudCBzdHJpbmcuXHJcbiAgICovXHJcbiAgZ2V0IHByb2dyZXNzU3R5bGVzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xyXG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5pc1ZlcnRpY2FsID8gJ3RvIGJvdHRvbScgOiAndG8gcmlnaHQnO1xyXG5cclxuICAgIGlmICghdGhpcy5ydWNJbnB1dERhdGEgfHwgIXRoaXMucnVjSW5wdXREYXRhLmNhdGVnb3JpZXMpIHtcclxuICAgICAgcmV0dXJuIHsgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRvdGFsID0gdGhpcy50b3RhbFZhbHVlO1xyXG4gICAgY29uc3QgY29sb3JTdG9wczogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCBjdW11bGF0aXZlUGVyY2VudGFnZSA9IDA7XHJcblxyXG4gICAgaWYgKHRvdGFsID4gMCkge1xyXG4gICAgICB0aGlzLnJ1Y0lucHV0RGF0YS5jYXRlZ29yaWVzLmZvckVhY2goY2F0ZWdvcnkgPT4ge1xyXG4gICAgICAgIGlmIChjYXRlZ29yeS52YWx1ZSA8PSAwKSByZXR1cm47IC8vIFNraXAgY2F0ZWdvcmllcyB3aXRoIHplcm8gb3IgbmVnYXRpdmUgY29udHJpYnV0aW9uXHJcblxyXG4gICAgICAgIGNvbnN0IHNlZ21lbnRQZXJjZW50YWdlID0gKGNhdGVnb3J5LnZhbHVlIC8gdG90YWwpICogMTAwO1xyXG4gICAgICAgIGNvbnN0IGNvbG9yID0gY2F0ZWdvcnkuY29sb3I7XHJcblxyXG4gICAgICAgIC8vIEFkZCBzdGFydCBvZiB0aGUgc2VnbWVudCB1c2luZyB0aGUgcHJldmlvdXMgY3VtdWxhdGl2ZSBwZXJjZW50YWdlXHJcbiAgICAgICAgY29sb3JTdG9wcy5wdXNoKGAke2NvbG9yfSAke2N1bXVsYXRpdmVQZXJjZW50YWdlfSVgKTtcclxuXHJcbiAgICAgICAgLy8gVXBkYXRlIGN1bXVsYXRpdmUgcGVyY2VudGFnZSBmb3IgdGhlIGVuZCBvZiB0aGlzIHNlZ21lbnRcclxuICAgICAgICBjdW11bGF0aXZlUGVyY2VudGFnZSArPSBzZWdtZW50UGVyY2VudGFnZTtcclxuXHJcbiAgICAgICAgLy8gQWRkIGVuZCBvZiB0aGUgc2VnbWVudFxyXG4gICAgICAgIC8vIFVzZSBNYXRoLm1pbiB0byBjYXAgYXQgMTAwJSBpbiBjYXNlIG9mIGZsb2F0aW5nIHBvaW50IG92ZXJzaG9vdCBvbiB0aGUgbGFzdCBzZWdtZW50XHJcbiAgICAgICAgY29sb3JTdG9wcy5wdXNoKGAke2NvbG9yfSAke01hdGgubWluKGN1bXVsYXRpdmVQZXJjZW50YWdlLCAxMDApfSVgKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbG9yU3RvcHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB7IGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBiYXNlR3JhZGllbnQgPSBgbGluZWFyLWdyYWRpZW50KCR7ZGlyZWN0aW9ufSwgJHtjb2xvclN0b3BzLmpvaW4oJywgJyl9KWA7XHJcbiAgICBjb25zdCBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIGNvbnN0IGJhclN0eWxlID0gdGhpcy5ydWNJbnB1dERhdGE/LmJhclN0eWxlO1xyXG5cclxuICAgIHN3aXRjaCAoYmFyU3R5bGUpIHtcclxuICAgICAgY2FzZSAnc3RyaXBlJzpcclxuICAgICAgICAvLyBUaGlzIHVzZXMgbXVsdGlwbGUgYmFja2dyb3VuZHMgZm9yIGFuIG92ZXJsYXkgZWZmZWN0LCBhcyByZXF1ZXN0ZWQuXHJcbiAgICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kJ10gPSBgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCA1cHgsIHJnYmEoMCwgMCwgMCwgMC4xKSA1cHgsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMHB4KSwgJHtiYXNlR3JhZGllbnR9YDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2lyY2xlJzoge1xyXG4gICAgICAgIC8vIFRoaXMgdXNlcyBhIG1hc2suIFRoZSBiYWNrZ3JvdW5kIGlzIHRoZSBjb2xvciwgdGhlIG1hc2sgY3V0cyBvdXQgdGhlIHNoYXBlLlxyXG4gICAgICAgIHN0eWxlc1snYmFja2dyb3VuZCddID0gYmFzZUdyYWRpZW50O1xyXG4gICAgICAgIC8vIEEgcmVwZWF0aW5nIHBhdHRlcm4gb2YgY2lyY2xlcy4gRWFjaCBjaXJjbGUgaGFzIGEgZGlhbWV0ZXIgb2YgOHB4LCB3aXRoIGEgNHB4IGdhcC5cclxuICAgICAgICBjb25zdCBjaXJjbGVNYXNrID0gJ3JhZGlhbC1ncmFkaWVudChjaXJjbGUsIGJsYWNrIDRweCwgdHJhbnNwYXJlbnQgNHB4KSAwIDAgLyAxMnB4IDEycHgnO1xyXG4gICAgICAgIHN0eWxlc1snLXdlYmtpdC1tYXNrJ10gPSBjaXJjbGVNYXNrO1xyXG4gICAgICAgIHN0eWxlc1snbWFzayddID0gY2lyY2xlTWFzaztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdyZWN0YW5nbGUnOiB7XHJcbiAgICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kJ10gPSBiYXNlR3JhZGllbnQ7XHJcbiAgICAgICAgLy8gRm9yIHZlcnRpY2FsIGJhciwgY3JlYXRlIGhvcml6b250YWwgcmVjdGFuZ2xlcyAoMGRlZykuIEZvciBob3Jpem9udGFsIGJhciwgY3JlYXRlIHZlcnRpY2FsIHJlY3RhbmdsZXMgKDkwZGVnKS5cclxuICAgICAgICBjb25zdCByZWN0RGlyZWN0aW9uID0gdGhpcy5pc1ZlcnRpY2FsID8gJzBkZWcnIDogJzkwZGVnJztcclxuICAgICAgICAvLyBBIHJlcGVhdGluZyBwYXR0ZXJuIG9mIGJhcnMuIEVhY2ggYmFyIGlzIDZweCB3aWRlIHdpdGggYSA2cHggZ2FwLlxyXG4gICAgICAgIGNvbnN0IHJlY3RhbmdsZU1hc2sgPSBgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgke3JlY3REaXJlY3Rpb259LCBibGFjaywgYmxhY2sgNnB4LCB0cmFuc3BhcmVudCA2cHgsIHRyYW5zcGFyZW50IDEycHgpYDtcclxuICAgICAgICBzdHlsZXNbJy13ZWJraXQtbWFzayddID0gcmVjdGFuZ2xlTWFzaztcclxuICAgICAgICBzdHlsZXNbJ21hc2snXSA9IHJlY3RhbmdsZU1hc2s7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgZGVmYXVsdDogLy8gJ3NvbGlkJyBvciB1bmRlZmluZWRcclxuICAgICAgICBzdHlsZXNbJ2JhY2tncm91bmQnXSA9IGJhc2VHcmFkaWVudDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZXM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgbW91c2UgbW92ZW1lbnQgb3ZlciB0aGUgcHJvZ3Jlc3MgYmFyIHRvIGRpc3BsYXkgY2F0ZWdvcnktc3BlY2lmaWMgaG92ZXIgZGV0YWlscy5cclxuICAgKiBJdCBjYWxjdWxhdGVzIHRoZSBob3ZlcmVkIHNlZ21lbnQgYmFzZWQgb24gbW91c2UgcG9zaXRpb24gYW5kIHVwZGF0ZXMgdGhlIGhvdmVyIGxhYmVsLlxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgTW91c2VFdmVudCBvYmplY3QuXHJcbiAgICovXHJcbiAgb25Qcm9ncmVzc01vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJvZ3Jlc3NCYXJFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgbGV0IGN1cnJlbnRDdW11bGF0aXZlR3JhZGllbnRQY3QgPSAwO1xyXG4gICAgbGV0IGZvdW5kQ2F0ZWdvcnlGb3JIb3ZlcjogQ2F0ZWdvcnlDb25maWcgfCBudWxsID0gbnVsbDtcclxuICAgIGxldCBob3ZlclBlcmNlbnRhZ2Vfb25GaWxsZWRCYXIgPSAwO1xyXG4gICAgbGV0IG1vdXNlUG9zaXRpb25XaXRoaW5Qcm9ncmVzc0RpdiA9IDA7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xyXG4gICAgICBtb3VzZVBvc2l0aW9uV2l0aGluUHJvZ3Jlc3NEaXYgPSBldmVudC5vZmZzZXRZOyAvLyBZIHBvc2l0aW9uIHdpdGhpbiB0aGUgLnByb2dyZXNzIGRpdlxyXG4gICAgICBjb25zdCBmaWxsZWRIZWlnaHRQeCA9IHByb2dyZXNzQmFyRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGlmIChmaWxsZWRIZWlnaHRQeCA8PSAwKSB7IC8vIEF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gaWYgZWxlbWVudCBoYXMgbm8gaGVpZ2h0XHJcbiAgICAgICAgdGhpcy5vblByb2dyZXNzTW91c2VMZWF2ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBob3ZlclBlcmNlbnRhZ2Vfb25GaWxsZWRCYXIgPSAobW91c2VQb3NpdGlvbldpdGhpblByb2dyZXNzRGl2IC8gZmlsbGVkSGVpZ2h0UHgpICogMTAwO1xyXG4gICAgfSBlbHNlIHsgLy8gSG9yaXpvbnRhbFxyXG4gICAgICBtb3VzZVBvc2l0aW9uV2l0aGluUHJvZ3Jlc3NEaXYgPSBldmVudC5vZmZzZXRYOyAvLyBYIHBvc2l0aW9uIHdpdGhpbiB0aGUgLnByb2dyZXNzIGRpdlxyXG4gICAgICBjb25zdCBmaWxsZWRXaWR0aFB4ID0gcHJvZ3Jlc3NCYXJFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICBpZiAoZmlsbGVkV2lkdGhQeCA8PSAwKSB7IC8vIEF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gaWYgZWxlbWVudCBoYXMgbm8gd2lkdGhcclxuICAgICAgICB0aGlzLm9uUHJvZ3Jlc3NNb3VzZUxlYXZlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGhvdmVyUGVyY2VudGFnZV9vbkZpbGxlZEJhciA9IChtb3VzZVBvc2l0aW9uV2l0aGluUHJvZ3Jlc3NEaXYgLyBmaWxsZWRXaWR0aFB4KSAqIDEwMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50b3RhbFZhbHVlID4gMCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIHRoaXMucnVjSW5wdXREYXRhLmNhdGVnb3JpZXMpIHtcclxuICAgICAgICBpZiAoY2F0ZWdvcnkudmFsdWUgPD0gMCkgY29udGludWU7IC8vIFNraXAgY2F0ZWdvcmllcyB3aXRoIHplcm8gb3IgbmVnYXRpdmUgY29udHJpYnV0aW9uXHJcblxyXG4gICAgICAgIGNvbnN0IHNlZ21lbnRHcmFkaWVudFBjdCA9IChjYXRlZ29yeS52YWx1ZSAvIHRoaXMudG90YWxWYWx1ZSkgKiAxMDA7XHJcbiAgICAgICAgY29uc3Qgc2VnbWVudFN0YXJ0R3JhZGllbnRQY3QgPSBjdXJyZW50Q3VtdWxhdGl2ZUdyYWRpZW50UGN0O1xyXG4gICAgICAgIGNvbnN0IHNlZ21lbnRFbmRHcmFkaWVudFBjdCA9IGN1cnJlbnRDdW11bGF0aXZlR3JhZGllbnRQY3QgKyBzZWdtZW50R3JhZGllbnRQY3Q7XHJcblxyXG4gICAgICAgIC8vIEVuc3VyZSBob3ZlclBlcmNlbnRhZ2UgaXMgd2l0aGluIHRoZSBzZWdtZW50LCBoYW5kbGluZyBwb3RlbnRpYWwgZmxvYXRpbmcgcG9pbnQgaW5hY2N1cmFjaWVzIGZvciB0aGUgbGFzdCBzZWdtZW50XHJcbiAgICAgICAgaWYgKGhvdmVyUGVyY2VudGFnZV9vbkZpbGxlZEJhciA+PSBzZWdtZW50U3RhcnRHcmFkaWVudFBjdCAmJiAvLyBDaGVjayBpZiBtb3VzZSBpcyB3aXRoaW4gb3IgYXQgdGhlIHN0YXJ0IG9mIHRoZSBzZWdtZW50XHJcbiAgICAgICAgICAoaG92ZXJQZXJjZW50YWdlX29uRmlsbGVkQmFyIDwgc2VnbWVudEVuZEdyYWRpZW50UGN0IHx8XHJcbiAgICAgICAgICAgIChzZWdtZW50RW5kR3JhZGllbnRQY3QgPj0gOTkuOTkgJiYgaG92ZXJQZXJjZW50YWdlX29uRmlsbGVkQmFyIDw9IDEwMC4wMSkpKSB7IC8vIFRvbGVyYXRlIHNsaWdodCBvdmVyc2hvb3QgZm9yIGxhc3Qgc2VnbWVudFxyXG4gICAgICAgICAgZm91bmRDYXRlZ29yeUZvckhvdmVyID0gY2F0ZWdvcnk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY3VycmVudEN1bXVsYXRpdmVHcmFkaWVudFBjdCA9IHNlZ21lbnRFbmRHcmFkaWVudFBjdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChmb3VuZENhdGVnb3J5Rm9ySG92ZXIpIHtcclxuICAgICAgY29uc3QgcGVyY2VudGFnZU9mTWF4ID0gKGZvdW5kQ2F0ZWdvcnlGb3JIb3Zlci52YWx1ZSAvIHRoaXMucnVjSW5wdXREYXRhLm1heCkgKiAxMDA7IC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlIHJlbGF0aXZlIHRvIG1heCB2YWx1ZVxyXG4gICAgICB0aGlzLmhvdmVyZWRDYXRlZ29yeURldGFpbCA9IHsgY2F0ZWdvcnk6IGZvdW5kQ2F0ZWdvcnlGb3JIb3ZlciwgcGVyY2VudGFnZVRleHQ6IHBlcmNlbnRhZ2VPZk1heC50b0ZpeGVkKDApICsgJyUnIH07XHJcbiAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcclxuICAgICAgICB0aGlzLmhvdmVyTGFiZWxTdHlsZSA9IHtcclxuICAgICAgICAgIGxlZnQ6ICdjYWxjKDEwMCUgKyA1cHgpJywgLy8gUG9zaXRpb24gdG8gdGhlIHJpZ2h0IG9mIHRoZSB2ZXJ0aWNhbCBiYXJcclxuICAgICAgICAgIHRvcDogbW91c2VQb3NpdGlvbldpdGhpblByb2dyZXNzRGl2ICsgJ3B4JyxcclxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXHJcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC01MCUpJyAvLyBWZXJ0aWNhbGx5IGNlbnRlciBsYWJlbCBvbiBtb3VzZSBZXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmhvdmVyTGFiZWxTdHlsZSA9IHtcclxuICAgICAgICAgIGxlZnQ6IG1vdXNlUG9zaXRpb25XaXRoaW5Qcm9ncmVzc0RpdiArICdweCcsXHJcbiAgICAgICAgICB0b3A6ICctMjhweCcsIC8vIFBvc2l0aW9uIGFib3ZlIGhvcml6b250YWwgYmFyXHJcbiAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScgLy8gSG9yaXpvbnRhbGx5IGNlbnRlciBsYWJlbCBvbiBtb3VzZSBYXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ob3ZlcmVkQ2F0ZWdvcnlEZXRhaWwgPSBudWxsO1xyXG4gICAgICB0aGlzLmhvdmVyTGFiZWxTdHlsZSA9IHsgLi4udGhpcy5ob3ZlckxhYmVsU3R5bGUsIGRpc3BsYXk6ICdub25lJyB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGlkZXMgdGhlIGhvdmVyIGxhYmVsIHdoZW4gdGhlIG1vdXNlIGxlYXZlcyB0aGUgcHJvZ3Jlc3MgYmFyLlxyXG4gICAqL1xyXG4gIG9uUHJvZ3Jlc3NNb3VzZUxlYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ob3ZlcmVkQ2F0ZWdvcnlEZXRhaWwgPSBudWxsO1xyXG4gICAgdGhpcy5ob3ZlckxhYmVsU3R5bGUgPSB7IC4uLnRoaXMuaG92ZXJMYWJlbFN0eWxlLCBkaXNwbGF5OiAnbm9uZScgfTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IHRoZSBsYWJlbCBwb3NpdGlvbiAgc3RyaW5nIHZhbHVlXHJcbiAgICAgKi9cclxuICBwdWJsaWMgZ2V0IExhYmxlUG9zaXRpb25FbnVtcygpOiB0eXBlb2YgTGFibGVQb3NpdGlvbkVudW1zIHtcclxuICAgIHJldHVybiBMYWJsZVBvc2l0aW9uRW51bXM7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbjxkaXYgY2xhc3M9XCJwcm9ncmVzcy1jb250YWluZXJcIiBjbGFzcz17e2N1c3RvbVRoZW1lfX0gW2NsYXNzLnZlcnRpY2FsXT1cImlzVmVydGljYWxcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCIhaXNWZXJ0aWNhbFwiPlxyXG4gIDxkaXYgKm5nSWY9XCJydWNJbnB1dERhdGEuYmFyTGFiZWxzXCIgY2xhc3M9XCJwcm9ncmVzcy1sYWJlbC1jb250YWluZXIge3tydWNJbnB1dERhdGEub3JpZW50YXRpb259fVwiPlxyXG4gICAgPHAgY2xhc3M9XCJwcm9ncmVzcy1sYWJlbFwiPnt7cHJvZ3Jlc3MgfCBudW1iZXI6JzEuMC0wJ319JSBvZiB7e3J1Y0lucHV0RGF0YS5tYXh9fSB7e3J1Y0lucHV0RGF0YS51bml0VHlwZX19XHJcbiAgICAgIFVzZWRcclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuICAgIFxyXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIj5cclxuICAgIDwhLS0gUmVtb3ZlZCAobW91c2VlbnRlcikgYW5kIChtb3VzZWxlYXZlKSBmcm9tIHByb2dyZXNzLWJhciBpZiBvbmx5IGNhdGVnb3J5IGhvdmVyIGlzIG5lZWRlZCAtLT5cclxuICAgXHJcbiAgICA8IS0tIDxtYXQtcHJvZ3Jlc3MtYmFyPiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCIgW3N0eWxlLndpZHRoXT1cImlzVmVydGljYWwgPyAnMTAwJScgOiBwcm9ncmVzcyArICclJ1wiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpc1ZlcnRpY2FsID8gcHJvZ3Jlc3MgKyAnJScgOiAnMTAwJSdcIlxyXG4gICAgICAgIFtzdHlsZS50cmFuc2l0aW9uXT1cInJ1Y0lucHV0RGF0YS5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/ICdoZWlnaHQgMC4zcyBlYXNlJyA6ICd3aWR0aCAwLjNzIGVhc2UnXCJcclxuICAgICAgICBbbmdTdHlsZV09XCJwcm9ncmVzc1N0eWxlc1wiPlxyXG4gICAgICAgIDwhLS0gVGhpcyBkaXYgaXMgbm93IG9ubHkgZm9yIGRpc3BsYXlpbmcgdGhlIGNvbG9yZWQgYmFyIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwhLS0gPC9tYXQtcHJvZ3Jlc3MtYmFyPiAtLT5cclxuICAgIDwhLS0gVGhlIGhvdmVyIGxhYmVsIGlzIG5vdyBhIHNpYmxpbmcgdG8gLnByb2dyZXNzLCBwb3NpdGlvbmVkIGFic29sdXRlbHkgd2l0aGluIC5wcm9ncmVzcy1iYXIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaG92ZXItbGFiZWxcIiAqbmdJZj1cImhvdmVyZWRDYXRlZ29yeURldGFpbFwiIFtuZ1N0eWxlXT1cImhvdmVyTGFiZWxTdHlsZVwiPlxyXG4gICAgICB7e2hvdmVyZWRDYXRlZ29yeURldGFpbC5jYXRlZ29yeS5sYWJlbH19OiB7e2hvdmVyZWRDYXRlZ29yeURldGFpbC5wZXJjZW50YWdlVGV4dH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gVGhpcyBvdmVybGF5IGlzIG5vdyBhIHNpYmxpbmcgdG8gLnByb2dyZXNzLCBzaXplZCB0byBtYXRjaCBpdCwgdG8gcmVsaWFibHkgY2FwdHVyZSBtb3VzZSBldmVudHMgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZXZlbnQtb3ZlcmxheVwiIFtzdHlsZS53aWR0aF09XCJpc1ZlcnRpY2FsID8gJzEwMCUnIDogcHJvZ3Jlc3MgKyAnJSdcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVmVydGljYWwgPyBwcm9ncmVzcyArICclJyA6ICcxMDAlJ1wiIChtb3VzZW1vdmUpPVwib25Qcm9ncmVzc01vdXNlTW92ZSgkZXZlbnQpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Qcm9ncmVzc01vdXNlTGVhdmUoKVwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjYXRlZ29yaWVzLWNvbnRhaW5lclwiICpuZ0lmPVwicnVjSW5wdXREYXRhLmNhdGVnb3JpZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cInJ1Y0lucHV0RGF0YS5zaG93Q2F0ZWdvcnlMYWJlbHMgJiYgcnVjSW5wdXREYXRhLmNhdGVnb3J5TGFiZWxTdHlsZSA9PT0gJ2Jhc2ljJ1wiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAnY2F0ZWdvcmllcy1ibG9jay10b3AnOiAgICAhaXNWZXJ0aWNhbCAmJiAocnVjSW5wdXREYXRhLmNhdGVnb3J5TGFiZWxzT3JpZW50YXRpb24gPT09ICd0b3AnIHx8IHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSAnc2FtZScpLFxyXG4gICAgICAgICAgICdjYXRlZ29yaWVzLWJsb2NrLWxlZnQnOiAgIGlzVmVydGljYWwgJiYgKHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSAnbGVmdCcgfHwgcnVjSW5wdXREYXRhLmNhdGVnb3J5TGFiZWxzT3JpZW50YXRpb24gPT09ICdzYW1lJyksXHJcbiAgICAgICAgICAgJ2NhdGVnb3JpZXMtYmxvY2stcmlnaHQnOiAgaXNWZXJ0aWNhbCAmJiAhKHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSAnbGVmdCcgfHwgcnVjSW5wdXREYXRhLmNhdGVnb3J5TGFiZWxzT3JpZW50YXRpb24gPT09ICdzYW1lJylcclxuICAgICAgICAgfVwiIGNsYXNzPVwiY2F0ZWdvcmllc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnlcIiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgcnVjSW5wdXREYXRhLmNhdGVnb3JpZXNcIiBbc3R5bGUuY29sb3JdPVwiY2F0ZWdvcnkuY29sb3JcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2F0ZWdvcnkuaWNvbiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2F0ZWdvcnkuaWNvbjsgZWxzZSBjb2xvckRvdEJhc2ljXCIgY2xhc3M9XCJjYXRlZ29yeS1pY29uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIFtzdHlsZS5jb2xvcl09XCJjYXRlZ29yeS5jb2xvclwiPnt7IGNhdGVnb3J5Lmljb24gfX08L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29sb3JEb3RCYXNpYz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLWdyYWRpZW50XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNhdGVnb3J5LmNvbG9yID8gJ2xpbmVhci1ncmFkaWVudCh0byByaWdodCwgJyArIGNhdGVnb3J5LmNvbG9yICsgJywgJyArIGNhdGVnb3J5LmNvbG9yICsgJyknIDogJydcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZWdvcnktbGFiZWxcIj57e2NhdGVnb3J5LmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJjYXRlZ29yeS12YWx1ZVwiPih7eyhjYXRlZ29yeS52YWx1ZSAvIHJ1Y0lucHV0RGF0YS5tYXggKiAxMDApIHwgbnVtYmVyOicxLjAtMCcgfX0lKTwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwicnVjSW5wdXREYXRhLnNob3dDYXRlZ29yeUxhYmVscyAmJiBydWNJbnB1dERhdGEuY2F0ZWdvcnlMYWJlbFN0eWxlID09PSAnd2lkZ2V0J1wiXHJcbiAgICAgIGNsYXNzPVwiY2F0ZWdvcmllcyB3aWRnZXQtc3R5bGVcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgJ2NhdGVnb3JpZXMtYmxvY2stdG9wJzogICAgIWlzVmVydGljYWwgJiYgKHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSBMYWJsZVBvc2l0aW9uRW51bXMudG9wIHx8IHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSBMYWJsZVBvc2l0aW9uRW51bXMuc2FtZSksXHJcbiAgICAgICAgICAgJ2NhdGVnb3JpZXMtYmxvY2stbGVmdCc6ICAgaXNWZXJ0aWNhbCAmJiAocnVjSW5wdXREYXRhLmNhdGVnb3J5TGFiZWxzT3JpZW50YXRpb24gPT09IExhYmxlUG9zaXRpb25FbnVtcy5sZWZ0IHx8IHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSBMYWJsZVBvc2l0aW9uRW51bXMuc2FtZSksXHJcbiAgICAgICAgICAgJ2NhdGVnb3JpZXMtYmxvY2stcmlnaHQnOiAgaXNWZXJ0aWNhbCAmJiAhKHJ1Y0lucHV0RGF0YS5jYXRlZ29yeUxhYmVsc09yaWVudGF0aW9uID09PSBMYWJsZVBvc2l0aW9uRW51bXMubGVmdCB8fCBydWNJbnB1dERhdGEuY2F0ZWdvcnlMYWJlbHNPcmllbnRhdGlvbiA9PT0gTGFibGVQb3NpdGlvbkVudW1zLnNhbWUpXHJcbiAgICAgICAgIH1cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgcnVjSW5wdXREYXRhLmNhdGVnb3JpZXNcIj5cclxuICAgICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWNhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaWNvbi1ib3hcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXRlZ29yeS5pY29uICE9PSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhdGVnb3J5Lmljb247IGVsc2UgY29sb3JEb3RXaWRnZXRcIiBjbGFzcz1cIndpZGdldC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIFtzdHlsZS5jb2xvcl09XCJjYXRlZ29yeS5jb2xvclwiPnt7IGNhdGVnb3J5Lmljb24gfX08L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbG9yRG90V2lkZ2V0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1jb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLWdyYWRpZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY2F0ZWdvcnkuY29sb3IgPyAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAnICsgY2F0ZWdvcnkuY29sb3IgKyAnLCAnICsgY2F0ZWdvcnkuY29sb3IgKyAnKScgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtbGFiZWxcIj57e2NhdGVnb3J5LmxhYmVsfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtdmFsdWVcIj5cclxuICAgICAgICAgICAgICA8ZGl2Pnt7Y2F0ZWdvcnkudmFsdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcblxyXG5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { RucMeteredProgressBarComponent } from './ruc-metered-progress-bar/ruc-metered-progress-bar.component';
|
|
5
|
+
import { MatCardModule } from '@angular/material/card';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class RuclibMeteredProgressBarModule {
|
|
8
|
+
}
|
|
9
|
+
RuclibMeteredProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMeteredProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
RuclibMeteredProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RuclibMeteredProgressBarModule, declarations: [RucMeteredProgressBarComponent], imports: [CommonModule, MatIconModule, MatCardModule], exports: [RucMeteredProgressBarComponent] });
|
|
11
|
+
RuclibMeteredProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMeteredProgressBarModule, imports: [CommonModule, MatIconModule, MatCardModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMeteredProgressBarModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule, MatIconModule, MatCardModule],
|
|
16
|
+
declarations: [RucMeteredProgressBarComponent],
|
|
17
|
+
exports: [RucMeteredProgressBarComponent],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcnVjbGliLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVF2RCxNQUFNLE9BQU8sOEJBQThCOzs0SEFBOUIsOEJBQThCOzZIQUE5Qiw4QkFBOEIsaUJBSDFCLDhCQUE4QixhQURuQyxZQUFZLEVBQUMsYUFBYSxFQUFDLGFBQWEsYUFFeEMsOEJBQThCOzZIQUU3Qiw4QkFBOEIsWUFKL0IsWUFBWSxFQUFDLGFBQWEsRUFBQyxhQUFhOzRGQUl2Qyw4QkFBOEI7a0JBTDFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFDLGFBQWEsRUFBQyxhQUFhLENBQUM7b0JBQ25ELFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFJ1Y01ldGVyZWRQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vcnVjLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyL3J1Yy1tZXRlcmVkLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLE1hdEljb25Nb2R1bGUsTWF0Q2FyZE1vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbUnVjTWV0ZXJlZFByb2dyZXNzQmFyQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbUnVjTWV0ZXJlZFByb2dyZXNzQmFyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJ1Y2xpYk1ldGVyZWRQcm9ncmVzc0Jhck1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLWxpYi1tZXRlcmVkLXByb2dyZXNzLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWMtbGliLW1ldGVyZWQtcHJvZ3Jlc3MtYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|