roshikhan301's picture
Upload 2113 files
8a37e0a verified
import type { IconButtonProps, SystemStyleObject } from '@invoke-ai/ui-library';
import { IconButton } from '@invoke-ai/ui-library';
import type { MouseEvent } from 'react';
import { memo } from 'react';
const sx: SystemStyleObject = {
minW: 0,
svg: {
transitionProperty: 'common',
transitionDuration: 'normal',
fill: 'base.100',
_hover: { fill: 'base.50' },
filter: `drop-shadow(0px 0px 0.1rem var(--invoke-colors-base-900))
drop-shadow(0px 0px 0.3rem var(--invoke-colors-base-900))
drop-shadow(0px 0px 0.3rem var(--invoke-colors-base-900))`,
},
};
type Props = Omit<IconButtonProps, 'aria-label' | 'onClick' | 'tooltip'> & {
onClick: (event: MouseEvent<HTMLButtonElement>) => void;
tooltip: string;
};
export const DndImageIcon = memo((props: Props) => {
const { onClick, tooltip, icon, ...rest } = props;
return (
<IconButton
onClick={onClick}
aria-label={tooltip}
icon={icon}
variant="link"
sx={sx}
data-testid={tooltip}
{...rest}
/>
);
});
DndImageIcon.displayName = 'DndImageIcon';