Skip to content

Commit

Permalink
feat(heart): added new heart reaction state
Browse files Browse the repository at this point in the history
added the `is-half` and `is-transparent` to the `heart` reaction

feat #246
  • Loading branch information
HiKaylum committed Dec 16, 2019
1 parent 2dcec7b commit fbe2e5c
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 1 deletion.
2 changes: 2 additions & 0 deletions docs/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,8 @@ const sampleCollection = [
code: `<section class="icon-list">
<!-- heart -->
<i class="nes-icon is-large heart"></i>
<i class="nes-icon is-large is-half heart"></i>
<i class="nes-icon is-large is-transparent heart"></i>
<i class="nes-icon is-large heart is-empty"></i>
<!-- star -->
Expand Down
40 changes: 40 additions & 0 deletions scss/icons/heart.scss
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,46 @@ $icon-heart: (
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
);

// prettier-ignore
$icon-heart-half: (
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
(0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0),
(0,2,3,3,3,2,0,0,0,2,0,0,0,2,0,0),
(2,3,1,1,3,3,2,0,2,0,0,0,0,0,2,0),
(2,3,1,3,3,3,3,2,0,0,0,0,0,0,2,0),
(2,3,3,3,3,3,3,3,0,0,0,0,0,0,2,0),
(2,3,3,3,3,3,3,3,0,0,0,0,0,0,2,0),
(2,3,3,3,3,3,3,3,0,0,0,0,0,0,2,0),
(0,2,3,3,3,3,3,3,0,0,0,0,0,2,0,0),
(0,0,2,3,3,3,3,3,0,0,0,0,2,0,0,0),
(0,0,0,2,3,3,3,3,0,0,0,2,0,0,0,0),
(0,0,0,0,2,3,3,3,0,0,2,0,0,0,0,0),
(0,0,0,0,0,2,3,3,0,2,0,0,0,0,0,0),
(0,0,0,0,0,0,2,4,2,0,0,0,0,0,0,0),
(0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0),
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
);

// prettier-ignore
$icon-heart-transparent: (
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
(0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0),
(0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0),
(2,0,0,0,0,0,2,0,2,0,0,0,0,0,2,0),
(2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0),
(2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0),
(0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0),
(0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0),
(0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0),
(0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0),
(0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0),
(0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0),
(0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0),
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
);

$icon-heart-empty-colors: (#adafbb);
// prettier-ignore
$icon-heart-empty: (
Expand Down
6 changes: 6 additions & 0 deletions scss/icons/icons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@
&.heart::before {
@include pixelize($default-size, $icon-heart, $icon-heart-colors);
}
&.heart.is-half::before {
@include pixelize($default-size, $icon-heart-half, $icon-heart-colors);
}
&.heart.is-transparent::before {
@include pixelize($default-size, $icon-heart-transparent, $icon-heart-colors);
}
&.heart.is-empty::before {
@include pixelize($default-size, $icon-heart-empty, $icon-heart-empty-colors);
}
Expand Down
6 changes: 6 additions & 0 deletions story/_helpers/icons.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ export const Sprites = {
'snes-jp-logo': 'snes-jp-logo',
};

export const Reactions = {
heart: 'heart',
star: 'star',
like: 'like',
};

export const Size = {
default: '',
'is-small': 'is-small',
Expand Down
4 changes: 3 additions & 1 deletion story/icons/icons.stories.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ import { withKnobs } from '@storybook/addon-knobs';

import Icons from './icons.template';
import Sprites from './sprites.template';
import Reactions from './reactions.template';

storiesOf('Icons', module)
.addDecorator(withKnobs)
.add('Icons', () => Icons())
.add('Sprites', () => Sprites());
.add('Sprites', () => Sprites())
.add('Reactions', () => Reactions());
33 changes: 33 additions & 0 deletions story/icons/reactions.template.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { select } from '@storybook/addon-knobs';
import classNames from 'classnames';

import { Reactions } from '../_helpers/icons';

export default () => {
const reactionIcon = select('Reaction Icon', {
...Reactions,
}, 'heart');

const reactionSize = select('Size Class', {
'is-small': 'is-small',
'is-medium': 'is-medium',
'is-large': 'is-large',
}, 'is-large');

const reactionFill = select('Fill Class', {
default: '',
'is-half': 'is-half',
'is-transparent': 'is-transparent',
'is-empty': 'is-empty',
});

const reactionClasses = classNames(
'nes-icon',
reactionIcon,
reactionSize,
reactionFill,
);
return `
<i class="${reactionClasses}"></i>
`;
};

0 comments on commit fbe2e5c

Please sign in to comment.