UNPKG

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
'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;