@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "8.13.13-qa-16-03-26.1",
3
+ "version": "8.13.13-qa-16-03-26.3",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -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
- &:hover svg path:not(.fix) {
172
- ${(props) => `${props.fillType}: ${props.hoveredColor || props.color};`}
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: ${(props) => props.hoveredColor};
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 :icon-color="iconColor" :icon-position="iconPosition">
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 = { iconColor: String, iconPosition: String }
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: {