import { useTranslation } from 'react-i18next' import PropTypes from 'prop-types' import SymbolPaletteItems from './symbol-palette-items' export default function SymbolPaletteBody({ categories, categorisedSymbols, filteredSymbols, handleSelect, focusInput, activeCategoryId, }) { const { t } = useTranslation() // searching with matches: show the matched symbols // searching with no matches: show a message // note: include empty tab panels so that aria-controls on tabs can still reference the panel ids if (filteredSymbols) { return (
{filteredSymbols.length ? ( ) : (
{t('no_symbols_found')}
)} {categories.map(category => ( ) } // not searching: show the symbols grouped by category return (
{categories.map((category) => ( ))}
) } SymbolPaletteBody.propTypes = { categories: PropTypes.arrayOf(PropTypes.object).isRequired, categorisedSymbols: PropTypes.object, filteredSymbols: PropTypes.arrayOf(PropTypes.object), handleSelect: PropTypes.func.isRequired, focusInput: PropTypes.func.isRequired, activeCategoryId: PropTypes.string.isRequired, }