Skip to content

Commit 7b67bff

Browse files
author
Melissa Thompson
authored
fix(button): pending state width, transition (#2570)
1 parent e8928a3 commit 7b67bff

File tree

6 files changed

+545
-38
lines changed

6 files changed

+545
-38
lines changed

components/button/index.css

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ governing permissions and limitations under the License.
2424
--spectrum-button-focus-ring-thickness: var(--spectrum-focus-indicator-thickness);
2525
--spectrum-button-focus-indicator-color: var(--spectrum-focus-indicator-color);
2626
--spectrum-button-intended-icon-size: var(--spectrum-workflow-icon-size-50);
27+
28+
--mod-progress-circle-position: absolute;
2729
}
2830

2931
.spectrum-Button--sizeS {
@@ -60,11 +62,6 @@ governing permissions and limitations under the License.
6062
--spectrum-button-bottom-to-text: var(--spectrum-button-bottom-to-text-medium);
6163
--spectrum-button-top-to-icon: var(--spectrum-component-top-to-workflow-icon-100);
6264
--spectrum-button-intended-icon-size: var(--spectrum-workflow-icon-size-100);
63-
64-
&[pending],
65-
&.is-pending {
66-
--mod-button-edge-to-visual-only: calc(1px + var(--spectrum-button-edge-to-visual-only));
67-
}
6865
}
6966

7067
.spectrum-Button--sizeL {
@@ -83,11 +80,6 @@ governing permissions and limitations under the License.
8380
--spectrum-button-bottom-to-text: var(--spectrum-button-bottom-to-text-large);
8481
--spectrum-button-top-to-icon: var(--spectrum-component-top-to-workflow-icon-200);
8582
--spectrum-button-intended-icon-size: var(--spectrum-workflow-icon-size-200);
86-
87-
&[pending],
88-
&.is-pending {
89-
--mod-button-edge-to-visual-only: calc(2px + var(--spectrum-button-edge-to-visual-only));
90-
}
9183
}
9284

9385
.spectrum-Button--sizeXL {
@@ -106,16 +98,6 @@ governing permissions and limitations under the License.
10698
--spectrum-button-bottom-to-text: var(--spectrum-button-bottom-to-text-extra-large);
10799
--spectrum-button-top-to-icon: var(--spectrum-component-top-to-workflow-icon-300);
108100
--spectrum-button-intended-icon-size: var(--spectrum-workflow-icon-size-300);
109-
110-
.spectrum--medium &[pending],
111-
.spectrum--medium &.is-pending {
112-
--mod-button-edge-to-visual-only: calc(3px + var(--spectrum-button-edge-to-visual-only));
113-
}
114-
115-
.spectrum--large &[pending],
116-
.spectrum--large &.is-pending {
117-
--mod-button-edge-to-visual-only: calc(4px + var(--spectrum-button-edge-to-visual-only));
118-
}
119101
}
120102

121103
.spectrum-Button {
@@ -151,13 +133,13 @@ governing permissions and limitations under the License.
151133
/* Any block-size difference between the intended workflow icon size and actual icon used.
152134
Helps support any existing use of smaller UI icons instead of intended Workflow icons. */
153135
--_icon-size-difference: max(0px,
154-
var(--spectrum-button-intended-icon-size) -
136+
var(--spectrum-button-intended-icon-size) -
155137
var(--spectrum-icon-block-size, var(--spectrum-button-intended-icon-size))
156138
);
157139

158140
margin-block-start: var(--mod-button-icon-margin-block-start,
159141
max(0px,
160-
var(--mod-button-top-to-icon, var(--spectrum-button-top-to-icon)) -
142+
var(--mod-button-top-to-icon, var(--spectrum-button-top-to-icon)) -
161143
var(--mod-button-border-width, var(--spectrum-button-border-width)) +
162144
(var(--_icon-size-difference, 0px) / 2)
163145
)
@@ -254,6 +236,9 @@ a.spectrum-Button {
254236
background-color: var(--highcontrast-button-background-color-default, var(--mod-button-background-color-default, var(--spectrum-button-background-color-default)));
255237
border-color: var(--highcontrast-button-border-color-default, var(--mod-button-border-color-default, var(--spectrum-button-border-color-default)));
256238
color: var(--highcontrast-button-content-color-default, var(--mod-button-content-color-default, var(--spectrum-button-content-color-default)));
239+
transition: border var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear,
240+
color var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear,
241+
background-color var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) linear;
257242

258243
&:hover {
259244
background-color: var(--highcontrast-button-background-color-hover, var(--mod-button-background-color-hover, var(--spectrum-button-background-color-hover)));
@@ -282,13 +267,36 @@ a.spectrum-Button {
282267
color: var(--highcontrast-button-content-color-disabled, var(--mod-button-content-color-disabled, var(--spectrum-button-content-color-disabled)));
283268
}
284269

270+
.spectrum-Icon,
271+
.spectrum-Button-label {
272+
visibility: visible;
273+
opacity: 100%;
274+
transition: opacity var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) ease-in-out;
275+
}
276+
277+
.spectrum-ProgressCircle {
278+
visibility: hidden;
279+
opacity: 0%;
280+
transition: opacity var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) ease-in-out,
281+
visibility 0ms linear var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms));
282+
}
283+
285284
&[pending],
286285
&.is-pending {
287286
cursor: default;
288287

289288
.spectrum-Icon,
290289
.spectrum-Button-label {
291-
display: none;
290+
visibility: hidden;
291+
opacity: 0%;
292+
transition: opacity var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) ease-in-out,
293+
visibility 0ms linear var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms));
294+
}
295+
296+
.spectrum-ProgressCircle {
297+
visibility: visible;
298+
opacity: 100%;
299+
transition: opacity var(--mod-button-animation-duration, var(--spectrum-button-animation-duration, 130ms)) ease-in-out;
292300
}
293301
}
294302
}

0 commit comments

Comments
 (0)