sc-react-ions
Version:
An open source set of React components that implement Ambassador's Design and UX patterns.
67 lines (52 loc) • 1.6 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 _OptClass = require('../internal/OptClass');
var _OptClass2 = _interopRequireDefault(_OptClass);
var _style = require('./style.scss');
var _style2 = _interopRequireDefault(_style);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Chip = function Chip(props) {
var isActionable = props.clickCallback ? 'is-actionable' : null;
var chipClasses = (0, _OptClass2.default)(_style2.default, ['chip-wrapper', props.color, props.size, props.optClass, isActionable]);
return _react2.default.createElement(
'span',
{ className: chipClasses },
_react2.default.createElement(
'span',
{ onClick: props.clickCallback },
props.text
)
);
};
Chip.propTypes = {
/**
* The background color of the chip.
*/
color: _propTypes2.default.oneOf(['danger', 'neutral-1', 'neutral-4', 'primary', 'primary-darker', 'success']),
/**
* Optional click callback.
*/
clickCallback: _propTypes2.default.func,
/**
* Optional styles to add to the chip.
*/
optClass: _propTypes2.default.string,
/**
* Optional size of the chip.
*/
size: _propTypes2.default.oneOf(['larger', 'smaller']),
/**
* Text to display inside the chip.
*/
text: _propTypes2.default.string
};
Chip.defaultProps = {
color: 'primary'
};
exports.default = Chip;