import PropTypes from 'prop-types'; import React, { useCallback } from 'react'; import Button from 'Components/Link/Button'; import Link from 'Components/Link/Link'; import Menu from 'Components/Menu/Menu'; import MenuContent from 'Components/Menu/MenuContent'; import { sizes } from 'Helpers/Props'; import translate from 'Utilities/String/translate'; import AddSpecificationPresetMenuItem from './AddSpecificationPresetMenuItem'; import styles from './AddSpecificationItem.css'; export default function AddSpecificationItem(props) { const { implementation, implementationName, infoLink, presets, onSpecificationSelect } = props; const onWrappedSpecificationSelect = useCallback(() => { onSpecificationSelect({ implementation }); }, [implementation, onSpecificationSelect]); const hasPresets = !!presets && !!presets.length; return (
{implementationName}
{ hasPresets ? { presets.map((preset, index) => { return ( ); }) } : null } { infoLink ? : null }
); } AddSpecificationItem.propTypes = { implementation: PropTypes.string.isRequired, implementationName: PropTypes.string.isRequired, infoLink: PropTypes.string, presets: PropTypes.arrayOf(PropTypes.object), onSpecificationSelect: PropTypes.func.isRequired };