Skip to content

Commit 7ac2952

Browse files
authored
chore(picker): remove quiet variant (#4129)
1 parent 7061eee commit 7ac2952

File tree

6 files changed

+25
-150
lines changed

6 files changed

+25
-150
lines changed

.changeset/grumpy-ghosts-serve.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
"@spectrum-css/picker": major
3+
---
4+
5+
#### Picker: remove quiet variant
6+
7+
This removes the quiet variant for the picker component based on design feedback. Prior to this change, there was an odd state where the quiet picker scaled with the foundations down state applied.
8+
9+
##### Removed mods
10+
11+
`--mod-picker-background-color-disabled`
12+
13+
**Additionally:** all of the quiet variant mods have been removed.
14+
15+
`--mod-picker-inline-size-quiet`
16+
`--mod-picker-min-inline-size-quiet`
17+
`--mod-picker-spacing-edge-to-disclosure-icon-quiet`
18+
`--mod-picker-spacing-edge-to-text-quiet`
19+
`--mod-picker-spacing-label-to-picker-quiet`

components/picker/dist/metadata.json

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,6 @@
55
".spectrum-Picker .spectrum-Picker-icon",
66
".spectrum-Picker .spectrum-Picker-label",
77
".spectrum-Picker .spectrum-ProgressCircle",
8-
".spectrum-Picker--quiet",
9-
".spectrum-Picker--quiet .spectrum-Picker-button",
10-
".spectrum-Picker--quiet .spectrum-Picker-button.is-keyboardFocused:after",
11-
".spectrum-Picker--quiet .spectrum-Picker-button:after",
12-
".spectrum-Picker--quiet .spectrum-Picker-button:focus-visible:after",
13-
".spectrum-Picker--quiet.spectrum-Picker--sideLabel",
14-
".spectrum-Picker--quiet.spectrum-Picker--sideLabel .spectrum-Picker-button",
158
".spectrum-Picker--sideLabel",
169
".spectrum-Picker--sizeL",
1710
".spectrum-Picker--sizeS",
@@ -22,7 +15,6 @@
2215
".spectrum-Picker-button.is-disabled .spectrum-Picker-label.is-placeholder",
2316
".spectrum-Picker-button.is-disabled .spectrum-Picker-menuIcon",
2417
".spectrum-Picker-button.is-disabled .spectrum-Picker-validationIcon",
25-
".spectrum-Picker-button.is-disabled:not(.spectrum-Picker--quiet)",
2618
".spectrum-Picker-button.is-invalid.is-keyboardFocused:not(:disabled, .is-disabled)",
2719
".spectrum-Picker-button.is-invalid.is-open:not(:disabled, .is-disabled)",
2820
".spectrum-Picker-button.is-invalid.is-open:not(:disabled, .is-disabled):hover",
@@ -35,10 +27,10 @@
3527
".spectrum-Picker-button.is-keyboardFocused .spectrum-Picker-label.is-placeholder",
3628
".spectrum-Picker-button.is-keyboardFocused .spectrum-Picker-menuIcon",
3729
".spectrum-Picker-button.is-keyboardFocused:after",
38-
".spectrum-Picker-button.is-open:not(.spectrum-Picker--quiet, :disabled, .is-disabled, .is-loading)",
39-
".spectrum-Picker-button.is-open:not(.spectrum-Picker--quiet, :disabled, .is-disabled, .is-loading) .spectrum-Picker-menuIcon",
40-
".spectrum-Picker-button.is-open:not(.spectrum-Picker--quiet, :disabled, .is-disabled, .is-loading):hover",
41-
".spectrum-Picker-button.is-open:not(.spectrum-Picker--quiet, :disabled, .is-disabled, .is-loading):hover .spectrum-Picker-menuIcon",
30+
".spectrum-Picker-button.is-open:not(:disabled, .is-disabled, .is-loading)",
31+
".spectrum-Picker-button.is-open:not(:disabled, .is-disabled, .is-loading) .spectrum-Picker-menuIcon",
32+
".spectrum-Picker-button.is-open:not(:disabled, .is-disabled, .is-loading):hover",
33+
".spectrum-Picker-button.is-open:not(:disabled, .is-disabled, .is-loading):hover .spectrum-Picker-menuIcon",
4234
".spectrum-Picker-button::-moz-focus-inner",
4335
".spectrum-Picker-button:active",
4436
".spectrum-Picker-button:active .spectrum-Picker-label.is-placeholder",
@@ -48,7 +40,6 @@
4840
".spectrum-Picker-button:disabled .spectrum-Picker-label.is-placeholder",
4941
".spectrum-Picker-button:disabled .spectrum-Picker-menuIcon",
5042
".spectrum-Picker-button:disabled .spectrum-Picker-validationIcon",
51-
".spectrum-Picker-button:disabled:not(.spectrum-Picker--quiet)",
5243
".spectrum-Picker-button:focus",
5344
".spectrum-Picker-button:focus-visible",
5445
".spectrum-Picker-button:focus-visible .spectrum-Picker-label.is-placeholder",
@@ -77,7 +68,6 @@
7768
"--mod-picker-background-color-active",
7869
"--mod-picker-background-color-default",
7970
"--mod-picker-background-color-default-open",
80-
"--mod-picker-background-color-disabled",
8171
"--mod-picker-background-color-hover",
8272
"--mod-picker-background-color-hover-open",
8373
"--mod-picker-background-color-key-focus",
@@ -117,21 +107,16 @@
117107
"--mod-picker-icon-color-hover-open",
118108
"--mod-picker-icon-color-key-focus",
119109
"--mod-picker-inline-size",
120-
"--mod-picker-inline-size-quiet",
121110
"--mod-picker-line-height",
122111
"--mod-picker-line-height-cjk",
123112
"--mod-picker-min-inline-size",
124-
"--mod-picker-min-inline-size-quiet",
125113
"--mod-picker-placeholder-font-style",
126114
"--mod-picker-placeholder-font-weight",
127115
"--mod-picker-spacing-bottom-to-text",
128116
"--mod-picker-spacing-edge-to-disclosure-icon",
129-
"--mod-picker-spacing-edge-to-disclosure-icon-quiet",
130117
"--mod-picker-spacing-edge-to-text",
131-
"--mod-picker-spacing-edge-to-text-quiet",
132118
"--mod-picker-spacing-icon-to-disclosure-icon",
133119
"--mod-picker-spacing-label-to-picker",
134-
"--mod-picker-spacing-label-to-picker-quiet",
135120
"--mod-picker-spacing-starting-icon-to-text",
136121
"--mod-picker-spacing-text-to-icon-inline-end",
137122
"--mod-picker-spacing-top-to-alert-icon",
@@ -163,7 +148,6 @@
163148
"--spectrum-picker-border-color-key-focus",
164149
"--spectrum-picker-border-radius",
165150
"--spectrum-picker-border-width",
166-
"--spectrum-picker-end-edge-to-disclousure-icon-quiet",
167151
"--spectrum-picker-focus-indicator-color",
168152
"--spectrum-picker-focus-indicator-gap",
169153
"--spectrum-picker-focus-indicator-thickness",
@@ -196,7 +180,6 @@
196180
"--spectrum-picker-spacing-edge-to-text",
197181
"--spectrum-picker-spacing-icon-to-disclosure-icon",
198182
"--spectrum-picker-spacing-label-to-picker",
199-
"--spectrum-picker-spacing-label-to-picker-quiet",
200183
"--spectrum-picker-spacing-starting-icon-to-text",
201184
"--spectrum-picker-spacing-text-to-icon-inline-end",
202185
"--spectrum-picker-spacing-top-to-alert-icon",
@@ -251,16 +234,11 @@
251234
"--spectrum-field-default-width-large",
252235
"--spectrum-field-default-width-medium",
253236
"--spectrum-field-default-width-small",
254-
"--spectrum-field-edge-to-text-quiet",
255237
"--spectrum-field-end-edge-to-disclosure-icon-100",
256238
"--spectrum-field-end-edge-to-disclosure-icon-200",
257239
"--spectrum-field-end-edge-to-disclosure-icon-300",
258240
"--spectrum-field-end-edge-to-disclosure-icon-75",
259241
"--spectrum-field-label-to-component",
260-
"--spectrum-field-label-to-component-quiet-extra-large",
261-
"--spectrum-field-label-to-component-quiet-large",
262-
"--spectrum-field-label-to-component-quiet-medium",
263-
"--spectrum-field-label-to-component-quiet-small",
264242
"--spectrum-field-top-to-disclosure-icon-100",
265243
"--spectrum-field-top-to-disclosure-icon-200",
266244
"--spectrum-field-top-to-disclosure-icon-300",

components/picker/index.css

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252

5353
/* Space from label component to Picker component. */
5454
--spectrum-picker-spacing-label-to-picker: var(--spectrum-field-label-to-component);
55-
--spectrum-picker-spacing-label-to-picker-quiet: var(--spectrum-field-label-to-component-quiet-medium);
5655

5756
/* Space from optional starting icon to the text. */
5857
--spectrum-picker-spacing-starting-icon-to-text: var(--spectrum-text-to-visual-100);
@@ -119,7 +118,6 @@
119118
--spectrum-picker-spacing-edge-to-text: var(--spectrum-component-edge-to-text-75);
120119
--spectrum-picker-spacing-starting-icon-to-text: var(--spectrum-text-to-visual-75);
121120
--spectrum-picker-spacing-text-to-icon-inline-end: var(--spectrum-text-to-visual-75);
122-
--spectrum-picker-spacing-label-to-picker-quiet: var(--spectrum-field-label-to-component-quiet-small);
123121
--spectrum-picker-spacing-icon-to-disclosure-icon: var(--spectrum-picker-visual-to-disclosure-icon-small);
124122
--spectrum-picker-spacing-top-to-alert-icon: var(--spectrum-component-top-to-workflow-icon-75);
125123
--spectrum-picker-spacing-top-to-progress-circle: var(--spectrum-field-top-to-progress-circle-small);
@@ -134,7 +132,6 @@
134132
--spectrum-picker-inline-size: var(--spectrum-field-default-width-large);
135133
--spectrum-picker-block-size: var(--spectrum-component-height-200);
136134
--spectrum-picker-border-radius: var(--spectrum-corner-radius-medium-size-large);
137-
--spectrum-picker-spacing-label-to-picker-quiet: var(--spectrum-field-label-to-component-quiet-large);
138135
--spectrum-picker-spacing-top-to-text: var(--spectrum-component-top-to-text-200);
139136
--spectrum-picker-spacing-bottom-to-text: var(--spectrum-component-bottom-to-text-200);
140137
--spectrum-picker-spacing-edge-to-text: var(--spectrum-component-edge-to-text-200);
@@ -154,7 +151,6 @@
154151
--spectrum-picker-inline-size: var(--spectrum-field-default-width-extra-large);
155152
--spectrum-picker-block-size: var(--spectrum-component-height-300);
156153
--spectrum-picker-border-radius: var(--spectrum-corner-radius-medium-size-extra-large);
157-
--spectrum-picker-spacing-label-to-picker-quiet: var(--spectrum-field-label-to-component-quiet-extra-large);
158154
--spectrum-picker-spacing-top-to-text: var(--spectrum-component-top-to-text-300);
159155
--spectrum-picker-spacing-bottom-to-text: var(--spectrum-component-bottom-to-text-300);
160156
--spectrum-picker-spacing-edge-to-text: var(--spectrum-component-edge-to-text-300);
@@ -169,26 +165,6 @@
169165
--spectrum-picker-popover-animation-distance: var(--spectrum-component-to-menu-extra-large);
170166
}
171167

