gsy-component-library
Version:
reusable components from grid singularity
74 lines (53 loc) • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
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 }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
require('./Diamond.' + (process.env.NODE_ENV === 'storybook' ? 'scss' : 'css'));
var Diamond = function Diamond(props) {
var active = props.active,
as = props.as,
kind = props.kind,
type = props.type,
className = props.className,
iconUrl = props.iconUrl,
other = _objectWithoutProperties(props, ['active', 'as', 'kind', 'type', 'className', 'iconUrl']);
var iconClasses = (0, _bind2.default)('diamond__icon', 'diamond__icon--' + type);
var ElementType = as && as !== Diamond.defaultProps.as ? as : Diamond.defaultProps.as;
var diamondClasses = (0, _bind2.default)('diamond', 'diamond__' + kind, 'diamond--' + type, { 'diamond--active': active }, className);
return _react2.default.createElement(
ElementType,
_extends({ className: diamondClasses }, other),
_react2.default.createElement(_reactInlinesvg2.default, {
src: iconUrl,
className: iconClasses
})
);
};
Diamond.propTypes = {
active: _propTypes2.default.bool,
as: _propTypes2.default.string,
kind: _propTypes2.default.oneOf(['small', 'medium', 'large']),
type: _propTypes2.default.string,
className: _propTypes2.default.string,
iconUrl: _propTypes2.default.string
};
Diamond.defaultProps = {
active: false,
as: 'div',
kind: 'entity',
type: 'house',
className: '',
iconUrl: ''
};
exports.default = Diamond;