Skip to content

Commit 39bec20

Browse files
committed
feat(storybook): custom properties panel
1 parent 7e84292 commit 39bec20

File tree

87 files changed

+929
-0
lines changed

Some content is hidden

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

87 files changed

+929
-0
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
@@ -75,6 +75,8 @@ export default {
7575
"@chromatic-com/storybook",
7676
// https://storybook.js.org/addons/@storybook/addon-designs/
7777
"@storybook/addon-designs",
78+
// https://github.com/ljcl/storybook-addon-cssprops
79+
"@ljcl/storybook-addon-cssprops",
7880
],
7981
core: {
8082
disableTelemetry: true,

components/accordion/stories/accordion.stories.js

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

components/actionbar/stories/actionbar.stories.js

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

components/actionbutton/stories/actionbutton.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,17 @@ export default {
9090
},
9191
packageJson,
9292
metadata,
93+
cssprops: {
94+
...metadata.modifiers.reduce((collection, item) => {
95+
const key = item.replace(/^--/, "");
96+
collection[key] = {
97+
category: "Modifiers",
98+
control: key.includes("color") ? "color" : "text",
99+
value: key.includes("color") ? undefined : " ",
100+
};
101+
return collection;
102+
}, {})
103+
},
93104
docs: {
94105
story: {
95106
height: "auto",

components/actiongroup/stories/actiongroup.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,17 @@ export default {
9999
},
100100
packageJson,
101101
metadata,
102+
cssprops: {
103+
...metadata.modifiers.reduce((collection, item) => {
104+
const key = item.replace(/^--/, "");
105+
collection[key] = {
106+
category: "Modifiers",
107+
control: key.includes("color") ? "color" : "text",
108+
value: key.includes("color") ? undefined : " ",
109+
};
110+
return collection;
111+
}, {})
112+
},
102113
},
103114
};
104115

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
@@ -75,6 +75,17 @@ export default {
7575
},
7676
packageJson,
7777
metadata,
78+
cssprops: {
79+
...metadata.modifiers.reduce((collection, item) => {
80+
const key = item.replace(/^--/, "");
81+
collection[key] = {
82+
category: "Modifiers",
83+
control: key.includes("color") ? "color" : "text",
84+
value: key.includes("color") ? undefined : " ",
85+
};
86+
return collection;
87+
}, {})
88+
},
7889
},
7990
};
8091

components/alertdialog/stories/alertdialog.stories.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,17 @@ export default {
5656
},
5757
packageJson,
5858
metadata,
59+
cssprops: {
60+
...metadata.modifiers.reduce((collection, item) => {
61+
const key = item.replace(/^--/, "");
62+
collection[key] = {
63+
category: "Modifiers",
64+
control: key.includes("color") ? "color" : "text",
65+
value: key.includes("color") ? undefined : " ",
66+
};
67+
return collection;
68+
}, {})
69+
},
5970
},
6071
decorators: [
6172
withUnderlayWrapper,

0 commit comments

Comments
 (0)