diff --git a/src-docs/src/views/guidelines/colors.js b/src-docs/src/views/guidelines/colors.js index 6f40d3eac405..43215d2f848a 100644 --- a/src-docs/src/views/guidelines/colors.js +++ b/src-docs/src/views/guidelines/colors.js @@ -42,6 +42,21 @@ const allowedColors = [ 'euiColorAccent', ]; +const textVariants = [ + 'euiColorEmptyShade', + 'euiColorLightestShade', + 'euiColorLightShade', + 'euiColorMediumShade', + 'euiColorDarkShade', + 'euiColorDarkestShade', + 'euiColorFullShade', + 'euiColorPrimaryText', + 'euiColorSecondaryText', + 'euiColorWarningText', + 'euiColorDangerText', + 'euiColorAccentText', +]; + const ratingAAA = AAA; const ratingAA = AA; @@ -137,6 +152,7 @@ export default class extends Component { this.state = { value: '3', behindTextVariant: false, + showTextVariants: true, }; } @@ -152,8 +168,14 @@ export default class extends Component { }); }; + onTextVariantChange = e => { + this.setState({ + showTextVariants: e.target.checked, + }); + }; + render() { - const { value, behindTextVariant } = this.state; + const { value, behindTextVariant, showTextVariants } = this.state; const { selectedTheme } = this.props; let palette; @@ -175,6 +197,10 @@ export default class extends Component { // Vis colors are the same for all palettes const visColors = lightColors.euiPaletteColorBlind; const visColorKeys = Object.keys(lightColors.euiPaletteColorBlind); + const colorsForContrast = + showTextVariants && selectedTheme === 'amsterdam-light' + ? textVariants + : allowedColors; function getContrastRatings(color1, color2) { if (color1.indexOf('Shade') === -1 && color2.indexOf('Shade') === -1) { @@ -258,6 +284,11 @@ export default class extends Component { render text such as EuiText will do so on their own without any extra configuration.

+ )}

Rating definitions

@@ -281,7 +312,7 @@ export default class extends Component { - + @@ -309,7 +340,7 @@ export default class extends Component {

{color}

- {allowedColors.map(function(color2, index) { + {colorsForContrast.map(function(color2, index) { const contrastRatings = getContrastRatings(color, color2); if (!contrastRatings || contrastRatings.contrast < value) { diff --git a/src/global_styling/variables/_colors.scss b/src/global_styling/variables/_colors.scss index da755a9fed77..c97150873711 100644 --- a/src/global_styling/variables/_colors.scss +++ b/src/global_styling/variables/_colors.scss @@ -1,3 +1,6 @@ +// This extra import allows any variables that are created via functions to work when loaded into JS +@import '../functions/index'; + // Core $euiColorPrimary: #006BB4 !default; $euiColorSecondary: #017D73 !default; diff --git a/src/themes/eui-amsterdam/eui_amsterdam_colors_light.scss b/src/themes/eui-amsterdam/eui_amsterdam_colors_light.scss index 73b278f78944..61c510d0e96b 100644 --- a/src/themes/eui-amsterdam/eui_amsterdam_colors_light.scss +++ b/src/themes/eui-amsterdam/eui_amsterdam_colors_light.scss @@ -1,3 +1,11 @@ +// This extra import allows any variables that are created via functions to work when loaded into JS +@import '../../global_styling/variables/colors'; + $euiColorPrimary: #006DE4; $euiColorSecondary: #00BFB3; $euiColorAccent: #FC358E; + +// Constrasty text variants +$euiColorPrimaryText: makeHighContrastColor($euiColorPrimary); +$euiColorSecondaryText: makeHighContrastColor($euiColorSecondary); +$euiColorAccentText: makeHighContrastColor($euiColorAccent);