box-ui-elements-mlh
Version:
55 lines (51 loc) • 1.87 kB
JavaScript
import PropTypes from 'prop-types';
import React from 'react';
import PlainButton from '../../../components/plain-button';
import IconChevron from '../../../icons/general/IconChevron';
import ItemTypes from '../item-types';
import { ItemTypePropType } from '../prop-types';
var ITEM_LIST_NAME_CLASS = 'item-list-name';
var ItemListName = function ItemListName(_ref) {
var type = _ref.type,
name = _ref.name,
_ref$label = _ref.label,
label = _ref$label === void 0 ? '' : _ref$label,
_ref$isSelected = _ref.isSelected,
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
onClick = _ref.onClick,
linkRenderer = _ref.linkRenderer;
var isFolder = type === ItemTypes.FOLDER;
var linkProps = {
className: "lnk ".concat(ITEM_LIST_NAME_CLASS),
onClick: onClick,
children: [/*#__PURE__*/React.createElement("span", {
key: "name"
}, name), /*#__PURE__*/React.createElement(IconChevron, {
key: "icon",
color: isSelected ? '#447991' : '#333',
direction: "right",
size: "4px",
thickness: "1px"
})]
};
var renderLink = function renderLink() {
return linkRenderer ? linkRenderer(linkProps) : /*#__PURE__*/React.createElement(PlainButton, linkProps);
};
return /*#__PURE__*/React.createElement("div", {
className: "item-list-name-container"
}, isFolder ? renderLink() : /*#__PURE__*/React.createElement("span", {
className: ITEM_LIST_NAME_CLASS
}, name), !!label && /*#__PURE__*/React.createElement("span", {
className: "item-list-name-label"
}, label));
};
ItemListName.propTypes = {
type: ItemTypePropType,
name: PropTypes.string.isRequired,
label: PropTypes.string,
isSelected: PropTypes.bool,
onClick: PropTypes.func,
linkRenderer: PropTypes.func
};
export default ItemListName;
//# sourceMappingURL=ItemListName.js.map