UNPKG

@orfeas126/box-ui-elements

Version:
65 lines (64 loc) 1.86 kB
/** * * @author Box */ import * as React from 'react'; import { injectIntl } from 'react-intl'; import FileIcon from '../../../icons/file-icon/FileIcon'; import FolderIcon from '../../../icons/folder-icon/FolderIcon'; import BookmarkIcon from '../../../icons/bookmark-icon/BookmarkIcon'; import { TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../../../constants'; import messages from '../messages'; import './IconCell.scss'; const IconCell = ({ intl, rowData, dimension }) => { const { type, extension, has_collaborations, is_externally_owned } = rowData; let title; switch (type) { case TYPE_FILE: title = intl.formatMessage(messages.file); return /*#__PURE__*/React.createElement(FileIcon, { dimension: dimension, extension: extension, title: title }); case TYPE_FOLDER: if (has_collaborations) { title = intl.formatMessage(messages.collaboratedFolder); } else if (is_externally_owned) { title = intl.formatMessage(messages.externalFolder); } else { title = intl.formatMessage(messages.personalFolder); } return /*#__PURE__*/React.createElement(FolderIcon, { dimension: dimension, isCollab: has_collaborations, isExternal: is_externally_owned, title: title }); case TYPE_WEBLINK: title = intl.formatMessage(messages.bookmark); return /*#__PURE__*/React.createElement(BookmarkIcon, { height: dimension, width: dimension, title: title }); default: title = intl.formatMessage(messages.file); return /*#__PURE__*/React.createElement(FileIcon, { dimension: dimension, title: title }); } }; export { IconCell as IconCellBase }; export default injectIntl(IconCell); //# sourceMappingURL=IconCell.js.map