chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
52 lines (51 loc) • 1.4 kB
JavaScript
import PropTypes from 'prop-types';
import React, { PureComponent } from 'react';
import Icon from '../../react-chayns-icon/component/Icon';
export default class Tag extends PureComponent {
constructor() {
super(...arguments);
this.handleDelete = ev => {
const {
value,
onDelete
} = this.props;
if (onDelete) {
onDelete(value, ev);
}
};
}
render() {
const {
children,
selected,
disableRemove
} = this.props;
return /*#__PURE__*/React.createElement("div", {
className: 'cc__tag' + (selected ? " cc__tag--selected" : ""),
style: disableRemove ? {
paddingRight: 10
} : undefined
}, /*#__PURE__*/React.createElement("div", {
className: "cc__tag__children"
}, children), !disableRemove && /*#__PURE__*/React.createElement(Icon, {
className: "icon",
icon: "fa fa-times",
onClick: this.handleDelete
}));
}
}
Tag.propTypes = {
// eslint-disable-next-line react/forbid-prop-types
value: PropTypes.object.isRequired,
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired,
onDelete: PropTypes.func,
selected: PropTypes.bool,
disableRemove: PropTypes.bool
};
Tag.defaultProps = {
onDelete: null,
selected: false,
disableRemove: false
};
Tag.displayName = 'Tag';
//# sourceMappingURL=Tag.js.map