import s from './SelectCommon.module.scss' import classNames from 'classnames' import { useState, useRef, useEffect } from 'react' import { IconVectorDown } from 'src/components/icons' interface Props { children? : React.ReactNode, size?: 'base' | 'large', type?: 'default' | 'custom', option: {name: string}[], } const SelectCommon = ({ type = 'default', size = 'base', option, children }: Props) => { const [isActive, setActive] = useState(false) const [selectedName, setSelectedName] = useState(children) const ref = useRef(null) useEffect(() => { const handleClick = (event: MouseEvent) => { const { target } = event; if (!ref?.current || ref?.current.contains(target as Node)) { return } else{ setActive(false) } } document.addEventListener('click', handleClick) return () => { document.removeEventListener('click', handleClick) } }, [ref]) const changeActiveStatus = () => { setActive(!isActive) } const changeSelectedName = (props:string) => { setSelectedName(props) } return( <>
{selectedName}
{ option.map(item =>
{item.name}
) }
) } export default SelectCommon