Skip to content

Commit 8d541b1

Browse files
authored
feat(divider): remove modifiers from the API [SWC-1264] (#4285)
1 parent 95959e4 commit 8d541b1

File tree

5 files changed

+41
-56
lines changed

5 files changed

+41
-56
lines changed

.changeset/weak-colts-divide.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
"@spectrum-css/avatar": major
77
"@spectrum-css/badge": major
88
"@spectrum-css/breadcrumb": major
9+
"@spectrum-css/divider": major
910
"@spectrum-css/miller": major
10-
"@spectrum-css/well": major
1111
"@spectrum-css/page": major
12+
"@spectrum-css/well": major
1213
---
1314

1415
This update removes `--mod-*` custom property hooks per SWC-1264, see also the RFC for extensible styling. In addition, this update cleans up any component-level custom properties that did not rely on the CSS cascade to define the styles; this was done to reduce the number of custom properties that are defined at the component level and trim down the size of the CSS we are shipping to consumers.

components/combobox/dist/metadata.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
".spectrum-Combobox .spectrum-Combobox-content",
88
".spectrum-Combobox .spectrum-Combobox-label",
99
".spectrum-Combobox .spectrum-Combobox-popover",
10+
".spectrum-Combobox .spectrum-Divider",
1011
".spectrum-Combobox--sideLabel .spectrum-Combobox-content",
1112
".spectrum-Combobox--sideLabel .spectrum-Combobox-helptext",
1213
".spectrum-Combobox--sideLabel .spectrum-Combobox-label",
@@ -230,6 +231,7 @@
230231
"--spectrum-disabled-background-color",
231232
"--spectrum-disabled-border-color",
232233
"--spectrum-disabled-content-color",
234+
"--spectrum-divider-horizontal-minimum-width",
233235
"--spectrum-field-label-to-component",
234236
"--spectrum-field-top-to-progress-circle-extra-large",
235237
"--spectrum-field-top-to-progress-circle-large",
@@ -271,7 +273,6 @@
271273
"--spectrum-workflow-icon-size-75"
272274
],
273275
"passthroughs": [
274-
"--mod-divider-inline-minimum-size",
275276
"--mod-picker-button-background-color",
276277
"--mod-picker-button-background-color-disabled",
277278
"--mod-picker-button-border-color",

components/combobox/index.css

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,6 @@
120120
--spectrum-combobox-readonly-text-color-disabled: var(--spectrum-disabled-content-color);
121121
--spectrum-combobox-readonly-border-color-disabled: var(--spectrum-disabled-border-color);
122122
--spectrum-combobox-readonly-input-border-color: var(--spectrum-combobox-border-color-default);
123-
124-
/* @passthroughs start -- settings for nested divider component */
125-
--mod-divider-inline-minimum-size: auto;
126-
/* @passthroughs end -- settings for nested divider component */
127123
}
128124

129125
.spectrum-Combobox--sizeS {
@@ -189,6 +185,11 @@
189185
--mod-popover-animation-distance: var(--mod-combobox-popover-animation-distance);
190186
}
191187

