Skip to content

Commit 109a27e

Browse files
committed
feat(asset): remove modifiers from the API [SWC-1264] (#4257)
1 parent 99c577c commit 109a27e

File tree

7 files changed

+169
-345
lines changed

7 files changed

+169
-345
lines changed

.changeset/big-glasses-check.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"@spectrum-css/accordion": major
33
"@spectrum-css/actionbar": major
44
"@spectrum-css/actiongroup": major
5-
"@spectrum-css/well": major
65
---
76

87
This update removes `--mod-*` custom property hooks per SWC-1264, see also the RFC for extensible styling.

.changeset/weak-colts-divide.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
"@spectrum-css/asset": major
3+
"@spectrum-css/assetcard": major
4+
"@spectrum-css/well": major
5+
---
6+
7+
This update removes `--mod-*` custom property hooks per SWC-1264, see also the RFC for extensible styling.
8+
9+
- Remove all `--mod-*` custom property hooks.
10+
- Keep existing class selectors and variants unchanged.
11+
- Update stories to reflect the removal of the `--mod-*` override layer.
12+
13+
Breaking change: the `--mod-*` override layer is removed. Consumers should set `--spectrum-*` variables directly where customization is needed.

components/asset/dist/metadata.json

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,13 @@
1010
".spectrum-Asset-folderOutline",
1111
".spectrum-Asset-image"
1212
],
13-
"modifiers": [
14-
"--mod-asset-file-background-color",
15-
"--mod-asset-folder-background-color",
16-
"--mod-asset-icon-margin",
17-
"--mod-asset-icon-max-width",
18-
"--mod-asset-icon-min-width",
19-
"--mod-asset-icon-outline-color"
20-
],
21-
"component": [
22-
"--spectrum-asset-file-background",
23-
"--spectrum-asset-file-outline",
24-
"--spectrum-asset-folder-background",
25-
"--spectrum-asset-folder-outline"
26-
],
13+
"modifiers": [],
14+
"component": [],
2715
"global": [
28-
"--spectrum-animation-duration-100",
2916
"--spectrum-gray-200",
3017
"--spectrum-gray-25",
3118
"--spectrum-gray-500"
3219
],
3320
"passthroughs": [],
34-
"high-contrast": ["--highcontrast-asset-icon-background-color"]
21+
"high-contrast": []
3522
}

components/asset/index.css

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@
1212
*/
1313

1414
.spectrum-Asset {
15-
--spectrum-asset-folder-background: var(--highcontrast-asset-icon-background-color, var(--mod-asset-folder-background-color, var(--spectrum-gray-200)));
16-
--spectrum-asset-file-background: var(--highcontrast-asset-icon-background-color, var(--mod-asset-file-background-color, var(--spectrum-gray-25)));
17-
--spectrum-asset-folder-outline: var(--mod-asset-icon-outline-color, var(--spectrum-gray-500));
18-
--spectrum-asset-file-outline: var(--mod-asset-icon-outline-color, var(--spectrum-gray-500));
19-
2015
display: flex;
2116
align-items: center;
2217
justify-content: center;
@@ -29,34 +24,27 @@
2924
max-inline-size: 100%;
3025
max-block-size: 100%;
3126
object-fit: contain;
32-
transition: opacity var(--spectrum-animation-duration-100);
3327
}
3428

3529
.spectrum-Asset-folder,
3630
.spectrum-Asset-file {
37-
inline-size: clamp(var(--mod-asset-icon-min-width, 48px), 100%, var(--mod-asset-icon-max-width, 80px));
31+
inline-size: clamp(48px, 100%, 80px);
3832
block-size: 100%;
39-
margin: var(--mod-asset-icon-margin, 20px);
33+
margin: 20px;
4034
}
4135

4236
.spectrum-Asset-folderBackground {
43-
fill: var(--spectrum-asset-folder-background);
37+
fill: var(--spectrum-gray-200);
4438
}
4539

4640
.spectrum-Asset-fileBackground {
47-
fill: var(--spectrum-asset-file-background);
41+
fill: var(--spectrum-gray-25);
4842
}
4943

5044
.spectrum-Asset-folderOutline {
51-
fill: var(--spectrum-asset-folder-outline);
45+
fill: var(--spectrum-gray-500);
5246
}
5347

5448
.spectrum-Asset-fileOutline {
55-
fill: var(--spectrum-asset-file-outline);
56-
}
57-
58-
@media (forced-colors: active) {
59-
.spectrum-Asset {
60-
--highcontrast-asset-icon-background-color: currentColor;
61-
}
49+
fill: var(--spectrum-gray-500);
6250
}

