import cn from 'classnames' import s from './Marquee.module.css' import { FC, ReactNode, Component, Children, isValidElement } from 'react' import Ticker from 'react-ticker' interface MarqueeProps { className?: string children?: ReactNode[] | Component[] | any[] variant?: 'primary' | 'secondary' } const Marquee: FC = ({ className = '', children, variant = 'primary', }) => { const rootClassName = cn( s.root, { [s.primary]: variant === 'primary', [s.secondary]: variant === 'secondary', }, className ) return (
{() => (
{Children.map(children, (child) => { if (isValidElement(child)) { return { ...child, props: { ...child.props, className: cn(child.props.className, `${variant}`), }, } } return child })}
)}
) } export default Marquee