UNPKG

@orfeas126/box-ui-elements

Version:
32 lines (31 loc) 1.42 kB
/** * * @file Sort component * @author Box */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import DropdownMenu from '../../../components/dropdown-menu/DropdownMenu'; import Menu from '../../../components/menu/Menu'; import SelectMenuItem from '../../../components/menu/SelectMenuItem'; import SortButton from './SortButton'; import messages from '../messages'; import { FIELD_NAME, FIELD_DATE, FIELD_SIZE, SORT_ASC, SORT_DESC } from '../../../constants'; const SORT_ITEMS = [[FIELD_NAME, SORT_ASC], [FIELD_NAME, SORT_DESC], [FIELD_DATE, SORT_ASC], [FIELD_DATE, SORT_DESC], [FIELD_SIZE, SORT_ASC], [FIELD_SIZE, SORT_DESC]]; const Sort = ({ sortBy, sortDirection, onSortChange }) => /*#__PURE__*/React.createElement(DropdownMenu, { isRightAligned: true }, /*#__PURE__*/React.createElement(SortButton, null), /*#__PURE__*/React.createElement(Menu, null, SORT_ITEMS.map(([sortByValue, sortDirectionValue]) => { const isSelected = sortByValue === sortBy && sortDirectionValue === sortDirection; const sortItemKey = `${sortByValue}${sortDirectionValue}`; return /*#__PURE__*/React.createElement(SelectMenuItem, { key: sortItemKey, isSelected: isSelected, onClick: () => onSortChange(sortByValue, sortDirectionValue) }, /*#__PURE__*/React.createElement(FormattedMessage, messages[sortItemKey])); }))); export default Sort; //# sourceMappingURL=Sort.js.map