components/asset/stories/asset.stories.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ export default {
3939
packageJson,
4040
metadata,
4141
status: {
42-
type: "unmigrated",
42+
type: "migrated",
4343
},
4444
},
45-
tags: ["unmigrated"],
45+
tags: ["migrated"],
4646
};
4747

4848
export const Default = AssetGroup.bind({});

components/assetcard/dist/metadata.json

Lines changed: 31 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
"sourceFile": "index.css",
33
"selectors": [
44
".spectrum-AssetCard",
5+
".spectrum-AssetCard .spectrum-AssetCard-selectionIndicator",
56
".spectrum-AssetCard .spectrum-AssetCard-selectionOrder",
7+
".spectrum-AssetCard .spectrum-Checkbox-box:before",
68
".spectrum-AssetCard--checkboxSelection .spectrum-AssetCard-selectionIndicator",
79
".spectrum-AssetCard--checkboxSelection .spectrum-AssetCard-selectionIndicator .spectrum-AssetCard-selectionOrder",
810
".spectrum-AssetCard--checkboxSelection.is-selected .spectrum-AssetCard-selectionIndicator",
911
".spectrum-AssetCard--checkboxSelection:focus-visible .spectrum-AssetCard-selectionIndicator",
1012
".spectrum-AssetCard--checkboxSelection:hover .spectrum-AssetCard-selectionIndicator",
11-
".spectrum-AssetCard--highlightSelection.is-selected .spectrum-AssetCard-asset",
13+
".spectrum-AssetCard--highlightSelection:where(.is-selected) .spectrum-AssetCard-asset",
1214
".spectrum-AssetCard--orderedSelection .spectrum-AssetCard-selectionIndicator",
1315
".spectrum-AssetCard--orderedSelection .spectrum-AssetCard-selectionIndicator .spectrum-AssetCard-checkbox",
1416
".spectrum-AssetCard--orderedSelection.is-selected .spectrum-AssetCard-selectionIndicator",
@@ -23,166 +25,77 @@
2325
".spectrum-AssetCard-selectionOrder",
2426
".spectrum-AssetCard-selectionOverlay",
2527
".spectrum-AssetCard-title",
26-
".spectrum-AssetCard.is-drop-target .spectrum-AssetCard-assetContainer:after",
28+
".spectrum-AssetCard.is-drop-target",
2729
".spectrum-AssetCard.is-drop-target .spectrum-AssetCard-selectionOverlay",
28-
".spectrum-AssetCard.is-drop-target:active .spectrum-AssetCard-assetContainer:after",
29-
".spectrum-AssetCard.is-drop-target:hover .spectrum-AssetCard-assetContainer:after",
30-
".spectrum-AssetCard.is-selected .spectrum-AssetCard-assetContainer:after",
30+
".spectrum-AssetCard.is-drop-target:active",
31+
".spectrum-AssetCard.is-drop-target:hover",
32+
".spectrum-AssetCard.is-selected",
3133
".spectrum-AssetCard.is-selected .spectrum-AssetCard-selectionOverlay",
32-
".spectrum-AssetCard.is-selected .spectrum-Checkbox-box:before",
33-
".spectrum-AssetCard.is-selected:active .spectrum-AssetCard-assetContainer:after",
34-
".spectrum-AssetCard.is-selected:hover .spectrum-AssetCard-assetContainer:after",
35-
".spectrum-AssetCard:active .spectrum-AssetCard-assetContainer:after",
36-
".spectrum-AssetCard:focus-visible .spectrum-AssetCard-assetContainer:after",
34+
".spectrum-AssetCard.is-selected:active",
35+
".spectrum-AssetCard.is-selected:hover",
36+
".spectrum-AssetCard:active",
37+
".spectrum-AssetCard:focus-visible",
3738
".spectrum-AssetCard:focus-visible .spectrum-AssetCard-assetContainer:before",
38-
".spectrum-AssetCard:focus-visible .spectrum-Checkbox-box:before",
39-
".spectrum-AssetCard:hover .spectrum-AssetCard-assetContainer:after",
40-
".spectrum-AssetCard:hover .spectrum-Checkbox-box:before",
39+
".spectrum-AssetCard:hover",
4140
".spectrum-AssetCard:lang(ja)",
4241
".spectrum-AssetCard:lang(ko)",
43-
".spectrum-AssetCard:lang(zh)"
44-
],
45-
"modifiers": [
46-
"--mod-assectcard-border-color-selected-down",
47-
"--mod-assectcard-focus-indicator-color",
48-
"--mod-assetcard-asset-animation-duration",
49-
"--mod-assetcard-asset-container-border-size",
50-
"--mod-assetcard-asset-size",
51-
"--mod-assetcard-background-color",
52-
"--mod-assetcard-border-color",
53-
"--mod-assetcard-border-color-down",
54-
"--mod-assetcard-border-color-hover",
55-
"--mod-assetcard-border-color-selected",
56-
"--mod-assetcard-border-color-selected-hover",
57-
"--mod-assetcard-border-radius",
58-
"--mod-assetcard-content-font-family",
59-
"--mod-assetcard-content-font-size",
60-
"--mod-assetcard-content-font-style",
61-
"--mod-assetcard-content-font-weight",
62-
"--mod-assetcard-content-letter-spacing",
63-
"--mod-assetcard-content-line-height",
64-
"--mod-assetcard-content-margin-block-start",
65-
"--mod-assetcard-content-text-color",
66-
"--mod-assetcard-focus-indicator-thickness",
67-
"--mod-assetcard-focus-ring-border-radius",
68-
"--mod-assetcard-focus-ring-gap",
69-
"--mod-assetcard-header-content-font-family",
70-
"--mod-assetcard-header-content-font-size",
71-
"--mod-assetcard-header-content-font-stlye",
72-
"--mod-assetcard-header-content-font-weight",
73-
"--mod-assetcard-header-content-letter-spacing",
74-
"--mod-assetcard-header-content-line-height",
75-
"--mod-assetcard-header-content-text-color",
76-
"--mod-assetcard-header-margin-block-start",
77-
"--mod-assetcard-overlay-background-color",
78-
"--mod-assetcard-selectionindicator-background-color-default",
79-
"--mod-assetcard-selectionindicator-background-color-ordered",
80-
"--mod-assetcard-selectionindicator-border-radius",
81-
"--mod-assetcard-selectionindicator-color",
82-
"--mod-assetcard-selectionindicator-font-size",
83-
"--mod-assetcard-selectionindicator-font-weight",
84-
"--mod-assetcard-selectionindicator-margin",
85-
"--mod-assetcard-selectionindicator-size",
86-
"--mod-assetcard-title-font-family",
87-
"--mod-assetcard-title-font-size",
88-
"--mod-assetcard-title-font-style",
89-
"--mod-assetcard-title-font-weight",
90-
"--mod-assetcard-title-letter-spacing",
91-
"--mod-assetcard-title-line-height",
92-
"--mod-assetcard-title-text-color"
42+
".spectrum-AssetCard:lang(zh)",
43+
".spectrum-AssetCard:where(.spectrum-AssetCard--orderedSelection) .spectrum-AssetCard-selectionIndicator"
9344
],
45+
"modifiers": [],
9446
"component": [
95-
"--spectrum-assetcard-asset-animation-duration",
96-
"--spectrum-assetcard-asset-container-border-size",
9747
"--spectrum-assetcard-asset-size",
98-
"--spectrum-assetcard-background-color",
9948
"--spectrum-assetcard-border-color",
100-
"--spectrum-assetcard-border-color-down",
101-
"--spectrum-assetcard-border-color-hover",
10249
"--spectrum-assetcard-border-color-selected",
10350
"--spectrum-assetcard-border-color-selected-down",
10451
"--spectrum-assetcard-border-color-selected-hover",
105-
"--spectrum-assetcard-border-radius",
106-
"--spectrum-assetcard-content-font-family",
107-
"--spectrum-assetcard-content-font-size",
108-
"--spectrum-assetcard-content-font-style",
109-
"--spectrum-assetcard-content-font-weight",
110-
"--spectrum-assetcard-content-letter-spacing",
111-
"--spectrum-assetcard-content-line-height",
112-
"--spectrum-assetcard-content-margin-block-start",
113-
"--spectrum-assetcard-content-text-color",
114-
"--spectrum-assetcard-focus-indicator-thickness",
11552
"--spectrum-assetcard-focus-ring-border-radius",
116-
"--spectrum-assetcard-focus-ring-gap",
117-
"--spectrum-assetcard-header-content-font-family",
11853
"--spectrum-assetcard-header-content-font-size",
119-
"--spectrum-assetcard-header-content-font-style",
120-
"--spectrum-assetcard-header-content-font-weight",
121-
"--spectrum-assetcard-header-content-letter-spacing",
122-
"--spectrum-assetcard-header-content-line-height",
123-
"--spectrum-assetcard-header-content-text-color",
124-
"--spectrum-assetcard-header-margin-block-start",
125-
"--spectrum-assetcard-overlay-background-color",
126-
"--spectrum-assetcard-selectionindicator-background-color-default",
12754
"--spectrum-assetcard-selectionindicator-background-color-ordered",
128-
"--spectrum-assetcard-selectionindicator-blur",
129-
"--spectrum-assetcard-selectionindicator-border-radius",
130-
"--spectrum-assetcard-selectionindicator-box-shadow-color",
131-
"--spectrum-assetcard-selectionindicator-color",
132-
"--spectrum-assetcard-selectionindicator-font-size",
133-
"--spectrum-assetcard-selectionindicator-font-weight",
13455
"--spectrum-assetcard-selectionindicator-margin",
135-
"--spectrum-assetcard-selectionindicator-offset-y",
136-
"--spectrum-assetcard-selectionindicator-size",
137-
"--spectrum-assetcard-title-font-family",
138-
"--spectrum-assetcard-title-font-size",
139-
"--spectrum-assetcard-title-font-style",
140-
"--spectrum-assetcard-title-font-weight",
141-
"--spectrum-assetcard-title-letter-spacing",
142-
"--spectrum-assetcard-title-line-height",
143-
"--spectrum-assetcard-title-text-color"
56+
"--spectrum-assetcard-title-font-size"
14457
],
14558
"global": [
14659
"--spectrum-animation-duration-100",
14760
"--spectrum-assestcard-focus-indicator-color",
61+
"--spectrum-blue-1000",
62+
"--spectrum-blue-900",
14863
"--spectrum-body-cjk-font-style",
14964
"--spectrum-body-cjk-font-weight",
15065
"--spectrum-body-cjk-line-height",
66+
"--spectrum-body-line-height",
15167
"--spectrum-body-sans-serif-font-weight",
152-
"--spectrum-bold-font-weight",
68+
"--spectrum-border-width-100",
15369
"--spectrum-card-selection-background-size",
15470
"--spectrum-cjk-font-family-stack",
15571
"--spectrum-cjk-letter-spacing",
15672
"--spectrum-corner-radius-100",
15773
"--spectrum-default-font-style",
74+
"--spectrum-drop-shadow-blur",
75+
"--spectrum-drop-shadow-color-200",
76+
"--spectrum-drop-shadow-y-200",
77+
"--spectrum-focus-indicator-gap",
15878
"--spectrum-focus-indicator-thickness",
159-
"--spectrum-font-size-400",
16079
"--spectrum-gray-500",
16180
"--spectrum-gray-600",
16281
"--spectrum-gray-700",
16382
"--spectrum-gray-75",
164-
"--spectrum-gray-75-rgb",
16583
"--spectrum-gray-900",
166-
"--spectrum-heading-cjk-font-style",
16784
"--spectrum-heading-cjk-font-weight",
16885
"--spectrum-heading-cjk-line-height",
16986
"--spectrum-heading-cjk-size-xs",
87+
"--spectrum-heading-line-height",
17088
"--spectrum-heading-sans-serif-font-weight",
171-
"--spectrum-line-height-100",
172-
"--spectrum-line-height-200",
89+
"--spectrum-heading-size-s",
90+
"--spectrum-heading-size-xs",
91+
"--spectrum-heading-size-xxs",
17392
"--spectrum-sans-font-family-stack",
17493
"--spectrum-spacing-300",
17594
"--spectrum-spacing-75",
176-
"--spectrum-transparent-black-300",
95+
"--spectrum-stack-item-selected-background-color-emphasized",
96+
"--spectrum-transparent-black-25",
17797
"--spectrum-white"
17898
],
17999
"passthroughs": [],
180-
"high-contrast": [
181-
"--highcontrast-assectcard-border-color-selected-down",
182-
"--highcontrast-assetcard-border-color-hover",
183-
"--highcontrast-assetcard-border-color-selected",
184-
"--highcontrast-assetcard-border-color-selected-hover",
185-
"--highcontrast-assetcard-selectionindicator-background-color-ordered",
186-
"--highcontrast-assetcard-selectionindicator-color"
187-
]
100+
"high-contrast": []
188101
}

0 commit comments

Comments
 (0)