Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Amsterdam] Updating shadows #3428

Merged
merged 7 commits into from
May 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src-docs/src/components/guide_components_amsterdam.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.guide {
background: $euiPageBackgroundColor;
}

.guidePageContent {
@include euiBottomShadowFlat;
border-left: none;
}
1 change: 1 addition & 0 deletions src-docs/src/theme_amsterdam_dark.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

@import '../../src/theme_amsterdam_dark';
@import './components/guide_components';
@import './components/guide_components_amsterdam';
@import './views/suggest/global_filter_group';

// Elastic charts
Expand Down
1 change: 1 addition & 0 deletions src-docs/src/theme_amsterdam_light.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

@import '../../src/theme_amsterdam_light';
@import './components/guide_components';
@import './components/guide_components_amsterdam';
@import './views/suggest/global_filter_group';

// Elastic charts
Expand Down
3 changes: 2 additions & 1 deletion src-docs/src/views/guidelines/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,9 @@
}

.guideSass__shadow {
padding: $euiSize;
padding: $euiSizeXXL;
background: $euiColorEmptyShade;
border-radius: $euiBorderRadius;

& + .guideSass__shadow {
margin-top: $euiSizeXL;
Expand Down
2 changes: 1 addition & 1 deletion src-docs/src/views/guidelines/sass.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ const euiFontSizes = [
];

const euiShadows = [
'euiBottomShadowFlat',
'euiSlightShadow',
'euiBottomShadowSmall',
'euiBottomShadowMedium',
'euiBottomShadowFlat',
'euiBottomShadow',
'euiBottomShadowLarge',
];
Expand Down
2 changes: 1 addition & 1 deletion src/components/modal/_modal.scss
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@
border: none;

&.euiModal--confirmation {
@include euiBottomShadowLarge($euiShadowColorLarge, .1, false, true);
@include euiBottomShadowLarge($euiShadowColorLarge, $reverse: true);
top: auto;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@import './shadows';
10 changes: 10 additions & 0 deletions src/themes/eui-amsterdam/global_styling/functions/_shadows.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Use a function to determine shadow opacity based
// on either a light or dark theme. We use a multiplier
// of 1 for light themes and 2.5 for dark themes
@function shadowOpacity($opacity) {
@if (lightness($euiTextColor) < 50) {
@return $opacity * 1;
} @else {
@return $opacity * 2.5;
}
}
Comment on lines +4 to +10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

1 change: 1 addition & 0 deletions src/themes/eui-amsterdam/global_styling/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

// Functions need to be first, since we use them in our variables and mixin definitions
@import '../../../global_styling/functions/index';
@import 'functions/index';

// Variables come next, and are used in some mixins
@import '../../../global_styling/variables/index';
Expand Down
1 change: 1 addition & 0 deletions src/themes/eui-amsterdam/global_styling/mixins/_index.scss
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
@import 'button';
@import 'panel';
@import 'shadow';
2 changes: 1 addition & 1 deletion src/themes/eui-amsterdam/global_styling/mixins/_panel.scss
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

&#{$selector}--isClickable:hover,
&#{$selector}--isClickable:focus {
@include euiBottomShadow($color: $euiShadowColor, $opacity: .2);
@include euiBottomShadow($color: $euiShadowColor);
}
}
}
Expand Down
105 changes: 105 additions & 0 deletions src/themes/eui-amsterdam/global_styling/mixins/_shadow.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
// Opacity variables are included to prevent breaks in downstream
// components. However they need to be removed prior to 8.0 and
// all components that use them must be updated.

// This file uses RGBA literal values responsibly
// This file uses off-pattern indedentation to be more readible

// sass-lint:disable no-color-literals, no-color-keywords, indentation, quotes

@mixin euiSlightShadow($color: $euiShadowColor, $opacity: 0) {
box-shadow:
0 .8px .8px rgba($color, shadowOpacity(.04)),
0 2.3px 2px rgba($color, shadowOpacity(.03));
}

