gsy-component-library
Version:
reusable components from grid singularity
73 lines (55 loc) • 1.8 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _bind = require('classnames/bind');
var _bind2 = _interopRequireDefault(_bind);
var _reactInlinesvg = require('react-inlinesvg');
var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
require('./FormInput.' + (process.env.NODE_ENV === 'storybook' ? 'scss' : 'css'));
var FormInput = function FormInput(props) {
var label = props.label,
disabled = props.disabled,
onChange = props.onChange,
type = props.type,
className = props.className,
icon = props.icon;
var classes = (0, _bind2.default)('form-input', 'form-input--' + type, className);
return _react2.default.createElement(
'div',
{
className: classes
},
icon && _react2.default.createElement(
'i',
{ className: 'input__icon' },
_react2.default.createElement(_reactInlinesvg2.default, { src: icon })
),
_react2.default.createElement('input', {
placeholder: label,
disabled: disabled,
onChange: onChange
})
);
};
FormInput.propTypes = {
label: _propTypes2.default.string.isRequired,
disabled: _propTypes2.default.bool,
onChange: _propTypes2.default.func,
type: _propTypes2.default.oneOf(['default', 'number']),
icon: _propTypes2.default.string,
className: _propTypes2.default.string
};
FormInput.defaultProps = {
type: 'primary',
icon: undefined,
disabled: false,
onChange: function onChange() {},
className: ''
};
exports.default = FormInput;