Skip to content

Commit ba1219d

Browse files
authored
Improve appearance of tooltips and dropdowns (#10428)
2 parents ad73394 + 5060044 commit ba1219d

File tree

8 files changed

+45
-20
lines changed

8 files changed

+45
-20
lines changed

src/main/js/components/dropdowns/templates.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ function dropdown() {
1313
appendTo: document.body,
1414
offset: [0, 0],
1515
animation: "dropdown",
16+
duration: 250,
1617
onShow: (instance) => {
1718
const referenceParent = instance.reference.parentNode;
1819

src/main/js/components/tooltips/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const TOOLTIP_BASE = {
55
arrow: false,
66
theme: "tooltip",
77
animation: "tooltip",
8+
duration: 250,
89
};
910

1011
/**

src/main/scss/abstracts/_mixins.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@
9494

9595
&:not(:disabled) {
9696
&:hover,
97-
&:focus-visible {
97+
&:focus-visible,
98+
&[aria-describedby],
99+
&[aria-expanded="true"] {
98100
&::before {
99101
background-color: var(--item-background--hover);
100102
}

src/main/scss/abstracts/_theme.scss

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ $semantics: (
137137
--jenkins-border-width: 1.5px;
138138
--jenkins-border-color: color-mix(
139139
in sRGB,
140-
var(--text-color-secondary) 12%,
140+
var(--text-color-secondary) 15%,
141141
var(--card-background)
142142
);
143143
--jenkins-border-color--subtle: color-mix(
@@ -212,14 +212,14 @@ $semantics: (
212212
}
213213

214214
// Tooltips
215-
--tooltip-backdrop-filter: saturate(2) blur(20px);
215+
--tooltip-backdrop-filter: contrast(1.1) saturate(2) blur(20px);
216216
--tooltip-color: var(--text-color);
217217
--tooltip-box-shadow:
218218
0 0 8px 2px rgb(0 0 50 / 0.05), var(--jenkins-border--subtle-shadow),
219-
0 10px 50px rgb(0 0 20 / 0.1);
219+
0 10px 50px rgb(0 0 20 / 0.1), inset 0 -1px 2px rgb(255 255 255 / 0.025);
220220

221221
// Dropdowns
222-
--dropdown-backdrop-filter: saturate(1.5) blur(20px);
222+
--dropdown-backdrop-filter: contrast(1.1) saturate(2) blur(20px);
223223
--dropdown-box-shadow:
224224
var(--jenkins-border--subtle-shadow), 0 10px 30px rgb(0 0 20 / 0.1),
225225
0 2px 10px rgb(0 0 20 / 0.05), inset 0 -1px 2px rgb(255 255 255 / 0.025);
@@ -338,7 +338,7 @@ $semantics: (
338338
}
339339

340340
// Animations
341-
--standard-transition: 0.3s ease;
341+
--standard-transition: 0.25s ease;
342342
--elastic-transition: 0.3s cubic-bezier(0, 0.68, 0.5, 1.5);
343343

344344
// Plugin manager

src/main/scss/components/_buttons.scss

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,13 @@
6363
.jenkins-button--tertiary {
6464
--button-background: transparent !important;
6565

66-
&:not(:hover, &:active, &:focus) {
66+
&:not(
67+
:hover,
68+
&:active,
69+
&:focus,
70+
&[aria-describedby],
71+
&[aria-expanded="true"]
72+
) {
6773
&::before {
6874
border-color: transparent;
6975
}

src/main/scss/components/_dropdowns.scss

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $dropdown-padding: 0.375rem;
77
border-radius: $dropdown-border-radius;
88
box-shadow: var(--dropdown-box-shadow);
99
outline: none !important;
10-
background: color-mix(in sRGB, var(--background) 85%, transparent);
10+
background: color-mix(in sRGB, var(--card-background) 85%, transparent);
1111
backdrop-filter: var(--dropdown-backdrop-filter);
1212
max-width: unset !important;
1313
max-height: 75vh;
@@ -25,17 +25,30 @@ $dropdown-padding: 0.375rem;
2525
}
2626

2727
.tippy-box[data-animation="dropdown"][data-state="hidden"] {
28+
$translate: 5px;
29+
$scale: 0.99;
30+
2831
opacity: 0;
29-
transform: scale(0.975);
32+
transform: scale($scale);
3033

3134
&[data-placement^="top"] {
3235
transform-origin: bottom;
33-
transform: translateY(10px) scale(0.975);
36+
transform: translateY($translate) scale($scale);
3437
}
3538

3639
&[data-placement^="bottom"] {
3740
transform-origin: top;
38-
transform: translateY(-10px) scale(0.975);
41+
transform: translateY(-$translate) scale($scale);
42+
}
43+
44+
&[data-placement^="left"] {
45+
transform-origin: right;
46+
transform: translateX($translate) scale($scale);
47+
}
48+
49+
&[data-placement^="right"] {
50+
transform-origin: left;
51+
transform: translateX(-$translate) scale($scale);
3952
}
4053
}
4154

@@ -203,7 +216,7 @@ $dropdown-padding: 0.375rem;
203216
&__chevron {
204217
position: absolute;
205218
top: 0;
206-
right: 0.125rem;
219+
right: 0.1875rem;
207220
bottom: 0;
208221
background: var(--text-color-secondary);
209222
width: 1rem;

src/main/scss/components/_tooltips.scss

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
max-width: min(50vw, 1000px) !important;
99
white-space: pre-line;
1010
z-index: 0;
11-
background: color-mix(in sRGB, var(--background) 85%, transparent);
11+
background: color-mix(in sRGB, var(--card-background) 85%, transparent);
1212
backdrop-filter: var(--tooltip-backdrop-filter);
1313

1414
.tippy-content {
@@ -67,17 +67,20 @@
6767
}
6868

6969
.tippy-box[data-animation="tooltip"][data-state="hidden"] {
70+
$translate: 2px;
71+
$scale: 0.99;
72+
7073
opacity: 0;
71-
transform: scale(0.995);
74+
transform: scale($scale);
7275

7376
&[data-placement^="top"] {
7477
transform-origin: bottom;
75-
transform: translateY(2px) scale(0.995);
78+
transform: translateY($translate) scale($scale);
7679
}
7780

7881
&[data-placement^="bottom"] {
7982
transform-origin: top;
80-
transform: translateY(-2px) scale(0.995);
83+
transform: translateY(-$translate) scale($scale);
8184
}
8285
}
8386

@@ -100,9 +103,8 @@
100103
content: "";
101104
position: absolute;
102105
inset: 0;
103-
border-radius: 0.375rem;
104-
border: var(--jenkins-border-width) solid var(--text-color-secondary);
105-
opacity: 0.2;
106+
border-radius: 0.3rem;
107+
border: var(--jenkins-border-width) solid var(--input-border);
106108
}
107109

108110
svg {

src/main/scss/form/_search-bar.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@
210210
height: 1px; // Setting to 0 caused the items not to render initially in Chrome
211211
opacity: 0;
212212
transition: var(--standard-transition);
213-
background: color-mix(in sRGB, var(--background) 85%, transparent);
213+
background: color-mix(in sRGB, var(--card-background) 85%, transparent);
214214
backdrop-filter: var(--dropdown-backdrop-filter);
215215
visibility: collapse;
216216
scale: 95%;

0 commit comments

Comments
 (0)