172-
.spectrum-Picker--quiet {
173-
--spectrum-picker-background-color-default: transparent;
174-
--spectrum-picker-background-color-default-open: transparent;
175-
--spectrum-picker-background-color-hover: transparent;
176-
--spectrum-picker-background-color-hover-open: transparent;
177-
--spectrum-picker-background-color-active: transparent;
178-
--spectrum-picker-background-color-key-focus: transparent;
179-
--spectrum-picker-background-color-disabled: transparent;
180-
181-
--spectrum-picker-min-inline-size: var(--mod-picker-min-inline-size-quiet, 0);
182-
--spectrum-picker-inline-size: var(--mod-picker-inline-size-quiet, auto);
183-
--spectrum-picker-spacing-edge-to-text: var(--mod-picker-spacing-edge-to-text-quiet, var(--spectrum-field-edge-to-text-quiet));
184-
--spectrum-picker-spacing-edge-to-disclosure-icon: var(--mod-picker-spacing-edge-to-disclosure-icon-quiet, var(--spectrum-picker-end-edge-to-disclousure-icon-quiet));
185-
--spectrum-picker-spacing-label-to-picker: var(--mod-picker-spacing-label-to-picker-quiet, var(--spectrum-picker-spacing-label-to-picker-quiet));
186-
187-
&.spectrum-Picker--sideLabel .spectrum-Picker-button {
188-
margin-block-start: 0;
189-
}
190-
}
191-
192168
/* Note: .spectrum-Picker has been renamed to .spectrum-Picker-button. This selector now triggers the Popover component. */
193169
.spectrum-Picker-button {
194170
@extend %spectrum-BaseButton;
@@ -286,7 +262,7 @@
286262
}
287263
}
288264