188+
.spectrum-Divider {
189+
/* @passthroughs -- width for nested divider component */
190+
--spectrum-divider-horizontal-minimum-width: auto;
191+
}
192+
192193
&.is-readOnly {
193194
.spectrum-Combobox-textfield {
194195
&.is-keyboardFocused .spectrum-Combobox-input {

components/divider/dist/metadata.json

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,19 @@
22
"sourceFile": "index.css",
33
"selectors": [
44
".spectrum-Divider",
5-
".spectrum-Divider--sizeL",
6-
".spectrum-Divider--sizeS",
75
".spectrum-Divider--staticBlack",
8-
".spectrum-Divider--staticBlack.spectrum-Divider--sizeL",
6+
".spectrum-Divider--staticBlack:where(.spectrum-Divider--sizeL)",
97
".spectrum-Divider--staticWhite",
10-
".spectrum-Divider--staticWhite.spectrum-Divider--sizeL",
11-
".spectrum-Divider--vertical",
12-
".spectrum-Divider:not(.spectrum-Divider.spectrum-Divider--vertical)"
13-
],
14-
"modifiers": [
15-
"--mod-divider-background-color",
16-
"--mod-divider-block-minimum-size",
17-
"--mod-divider-inline-minimum-size",
18-
"--mod-divider-thickness",
19-
"--mod-divider-vertical-align",
20-
"--mod-divider-vertical-height",
21-
"--mod-divider-vertical-margin"
8+
".spectrum-Divider--staticWhite:where(.spectrum-Divider--sizeL)",
9+
".spectrum-Divider:where(.spectrum-Divider--sizeL)",
10+
".spectrum-Divider:where(.spectrum-Divider--sizeS)",
11+
".spectrum-Divider:where(.spectrum-Divider--vertical)",
12+
".spectrum-Divider:where(:not(.spectrum-Divider--vertical))"
2213
],
14+
"modifiers": [],
2315
"component": [
2416
"--spectrum-divider-background-color",
25-
"--spectrum-divider-block-minimum-size",
2617
"--spectrum-divider-horizontal-minimum-width",
27-
"--spectrum-divider-inline-minimum-size",
2818
"--spectrum-divider-thickness",
2919
"--spectrum-divider-thickness-large",
3020
"--spectrum-divider-thickness-medium",
@@ -40,5 +30,5 @@
4030
"--spectrum-transparent-white-800"
4131
],
4232
"passthroughs": [],
43-
"high-contrast": ["--highcontrast-divider-background-color"]
33+
"high-contrast": []
4434
}

components/divider/index.css

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,23 @@
1313

1414
.spectrum-Divider {
1515
--spectrum-divider-background-color: var(--spectrum-gray-200);
16-
1716
--spectrum-divider-thickness: var(--spectrum-divider-thickness-medium);
1817

19-
--spectrum-divider-inline-minimum-size: var(--spectrum-divider-horizontal-minimum-width);
20-
--spectrum-divider-block-minimum-size: var(--spectrum-divider-vertical-minimum-height);
21-
}
22-
23-
.spectrum-Divider--sizeS {
24-
--spectrum-divider-thickness: var(--spectrum-divider-thickness-small);
25-
}
18+
&:where(.spectrum-Divider--sizeS) {
19+
--spectrum-divider-thickness: var(--spectrum-divider-thickness-small);
20+
}
2621

27-
.spectrum-Divider--sizeL {
28-
--spectrum-divider-thickness: var(--spectrum-divider-thickness-large);
29-
--spectrum-divider-background-color: var(--spectrum-gray-800);
22+
&:where(.spectrum-Divider--sizeL) {
23+
--spectrum-divider-thickness: var(--spectrum-divider-thickness-large);
24+
--spectrum-divider-background-color: var(--spectrum-gray-800);
25+
}
3026
}
3127

3228
/* static white variant colors */
3329
.spectrum-Divider--staticWhite {
3430
--spectrum-divider-background-color: var(--spectrum-transparent-white-200);
3531

36-
&.spectrum-Divider--sizeL {
32+
&:where(.spectrum-Divider--sizeL) {
3733
--spectrum-divider-background-color: var(--spectrum-transparent-white-800);
3834
}
3935
}
@@ -42,41 +38,37 @@
4238
.spectrum-Divider--staticBlack {
4339
--spectrum-divider-background-color: var(--spectrum-transparent-black-200);
4440

45-
&.spectrum-Divider--sizeL {
41+
&:where(.spectrum-Divider--sizeL) {
4642
--spectrum-divider-background-color: var(--spectrum-transparent-black-800);
4743
}
4844
}
4945

5046
.spectrum-Divider {
51-
block-size: var(--mod-divider-thickness, var(--spectrum-divider-thickness));
47+
block-size: var(--spectrum-divider-thickness);
5248
inline-size: 100%;
5349

5450
/* Show the overflow for hr in Edge and IE. */
5551
overflow: visible;
5652

5753
border: none;
58-
border-width: var(--mod-divider-thickness, var(--spectrum-divider-thickness));
59-
border-radius: var(--mod-divider-thickness, var(--spectrum-divider-thickness));
54+
border-width: var(--spectrum-divider-thickness);
55+
border-radius: var(--spectrum-divider-thickness);
6056

61-
background-color: var(--highcontrast-divider-background-color, var(--mod-divider-background-color, var(--spectrum-divider-background-color)));
57+
background-color: var(--spectrum-divider-background-color);
6258

63-
&:not(&.spectrum-Divider--vertical) {
64-
min-inline-size: var(--mod-divider-inline-minimum-size, var(--spectrum-divider-inline-minimum-size));
59+
@media (forced-colors: active) {
60+
background-color: CanvasText;
6561
}
66-
}
6762

68-
/* vertical dividers */
69-
.spectrum-Divider--vertical {
70-
inline-size: var(--mod-divider-thickness, var(--spectrum-divider-thickness));
71-
min-block-size: var(--mod-divider-block-minimum-size, var(--spectrum-divider-block-minimum-size));
72-
margin-block: var(--mod-divider-vertical-margin, 0);
73-
block-size: var(--mod-divider-vertical-height, 100%);
74-
align-self: var(--mod-divider-vertical-align, flex-start);
75-
}
63+
&:where(:not(.spectrum-Divider--vertical)) {
64+
min-inline-size: var(--spectrum-divider-horizontal-minimum-width);
65+
}
7666

77-
/* windows high contrast mode */
78-
@media (forced-colors: active) {
79-
.spectrum-Divider {
80-
--highcontrast-divider-background-color: CanvasText;
67+
/* vertical dividers */
68+
&:where(.spectrum-Divider--vertical) {
69+
inline-size: var(--spectrum-divider-thickness);
70+
min-block-size: var(--spectrum-divider-vertical-minimum-height);
71+
margin-block: 0;
72+
align-self: flex-start;
8173
}
8274
}

0 commit comments

Comments
 (0)