@lunit/oui
Version:
Lunit Oncology UI components
35 lines (34 loc) • 1.4 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useState } from 'react';
import { ArrowDownXs } from '../../icons';
import { BaseIconDropdown } from './IconDropdown.styled';
import theme from '../../theme';
const IconDropdown = ({ open, disabled, children, ...otherProps }) => {
const [isOpen, setOpen] = useState(false);
return (_jsx(BaseIconDropdown, { IconComponent: () => (_jsx(ArrowDownXs, { onClick: () => {
if (typeof open === 'undefined')
setOpen(false);
}, style: isOpen || open
? {
cursor: 'pointer',
transform: 'scaleY(-1)',
}
: undefined })), open:
// eslint-disable-next-line no-nested-ternary
typeof open !== 'undefined' ? open : disabled ? false : isOpen, disabled: disabled, multiple: false, onClick: () => {
if (!disabled)
setOpen(!isOpen);
}, MenuProps: {
sx: {
'.MuiPaper-root': {
marginTop: '4px',
borderRadius: '8px',
background: theme.palette.neutralGrey[85],
border: 'transparent',
left: 0,
width: '260px',
},
},
}, ...otherProps, children: children }));
};
export default IconDropdown;