289-
&.is-open:not(.spectrum-Picker--quiet, :disabled, .is-disabled, .is-loading) {
265+
&.is-open:not(:disabled, .is-disabled, .is-loading) {
290266
color: var(--highcontrast-picker-content-color-default, var(--mod-picker-font-color-default-open, var(--spectrum-picker-font-color-default-open)));
291267
background-color: var(--highcontrast-picker-background-color, var(--mod-picker-background-color-default-open, var(--spectrum-picker-background-color-default-open)));
292268
border-color: var(--highcontrast-picker-border-color-default, var(--mod-picker-border-default-open, var(--spectrum-picker-border-color-default-open)));
@@ -411,35 +387,6 @@
411387
flex-shrink: 0;
412388
}
413389

414-
.spectrum-Picker--quiet {
415-
&.spectrum-Picker--sideLabel {
416-
margin-block-start: 0;
417-
}
418-
419-
.spectrum-Picker-button {
420-
border: none;
421-
border-radius: 0;
422-
color: var(--highcontrast-picker-content-color-default, var(--mod-picker-font-color-default, var(--spectrum-picker-font-color-default)));
423-
424-
&::after {
425-
border: none;
426-
block-size: auto;
427-
inline-size: auto;
428-
}
429-
430-
&:focus-visible,
431-
&.is-keyboardFocused {
432-
/* Focus indicator changes from a ring to a line underneath. */
433-
&::after {
434-
border: none;
435-
border-radius: 0;
436-
border-block-end: var(--mod-picker-focus-indicator-thickness, var(--spectrum-picker-focus-indicator-thickness)) solid var(--highcontrast-picker-focus-indicator-color, var(--mod-picker-focus-indicator-color, var(--spectrum-picker-focus-indicator-color)));
437-
margin: calc((var(--mod-picker-focus-indicator-gap, var(--spectrum-picker-focus-indicator-gap)) + var(--mod-picker-border-width, var(--spectrum-picker-border-width))) * -1) 0;
438-
}
439-
}
440-
}
441-
}
442-
443390
.spectrum-Picker--sideLabel {
444391
display: inline-flex;
445392
vertical-align: top;
@@ -455,10 +402,6 @@
455402
border-color: var(--highcontrast-picker-border-color-disabled, transparent);
456403
color: var(--highcontrast-picker-content-color-disabled, var(--mod-picker-font-color-disabled, var(--spectrum-picker-font-color-disabled)));
457404

458-
&:not(.spectrum-Picker--quiet) {
459-
background-color: var(--highcontrast-picker-background-color, var(--mod-picker-background-color-disabled, var(--spectrum-picker-background-color-disabled)));
460-
}
461-
462405
.spectrum-Picker-icon,
463406
.spectrum-Picker-menuIcon,
464407
.spectrum-Picker-validationIcon {

components/picker/stories/picker.stories.js

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { default as IconStories } from "@spectrum-css/icon/stories/icon.stories.
22
import { WithDividers as MenuStories } from "@spectrum-css/menu/stories/menu.stories.js";
33
import { Sizes, withDownStateDimensionCapture } from "@spectrum-css/preview/decorators";
44
import { disableDefaultModes } from "@spectrum-css/preview/modes";
5-
import { isActive, isDisabled, isHovered, isInvalid, isKeyboardFocused, isLoading, isOpen, isQuiet, size } from "@spectrum-css/preview/types";
5+
import { isActive, isDisabled, isHovered, isInvalid, isKeyboardFocused, isLoading, isOpen, size } from "@spectrum-css/preview/types";
66
import metadata from "../dist/metadata.json";
77
import packageJson from "../package.json";
88
import { PickerGroup } from "./picker.test.js";
@@ -82,11 +82,6 @@ export default {
8282
category: "Advanced",
8383
},
8484
},
85-
isQuiet: {
86-
...isQuiet,
87-
description: "An alternative way to display the Picker without a visible background.",
88-
name: "Quiet styling",
89-
},
9085
helpText: {
9186
name: "Help text",
9287
description: "Optional help text that can be informational or an error message. Displays a separate help text component after the picker. For error messages, the invalid control must also be set to true.",
@@ -123,7 +118,6 @@ export default {
123118
currentValue: "",
124119
contentIconName: "Image",
125120
showWorkflowIcon: false,
126-
isQuiet: false,
127121
isKeyboardFocused: false,
128122
isLoading: false,
129123
isDisabled: false,
@@ -313,52 +307,6 @@ Loading.parameters = {
313307
chromatic: { disableSnapshot: true },
314308
};
315309

316-
/**
317-
* Quiet pickers have no visible background. This style works best when a clear layout (vertical stack, table, grid)
318-
* makes it easy to parse the buttons. Too many quiet components in a small space can be hard to read.
319-
*/
320-
export const Quiet = ClosedAndOpenTemplate.bind({});
321-
Quiet.tags = ["!dev"];
322-
Quiet.args = {
323-
isQuiet: true,
324-
};
325-
Quiet.parameters = {
326-
chromatic: { disableSnapshot: true },
327-
docs: {
328-
story: {
329-
height: "300px",
330-
}
331-
},
332-
};
333-
334-
export const QuietDisabled = DisabledTemplate.bind({});
335-
QuietDisabled.storyName = "Quiet and disabled";
336-
QuietDisabled.tags = ["!dev"];
337-
QuietDisabled.args = {
338-
isDisabled: true,
339-
isQuiet: true,
340-
};
341-
QuietDisabled.parameters = {
342-
chromatic: { disableSnapshot: true },
343-
};
344-
345-
export const QuietInvalid = ClosedAndOpenTemplate.bind({});
346-
QuietInvalid.storyName = "Quiet and invalid";
347-
QuietInvalid.tags = ["!dev"];
348-
QuietInvalid.args = {
349-
isInvalid: true,
350-
isQuiet: true,
351-
helpText: "Select a country.",
352-
};
353-
QuietInvalid.parameters = {
354-
chromatic: { disableSnapshot: true },
355-
docs: {
356-
story: {
357-
height: "300px",
358-
}
359-
},
360-
};
361-
362310
/**
363311
* The value and placeholder within the picker will truncate with an ellipsis when it is longer than the available horizontal space within the picker.
364312
* The full text of the option can be shown in the menu.

components/picker/stories/picker.test.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,10 @@ export const PickerGroup = Variants({
1616
testHeading: "Default, with value and text overflow",
1717
currentValue: "The selected value of the picker, with long text the triggers the overflow behavior with ellipsis",
1818
},
19-
{
20-
testHeading: "Quiet",
21-
isQuiet: true,
22-
},
2319
{
2420
testHeading: "Side label",
2521
labelPosition: "side",
2622
},
27-
{
28-
testHeading: "Side label, quiet",
29-
labelPosition: "side",
30-
isQuiet: true,
31-
},
3223
{
3324
testHeading: "Side label, alignment with switch",
3425
labelPosition: "side",

components/picker/stories/template.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ export const Template = ({
114114
currentValue,
115115
helpText,
116116
id = getRandomId("picker"),
117-
isQuiet = false,
118117
isOpen = false,
119118
isInvalid = false,
120119
isDisabled = false,
@@ -139,7 +138,6 @@ export const Template = ({
139138
const pickerMarkup = Picker({
140139
rootClass,
141140
size,
142-
isQuiet,
143141
currentValue,
144142
showWorkflowIcon,
145143
contentIconName,
@@ -160,7 +158,6 @@ export const Template = ({
160158
isOpen: isOpen && !isDisabled && !isLoading,
161159
withTip: false,
162160
position: "bottom-start",
163-
isQuiet,
164161
content: popoverContent,
165162
size,
166163
customStyles: customPopoverStyles,
@@ -186,7 +183,6 @@ export const Template = ({
186183
[rootClass]: true,
187184
[`${rootClass}--size${size?.toUpperCase()}`]:
188185
typeof size !== "undefined",
189-
[`${rootClass}--quiet`]: isQuiet,
190186
[`${rootClass}--sideLabel`]: labelPosition == "side",
191187
})}
192188
style=${styleMap({

0 commit comments

Comments
 (0)