Files
mtdb_movie/common/resources/client/background-selector/background-selector-button.tsx
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

31 lines
945 B
TypeScript
Executable File

import clsx from 'clsx';
import {ComponentProps, forwardRef, ReactNode} from 'react';
interface BackgroundSelectorButtonProps extends ComponentProps<'button'> {
isActive?: boolean;
children?: ReactNode;
label: ReactNode;
}
export const BackgroundSelectorButton = forwardRef<
HTMLButtonElement,
BackgroundSelectorButtonProps
>(({isActive, children, className, style, label, ...buttonProps}, ref) => {
return (
<button type="button" {...buttonProps} ref={ref}>
<span
className={clsx(
'flex aspect-square items-center justify-center overflow-hidden rounded-panel border border-[#c3cbdc] outline-none focus-visible:ring',
isActive && 'ring-2 ring-primary ring-offset-2',
className,
)}
style={style}
>
{children}
</span>
<span className="mt-10 block overflow-hidden overflow-ellipsis text-xs">
{label}
</span>
</button>
);
});