@eturnity/eturnity_reusable_components 8.13.13-qa-16-03-26.1 → 8.13.13-qa-16-03-26.3
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/package.json
CHANGED
@@ -48,6 +48,9 @@
|
|
48
48
|
:is-scrollable="isScrollable"
|
49
49
|
:total-bars="normalizedData.length"
|
50
50
|
>
|
51
|
+
<LoadingOverlay v-if="isLoading">
|
52
|
+
<Spinner size="60px" />
|
53
|
+
</LoadingOverlay>
|
51
54
|
<SelectionBox
|
52
55
|
v-if="selectionSize && isSelectionEnabled"
|
53
56
|
:bar-width="barWidth"
|
@@ -173,6 +176,7 @@
|
|
173
176
|
import ChartControls from './ChartControls'
|
174
177
|
import BottomFields from './BottomFields'
|
175
178
|
import SelectionBox from './SelectionBox'
|
179
|
+
import Spinner from '../spinner'
|
176
180
|
|
177
181
|
import {
|
178
182
|
useTooltip,
|
@@ -205,6 +209,7 @@
|
|
205
209
|
TooltipRow,
|
206
210
|
TooltipGradientBox,
|
207
211
|
ChartControlsWrapper,
|
212
|
+
LoadingOverlay,
|
208
213
|
} from './styles/chart'
|
209
214
|
|
210
215
|
const props = defineProps({
|
@@ -287,6 +292,10 @@
|
|
287
292
|
default: 'absolute',
|
288
293
|
validator: (value) => ['absolute', 'percentage'].includes(value),
|
289
294
|
},
|
295
|
+
isLoading: {
|
296
|
+
type: Boolean,
|
297
|
+
default: false,
|
298
|
+
},
|
290
299
|
})
|
291
300
|
|
292
301
|
const generateChartId = () =>
|
@@ -257,3 +257,16 @@ export const BottomFieldsContainer = styled.div`
|
|
257
257
|
margin-top: 16px;
|
258
258
|
width: 100%;
|
259
259
|
`
|
260
|
+
|
261
|
+
export const LoadingOverlay = styled('div')`
|
262
|
+
position: absolute;
|
263
|
+
top: 0;
|
264
|
+
left: 0;
|
265
|
+
right: 0;
|
266
|
+
bottom: 0;
|
267
|
+
background: rgba(255, 255, 255, 0.8);
|
268
|
+
display: flex;
|
269
|
+
justify-content: center;
|
270
|
+
align-items: center;
|
271
|
+
z-index: 2;
|
272
|
+
`
|
@@ -21,6 +21,7 @@
|
|
21
21
|
iconColor ||
|
22
22
|
theme.mainButton[appTheme][type][variant].default.textColor
|
23
23
|
"
|
24
|
+
:disable-hover="disableIconHover"
|
24
25
|
:hovered-color="
|
25
26
|
iconColor ||
|
26
27
|
theme.mainButton[appTheme][type][variant].default.textColor
|
@@ -231,6 +232,10 @@
|
|
231
232
|
default: false,
|
232
233
|
type: Boolean,
|
233
234
|
},
|
235
|
+
disableIconHover: {
|
236
|
+
type: Boolean,
|
237
|
+
default: false,
|
238
|
+
},
|
234
239
|
},
|
235
240
|
data() {
|
236
241
|
return {
|
@@ -10,6 +10,7 @@
|
|
10
10
|
:background-color="backgroundColor"
|
11
11
|
:color="color"
|
12
12
|
data-test-id="icon_image"
|
13
|
+
:disable-hover="disableHover"
|
13
14
|
:fill-type="fillType"
|
14
15
|
:hovered-color="hoveredColor"
|
15
16
|
>
|
@@ -97,6 +98,10 @@
|
|
97
98
|
default: 'fill',
|
98
99
|
type: String,
|
99
100
|
},
|
101
|
+
disableHover: {
|
102
|
+
type: Boolean,
|
103
|
+
default: false,
|
104
|
+
},
|
100
105
|
})
|
101
106
|
|
102
107
|
const Wrapper = styled('div', {
|
@@ -152,6 +157,7 @@
|
|
152
157
|
hoveredColor: String,
|
153
158
|
animation: String,
|
154
159
|
fillType: String,
|
160
|
+
disableHover: Boolean,
|
155
161
|
}
|
156
162
|
const IconImage = styled('div', IconImageAttrs)`
|
157
163
|
animation: ${(props) => props.animation};
|
@@ -168,12 +174,17 @@
|
|
168
174
|
${({ theme, color, fillType }) =>
|
169
175
|
color && `${fillType}: ${theme.colors[color] || color};`}
|
170
176
|
}
|
171
|
-
|
172
|
-
|
177
|
+
${(props) =>
|
178
|
+
!props.disableHover &&
|
179
|
+
`
|
180
|
+
&:hover svg path:not(.fix) {
|
181
|
+
${`${props.fillType}: ${props.hoveredColor || props.color};`}
|
173
182
|
}
|
174
183
|
&:hover + div {
|
175
|
-
background-color: ${
|
184
|
+
background-color: ${props.hoveredColor};
|
176
185
|
}
|
186
|
+
`}
|
187
|
+
|
177
188
|
@keyframes fade {
|
178
189
|
50% {
|
179
190
|
opacity: 0.3;
|
@@ -1,6 +1,10 @@
|
|
1
1
|
<template>
|
2
2
|
<Container :input-width="inputWidth">
|
3
|
-
<InputWrapper
|
3
|
+
<InputWrapper
|
4
|
+
:icon-color="iconColor"
|
5
|
+
:icon-position="iconPosition"
|
6
|
+
:is-full-height="isFullHeight"
|
7
|
+
>
|
4
8
|
<SearchIconSvg class="search-icn" />
|
5
9
|
<InputContainer
|
6
10
|
ref="inputElement"
|
@@ -11,6 +15,7 @@
|
|
11
15
|
:input-width="inputWidth"
|
12
16
|
:is-disabled="disabled"
|
13
17
|
:is-filter="isFilter"
|
18
|
+
:is-full-height="isFullHeight"
|
14
19
|
:placeholder="placeholder"
|
15
20
|
:value="value"
|
16
21
|
@input="onChangeHandler($event)"
|
@@ -41,6 +46,7 @@
|
|
41
46
|
isDisabled: Boolean,
|
42
47
|
inputWidth: String,
|
43
48
|
isFilter: Boolean,
|
49
|
+
isFullHeight: Boolean,
|
44
50
|
}
|
45
51
|
const Container = styled('div', inputAttrs)`
|
46
52
|
width: ${(props) => (props.inputWidth ? props.inputWidth : '100%')};
|
@@ -55,6 +61,7 @@
|
|
55
61
|
font-size: 13px;
|
56
62
|
color: ${(props) => props.theme.colors.black};
|
57
63
|
width: ${(props) => (props.inputWidth ? props.inputWidth : '100%')};
|
64
|
+
height: ${(props) => (props.isFullHeight ? '100%' : 'auto')};
|
58
65
|
box-sizing: border-box;
|
59
66
|
cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'auto')};
|
60
67
|
background: ${(props) => props.theme.colors.white} !important;
|
@@ -67,9 +74,14 @@
|
|
67
74
|
}
|
68
75
|
`
|
69
76
|
|
70
|
-
const wrapperAttrs = {
|
77
|
+
const wrapperAttrs = {
|
78
|
+
iconColor: String,
|
79
|
+
iconPosition: String,
|
80
|
+
isFullHeight: Boolean,
|
81
|
+
}
|
71
82
|
const InputWrapper = styled('div', wrapperAttrs)`
|
72
83
|
position: relative;
|
84
|
+
height: ${(props) => (props.isFullHeight ? '100%' : 'auto')};
|
73
85
|
|
74
86
|
svg {
|
75
87
|
position: absolute;
|
@@ -142,6 +154,10 @@
|
|
142
154
|
type: String,
|
143
155
|
default: 'black',
|
144
156
|
},
|
157
|
+
isFullHeight: {
|
158
|
+
type: Boolean,
|
159
|
+
default: false,
|
160
|
+
},
|
145
161
|
},
|
146
162
|
emits: ['on-change'],
|
147
163
|
watch: {
|