Skip to content

Commit

Permalink
EuiToken enums (#1301)
Browse files Browse the repository at this point in the history
* Enumerating SHAPES and COLORS

* Properly making use of the enumerated constants in classNames

* Updating the changelog

* updated snapshots
  • Loading branch information
daveyholler authored Nov 8, 2018
1 parent 11cf256 commit eb08c0c
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 21 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## [`master`](https://github.com/elastic/eui/tree/master)

- `EuiToken` now exports enumerated constants for `SHAPES` and `COLORS` ([#1301](https://github.com/elastic/eui/pull/1301))

No public interface changes since `5.0.1`.

## [`5.0.1`](https://github.com/elastic/eui/tree/v5.0.1)
Expand Down
34 changes: 17 additions & 17 deletions src/components/token/__snapshots__/token.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`EuiToken is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -30,7 +30,7 @@ exports[`EuiToken is rendered 1`] = `

exports[`EuiToken props color tokenTint01 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -58,7 +58,7 @@ exports[`EuiToken props color tokenTint01 is rendered 1`] = `

exports[`EuiToken props color tokenTint02 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint02 euiToken--small"
class="euiToken euiToken--tokenTint02 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -86,7 +86,7 @@ exports[`EuiToken props color tokenTint02 is rendered 1`] = `

exports[`EuiToken props color tokenTint03 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint03 euiToken--small"
class="euiToken euiToken--tokenTint03 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -114,7 +114,7 @@ exports[`EuiToken props color tokenTint03 is rendered 1`] = `

exports[`EuiToken props color tokenTint04 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint04 euiToken--small"
class="euiToken euiToken--tokenTint04 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -142,7 +142,7 @@ exports[`EuiToken props color tokenTint04 is rendered 1`] = `

exports[`EuiToken props color tokenTint05 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint05 euiToken--small"
class="euiToken euiToken--tokenTint05 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -170,7 +170,7 @@ exports[`EuiToken props color tokenTint05 is rendered 1`] = `

exports[`EuiToken props color tokenTint06 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint06 euiToken--small"
class="euiToken euiToken--tokenTint06 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -198,7 +198,7 @@ exports[`EuiToken props color tokenTint06 is rendered 1`] = `

exports[`EuiToken props color tokenTint07 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint07 euiToken--small"
class="euiToken euiToken--tokenTint07 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -226,7 +226,7 @@ exports[`EuiToken props color tokenTint07 is rendered 1`] = `

exports[`EuiToken props color tokenTint08 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint08 euiToken--small"
class="euiToken euiToken--tokenTint08 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -254,7 +254,7 @@ exports[`EuiToken props color tokenTint08 is rendered 1`] = `

exports[`EuiToken props color tokenTint09 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint09 euiToken--small"
class="euiToken euiToken--tokenTint09 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -282,7 +282,7 @@ exports[`EuiToken props color tokenTint09 is rendered 1`] = `

exports[`EuiToken props color tokenTint10 is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint10 euiToken--small"
class="euiToken euiToken--tokenTint10 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -310,7 +310,7 @@ exports[`EuiToken props color tokenTint10 is rendered 1`] = `

exports[`EuiToken props shape circle is rendered 1`] = `
<div
class="euiToken euiToken--circle euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--circle euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -338,7 +338,7 @@ exports[`EuiToken props shape circle is rendered 1`] = `

exports[`EuiToken props shape rectangle is rendered 1`] = `
<div
class="euiToken euiToken--rectangle euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--rectangle euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -366,7 +366,7 @@ exports[`EuiToken props shape rectangle is rendered 1`] = `

exports[`EuiToken props shape square is rendered 1`] = `
<div
class="euiToken euiToken--square euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--square euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -394,7 +394,7 @@ exports[`EuiToken props shape square is rendered 1`] = `

exports[`EuiToken props size l is rendered 1`] = `
<div
class="euiToken euiToken--circle euiToken--tokenTint01 euiToken--large"
class="euiToken euiToken--tokenTint01 euiToken--circle euiToken--large"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -422,7 +422,7 @@ exports[`EuiToken props size l is rendered 1`] = `

exports[`EuiToken props size m is rendered 1`] = `
<div
class="euiToken euiToken--circle euiToken--tokenTint01 euiToken--medium"
class="euiToken euiToken--tokenTint01 euiToken--circle euiToken--medium"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down Expand Up @@ -450,7 +450,7 @@ exports[`EuiToken props size m is rendered 1`] = `

exports[`EuiToken props size s is rendered 1`] = `
<div
class="euiToken euiToken--circle euiToken--tokenTint01 euiToken--small"
class="euiToken euiToken--tokenTint01 euiToken--circle euiToken--small"
>
<svg
class="euiIcon euiIcon--medium"
Expand Down
1 change: 1 addition & 0 deletions src/components/token/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ export {
EuiToken,
SIZES as TOKEN_SIZES,
SHAPES as TOKEN_SHAPES,
COLORS as TOKEN_COLORS
} from './token';
25 changes: 21 additions & 4 deletions src/components/token/token.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,23 @@ const shapeToClassMap = {

export const SHAPES = Object.keys(shapeToClassMap);

const colorToClassMap = {
tokenTint01: 'euiToken--tokenTint01',
tokenTint02: 'euiToken--tokenTint02',
tokenTint03: 'euiToken--tokenTint03',
tokenTint04: 'euiToken--tokenTint04',
tokenTint05: 'euiToken--tokenTint05',
tokenTint06: 'euiToken--tokenTint06',
tokenTint07: 'euiToken--tokenTint07',
tokenTint08: 'euiToken--tokenTint08',
tokenTint09: 'euiToken--tokenTint09',
tokenTint10: 'euiToken--tokenTint10',
tokenTint11: 'euiToken--tokenTint11',
tokenTint12: 'euiToken--tokenTint12',
};

export const COLORS = Object.keys(colorToClassMap);

export const EuiToken = ({
iconType,
displayOptions,
Expand Down Expand Up @@ -52,8 +69,8 @@ export const EuiToken = ({

const classes = classNames(
'euiToken',
`euiToken--${tokenShape}`,
`euiToken--${tokenColor}`,
colorToClassMap[tokenColor],
shapeToClassMap[tokenShape],
sizeToClassMap[size],
{
'euiToken--fill': fill,
Expand Down Expand Up @@ -89,8 +106,8 @@ EuiToken.propTypes = {
* - `hideBorder`: disables the outer border
*/
displayOptions: PropTypes.shape({
color: PropTypes.string,
shape: PropTypes.string,
color: PropTypes.oneOf(COLORS),
shape: PropTypes.oneOf(SHAPES),
fill: PropTypes.boolean,
hideBorder: PropTypes.boolean,
}),
Expand Down

0 comments on commit eb08c0c

Please sign in to comment.