Skip to content

Commit 5836ca7

Browse files
docs(dropshadow): display both drop shadow and box shadow
1 parent dbdde03 commit 5836ca7

File tree

3 files changed

+97
-28
lines changed

3 files changed

+97
-28
lines changed

.storybook/foundations/drop-shadow/drop-shadow.mdx

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,29 @@ import * as DropShadowStories from './drop-shadow.stories.js';
77
<Title />
88
<Description of={DropShadowStories} />
99

10-
Drop shadow tokens may be used for drop shadows or box shadows in CSS. Using `box-shadow` is often preferable to using `filter: drop-shadow()`, but in situations where the shadow must be applied to the alpha channel of the content rather than the border box, or if `box-shadow` is already being used for a different purpose, such as a focus outline, `filter: drop-shadow()` may be used.
10+
Drop shadow tokens may be used for box shadows or drop shadows in CSS. Using `box-shadow` is often preferable to using `filter: drop-shadow()`, but in situations where the shadow must be applied to the alpha channel of the content rather than the border box, or if `box-shadow` is already being used for a different purpose, such as a focus outline, `filter: drop-shadow()` may be used. Note that in cases where `filter: drop-shadow()` is used, the shadow may more blurred than the design spec due to a difference in how the blur parameter is calculated, and an adjustment by half may be needed.
11+
12+
The opacity values in dark shadow colors are 3x the light values.
1113

1214
These single-layer shadows are an interim solution for shadows until complex tokens (additional design data for the Spectrum Tokens system) are available to support multi-layer shadows.
1315

1416
## Emphasized Default
15-
This drop shadow is used to provide emphasis to containers within a page.
16-
<Story of={DropShadowStories.DropShadowEmphasizedDefault} />
17-
The opacity values in dark shadow colors are 3x the light values.
17+
This shadow is used to provide emphasis to containers within a page.
1818

19+
### Drop shadow
20+
<Story of={DropShadowStories.DropShadowEmphasizedDefault} />
1921
```
2022
filter: drop-shadow(
2123
var(--spectrum-drop-shadow-emphasized-default-x)
2224
var(--spectrum-drop-shadow-emphasized-default-y)
23-
var(--spectrum-drop-shadow-emphasized-default-blur)
25+
calc(var(--spectrum-drop-shadow-emphasized-default-blur) / 2)
2426
var(--spectrum-drop-shadow-emphasized-default-color)
2527
);
28+
```
2629

30+
### Box shadow
31+
<Story of={DropShadowStories.BoxShadowEmphasizedDefault} />
32+
```
2733
box-shadow:
2834
var(--spectrum-drop-shadow-emphasized-default-x)
2935
var(--spectrum-drop-shadow-emphasized-default-y)
@@ -32,17 +38,22 @@ box-shadow:
3238
```
3339

3440
## Emphasized Hover
35-
If the whole container is interactive, such as in a select box, the drop shadow becomes elevated on hover.
36-
<Story of={DropShadowStories.DropShadowEmphasizedHover} />
41+
If the whole container is interactive, such as in a select box, the shadow becomes elevated on hover.
3742

43+
### Drop shadow
44+
<Story of={DropShadowStories.DropShadowEmphasizedHover} />
3845
```
3946
filter: drop-shadow(
4047
var(--spectrum-drop-shadow-emphasized-hover-x)
4148
var(--spectrum-drop-shadow-emphasized-hover-y)
42-
var(--spectrum-drop-shadow-emphasized-hover-blur)
49+
calc(var(--spectrum-drop-shadow-emphasized-hover-blur) / 2)
4350
var(--spectrum-drop-shadow-emphasized-hover-color)
4451
);
52+
```
4553

54+
### Box shadow
55+
<Story of={DropShadowStories.BoxShadowEmphasizedHover} />
56+
```
4657
box-shadow:
4758
var(--spectrum-drop-shadow-emphasized-hover-x)
4859
var(--spectrum-drop-shadow-emphasized-hover-y)
@@ -51,16 +62,22 @@ box-shadow:
5162
```
5263

