@eturnity/eturnity_reusable_components 8.22.10 → 8.22.13
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/dist/main.es12.js +2 -2
- package/dist/main.es13.js +3 -3
- package/dist/main.es14.js +2 -2
- package/dist/main.es15.js +22 -62
- package/dist/main.es16.js +1031 -174
- package/dist/main.es17.js +192 -181
- package/dist/main.es18.js +96 -21
- package/dist/main.es19.js +2 -1056
- package/dist/main.es20.js +498 -184
- package/dist/main.es21.js +194 -94
- package/dist/main.es22.js +64 -2
- package/dist/main.es23.js +148 -473
- package/dist/main.es24.js +2 -2
- package/dist/main.es375.js +1 -1
- package/dist/main.es377.js +21 -60
- package/dist/main.es378.js +60 -21
- package/dist/main.es5.js +3 -3
- package/dist/main.es6.js +4 -4
- package/dist/main.es9.js +1 -1
- package/package.json +1 -1
- package/src/components/inputs/inputNumber/index.vue +3 -3
package/dist/main.es23.js
CHANGED
@@ -1,543 +1,218 @@
|
|
1
|
-
import "./main.es3.js";
|
2
|
-
import _sfc_main$1 from "./main.es24.js";
|
3
1
|
import styled from "./main.es7.js";
|
2
|
+
import _sfc_main$1 from "./main.es24.js";
|
4
3
|
import theme from "./main.es8.js";
|
4
|
+
import "./main.es3.js";
|
5
5
|
import _export_sfc from "./main.es11.js";
|
6
|
-
import {
|
7
|
-
import { toDisplayString
|
8
|
-
|
9
|
-
const
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
import { resolveComponent, openBlock, createBlock, withCtx, createVNode, createCommentVNode, createTextVNode } from "./main.es6.js";
|
7
|
+
import { toDisplayString } from "./main.es21.js";
|
8
|
+
const PageContainer = styled.div``;
|
9
|
+
const ButtonAttrs = {
|
10
|
+
type: String,
|
11
|
+
isDisabled: Boolean,
|
12
|
+
minWidth: String,
|
13
|
+
noWrap: Boolean,
|
14
|
+
height: String,
|
15
|
+
variant: String,
|
16
|
+
buttonSize: String,
|
17
|
+
appTheme: String
|
13
18
|
};
|
14
|
-
const
|
15
|
-
|
16
|
-
|
19
|
+
const ButtonContainer = styled("div", ButtonAttrs)`
|
20
|
+
display: flex;
|
21
|
+
justify-content: center;
|
22
|
+
padding: ${(props) => {
|
23
|
+
var _a, _b, _c, _d;
|
24
|
+
return (_d = (_c = (_b = (_a = props.theme) == null ? void 0 : _a.mainButton) == null ? void 0 : _b.size) == null ? void 0 : _c[props.buttonSize]) == null ? void 0 : _d.padding;
|
25
|
+
}};
|
26
|
+
font-size: ${(props) => {
|
27
|
+
var _a, _b, _c, _d;
|
28
|
+
return (_d = (_c = (_b = (_a = props.theme) == null ? void 0 : _a.mainButton) == null ? void 0 : _b.size) == null ? void 0 : _c[props.buttonSize]) == null ? void 0 : _d.fontSize;
|
29
|
+
}};
|
30
|
+
color: ${(props) => props.isDisabled ? props.theme.mainButton[props.appTheme][props.type][props.variant].disabled.textColor : props.theme.mainButton[props.appTheme][props.type][props.variant].default.textColor};
|
31
|
+
background-color: ${(props) => props.isDisabled ? props.theme.mainButton[props.appTheme][props.type][props.variant].disabled.backgroundColor : props.theme.mainButton[props.appTheme][props.type][props.variant].default.backgroundColor};
|
32
|
+
border: ${(props) => {
|
33
|
+
const borderValue = props.isDisabled ? props.theme.mainButton[props.appTheme][props.type][props.variant].disabled.borderColor : props.theme.mainButton[props.appTheme][props.type][props.variant].default.borderColor;
|
34
|
+
return borderValue ? "1px solid " + borderValue : "none";
|
35
|
+
}};
|
17
36
|
border-radius: 4px;
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
37
|
+
text-align: center;
|
38
|
+
cursor: ${(props) => props.isDisabled ? "not-allowed" : "pointer"};
|
39
|
+
user-select: none;
|
40
|
+
${(props) => props.minWidth ? `min-width: ${props.minWidth};` : ""};
|
41
|
+
${(props) => props.noWrap ? `white-space: nowrap;` : ""};
|
42
|
+
height: ${(props) => props.height};
|
43
|
+
line-height: 1;
|
24
44
|
|
25
|
-
|
26
|
-
color: ${(props) => props.theme.
|
45
|
+
&:hover {
|
46
|
+
background-color: ${(props) => props.isDisabled ? props.theme.mainButton[props.appTheme][props.type][props.variant].disabled.backgroundColor : props.theme.mainButton[props.appTheme][props.type][props.variant].hover.backgroundColor};
|
27
47
|
}
|
28
48
|
|
29
|
-
|
30
|
-
|
31
|
-
display: block;
|
49
|
+
&:active {
|
50
|
+
background-color: ${(props) => props.isDisabled ? props.theme.mainButton[props.appTheme][props.type][props.variant].disabled.backgroundColor : props.theme.mainButton[props.appTheme][props.type][props.variant].active.backgroundColor};
|
32
51
|
}
|
33
52
|
`;
|
34
|
-
const
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
53
|
+
const AltAttrs = {
|
54
|
+
altStyle: Boolean,
|
55
|
+
color: String
|
56
|
+
};
|
57
|
+
styled("div", AltAttrs)`
|
58
|
+
background-color: ${(props) => props.color ? props.color : props.theme.colors.transparentWhite1};
|
59
|
+
padding: 7px;
|
60
|
+
height: 100%;
|
61
|
+
width: 30%;
|
62
|
+
justify-content: center;
|
63
|
+
display: flex;
|
64
|
+
align-items: center;
|
65
|
+
border-radius: 4px 0 0 4px;
|
66
|
+
color: ${(props) => props.theme.colors.white};
|
67
|
+
all: ${(props) => props.altStyle ? "" : "unset"};
|
45
68
|
`;
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
background-color: ${(props) => props.color};
|
50
|
-
border-radius: 50%;
|
69
|
+
styled("span", AltAttrs)`
|
70
|
+
padding: ${(props) => props.altStyle ? "7px" : "0"};
|
71
|
+
all: ${(props) => props.altStyle ? "" : "unset"};
|
51
72
|
`;
|
52
|
-
const
|
53
|
-
|
54
|
-
borderRadius: String,
|
55
|
-
padding: String,
|
56
|
-
hoveredIcon: Boolean,
|
57
|
-
isActive: Boolean,
|
58
|
-
isDisabled: Boolean
|
73
|
+
const LabelAttrs = {
|
74
|
+
hasIcon: Boolean
|
59
75
|
};
|
60
|
-
const
|
76
|
+
const LabelComponent = styled("span", LabelAttrs)`
|
61
77
|
display: flex;
|
62
78
|
align-items: center;
|
63
79
|
justify-content: center;
|
64
|
-
gap:
|
65
|
-
white-space: nowrap;
|
66
|
-
background-color: ${(props) => props.backgroundColor};
|
67
|
-
border-radius: ${(props) => props.hoveredIcon ? "6px" : props.borderRadius};
|
68
|
-
padding: ${(props) => props.padding};
|
69
|
-
width: ${(props) => props.hoveredIcon ? "32px" : ""};
|
70
|
-
height: ${(props) => props.hoveredIcon ? "32px" : ""};
|
71
|
-
cursor: pointer;
|
72
|
-
background-color: ${(props) => props.isActive ? props.theme.colors.transparentWhite2 : ""};
|
73
|
-
cursor: ${(props) => props.isDisabled ? "not-allowed" : "pointer"};
|
74
|
-
&:hover {
|
75
|
-
background-color: ${(props) => props.hoveredIcon ? props.theme.colors.transparentWhite2 : ""};
|
76
|
-
}
|
77
|
-
`;
|
78
|
-
const LabelWrapperAttrs = {
|
79
|
-
size: String,
|
80
|
-
color: String
|
81
|
-
};
|
82
|
-
const LabelWrapper = styled("div", LabelWrapperAttrs)`
|
83
|
-
font-size: ${(props) => props.size};
|
84
|
-
color: ${(props) => props.color};
|
80
|
+
gap: ${(props) => props.hasIcon ? "5px" : "0"};
|
85
81
|
`;
|
86
82
|
const _sfc_main = {
|
87
|
-
name: "
|
83
|
+
name: "MainButton",
|
88
84
|
components: {
|
89
|
-
|
90
|
-
|
91
|
-
// Arrow,
|
92
|
-
Dot,
|
85
|
+
Icon: _sfc_main$1,
|
86
|
+
LabelComponent,
|
93
87
|
PageContainer,
|
94
|
-
|
95
|
-
OverlayImage,
|
96
|
-
IconWrapper,
|
97
|
-
LabelWrapper
|
88
|
+
ButtonContainer
|
98
89
|
},
|
99
90
|
props: {
|
100
|
-
|
91
|
+
type: {
|
101
92
|
required: false,
|
102
|
-
default: "",
|
93
|
+
default: "primary",
|
94
|
+
// primary, secondary, tertiary, ghost
|
103
95
|
type: String
|
104
96
|
},
|
105
|
-
|
97
|
+
variant: {
|
98
|
+
required: false,
|
99
|
+
default: "main",
|
100
|
+
// main, cancel
|
101
|
+
type: String
|
102
|
+
},
|
103
|
+
isDisabled: {
|
106
104
|
required: false,
|
107
105
|
default: false,
|
108
106
|
type: Boolean
|
109
107
|
},
|
110
|
-
|
108
|
+
icon: {
|
109
|
+
required: false,
|
110
|
+
default: null,
|
111
|
+
type: String
|
112
|
+
},
|
113
|
+
iconColor: {
|
111
114
|
required: false,
|
112
115
|
default: "",
|
113
116
|
type: String
|
114
117
|
},
|
115
|
-
|
116
|
-
|
117
|
-
default:
|
118
|
+
iconAltStyle: {
|
119
|
+
required: false,
|
120
|
+
default: false,
|
121
|
+
type: Boolean
|
118
122
|
},
|
119
|
-
|
123
|
+
iconAltStyleColor: {
|
120
124
|
required: false,
|
121
125
|
default: null,
|
122
126
|
type: String
|
123
127
|
},
|
124
|
-
|
125
|
-
|
128
|
+
text: {
|
129
|
+
required: true,
|
126
130
|
type: String
|
127
131
|
},
|
128
|
-
|
129
|
-
|
130
|
-
default: "onHover",
|
131
|
-
validator: (value) => ["onHover", "onClick"].includes(value)
|
132
|
-
},
|
133
|
-
buttonType: {
|
134
|
-
type: String,
|
135
|
-
default: "regular",
|
136
|
-
validator: (value) => ["regular", "error"].includes(value)
|
137
|
-
},
|
138
|
-
image: {
|
139
|
-
type: String,
|
140
|
-
default: ""
|
141
|
-
},
|
142
|
-
iconName: {
|
143
|
-
type: String,
|
144
|
-
default: "info"
|
145
|
-
},
|
146
|
-
iconColor: {
|
147
|
-
type: String,
|
148
|
-
default: null,
|
149
|
-
required: false
|
150
|
-
},
|
151
|
-
isDisabled: {
|
152
|
-
type: Boolean,
|
132
|
+
noWrap: {
|
133
|
+
required: false,
|
153
134
|
default: false,
|
154
|
-
|
135
|
+
type: Boolean
|
155
136
|
},
|
156
|
-
|
157
|
-
type: String,
|
137
|
+
minWidth: {
|
158
138
|
required: false,
|
159
|
-
default:
|
139
|
+
default: null,
|
140
|
+
type: String
|
160
141
|
},
|
161
|
-
|
162
|
-
type: String,
|
142
|
+
height: {
|
163
143
|
required: false,
|
164
|
-
default: "
|
165
|
-
|
166
|
-
},
|
167
|
-
appTheme: {
|
168
|
-
type: String,
|
169
|
-
default: "light",
|
170
|
-
// light or dark
|
171
|
-
required: false
|
172
|
-
},
|
173
|
-
labelAlign: {
|
174
|
-
type: String,
|
175
|
-
default: "right",
|
176
|
-
required: false
|
144
|
+
default: "auto",
|
145
|
+
type: String
|
177
146
|
},
|
178
|
-
|
179
|
-
|
180
|
-
default:
|
181
|
-
|
147
|
+
id: {
|
148
|
+
required: false,
|
149
|
+
default: null,
|
150
|
+
type: String
|
182
151
|
},
|
183
|
-
|
152
|
+
dataId: {
|
184
153
|
type: String,
|
185
|
-
default: ""
|
186
|
-
required: false
|
154
|
+
default: ""
|
187
155
|
},
|
188
|
-
|
156
|
+
dataQaId: {
|
189
157
|
type: String,
|
190
|
-
default: ""
|
191
|
-
required: false
|
158
|
+
default: ""
|
192
159
|
},
|
193
|
-
|
160
|
+
appTheme: {
|
194
161
|
type: String,
|
195
|
-
default: ""
|
196
|
-
required: false
|
162
|
+
default: "light"
|
197
163
|
},
|
198
|
-
|
164
|
+
buttonSize: {
|
199
165
|
type: String,
|
200
|
-
default: "
|
201
|
-
required: false
|
202
|
-
},
|
203
|
-
noIcon: {
|
204
|
-
type: Boolean,
|
205
|
-
default: false,
|
206
|
-
required: false
|
207
|
-
},
|
208
|
-
hoveredIcon: {
|
209
|
-
type: Boolean,
|
210
|
-
default: false,
|
211
|
-
required: false
|
212
|
-
},
|
213
|
-
hideInfoText: {
|
214
|
-
type: Boolean,
|
215
|
-
default: false,
|
166
|
+
default: "medium",
|
216
167
|
required: false
|
217
168
|
}
|
218
169
|
},
|
219
|
-
setup(props) {
|
220
|
-
const isVisible = ref(false);
|
221
|
-
const container = ref(null);
|
222
|
-
const icon = ref(null);
|
223
|
-
const infoBox = ref(null);
|
224
|
-
const textContent = ref(null);
|
225
|
-
const infoImage = ref(null);
|
226
|
-
const infoBoxWidth = ref(0);
|
227
|
-
const infoBoxHeight = ref(0);
|
228
|
-
const boxStyle = ref({});
|
229
|
-
const arrowStyle = ref({});
|
230
|
-
const wrapperStyle = ref({});
|
231
|
-
const isMobile = ref(window.innerWidth <= 768);
|
232
|
-
const textStyle = computed(() => ({
|
233
|
-
fontSize: props.image ? "12px" : "13px",
|
234
|
-
color: props.image ? theme.colors.grey1 : props.appTheme === "dark" ? theme.colors.black : theme.colors.white,
|
235
|
-
textAlign: props.image ? "right" : "left"
|
236
|
-
}));
|
237
|
-
const calculatePosition = (width) => {
|
238
|
-
if (!icon.value || !width)
|
239
|
-
return {};
|
240
|
-
const iconRect = icon.value.getBoundingClientRect();
|
241
|
-
const windowHeight = window.innerHeight;
|
242
|
-
const windowWidth = window.innerWidth;
|
243
|
-
const spaceBelow = windowHeight - iconRect.bottom - 10;
|
244
|
-
const spaceAbove = iconRect.top - 10;
|
245
|
-
const spaceRight = windowWidth - iconRect.right - 10;
|
246
|
-
const spaceLeft = iconRect.left - 10;
|
247
|
-
const positions = [{
|
248
|
-
position: "bottom",
|
249
|
-
space: spaceBelow
|
250
|
-
}, {
|
251
|
-
position: "top",
|
252
|
-
space: spaceAbove
|
253
|
-
}, {
|
254
|
-
position: "right",
|
255
|
-
space: spaceRight
|
256
|
-
}, {
|
257
|
-
position: "left",
|
258
|
-
space: spaceLeft
|
259
|
-
}].sort((a, b) => b.space - a.space);
|
260
|
-
const bestPosition = props.infoPosition ? props.infoPosition : positions[0].position;
|
261
|
-
let top, left, arrowPosition;
|
262
|
-
switch (bestPosition) {
|
263
|
-
case "bottom":
|
264
|
-
top = Math.round(iconRect.bottom + 10);
|
265
|
-
left = Math.round(Math.min(iconRect.left, windowWidth - width - 10));
|
266
|
-
arrowPosition = {
|
267
|
-
left: `${Math.round(Math.min(Math.max(iconRect.left - left + iconRect.width / 2 - 8, 2), width - 18))}px`,
|
268
|
-
top: "-7px",
|
269
|
-
bottom: "auto",
|
270
|
-
transform: "rotate(180deg)"
|
271
|
-
};
|
272
|
-
break;
|
273
|
-
case "top":
|
274
|
-
top = Math.round(iconRect.top - infoBoxHeight.value - 10);
|
275
|
-
left = Math.round(Math.min(iconRect.left, windowWidth - width - 10));
|
276
|
-
arrowPosition = {
|
277
|
-
left: `${Math.round(Math.min(Math.max(iconRect.left - left + iconRect.width / 2 - 8, 2), width - 18))}px`,
|
278
|
-
top: "auto",
|
279
|
-
bottom: "-7px",
|
280
|
-
transform: "none"
|
281
|
-
};
|
282
|
-
break;
|
283
|
-
case "right":
|
284
|
-
top = Math.round(Math.max(Math.min(iconRect.top - (infoBoxHeight.value - iconRect.height) / 2, windowHeight - infoBoxHeight.value - 10), 10));
|
285
|
-
left = Math.round(iconRect.right + 10);
|
286
|
-
arrowPosition = {
|
287
|
-
left: "-7px",
|
288
|
-
top: `${Math.round(Math.min(Math.max(iconRect.top - top + iconRect.height / 2 - 8, 2), infoBoxHeight.value - 18))}px`,
|
289
|
-
bottom: "auto",
|
290
|
-
transform: "rotate(90deg)"
|
291
|
-
};
|
292
|
-
break;
|
293
|
-
case "left":
|
294
|
-
top = Math.round(Math.max(Math.min(iconRect.top - (infoBoxHeight.value - iconRect.height) / 2, windowHeight - infoBoxHeight.value - 10), 10));
|
295
|
-
left = Math.round(iconRect.left - width - 10);
|
296
|
-
arrowPosition = {
|
297
|
-
left: "auto",
|
298
|
-
right: "-7px",
|
299
|
-
top: `${Math.round(Math.min(Math.max(iconRect.top - top + iconRect.height / 2 - 8, 2), infoBoxHeight.value - 18))}px`,
|
300
|
-
bottom: "auto",
|
301
|
-
transform: "rotate(-90deg)"
|
302
|
-
};
|
303
|
-
break;
|
304
|
-
}
|
305
|
-
arrowStyle.value = arrowPosition;
|
306
|
-
wrapperStyle.value = {
|
307
|
-
position: "fixed",
|
308
|
-
top: `${top}px`,
|
309
|
-
left: `${left}px`,
|
310
|
-
transform: "none",
|
311
|
-
width: `${width}px`
|
312
|
-
};
|
313
|
-
return {
|
314
|
-
width: "100%",
|
315
|
-
maxWidth: props.maxWidth,
|
316
|
-
overflowY: "auto",
|
317
|
-
backgroundColor: props.contentBackgroundColor ? props.contentBackgroundColor : props.image ? theme.colors.white : props.appTheme === "light" ? theme.colors.black : theme.colors.grey5
|
318
|
-
};
|
319
|
-
};
|
320
|
-
const showInfo = async () => {
|
321
|
-
isVisible.value = true;
|
322
|
-
await nextTick();
|
323
|
-
await nextTick();
|
324
|
-
await updatePosition();
|
325
|
-
};
|
326
|
-
const hideInfo = () => {
|
327
|
-
isVisible.value = false;
|
328
|
-
infoBoxWidth.value = 0;
|
329
|
-
};
|
330
|
-
const toggleInfo = () => {
|
331
|
-
isVisible.value ? hideInfo() : showInfo();
|
332
|
-
};
|
333
|
-
const handleScroll = () => {
|
334
|
-
if (isVisible.value) {
|
335
|
-
hideInfo();
|
336
|
-
}
|
337
|
-
updatePosition();
|
338
|
-
};
|
339
|
-
const isIconInView = () => {
|
340
|
-
if (!icon.value)
|
341
|
-
return false;
|
342
|
-
const rect = icon.value.getBoundingClientRect();
|
343
|
-
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
344
|
-
};
|
345
|
-
const updatePosition = async () => {
|
346
|
-
if (!infoBox.value || !textContent.value)
|
347
|
-
return;
|
348
|
-
if (infoBox.value.$el) {
|
349
|
-
infoBox.value.$el.style.visibility = "hidden";
|
350
|
-
infoBox.value.$el.style.display = "block";
|
351
|
-
}
|
352
|
-
await nextTick();
|
353
|
-
if (!isIconInView()) {
|
354
|
-
if (isVisible.value)
|
355
|
-
hideInfo();
|
356
|
-
return;
|
357
|
-
}
|
358
|
-
const clone = textContent.value.cloneNode(true);
|
359
|
-
clone.style.position = "absolute";
|
360
|
-
clone.style.visibility = "hidden";
|
361
|
-
clone.style.width = "auto";
|
362
|
-
clone.style.maxWidth = "none";
|
363
|
-
clone.style.whiteSpace = "nowrap";
|
364
|
-
document.body.appendChild(clone);
|
365
|
-
const contentWidth = clone.offsetWidth;
|
366
|
-
document.body.removeChild(clone);
|
367
|
-
const calculatedWidth = Math.min(Math.max(contentWidth, 230), parseInt(props.maxWidth, 10));
|
368
|
-
infoBoxWidth.value = calculatedWidth;
|
369
|
-
await nextTick();
|
370
|
-
infoBoxHeight.value = infoBox.value.$el.offsetHeight;
|
371
|
-
boxStyle.value = calculatePosition(calculatedWidth);
|
372
|
-
if (isVisible.value && infoBox.value.$el) {
|
373
|
-
infoBox.value.$el.style.visibility = "visible";
|
374
|
-
}
|
375
|
-
};
|
376
|
-
const onImageLoad = () => {
|
377
|
-
if (infoImage.value) {
|
378
|
-
infoBoxHeight.value = infoBox.value.$el.offsetHeight;
|
379
|
-
updatePosition();
|
380
|
-
}
|
381
|
-
};
|
382
|
-
const handleClickOutside = (event) => {
|
383
|
-
if ((props.openTrigger === "onClick" || isMobile.value) && isVisible.value) {
|
384
|
-
const clickedElement = event.target;
|
385
|
-
if (infoBox.value && !infoBox.value.$el.contains(clickedElement) && !icon.value.contains(clickedElement)) {
|
386
|
-
hideInfo();
|
387
|
-
}
|
388
|
-
}
|
389
|
-
};
|
390
|
-
const handleResize = () => {
|
391
|
-
isMobile.value = window.innerWidth <= 768;
|
392
|
-
updatePosition();
|
393
|
-
};
|
394
|
-
onMounted(() => {
|
395
|
-
window.addEventListener("scroll", handleScroll, {
|
396
|
-
passive: true
|
397
|
-
});
|
398
|
-
window.addEventListener("resize", handleResize);
|
399
|
-
document.addEventListener("scroll", handleScroll, {
|
400
|
-
passive: true,
|
401
|
-
capture: true
|
402
|
-
});
|
403
|
-
document.addEventListener("click", handleClickOutside);
|
404
|
-
});
|
405
|
-
onUnmounted(() => {
|
406
|
-
window.removeEventListener("scroll", handleScroll);
|
407
|
-
window.removeEventListener("resize", handleResize);
|
408
|
-
document.removeEventListener("scroll", handleScroll, {
|
409
|
-
capture: true
|
410
|
-
});
|
411
|
-
document.removeEventListener("click", handleClickOutside);
|
412
|
-
});
|
413
|
-
watch(isVisible, (newValue) => {
|
414
|
-
if (newValue) {
|
415
|
-
updatePosition();
|
416
|
-
}
|
417
|
-
});
|
418
|
-
return {
|
419
|
-
isVisible,
|
420
|
-
boxStyle,
|
421
|
-
arrowStyle,
|
422
|
-
showInfo,
|
423
|
-
hideInfo,
|
424
|
-
toggleInfo,
|
425
|
-
container,
|
426
|
-
icon,
|
427
|
-
infoBox,
|
428
|
-
textContent,
|
429
|
-
infoImage,
|
430
|
-
infoBoxWidth,
|
431
|
-
infoBoxHeight,
|
432
|
-
wrapperStyle,
|
433
|
-
textStyle,
|
434
|
-
onImageLoad,
|
435
|
-
isMobile
|
436
|
-
};
|
437
|
-
},
|
438
170
|
computed: {
|
439
|
-
|
440
|
-
return
|
171
|
+
theme() {
|
172
|
+
return theme;
|
173
|
+
},
|
174
|
+
getIconColor() {
|
175
|
+
return this.isDisabled ? this.theme.mainButton[this.appTheme][this.type][this.variant].disabled.textColor : this.iconColor ? this.iconColor : this.theme.mainButton[this.appTheme][this.type][this.variant].default.textColor;
|
441
176
|
}
|
442
177
|
}
|
443
178
|
};
|
444
|
-
const _hoisted_1 = {
|
445
|
-
ref: "icon",
|
446
|
-
"data-test-id": "infoText_trigger"
|
447
|
-
};
|
448
|
-
const _hoisted_2 = ["innerHTML"];
|
449
179
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
450
|
-
const
|
451
|
-
const
|
452
|
-
const
|
453
|
-
const _component_IconWrapper = resolveComponent("IconWrapper");
|
454
|
-
const _component_OverlayImage = resolveComponent("OverlayImage");
|
455
|
-
const _component_TextOverlay = resolveComponent("TextOverlay");
|
456
|
-
const _component_TextWrapper = resolveComponent("TextWrapper");
|
180
|
+
const _component_Icon = resolveComponent("Icon");
|
181
|
+
const _component_LabelComponent = resolveComponent("LabelComponent");
|
182
|
+
const _component_ButtonContainer = resolveComponent("ButtonContainer");
|
457
183
|
const _component_PageContainer = resolveComponent("PageContainer");
|
458
|
-
return openBlock(), createBlock(_component_PageContainer, {
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
onMouseleave: _cache[2] || (_cache[2] = ($event) => !$setup.isMobile && $props.openTrigger === "onHover" && $setup.hideInfo())
|
467
|
-
}, {
|
468
|
-
default: withCtx(() => [createBaseVNode("div", _hoisted_1, [createVNode(_component_IconWrapper, {
|
469
|
-
"background-color": $props.backgroundColor,
|
470
|
-
"border-radius": $props.borderRadius,
|
471
|
-
"hovered-icon": $props.hoveredIcon,
|
472
|
-
"is-active": $props.isActive,
|
184
|
+
return openBlock(), createBlock(_component_PageContainer, null, {
|
185
|
+
default: withCtx(() => [createVNode(_component_ButtonContainer, {
|
186
|
+
id: $props.id,
|
187
|
+
"app-theme": $props.appTheme,
|
188
|
+
"button-size": $props.buttonSize,
|
189
|
+
"data-id": $props.dataId,
|
190
|
+
"data-qa-id": $props.dataQaId,
|
191
|
+
height: $props.height,
|
473
192
|
"is-disabled": $props.isDisabled,
|
474
|
-
|
193
|
+
"min-width": $props.minWidth,
|
194
|
+
"no-wrap": $props.noWrap,
|
195
|
+
type: $props.type,
|
196
|
+
variant: $props.variant
|
475
197
|
}, {
|
476
|
-
default: withCtx(() => [
|
477
|
-
|
478
|
-
}, [$props.labelText && $props.labelAlign === "left" ? (openBlock(), createBlock(_component_LabelWrapper, {
|
479
|
-
key: 0,
|
480
|
-
color: $props.iconColor || $options.computedIconColor,
|
481
|
-
size: $props.labelSize
|
198
|
+
default: withCtx(() => [createVNode(_component_LabelComponent, {
|
199
|
+
"has-icon": Boolean($props.icon)
|
482
200
|
}, {
|
483
|
-
default: withCtx(() => [
|
484
|
-
_: 1
|
485
|
-
}, 8, ["color", "size"])) : createCommentVNode("", true), createTextVNode(), $props.type === "dot" ? (openBlock(), createBlock(_component_Dot, {
|
486
|
-
key: 1,
|
487
|
-
color: $props.dotColor,
|
488
|
-
"data-test-id": "infoText_dot"
|
489
|
-
}, null, 8, ["color"])) : !$props.noIcon ? (openBlock(), createBlock(_component_IconComponent, {
|
490
|
-
key: 2,
|
491
|
-
color: $props.iconColor || $options.computedIconColor,
|
492
|
-
cursor: $props.isDisabled ? "not-allowed" : "pointer",
|
493
|
-
disabled: $props.isDisabled,
|
494
|
-
"hovered-color": $props.iconColor || $options.computedIconColor,
|
495
|
-
name: $props.iconName,
|
496
|
-
size: $props.size
|
497
|
-
}, null, 8, ["color", "cursor", "disabled", "hovered-color", "name", "size"])) : createCommentVNode("", true), createTextVNode(), $props.labelText && $props.labelAlign === "right" ? (openBlock(), createBlock(_component_LabelWrapper, {
|
498
|
-
key: 3,
|
499
|
-
color: $props.iconColor || $options.computedIconColor,
|
500
|
-
size: $props.labelSize
|
501
|
-
}, {
|
502
|
-
default: withCtx(() => [createTextVNode(toDisplayString($props.labelText), 1)]),
|
503
|
-
_: 1
|
504
|
-
}, 8, ["color", "size"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), createTextVNode(), renderSlot(_ctx.$slots, "trigger")]),
|
505
|
-
_: 3
|
506
|
-
}, 8, ["background-color", "border-radius", "hovered-icon", "is-active", "is-disabled", "padding"])], 512), createTextVNode(), $setup.isVisible && !!$props.text ? (openBlock(), createBlock(Teleport, {
|
507
|
-
key: 0,
|
508
|
-
to: "body"
|
509
|
-
}, [createVNode(_component_TextWrapper, {
|
510
|
-
"data-test-id": "info_text_wrapper",
|
511
|
-
style: normalizeStyle($setup.wrapperStyle)
|
512
|
-
}, {
|
513
|
-
default: withCtx(() => [createVNode(_component_TextOverlay, {
|
514
|
-
ref: "infoBox",
|
515
|
-
"app-theme": $props.appTheme,
|
516
|
-
image: $props.image,
|
517
|
-
style: normalizeStyle($setup.boxStyle),
|
518
|
-
width: $setup.infoBoxWidth
|
519
|
-
}, {
|
520
|
-
default: withCtx(() => [$props.image ? (openBlock(), createBlock(_component_OverlayImage, {
|
201
|
+
default: withCtx(() => [$props.icon ? (openBlock(), createBlock(_component_Icon, {
|
521
202
|
key: 0,
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
}, null, 8, ["
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
_: 3
|
534
|
-
}, 8, ["app-theme", "image", "style", "width"]), createTextVNode()]),
|
535
|
-
_: 3
|
536
|
-
}, 8, ["style"])])) : createCommentVNode("", true)]),
|
537
|
-
_: 3
|
538
|
-
}, 8, ["type"]);
|
203
|
+
color: $options.getIconColor,
|
204
|
+
"hovered-color": $options.getIconColor,
|
205
|
+
name: $props.icon,
|
206
|
+
size: "14px"
|
207
|
+
}, null, 8, ["color", "hovered-color", "name"])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString($props.text), 1)]),
|
208
|
+
_: 1
|
209
|
+
}, 8, ["has-icon"])]),
|
210
|
+
_: 1
|
211
|
+
}, 8, ["id", "app-theme", "button-size", "data-id", "data-qa-id", "height", "is-disabled", "min-width", "no-wrap", "type", "variant"])]),
|
212
|
+
_: 1
|
213
|
+
});
|
539
214
|
}
|
540
|
-
const
|
215
|
+
const RCButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
541
216
|
export {
|
542
|
-
|
217
|
+
RCButton as default
|
543
218
|
};
|