diff --git a/docs/inputs.stories.js b/docs/inputs.stories.js index 970a1d4..79510f8 100644 --- a/docs/inputs.stories.js +++ b/docs/inputs.stories.js @@ -1,28 +1,30 @@ import { storiesOf } from '@storybook/html'; // eslint-disable-line import/no-extraneous-dependencies import { // eslint-disable-line import/no-extraneous-dependencies - withKnobs, radios, + withKnobs, radios, boolean, } from '@storybook/addon-knobs'; const stories = storiesOf('Inputs', module); stories.addDecorator(withKnobs); -stories.add('input.radio', () => ` - `) +stories.add('input.radio', () => { + const isDark = boolean('is-dark', false) ? 'is-dark' : ''; + + return (` + ` + ); +}) .add('input.checkbox', () => { - const selectedClass = radios('class', { - default: '', - 'is-dark': 'is-dark', - }, ''); + const isDark = boolean('is-dark', false) ? 'is-dark' : ''; return ( `` ); diff --git a/scss/form/radios.scss b/scss/form/radios.scss index ac13669..f554626 100644 --- a/scss/form/radios.scss +++ b/scss/form/radios.scss @@ -20,6 +20,7 @@ (2,2,0,0,0,0), ); $colors: ($base-color, map-get($default-colors, "shadow")); + $colors-radio-dark: ($color-white, map-get($default-colors, "shadow")); margin-right: 20px; -webkit-appearance: none; @@ -50,4 +51,24 @@ &:checked:focus + span::before { @include pixelize(2px, $radio-checked-focus, $colors); } + &.is-dark { + + span { + color: $color-white; + } + // prettier-ignore + + span::before { /* stylelint-disable-line no-descending-specificity */ + color: $color-white; + } + + &:checked + span::before { + @include pixelize(2px, $radio-checked-focus, $colors-radio-dark); + + color: $color-white; + } + &:checked:focus + span::before { + @include pixelize(2px, $radio-checked-focus, $colors-radio-dark); + + color: $color-white; + } + } }