From 7fb2cb3131c239a259ab9e0260ff21d469f70422 Mon Sep 17 00:00:00 2001 From: Alex Windett Date: Wed, 23 Nov 2016 15:39:40 +0000 Subject: [PATCH] creating button-icon component --- ui/src/components/button-icon/index.js | 36 ++++++++++++++++++++++++ ui/src/components/button-icon/readme.md | 37 +++++++++++++++++++++++++ ui/src/components/button-icon/style.css | 3 ++ ui/src/docs.js | 1 + ui/src/index.js | 1 + 5 files changed, 78 insertions(+) create mode 100644 ui/src/components/button-icon/index.js create mode 100644 ui/src/components/button-icon/readme.md create mode 100644 ui/src/components/button-icon/style.css diff --git a/ui/src/components/button-icon/index.js b/ui/src/components/button-icon/index.js new file mode 100644 index 00000000..c108657f --- /dev/null +++ b/ui/src/components/button-icon/index.js @@ -0,0 +1,36 @@ +const React = require('react'); +const classNames = require('classnames'); +const styles = require('./style.css'); +const Button = require('../button'); + +const ButtonIcon = ({ + name = 'beer', + className, + iconSet = 'fa', + style +}) => { + + const Component = require(`react-icons/lib/${iconSet}/${name}`); + + const cn = classNames( + className, + styles.icon + ); + + return ( +
+ +
+ ); +}; + +ButtonIcon.propTypes = { + className: React.PropTypes.string, + iconSet: React.PropTypes.string.isRequired, + name: React.PropTypes.string.isRequired, + style: React.PropTypes.object +}; + +module.exports = ButtonIcon; diff --git a/ui/src/components/button-icon/readme.md b/ui/src/components/button-icon/readme.md new file mode 100644 index 00000000..ef340293 --- /dev/null +++ b/ui/src/components/button-icon/readme.md @@ -0,0 +1,37 @@ +# `` + +## demo + +```embed +const React = require('react'); +const ReactDOM = require('react-dom/server'); +const Base = require('../base'); +const Container = require('../container'); +const Row = require('../row'); +const Column = require('../column'); +const ButtonIcon = require('./index.js'); +const styles = require('./style.css'); + +nmodule.exports = ReactDOM.renderToString( + + + + + + + +); +``` + +## usage + +```js +const React = require('react'); +const ButtonIcon = require('ui/button-icon'); + +module.exports = () => { + return ( + + ); +} +``` diff --git a/ui/src/components/button-icon/style.css b/ui/src/components/button-icon/style.css new file mode 100644 index 00000000..86e66eb4 --- /dev/null +++ b/ui/src/components/button-icon/style.css @@ -0,0 +1,3 @@ +.icon { + font-size: inherit; +} diff --git a/ui/src/docs.js b/ui/src/docs.js index 51f3218e..a9647a62 100644 --- a/ui/src/docs.js +++ b/ui/src/docs.js @@ -16,6 +16,7 @@ module.exports = { Select: require('./components/select/readme.md'), Column: require('./components/column/readme.md'), Button: require('./components/button/readme.md'), + 'Button Icon': require('./components/button-icon/readme.md'), 'Range Slider': require('./components/range-slider/readme.md'), Toggle: require('./components/toggle/readme.md'), Checkbox: require('./components/checkbox/readme.md'), diff --git a/ui/src/index.js b/ui/src/index.js index b5aebfcd..e86cab2b 100644 --- a/ui/src/index.js +++ b/ui/src/index.js @@ -2,6 +2,7 @@ module.exports = { Avatar: require('./components/avatar'), Base: require('./components/base'), Button: require('./components/button'), + ButtonIcon: require('./components/button-icon'), Checkbox: require('./components/checkbox'), Column: require('./components/column'), Container: require('./components/container'),