UNPKG

gsy-component-library

Version:
74 lines (53 loc) 2.41 kB
'use strict'; 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;