import type React from 'react'; import { m } from 'framer-motion'; export interface SidebarItemProps { selected: boolean; setSelected: () => void; actions?: React.ReactNode; children: React.ReactNode; } export const SidebarItem = ({ selected, setSelected, actions, children, }: SidebarItemProps): JSX.Element => { return ( <div onClick={(): void => { setSelected(); }} className={`mx-2 flex cursor-pointer select-none rounded-md border bg-gray-200 p-2 shadow-md first:mt-2 last:mb-2 hover:border-primary dark:bg-tertiaryDark dark:hover:border-primary ${ selected ? 'border-primary' : 'border-gray-400 dark:border-gray-600' }`} > <m.div className="flex w-full justify-between" whileHover={{ scale: 1.01 }} whileTap={{ scale: 0.99 }} > <div className="flex gap-2">{children}</div> <div className="flex gap-1">{actions}</div> </m.div> </div> ); };