@vialiq/flux-ui 0.20.0 → 0.22.0
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 +22 -0
- package/components/_accordion.scss +13 -13
- package/components/_alert.scss +7 -7
- package/components/_animation.scss +8 -3
- package/components/_badge.scss +8 -6
- package/components/_card.scss +180 -0
- package/components/_checkbox.scss +6 -5
- package/components/_chip.scss +5 -5
- package/components/_combobox.scss +1 -1
- package/components/_index.scss +2 -0
- package/components/_input.scss +1 -1
- package/components/_label.scss +3 -3
- package/components/_modal.scss +7 -5
- package/components/_progress.scss +259 -0
- package/components/_radio.scss +8 -7
- package/components/_select.scss +8 -7
- package/components/_skeleton.scss +35 -0
- package/components/_spin.scss +159 -0
- package/components/_switch.scss +14 -13
- package/components/_tab-panel.scss +2 -1
- package/components/_tab.scss +9 -8
- package/components/_tabs.scss +23 -30
- package/components/_tag.scss +50 -67
- package/components/_tooltip.scss +10 -8
- package/components/index.scss +1 -0
- package/flux-ui.css +1 -1
- package/flux-ui.css.map +1 -1
- package/package.json +1 -1
- package/styles/_flatpickr-core.scss +8 -7
- package/styles/_functions.scss +39 -0
- package/styles/_index.scss +1 -0
- package/styles/_layout.scss +1 -0
- package/styles/_utilities.scss +1 -1
- package/styles/_variables.scss +52 -41
package/components/_tab.scss
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use '@vialiq/flux-ui/styles/variables' as tokens;
|
|
2
|
+
@use '../styles/functions' as func;
|
|
2
3
|
|
|
3
4
|
@layer components {
|
|
4
5
|
|
|
@@ -22,11 +23,11 @@
|
|
|
22
23
|
display: inline-flex;
|
|
23
24
|
align-items: center;
|
|
24
25
|
justify-content: center;
|
|
25
|
-
gap: var(--vi-tab-icon-gap,
|
|
26
|
+
gap: var(--vi-tab-icon-gap, #{tokens.$spacing-xs});
|
|
26
27
|
padding: var(--vi-tab-padding, 0 20px);
|
|
27
28
|
min-width: var(--vi-tab-min-width, 90px);
|
|
28
29
|
max-width: var(--vi-tab-max-width, 240px);
|
|
29
|
-
min-height: var(--vi-tab-height,
|
|
30
|
+
min-height: var(--vi-tab-height, 40px);
|
|
30
31
|
width: 100%;
|
|
31
32
|
height: 100%;
|
|
32
33
|
position: relative;
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
|
|
41
42
|
// Typography — clear nav-link feel, not body text
|
|
42
43
|
font-family: inherit;
|
|
43
|
-
font-size: var(--vi-tab-font-size,
|
|
44
|
+
font-size: var(--vi-tab-font-size, #{tokens.$font-size-base});
|
|
44
45
|
font-weight: var(--vi-tab-font-weight, 500);
|
|
45
46
|
letter-spacing: 0.015em;
|
|
46
47
|
color: var(--vi-tab-color, #{tokens.$text-secondary});
|
|
@@ -55,7 +56,7 @@
|
|
|
55
56
|
content: '';
|
|
56
57
|
position: absolute;
|
|
57
58
|
inset: 4px;
|
|
58
|
-
border-radius: 8px;
|
|
59
|
+
border-radius: #{func.to-rem(8px)};
|
|
59
60
|
background: currentColor;
|
|
60
61
|
opacity: 0;
|
|
61
62
|
transform: scale(0.85);
|
|
@@ -114,7 +115,7 @@
|
|
|
114
115
|
display: inline-flex;
|
|
115
116
|
align-items: center;
|
|
116
117
|
flex-shrink: 0;
|
|
117
|
-
font-size: var(--vi-tab-icon-size, 15px);
|
|
118
|
+
font-size: var(--vi-tab-icon-size, #{func.to-rem(15px)});
|
|
118
119
|
opacity: 0.6;
|
|
119
120
|
position: relative;
|
|
120
121
|
z-index: 1;
|
|
@@ -147,15 +148,15 @@
|
|
|
147
148
|
min-width: var(--vi-tab-close-size, 18px);
|
|
148
149
|
height: var(--vi-tab-close-size, 18px);
|
|
149
150
|
padding: var(--vi-tab-badge-padding, 0 5px);
|
|
150
|
-
border-radius: 9px;
|
|
151
|
-
font-size: 10px;
|
|
151
|
+
border-radius: #{func.to-rem(9px)};
|
|
152
|
+
font-size: #{func.to-rem(10px)};
|
|
152
153
|
font-weight: 700;
|
|
153
154
|
line-height: 1;
|
|
154
155
|
letter-spacing: 0;
|
|
155
156
|
background: var(--vi-tab-badge-bg, #{tokens.$color-primary});
|
|
156
157
|
color: var(--vi-tab-badge-color, #{tokens.$layer-01});
|
|
157
158
|
flex-shrink: 0;
|
|
158
|
-
box-shadow:
|
|
159
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
159
160
|
animation: vi-badge-pop 320ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
|
|
160
161
|
}
|
|
161
162
|
|
package/components/_tabs.scss
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use '@vialiq/flux-ui/styles/variables' as tokens;
|
|
2
|
+
@use '../styles/functions' as func;
|
|
2
3
|
|
|
3
4
|
@layer components {
|
|
4
5
|
|
|
@@ -102,7 +103,7 @@
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
&:focus-visible {
|
|
105
|
-
border-radius: 4px; // Square focus ring for accessibility
|
|
106
|
+
border-radius: #{func.to-rem(4px)}; // Square focus ring for accessibility
|
|
106
107
|
outline: 2px solid var(--vi-tabs-focus-ring, #{tokens.$color-primary});
|
|
107
108
|
outline-offset: 2px;
|
|
108
109
|
}
|
|
@@ -163,7 +164,7 @@
|
|
|
163
164
|
height: var(--vi-tabs-indicator-thickness, 2px);
|
|
164
165
|
width: 0;
|
|
165
166
|
background: var(--vi-tabs-indicator-color, #{tokens.$color-primary});
|
|
166
|
-
border-radius: 2px 2px 0 0;
|
|
167
|
+
border-radius: #{func.to-rem(2px)} #{func.to-rem(2px)} 0 0;
|
|
167
168
|
opacity: 0;
|
|
168
169
|
pointer-events: none;
|
|
169
170
|
z-index: 2;
|
|
@@ -201,7 +202,7 @@
|
|
|
201
202
|
bottom: -1px;
|
|
202
203
|
height: 2px;
|
|
203
204
|
background: var(--vi-tabs-primary-color, #{tokens.$color-primary});
|
|
204
|
-
border-radius: 2px 2px 0 0;
|
|
205
|
+
border-radius: #{func.to-rem(2px)} #{func.to-rem(2px)} 0 0;
|
|
205
206
|
box-shadow: 0 0 0 0 transparent; // no glow on line variant — keep clean
|
|
206
207
|
}
|
|
207
208
|
}
|
|
@@ -218,24 +219,21 @@
|
|
|
218
219
|
.vi-tabs__tablist {
|
|
219
220
|
background: var(--vi-tabs-pill-bg, #{tokens.$color-grey-100});
|
|
220
221
|
border: 1px solid var(--vi-tabs-border-color, #{tokens.$color-border});
|
|
221
|
-
border-radius: 10px;
|
|
222
|
+
border-radius: #{func.to-rem(10px)};
|
|
222
223
|
padding: var(--vi-tabs-spacing-xs, 4px);
|
|
223
224
|
gap: var(--vi-tabs-gap-xs, 2px);
|
|
224
225
|
// Inset shadow creates a "recessed tray" feel
|
|
225
|
-
box-shadow:
|
|
226
|
+
box-shadow: #{tokens.$shadow-inner-deep};
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
// The sliding white pill cursor
|
|
229
230
|
.vi-tabs__cursor {
|
|
230
231
|
display: block;
|
|
231
232
|
inset: 4px auto; // matches tablist padding
|
|
232
|
-
border-radius: 7px;
|
|
233
|
+
border-radius: #{func.to-rem(7px)};
|
|
233
234
|
background: var(--vi-tabs-surface-primary, #{tokens.$layer-01});
|
|
234
235
|
// Multi-layer shadow for floating card feel
|
|
235
|
-
box-shadow:
|
|
236
|
-
0 1px 3px rgba(0, 0, 0, 0.10),
|
|
237
|
-
0 1px 2px rgba(0, 0, 0, 0.06),
|
|
238
|
-
0 0 0 1px rgba(0, 0, 0, 0.04);
|
|
236
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
239
237
|
}
|
|
240
238
|
|
|
241
239
|
// Indicator hidden — cursor does selection work
|
|
@@ -261,7 +259,7 @@
|
|
|
261
259
|
bottom: -1px;
|
|
262
260
|
height: 2px;
|
|
263
261
|
background: var(--vi-tabs-primary-color, #{tokens.$color-primary});
|
|
264
|
-
border-radius: 2px 2px 0 0;
|
|
262
|
+
border-radius: #{func.to-rem(2px)} #{func.to-rem(2px)} 0 0;
|
|
265
263
|
}
|
|
266
264
|
}
|
|
267
265
|
|
|
@@ -286,12 +284,12 @@
|
|
|
286
284
|
.vi-tabs__cursor {
|
|
287
285
|
$surface-color: var(--vi-tabs-surface-primary, #{tokens.$layer-01});
|
|
288
286
|
display: block;
|
|
289
|
-
border-radius: 8px 8px 0 0;
|
|
287
|
+
border-radius: #{func.to-rem(8px)} #{func.to-rem(8px)} 0 0;
|
|
290
288
|
background: $surface-color;
|
|
291
289
|
border: 1px solid var(--vi-tabs-border-color, #{tokens.$color-border});
|
|
292
290
|
border-bottom-color: $surface-color; // Merges with content below
|
|
293
291
|
margin-top: 8px;
|
|
294
|
-
box-shadow:
|
|
292
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
295
293
|
}
|
|
296
294
|
|
|
297
295
|
.vi-tabs__indicator { display: none; }
|
|
@@ -306,9 +304,9 @@
|
|
|
306
304
|
|
|
307
305
|
.vi-tabs--enclosed {
|
|
308
306
|
border: 1px solid var(--vi-tabs-border-color, #{tokens.$color-border});
|
|
309
|
-
border-radius: 10px;
|
|
307
|
+
border-radius: #{func.to-rem(10px)};
|
|
310
308
|
overflow: clip; // Enclosed: clip cursor inside rounded border box
|
|
311
|
-
box-shadow:
|
|
309
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
312
310
|
|
|
313
311
|
.vi-tabs__tablist {
|
|
314
312
|
background: var(--vi-tabs-surface-secondary, #{tokens.$layer-02});
|
|
@@ -367,11 +365,9 @@
|
|
|
367
365
|
left: 4px !important;
|
|
368
366
|
right: 4px;
|
|
369
367
|
width: calc(100% - 8px) !important; // Override JS width — fills sidebar
|
|
370
|
-
border-radius: 8px;
|
|
368
|
+
border-radius: #{func.to-rem(8px)};
|
|
371
369
|
background: var(--vi-tabs-surface-primary, #{tokens.$layer-01});
|
|
372
|
-
box-shadow:
|
|
373
|
-
0 1px 3px rgba(0, 0, 0, 0.08),
|
|
374
|
-
0 0 0 1px rgba(0, 0, 0, 0.04);
|
|
370
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
375
371
|
}
|
|
376
372
|
|
|
377
373
|
// Vertical indicator — right edge accent line
|
|
@@ -382,7 +378,7 @@
|
|
|
382
378
|
right: 0;
|
|
383
379
|
width: 3px !important;
|
|
384
380
|
height: 0;
|
|
385
|
-
border-radius: 3px 0 0 3px;
|
|
381
|
+
border-radius: #{func.to-rem(3px)} 0 0 #{func.to-rem(3px)};
|
|
386
382
|
background: var(--vi-tabs-primary-color, #{tokens.$color-primary});
|
|
387
383
|
box-shadow: 0 0 6px color-mix(in srgb, #{tokens.$color-primary} 40%, transparent);
|
|
388
384
|
}
|
|
@@ -395,7 +391,7 @@
|
|
|
395
391
|
|
|
396
392
|
&.vi-tabs--line ::slotted(vi-tab[active]) {
|
|
397
393
|
background: var(--vi-tabs-surface-primary, #{tokens.$layer-01});
|
|
398
|
-
border-radius: 8px;
|
|
394
|
+
border-radius: #{func.to-rem(8px)};
|
|
399
395
|
}
|
|
400
396
|
}
|
|
401
397
|
|
|
@@ -482,10 +478,10 @@
|
|
|
482
478
|
background: transparent;
|
|
483
479
|
cursor: pointer;
|
|
484
480
|
font-family: inherit;
|
|
485
|
-
font-size: 13px;
|
|
481
|
+
font-size: #{func.to-rem(13px)};
|
|
486
482
|
font-weight: 500;
|
|
487
483
|
color: var(--vi-tabs-text-secondary, #{tokens.$text-secondary});
|
|
488
|
-
border-radius: 6px 6px 0 0;
|
|
484
|
+
border-radius: #{func.to-rem(6px)} #{func.to-rem(6px)} 0 0;
|
|
489
485
|
transition: color 150ms ease, background-color 150ms ease;
|
|
490
486
|
|
|
491
487
|
&:hover {
|
|
@@ -516,11 +512,8 @@
|
|
|
516
512
|
min-width: 180px;
|
|
517
513
|
background: var(--vi-tabs-surface-primary, #{tokens.$layer-01});
|
|
518
514
|
border: 1px solid var(--vi-tabs-border-color, #{tokens.$color-border});
|
|
519
|
-
border-radius: 8px;
|
|
520
|
-
box-shadow:
|
|
521
|
-
0 4px 6px -1px rgba(0, 0, 0, 0.10),
|
|
522
|
-
0 2px 4px -1px rgba(0, 0, 0, 0.06),
|
|
523
|
-
0 0 0 1px rgba(0, 0, 0, 0.04);
|
|
515
|
+
border-radius: #{func.to-rem(8px)};
|
|
516
|
+
box-shadow: #{tokens.$shadow-md};
|
|
524
517
|
padding: var(--vi-tabs-spacing-xs, 4px);
|
|
525
518
|
animation: vi-menu-appear 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
526
519
|
transform-origin: top right;
|
|
@@ -538,10 +531,10 @@
|
|
|
538
531
|
width: 100%;
|
|
539
532
|
padding: var(--vi-tabs-spacing-md-lg, 8px 12px);
|
|
540
533
|
border: none;
|
|
541
|
-
border-radius: 6px;
|
|
534
|
+
border-radius: #{func.to-rem(6px)};
|
|
542
535
|
background: transparent;
|
|
543
536
|
font-family: inherit;
|
|
544
|
-
font-size: 13.5px;
|
|
537
|
+
font-size: #{func.to-rem(13.5px)};
|
|
545
538
|
font-weight: 500;
|
|
546
539
|
color: var(--vi-tabs-text-secondary, #{tokens.$text-secondary});
|
|
547
540
|
cursor: pointer;
|
package/components/_tag.scss
CHANGED
|
@@ -1,52 +1,35 @@
|
|
|
1
1
|
@use '../styles/variables' as tokens;
|
|
2
|
+
@use '../styles/functions' as func;
|
|
2
3
|
|
|
3
4
|
@layer components {
|
|
4
|
-
:host,
|
|
5
|
-
:root {
|
|
6
|
-
--vi-tag-height: 24px;
|
|
7
|
-
--vi-tag-padding-x: 10px;
|
|
8
|
-
--vi-tag-border-radius: 4px;
|
|
9
|
-
--vi-tag-font-size: var(--vi-font-size-xs, #{tokens.$font-size-xs});
|
|
10
|
-
--vi-tag-font-weight: var(--vi-font-weight-medium, #{tokens.$font-weight-medium});
|
|
11
|
-
--vi-tag-gap: 6px;
|
|
12
|
-
--vi-tag-remove-size: 16px;
|
|
13
|
-
--vi-tag-dot-size: 6px;
|
|
14
|
-
--vi-tag-avatar-size: 14px;
|
|
15
|
-
--vi-tag-icon-size: 14px;
|
|
16
|
-
--vi-tag-transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
17
|
-
--vi-tag-disabled-opacity: 0.5;
|
|
18
|
-
--vi-tag-max-width: 100%;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
5
|
.tag {
|
|
22
6
|
display: inline-flex;
|
|
23
7
|
align-items: center;
|
|
24
8
|
justify-content: center;
|
|
25
9
|
box-sizing: border-box;
|
|
26
|
-
height: var(--vi-tag-height);
|
|
27
|
-
padding-inline: var(--vi-tag-padding-x);
|
|
28
|
-
border-radius: var(--vi-tag-border-radius);
|
|
10
|
+
height: var(--vi-tag-height, #{func.to-rem(22px)});
|
|
11
|
+
padding-inline: var(--vi-tag-padding-x, #{func.to-rem(7px)});
|
|
12
|
+
border-radius: var(--vi-tag-border-radius, #{func.to-rem(4px)});
|
|
29
13
|
font-family: #{tokens.$font-family-base};
|
|
30
|
-
font-size: var(--vi-tag-font-size);
|
|
31
|
-
font-weight: var(--vi-tag-font-weight);
|
|
14
|
+
font-size: var(--vi-tag-font-size, var(--vi-font-size-xs, #{tokens.$font-size-xs}));
|
|
15
|
+
font-weight: var(--vi-tag-font-weight, var(--vi-font-weight-medium, #{tokens.$font-weight-medium}));
|
|
32
16
|
line-height: 1;
|
|
33
|
-
gap: var(--vi-tag-gap);
|
|
34
|
-
transition: var(--vi-tag-transition);
|
|
17
|
+
gap: var(--vi-tag-gap, #{func.to-rem(6px)});
|
|
18
|
+
transition: var(--vi-tag-transition, all 150ms cubic-bezier(0.4, 0, 0.2, 1));
|
|
35
19
|
user-select: none;
|
|
36
20
|
border: #{tokens.$border-width-thin} solid transparent;
|
|
37
21
|
cursor: default;
|
|
38
|
-
max-width: var(--vi-tag-max-width);
|
|
22
|
+
max-width: var(--vi-tag-max-width, 100%);
|
|
39
23
|
vertical-align: middle;
|
|
40
24
|
position: relative;
|
|
41
25
|
|
|
42
26
|
// ── Pill shape modifier ──────────────────────────────────────────────────
|
|
43
27
|
&.tag--pill {
|
|
44
|
-
border-radius:
|
|
28
|
+
border-radius: #{tokens.$border-radius-full};
|
|
45
29
|
}
|
|
46
30
|
|
|
47
|
-
// ── Removable padding adjustment ──────────────────────────────────────────
|
|
48
31
|
&.tag--removable {
|
|
49
|
-
padding-inline-end: calc(var(--vi-tag-padding-x) - 4px);
|
|
32
|
+
padding-inline-end: calc(var(--vi-tag-padding-x, #{func.to-rem(7px)}) - 4px);
|
|
50
33
|
}
|
|
51
34
|
|
|
52
35
|
// ── Content wrapper & optical vertical alignment ─────────────────────────
|
|
@@ -54,7 +37,7 @@
|
|
|
54
37
|
display: inline-flex;
|
|
55
38
|
align-items: center;
|
|
56
39
|
justify-content: center;
|
|
57
|
-
gap: var(--vi-tag-gap);
|
|
40
|
+
gap: var(--vi-tag-gap, #{func.to-rem(6px)});
|
|
58
41
|
min-width: 0;
|
|
59
42
|
flex: 1 1 auto;
|
|
60
43
|
height: 100%;
|
|
@@ -84,8 +67,8 @@
|
|
|
84
67
|
}
|
|
85
68
|
|
|
86
69
|
.tag-avatar ::slotted(*) {
|
|
87
|
-
width: var(--vi-tag-avatar-size, calc(var(--vi-tag-height) - 10px));
|
|
88
|
-
height: var(--vi-tag-avatar-size, calc(var(--vi-tag-height) - 10px));
|
|
70
|
+
width: var(--vi-tag-avatar-size, calc(var(--vi-tag-height, #{func.to-rem(22px)}) - 10px));
|
|
71
|
+
height: var(--vi-tag-avatar-size, calc(var(--vi-tag-height, #{func.to-rem(22px)}) - 10px));
|
|
89
72
|
border-radius: 50%;
|
|
90
73
|
object-fit: cover;
|
|
91
74
|
display: block;
|
|
@@ -94,8 +77,8 @@
|
|
|
94
77
|
// ── Status Dot indicator ────────────────────────────────────────────────
|
|
95
78
|
.tag-dot {
|
|
96
79
|
display: inline-block;
|
|
97
|
-
width: var(--vi-tag-dot-size);
|
|
98
|
-
height: var(--vi-tag-dot-size);
|
|
80
|
+
width: var(--vi-tag-dot-size, #{func.to-rem(6px)});
|
|
81
|
+
height: var(--vi-tag-dot-size, #{func.to-rem(6px)});
|
|
99
82
|
border-radius: 50%;
|
|
100
83
|
background-color: currentColor;
|
|
101
84
|
flex-shrink: 0;
|
|
@@ -107,11 +90,11 @@
|
|
|
107
90
|
align-items: center;
|
|
108
91
|
justify-content: center;
|
|
109
92
|
padding-inline: 5px;
|
|
110
|
-
height: calc(var(--vi-tag-height) - 10px);
|
|
111
|
-
min-width: calc(var(--vi-tag-height) - 10px);
|
|
112
|
-
font-size: 10px;
|
|
93
|
+
height: calc(var(--vi-tag-height, #{func.to-rem(22px)}) - 10px);
|
|
94
|
+
min-width: calc(var(--vi-tag-height, #{func.to-rem(22px)}) - 10px);
|
|
95
|
+
font-size: #{func.to-rem(10px)};
|
|
113
96
|
font-weight: #{tokens.$font-weight-semibold};
|
|
114
|
-
border-radius:
|
|
97
|
+
border-radius: #{tokens.$border-radius-full};
|
|
115
98
|
background-color: rgba(0, 0, 0, 0.08);
|
|
116
99
|
color: inherit;
|
|
117
100
|
line-height: 1;
|
|
@@ -311,7 +294,7 @@
|
|
|
311
294
|
// ────────────────────────────────────────────────────────────────────────
|
|
312
295
|
&.appearance-solid {
|
|
313
296
|
border-color: transparent;
|
|
314
|
-
box-shadow:
|
|
297
|
+
box-shadow: #{tokens.$shadow-sm};
|
|
315
298
|
|
|
316
299
|
&.variant-neutral {
|
|
317
300
|
background-color: var(--vi-tag-solid-neutral-bg, #{tokens.$border-inverse-03});
|
|
@@ -375,41 +358,41 @@
|
|
|
375
358
|
// SIZES
|
|
376
359
|
// ────────────────────────────────────────────────────────────────────────
|
|
377
360
|
&.size-xs {
|
|
378
|
-
--vi-tag-height: 18px;
|
|
379
|
-
--vi-tag-font-size: 10px;
|
|
380
|
-
--vi-tag-padding-x: 6px;
|
|
381
|
-
--vi-tag-gap: 4px;
|
|
382
|
-
--vi-tag-remove-size: 12px;
|
|
383
|
-
--vi-tag-dot-size: 4px;
|
|
384
|
-
--vi-tag-avatar-size: 10px;
|
|
385
|
-
--vi-tag-icon-size: 10px;
|
|
361
|
+
--vi-tag-height: #{func.to-rem(18px)};
|
|
362
|
+
--vi-tag-font-size: #{func.to-rem(10px)};
|
|
363
|
+
--vi-tag-padding-x: #{func.to-rem(6px)};
|
|
364
|
+
--vi-tag-gap: #{func.to-rem(4px)};
|
|
365
|
+
--vi-tag-remove-size: #{func.to-rem(12px)};
|
|
366
|
+
--vi-tag-dot-size: #{func.to-rem(4px)};
|
|
367
|
+
--vi-tag-avatar-size: #{func.to-rem(10px)};
|
|
368
|
+
--vi-tag-icon-size: #{func.to-rem(10px)};
|
|
386
369
|
}
|
|
387
370
|
|
|
388
371
|
&.size-sm {
|
|
389
|
-
--vi-tag-height: 20px;
|
|
390
|
-
--vi-tag-font-size: 11px;
|
|
391
|
-
--vi-tag-padding-x: 8px;
|
|
392
|
-
--vi-tag-gap: 5px;
|
|
393
|
-
--vi-tag-remove-size: 14px;
|
|
394
|
-
--vi-tag-dot-size: 5px;
|
|
395
|
-
--vi-tag-avatar-size: 12px;
|
|
396
|
-
--vi-tag-icon-size: 12px;
|
|
372
|
+
--vi-tag-height: #{func.to-rem(20px)};
|
|
373
|
+
--vi-tag-font-size: #{func.to-rem(11px)};
|
|
374
|
+
--vi-tag-padding-x: #{func.to-rem(8px)};
|
|
375
|
+
--vi-tag-gap: #{func.to-rem(5px)};
|
|
376
|
+
--vi-tag-remove-size: #{func.to-rem(14px)};
|
|
377
|
+
--vi-tag-dot-size: #{func.to-rem(5px)};
|
|
378
|
+
--vi-tag-avatar-size: #{func.to-rem(12px)};
|
|
379
|
+
--vi-tag-icon-size: #{func.to-rem(12px)};
|
|
397
380
|
}
|
|
398
381
|
|
|
399
382
|
&.size-lg {
|
|
400
|
-
--vi-tag-height: 28px;
|
|
401
|
-
--vi-tag-font-size: 13px;
|
|
402
|
-
--vi-tag-padding-x: 12px;
|
|
403
|
-
--vi-tag-gap: 8px;
|
|
404
|
-
--vi-tag-remove-size: 18px;
|
|
405
|
-
--vi-tag-dot-size: 7px;
|
|
406
|
-
--vi-tag-avatar-size: 18px;
|
|
407
|
-
--vi-tag-icon-size: 16px;
|
|
383
|
+
--vi-tag-height: #{func.to-rem(28px)};
|
|
384
|
+
--vi-tag-font-size: #{func.to-rem(13px)};
|
|
385
|
+
--vi-tag-padding-x: #{func.to-rem(12px)};
|
|
386
|
+
--vi-tag-gap: #{func.to-rem(8px)};
|
|
387
|
+
--vi-tag-remove-size: #{func.to-rem(18px)};
|
|
388
|
+
--vi-tag-dot-size: #{func.to-rem(7px)};
|
|
389
|
+
--vi-tag-avatar-size: #{func.to-rem(18px)};
|
|
390
|
+
--vi-tag-icon-size: #{func.to-rem(16px)};
|
|
408
391
|
}
|
|
409
392
|
|
|
410
393
|
// ── Disabled state ───────────────────────────────────────────────────────
|
|
411
394
|
&.is-disabled {
|
|
412
|
-
opacity: var(--vi-tag-disabled-opacity);
|
|
395
|
+
opacity: var(--vi-tag-disabled-opacity, 0.5);
|
|
413
396
|
pointer-events: none;
|
|
414
397
|
cursor: not-allowed;
|
|
415
398
|
box-shadow: none !important;
|
|
@@ -422,9 +405,9 @@
|
|
|
422
405
|
display: inline-flex;
|
|
423
406
|
align-items: center;
|
|
424
407
|
justify-content: center;
|
|
425
|
-
width: var(--vi-tag-remove-size);
|
|
426
|
-
height: var(--vi-tag-remove-size);
|
|
427
|
-
min-width: var(--vi-tag-remove-size);
|
|
408
|
+
width: var(--vi-tag-remove-size, #{func.to-rem(16px)});
|
|
409
|
+
height: var(--vi-tag-remove-size, #{func.to-rem(16px)});
|
|
410
|
+
min-width: var(--vi-tag-remove-size, #{func.to-rem(16px)});
|
|
428
411
|
padding: 0;
|
|
429
412
|
border-radius: 50%;
|
|
430
413
|
margin-inline-start: 2px;
|
|
@@ -433,7 +416,7 @@
|
|
|
433
416
|
background: transparent;
|
|
434
417
|
border: none;
|
|
435
418
|
color: inherit;
|
|
436
|
-
transition: var(--vi-tag-transition);
|
|
419
|
+
transition: var(--vi-tag-transition, all 150ms cubic-bezier(0.4, 0, 0.2, 1));
|
|
437
420
|
flex-shrink: 0;
|
|
438
421
|
line-height: 1;
|
|
439
422
|
|
package/components/_tooltip.scss
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
@use '../styles/variables' as tokens;
|
|
2
2
|
|
|
3
|
-
$vi-tooltip-background: var(--vi-tooltip-background, tokens.$layer-inverse);
|
|
4
|
-
$vi-tooltip-color: var(--vi-tooltip-color, tokens.$text-primary-inverse);
|
|
5
|
-
$vi-tooltip-font-size: var(--vi-tooltip-font-size,
|
|
6
|
-
$vi-tooltip-border-radius: var(--vi-tooltip-border-radius,
|
|
7
|
-
$
|
|
3
|
+
$vi-tooltip-background: var(--vi-tooltip-background, #{tokens.$layer-inverse});
|
|
4
|
+
$vi-tooltip-color: var(--vi-tooltip-color, #{tokens.$text-primary-inverse});
|
|
5
|
+
$vi-tooltip-font-size: var(--vi-tooltip-font-size, #{tokens.$font-size-xs});
|
|
6
|
+
$vi-tooltip-border-radius: var(--vi-tooltip-border-radius, #{tokens.$border-radius-sm});
|
|
7
|
+
// Padding: 6px vertical is between $spacing-unit (4px) and $spacing-xs (8px); kept as-is for visual compactness
|
|
8
|
+
$vi-tooltip-padding: var(--vi-tooltip-padding, #{tokens.$spacing-unit} #{tokens.$spacing-xs});
|
|
8
9
|
$vi-tooltip-max-width: var(--vi-tooltip-max-width, 240px);
|
|
10
|
+
// Arrow size 6px is not on the standard grid; kept explicit as it is a geometric value
|
|
9
11
|
$vi-tooltip-arrow-size: var(--vi-tooltip-arrow-size, 6px);
|
|
10
|
-
$vi-tooltip-z-index: var(--vi-tooltip-z-index, tokens.$tooltip-z-index);
|
|
11
|
-
$vi-tooltip-shadow: var(--vi-tooltip-shadow, tokens.$shadow-md);
|
|
12
|
+
$vi-tooltip-z-index: var(--vi-tooltip-z-index, #{tokens.$tooltip-z-index});
|
|
13
|
+
$vi-tooltip-shadow: var(--vi-tooltip-shadow, #{tokens.$shadow-md});
|
|
12
14
|
|
|
13
15
|
.tooltip-panel {
|
|
14
16
|
position: fixed;
|
|
@@ -22,7 +24,7 @@ $vi-tooltip-shadow: var(--vi-tooltip-shadow, tokens.$shadow-md);
|
|
|
22
24
|
background: transparent;
|
|
23
25
|
padding: 0;
|
|
24
26
|
overflow: visible;
|
|
25
|
-
font-family: tokens.$font-family-base;
|
|
27
|
+
font-family: var(--vi-tooltip-font-family, #{tokens.$font-family-base});
|
|
26
28
|
|
|
27
29
|
&[popover]:popover-open {
|
|
28
30
|
display: block;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward 'progress';
|