UNPKG

@findify/react-components

Version:
24 lines (23 loc) 924 B
import styles from 'layouts/Tabs/styles.css'; import MapArray from 'components/common/MapArray'; import Button from 'components/Button'; import cx from 'classnames'; import { useCallback } from 'react'; const Tab = ({ theme, item, onClickItem }) => { const onClick = useCallback((e) => { e.preventDefault(); return onClickItem(item.key); }, []); return (<Button onClick={onClick} disabled={!item.count} className={cx(theme.item, item.active && theme.active)}> {item.title} <span className={theme.count} display-if={!!item.count}> {item.count} </span> </Button>); }; const Tabs = ({ onClick, widgets, theme = styles }) => (<div className={theme.root}> <MapArray keyAccessor={(i) => i.key} array={widgets} factory={Tab} theme={theme} onClickItem={onClick}/> </div>); export default process.env.HOT ? require('react-hot-loader').hot(module)(Tabs) : Tabs;