@mixin euiBottomShadowSmall($color: $euiShadowColor, $opacity: 0) {
box-shadow:
0 .7px 1.4px rgba($color, shadowOpacity(.07)),
0 1.9px 4px rgba($color, shadowOpacity(.05)),
0 4.5px 10px rgba($color, shadowOpacity(.05)),
0 15px 32px rgba($color, shadowOpacity(.04));

@if ($opacity > 0) {
@warn 'The $opacity variable of euiBottomShadowSmall() will be depricated in a future version of EUI.';
}
}

@mixin euiBottomShadowMedium($color: $euiShadowColor, $opacity: 0) {
box-shadow:
0 .9px 4px -1px rgba($color, shadowOpacity(.08)),
0 2.6px 8px -1px rgba($color, shadowOpacity(.06)),
0 5.7px 12px -1px rgba($color, shadowOpacity(.05)),
0 15px 15px -1px rgba($color, shadowOpacity(.04));

@if ($opacity > 0) {
@warn 'The $opacity variable of euiBottomShadowMedium() will be depricated in a future version of EUI.';
}
}

// Similar to shadow medium but wihtout the bottom depth. Useful for popovers
// that drop UP rather than DOWN.
@mixin euiBottomShadowFlat($color: $euiShadowColor, $opacity: 0) {
box-shadow:
0 0 .8px rgba($color, shadowOpacity(.06)),
0 0 2px rgba($color, shadowOpacity(.04)),
0 0 5px rgba($color, shadowOpacity(.04)),
0 0 17px rgba($color, shadowOpacity(.03));

@if ($opacity > 0) {
@warn 'The $opacity variable of euiBottomShadowFlat() will be depricated in a future version of EUI.';
}
}

// adjustBorder allows the border color to match the drop shadow better so that there's better
// distinction between element bounds and the shadow (crisper borders)
@mixin euiBottomShadow(
$color: $euiShadowColorLarge,
$opacity: 0,
$adjustBorders: false // Deprecated in Amsterdam but left for BWC
) {
box-shadow:
0 1px 5px rgba($color, shadowOpacity(.1)),
0 3.6px 13px rgba($color, shadowOpacity(.07)),
0 8.4px 23px rgba($color, shadowOpacity(.06)),
0 23px 35px rgba($color, shadowOpacity(.05));

@if ($opacity > 0) {
@warn 'The $opacity variable of euiBottomShadow() will be depricated in a future version of EUI.';
}
}

@mixin euiBottomShadowLarge(
$color: $euiShadowColorLarge,
$opacity: 0,
$adjustBorders: false, // Deprecated in Amsterdam but left for BWC
$reverse: false
) {
@if ($reverse) {
box-shadow:
0 2.7px -9px rgba($color, shadowOpacity(.13)),
0 9.4px -24px rgba($color, shadowOpacity(.09)),
0 21.8px -43px rgba($color, shadowOpacity(.08));
} @else {
box-shadow:
0 2.7px 9px rgba($color, shadowOpacity(.13)),
0 9.4px 24px rgba($color, shadowOpacity(.09)),
0 21.8px 43px rgba($color, shadowOpacity(.08));
}

@if ($opacity > 0) {
@warn 'The $opacity variable of euiBottomShadowLarge() will be depricated in a future version of EUI.';
}
}

@mixin euiSlightShadowHover($color: $euiShadowColor, $opacity: 0) {
box-shadow:
0 1px 5px rgba($color, shadowOpacity(.1)),
0 3.6px 13px rgba($color, shadowOpacity(.07)),
0 8.4px 23px rgba($color, shadowOpacity(.06)),
0 23px 35px rgba($color, shadowOpacity(.05));

@if ($opacity > 0) {
@warn 'The $opacity variable of euiSlightShadowHover() will be depricated in a future version of EUI.';
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
@import 'buttons';
@import 'borders';
@import 'typography';
@import 'shadows';
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$euiShadowColor: $euiColorInk;
$euiShadowColorLarge: $euiColorInk;