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

feat(avatars): add avatar component #156

Merged
20 changes: 20 additions & 0 deletions docs/avatars.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { storiesOf } from '@storybook/html'; // eslint-disable-line import/no-extraneous-dependencies
import { // eslint-disable-line import/no-extraneous-dependencies
withKnobs, radios, boolean,
} from '@storybook/addon-knobs';

const stories = storiesOf('Avatars', module);
stories.addDecorator(withKnobs);

stories.add('avatars', () => {
const options = radios('class', {
'is-small': 'is-small',
default: '',
'is-medium': 'is-medium',
'is-large': 'is-large',
}, '');
const isRounded = boolean('is-rounded', false) ? 'is-rounded' : '';
const selectedClasses = [isRounded, options].join(' ');

return `<img src="http://www.gravatar.com/avatar" class="nes-avatar ${selectedClasses}">`;
});
14 changes: 14 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,20 @@ <h2 class="title">Checkboxes</h2>
</label>
</section>

<section class="nes-container with-title">
<h2 class="title">Avatars</h2>
<div>
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-small">
<img src="http://www.gravatar.com/avatar" class="nes-avatar">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-medium">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-large">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-small is-rounded">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-rounded">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-medium is-rounded">
<img src="http://www.gravatar.com/avatar" class="nes-avatar is-large is-rounded">
</div>
</section>

<section class="form nes-container with-title">
<h2 class="title">Form</h2>
<div class="nes-field">
Expand Down
1 change: 1 addition & 0 deletions scss/elements/_index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
@import "balloons.scss";
@import "tables.scss";
@import "progress.scss";
@import "avatar.scss";
23 changes: 23 additions & 0 deletions scss/elements/avatar.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@mixin img-style($param) {
$size: $param * 16;

width: $size;
height: $size;

&.is-rounded {
border-radius: 50px;
}
}
.nes-avatar {
@include img-style(2px);

&.is-small {
@include img-style(1px);
}
&.is-medium {
@include img-style(3px);
}
&.is-large {
@include img-style(4px);
}
}