Skip to content

Commit 8eb0724

Browse files
committed
Animation improvement
1 parent ec14810 commit 8eb0724

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

css/components/tooltip.css

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@
1717
padding: 0;
1818
overflow: hidden;
1919
border-radius: var(--radius-md);
20-
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
20+
box-shadow: var(--shadow-md);
2121
font-size: clamp(0.75rem, 1vw, 0.875rem);
2222
line-height: 1.2;
2323
opacity: 0;
24-
transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.3s ease;
24+
transform: scale(0.95);
25+
transition: opacity 0.25s ease, transform 0.25s ease, max-height 0.25s ease, padding 0.25s ease;
2526
pointer-events: none;
2627
width: max-content;
27-
z-index: 1000;
28+
z-index: var(--z-50);
2829
display: flex;
2930
align-items: center;
3031
justify-content: center;
@@ -36,7 +37,7 @@
3637
.tooltip:focus .tooltip-text {
3738
opacity: 1;
3839
max-height: 200px;
39-
padding: clamp(0.25rem, 1vw, 0.5rem) clamp(0.5rem, 2vw, 1rem);
40+
padding: clamp(var(--space-1), 1vw, var(--space-2)) clamp(var(--space-2), 2vw, var(--space-4));
4041
overflow: visible;
4142
}
4243

@@ -51,7 +52,7 @@
5152

5253
/* Position Variants */
5354
[data-position="top"] .tooltip-text {
54-
bottom: calc(100% + 0.5rem);
55+
bottom: calc(100% + var(--space-2));
5556
left: 50%;
5657
transform: translateX(-50%);
5758
}
@@ -65,7 +66,7 @@
6566

6667
[data-position="right"] .tooltip-text {
6768
top: 50%;
68-
left: calc(100% + 0.5rem);
69+
left: calc(100% + var(--space-2));
6970
transform: translateY(-50%);
7071
}
7172
[data-position="right"] .tooltip-text::after {
@@ -77,7 +78,7 @@
7778
}
7879

7980
[data-position="bottom"] .tooltip-text {
80-
top: calc(100% + 0.5rem);
81+
top: calc(100% + var(--space-2));
8182
left: 50%;
8283
transform: translateX(-50%);
8384
}
@@ -91,7 +92,7 @@
9192

9293
[data-position="left"] .tooltip-text {
9394
top: 50%;
94-
right: calc(100% + 0.5rem);
95+
right: calc(100% + var(--space-2));
9596
transform: translateY(-50%);
9697
}
9798
[data-position="left"] .tooltip-text::after {
@@ -104,35 +105,41 @@
104105

105106
/* Color Variants */
106107
[data-variant="primary"] .tooltip-text {
107-
background-color: var(--primary);
108-
color: white;
108+
background-color: var(--primary-bg);
109+
color: var(--primary-text);
109110
}
110111
[data-variant="secondary"] .tooltip-text {
111-
background-color: var(--secondary);
112-
color: white;
112+
background-color: var(--secondary-bg);
113+
color: var(--secondary-text);
113114
}
114115
[data-variant="success"] .tooltip-text {
115-
background-color: var(--success);
116-
color: white;
116+
background-color: var(--success-bg);
117+
color: var(--success-text);
117118
}
118119
[data-variant="danger"] .tooltip-text {
119-
background-color: var(--danger);
120-
color: white;
120+
background-color: var(--danger-bg);
121+
color: var(--danger-text);
121122
}
122123
[data-variant="warning"] .tooltip-text {
123-
background-color: var(--warning);
124-
color: var(--neutral-900);
124+
background-color: var(--warning-bg);
125+
color: var(--warning-text);
125126
}
126127
[data-variant="info"] .tooltip-text {
127-
background-color: var(--info);
128-
color: white;
128+
background-color: var(--info-bg);
129+
color: var(--info-text);
129130
}
130131

131132
/* Accessibility Improvements */
132133
.tooltip:focus .tooltip-text,
133134
.tooltip:active .tooltip-text {
134135
opacity: 1;
135136
max-height: 200px;
136-
padding: clamp(0.25rem, 1vw, 0.5rem) clamp(0.5rem, 2vw, 1rem);
137+
padding: clamp(var(--space-1), 1vw, var(--space-2)) clamp(var(--space-2), 2vw, var(--space-4));
138+
transform: scale(1);
137139
overflow: visible;
138140
}
141+
142+
/* Smooth Fade Out */
143+
.tooltip .tooltip-text {
144+
will-change: opacity, transform;
145+
}

0 commit comments

Comments
 (0)