5364
## Elevated
54-
Elevated drop shadows can be used on containers that appear on top of content, such as menus, coach marks, popovers, and floating bar panels.
65+
Elevated shadows can be used on containers that appear on top of content, such as menus, coach marks, popovers, and floating bar panels.
66+
67+
### Drop shadow
5568
<Story of={DropShadowStories.DropShadowElevated} />
5669
```
5770
filter: drop-shadow(
5871
var(--spectrum-drop-shadow-elevated-x)
5972
var(--spectrum-drop-shadow-elevated-y)
60-
var(--spectrum-drop-shadow-elevated-blur)
73+
calc(var(--spectrum-drop-shadow-elevated-blur) / 2)
6174
var(--spectrum-drop-shadow-elevated-color)
6275
);
76+
```
6377

78+
### Box shadow
79+
<Story of={DropShadowStories.BoxShadowElevated} />
80+
```
6481
box-shadow:
6582
var(--spectrum-drop-shadow-elevated-x)
6683
var(--spectrum-drop-shadow-elevated-y)

.storybook/foundations/drop-shadow/drop-shadow.stories.js

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ export default {
99
tags: ['foundation'],
1010
}
1111

12-
const DropShadowSwatch = ({rootClass = "spectrum-Foundations-Example-DropShadow-swatch", variant}) => {
12+
const DropShadowSwatch = ({rootClass = "spectrum-Foundations-Example-DropShadow-swatch", variant, ...args}) => {
13+
const { isDropShadow } = args;
1314
return html`
1415
<div class=${classMap({
1516
[rootClass]: true,
16-
[`${rootClass}--${variant}`]: typeof variant !== undefined,
17+
[`${rootClass}--${variant}-drop-shadow`]: typeof variant !== undefined && !!isDropShadow,
18+
[`${rootClass}--${variant}-box-shadow`]: typeof variant !== undefined && !isDropShadow,
1719
})}></div>
1820
`;}
1921

20-
const DropShadowBackground = ({rootClass = "spectrum-Foundations-Example-swatch-container", color, ...args}) => {
21-
22-
return html`
22+
const DropShadowBackground = ({rootClass = "spectrum-Foundations-Example-swatch-container", color, ...args}) => html`
2323
<div class=${classMap({
2424
[rootClass]: true,
2525
"spectrum--light": color === "light",
@@ -28,28 +28,47 @@ const DropShadowBackground = ({rootClass = "spectrum-Foundations-Example-swatch-
2828
${DropShadowSwatch(args)}
2929
</div>
3030
`;
31-
}
3231

33-
const DropShadowVariant = ({...args}) => {
34-
return html`
32+
const DropShadowVariant = ({...args}) => html`
3533
<div class="spectrum-Foundations-Example-variant-container">
3634
${DropShadowBackground({...args, color: "light"})}
3735
${DropShadowBackground({...args, color: "dark"})}
3836
</div>
39-
`;}
37+
`;
4038

4139

4240
export const DropShadowEmphasizedDefault = DropShadowVariant.bind({});
4341
DropShadowEmphasizedDefault.args = {
4442
variant: "emphasized-default",
43+
isDropShadow: true,
4544
};
4645

4746
export const DropShadowEmphasizedHover = DropShadowVariant.bind({});
4847
DropShadowEmphasizedHover.args = {
4948
variant: "emphasized-hover",
49+
isDropShadow: true,
5050
};
5151

5252
export const DropShadowElevated = DropShadowVariant.bind({});
5353
DropShadowElevated.args = {
5454
variant: "elevated",
55+
isDropShadow: true,
56+
};
57+
58+
export const BoxShadowEmphasizedDefault = DropShadowVariant.bind({});
59+
BoxShadowEmphasizedDefault.args = {
60+
variant: "emphasized-default",
61+
isDropShadow: false,
62+
};
63+
64+
export const BoxShadowEmphasizedHover = DropShadowVariant.bind({});
65+
BoxShadowEmphasizedHover.args = {
66+
variant: "emphasized-hover",
67+
isDropShadow: false,
68+
};
69+
70+
export const BoxShadowElevated = DropShadowVariant.bind({});
71+
BoxShadowElevated.args = {
72+
variant: "elevated",
73+
isDropShadow: false,
5574
};

.storybook/foundations/drop-shadow/index.css

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,44 +24,77 @@ governing permissions and limitations under the License.
2424
background-color: var(--spectrum-gray-75); /* matches dark mode design spec rgb(34, 34, 34) */
2525
}
2626

