Skip to content

Commit 4c2f600

Browse files
committed
feat(storybook): custom properties panel
1 parent d8d2127 commit 4c2f600

File tree

89 files changed

+945
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+945
-7
lines changed

.changeset/eleven-plants-grow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@spectrum-css/generator": patch
3+
---
4+
5+
Update story templates to include the cssprops imports

.changeset/new-bulldogs-add.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@spectrum-css/preview": minor
3+
---
4+
5+
New feature: Custom properties panel added to the development preview showing a list of modifiable custom properties as loaded from the metadata/metadata.json resource in each component.

.storybook/main.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ export default {
4545
"@chromaui/addon-visual-tests",
4646
// https://storybook.js.org/addons/@storybook/addon-designs/
4747
"@storybook/addon-designs",
48+
// https://github.com/ljcl/storybook-addon-cssprops
49+
"@ljcl/storybook-addon-cssprops",
4850
],
4951
core: {
5052
disableTelemetry: true,

.storybook/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"@babel/core": "^7.25.2",
3939
"@chromaui/addon-visual-tests": "^1.0.0",
4040
"@etchteam/storybook-addon-status": "^5.0.0",
41+
"@ljcl/storybook-addon-cssprops": "^4.0.0",
4142
"@storybook/addon-a11y": "^8.3.6",
4243
"@storybook/addon-actions": "^8.3.6",
4344
"@storybook/addon-console": "^3.0.0",

components/accordion/stories/accordion.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,17 @@ export default {
5959
chromatic: { disableSnapshot: true },
6060
packageJson,
6161
metadata,
62+
cssprops: {
63+
...metadata.modifiers.reduce((collection, item) => {
64+
const key = item.replace(/^--/, "");
65+
collection[key] = {
66+
category: "Modifiers",
67+
control: key.includes("color") ? "color" : "text",
68+
value: key.includes("color") ? undefined : " ",
69+
};
70+
return collection;
71+
}, {})
72+
},
6273
},
6374
tags: ["!autodocs"],
6475
};

components/actionbar/stories/actionbar.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,17 @@ export default {
6969
},
7070
packageJson,
7171
metadata,
72+
cssprops: {
73+
...metadata.modifiers.reduce((collection, item) => {
74+
const key = item.replace(/^--/, "");
75+
collection[key] = {
76+
category: "Modifiers",
77+
control: key.includes("color") ? "color" : "text",
78+
value: key.includes("color") ? undefined : " ",
79+
};
80+
return collection;
81+
}, {})
82+
},
7283
},
7384
tags: ["!autodocs"],
7485
};

components/actionbutton/stories/actionbutton.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,17 @@ export default {
8686
},
8787
packageJson,
8888
metadata,
89+
cssprops: {
90+
...metadata.modifiers.reduce((collection, item) => {
91+
const key = item.replace(/^--/, "");
92+
collection[key] = {
93+
category: "Modifiers",
94+
control: key.includes("color") ? "color" : "text",
95+
value: key.includes("color") ? undefined : " ",
96+
};
97+
return collection;
98+
}, {})
99+
},
89100
docs: {
90101
story: {
91102
height: "auto",

components/actiongroup/stories/actiongroup.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,17 @@ export default {
9595
},
9696
packageJson,
9797
metadata,
98+
cssprops: {
99+
...metadata.modifiers.reduce((collection, item) => {
100+
const key = item.replace(/^--/, "");
101+
collection[key] = {
102+
category: "Modifiers",
103+
control: key.includes("color") ? "color" : "text",
104+
value: key.includes("color") ? undefined : " ",
105+
};
106+
return collection;
107+
}, {})
108+
},
98109
},
99110
};
100111

components/actionmenu/stories/actionmenu.stories.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ export default {
4949
],
5050
},
5151
packageJson,
52+
cssprops: {
53+
...(Popover?.parameters?.cssprops ?? {}),
54+
...(ActionButton?.parameters?.cssprops ?? {}),
55+
...(Menu.parameters?.cssprops ?? {}),
56+
},
5257
docs: {
5358
story: {
5459
height: "200px",

components/alertbanner/stories/alertbanner.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,17 @@ export default {
7171
},
7272
packageJson,
7373
metadata,
74+
cssprops: {
75+
...metadata.modifiers.reduce((collection, item) => {
76+
const key = item.replace(/^--/, "");
77+
collection[key] = {
78+
category: "Modifiers",
79+
control: key.includes("color") ? "color" : "text",
80+
value: key.includes("color") ? undefined : " ",
81+
};
82+
return collection;
83+
}, {})
84+
},
7485
},
7586
};
7687

0 commit comments

Comments
 (0)