/* eslint-disable react/forbid-prop-types */ /* eslint-disable react/require-default-props */ /* eslint-disable @typescript-eslint/no-explicit-any */ import classNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; import CLink from '../link/CLink'; import { tagPropType } from '../utils/helper'; // component - CoreUI / CListGroupItem const CListGroupItem = (props: any) => { const { tag: Tag, className, // innerRef, active, disabled, action, color, accent, ...rest } = props; // render const classes = classNames(className, 'list-group-item', { 'list-group-item-action': action || rest.href || rest.to || Tag === 'button', active, disabled, [`list-group-item-${color}`]: color, [`list-group-item-accent-${accent}`]: accent, }); const { href, to } = props; if (href || to) { return ( <> ); } return ( <> ); }; CListGroupItem.propTypes = { tag: tagPropType, className: PropTypes.any, // innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]), active: PropTypes.bool, disabled: PropTypes.bool, color: PropTypes.string, accent: PropTypes.string, action: PropTypes.bool, children: PropTypes.node, href: PropTypes.string, onClick: PropTypes.func, }; CListGroupItem.defaultProps = { tag: 'li', }; export default CListGroupItem;