27-
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-default {
27+
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-box-shadow {
2828
box-shadow:
2929
var(--spectrum-drop-shadow-emphasized-default-x)
3030
var(--spectrum-drop-shadow-emphasized-default-y)
3131
var(--spectrum-drop-shadow-emphasized-default-blur)
3232
var(--mod-drop-shadow-emphasized-default-color, var(--spectrum-drop-shadow-emphasized-default-color));
3333
}
3434

35-
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default,
36-
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default {
35+
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-drop-shadow {
36+
filter: drop-shadow(
37+
var(--spectrum-drop-shadow-emphasized-default-x)
38+
var(--spectrum-drop-shadow-emphasized-default-y)
39+
calc(var(--spectrum-drop-shadow-emphasized-default-blur) / 2) /* adjust blur by half of box-shadow */
40+
var(--mod-drop-shadow-emphasized-default-color, var(--spectrum-drop-shadow-emphasized-default-color))
41+
);
42+
}
43+
44+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-box-shadow,
45+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-box-shadow,
46+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-drop-shadow,
47+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-default-drop-shadow {
3748
/* adjustment because color tokens do not work properly on foundations pages */
3849
--mod-drop-shadow-emphasized-default-color: var(--spectrum-drop-shadow-color-100);
3950
}
4051

41-
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover {
52+
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-box-shadow {
4253
box-shadow:
4354
var(--spectrum-drop-shadow-emphasized-hover-x)
4455
var(--spectrum-drop-shadow-emphasized-hover-y)
4556
var(--spectrum-drop-shadow-emphasized-hover-blur)
4657
var(--mod-drop-shadow-emphasized-hover-color, var(--spectrum-drop-shadow-emphasized-hover-color));
4758
}
4859

49-
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover,
50-
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover {
60+
.spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-drop-shadow {
61+
filter: drop-shadow(
62+
var(--spectrum-drop-shadow-emphasized-hover-x)
63+
var(--spectrum-drop-shadow-emphasized-hover-y)
64+
calc(var(--spectrum-drop-shadow-emphasized-hover-blur) / 2) /* adjust blur by half of box-shadow */
65+
var(--mod-drop-shadow-emphasized-hover-color, var(--spectrum-drop-shadow-emphasized-hover-color))
66+
);
67+
}
68+
69+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-drop-shadow,
70+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-drop-shadow,
71+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-box-shadow,
72+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--emphasized-hover-box-shadow {
5173
/* adjustment because color tokens do not work properly on foundations pages */
5274
--mod-drop-shadow-emphasized-hover-color: var(--spectrum-drop-shadow-color-200);
5375
}
5476

55-
.spectrum-Foundations-Example-DropShadow-swatch--elevated {
77+
.spectrum-Foundations-Example-DropShadow-swatch--elevated-box-shadow {
5678
box-shadow:
5779
var(--spectrum-drop-shadow-elevated-x)
5880
var(--spectrum-drop-shadow-elevated-y)
5981
var(--spectrum-drop-shadow-elevated-blur)
6082
var(--mod-drop-shadow-elevated-color, var(--spectrum-drop-shadow-elevated-color));
6183
}
6284

63-
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--elevated,
64-
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--elevated {
85+
.spectrum-Foundations-Example-DropShadow-swatch--elevated-drop-shadow {
86+
filter: drop-shadow(
87+
var(--spectrum-drop-shadow-elevated-x)
88+
var(--spectrum-drop-shadow-elevated-y)
89+
calc(var(--spectrum-drop-shadow-elevated-blur) / 2) /* adjust blur by half of box-shadow */
90+
var(--mod-drop-shadow-elevated-color, var(--spectrum-drop-shadow-elevated-color))
91+
);
92+
}
93+
94+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--elevated-drop-shadow,
95+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--elevated-drop-shadow,
96+
.spectrum--light .spectrum-Foundations-Example-DropShadow-swatch--elevated-box-shadow,
97+
.spectrum--dark .spectrum-Foundations-Example-DropShadow-swatch--elevated-box-shadow {
6598
/* adjustment because color tokens do not work properly on foundations pages */
6699
--mod-drop-shadow-elevated-color: var(--spectrum-drop-shadow-color-200);
67100
}

0 commit comments

Comments
 (0)