import React from 'react'; import classnames from 'classnames'; import PropTypes from 'prop-types'; import Box from '../../ui/box/box'; import { AlignItems, IconColor, BorderRadius, Color, Size, JustifyContent, TextColor, BLOCK_SIZES, } from '../../../helpers/constants/design-system'; import { AvatarNetwork, ButtonIcon, ButtonLink } from '../../component-library'; import { ICON_NAMES } from '../../component-library/icon/deprecated'; import { useI18nContext } from '../../../hooks/useI18nContext'; import Tooltip from '../../ui/tooltip/tooltip'; const MAXIMUM_CHARACTERS_WITHOUT_TOOLTIP = 17; export const NetworkListItem = ({ name, iconSrc, selected = false, onClick, onDeleteClick, }) => { const t = useI18nContext(); return ( {selected && ( )} {name.length > MAXIMUM_CHARACTERS_WITHOUT_TOOLTIP ? ( {name} ) : ( name )} {onDeleteClick ? ( { e.stopPropagation(); onDeleteClick(); }} /> ) : null} ); }; NetworkListItem.propTypes = { /** * The name of the network */ name: PropTypes.string.isRequired, /** * Path to the Icon image */ iconSrc: PropTypes.string, /** * Represents if the network item is selected */ selected: PropTypes.bool, /** * Executes when the item is clicked */ onClick: PropTypes.func.isRequired, /** * Executes when the delete icon is clicked */ onDeleteClick: PropTypes.func, };