| 1 | import type { ResizableWidthHandlers } from "~/hooks/useResizableWidth"; |
| 2 | import { cn } from "~/lib/utils"; |
| 3 | |
| 4 | interface Props { |
| 5 | handlers: ResizableWidthHandlers; |
| 6 | className?: string; |
| 7 | } |
| 8 | |
| 9 | export function RightPanelResizeHandle({ handlers, className }: Props) { |
| 10 | return ( |
| 11 | <div |
| 12 | role="separator" |
| 13 | aria-orientation="vertical" |
| 14 | aria-label="Resize side panel" |
| 15 | tabIndex={0} |
| 16 | className={cn( |
| 17 | "group absolute inset-y-0 left-0 z-20 w-3 cursor-col-resize touch-none select-none outline-none hover:bg-primary/10 focus-visible:bg-primary/10 active:bg-primary/15", |
| 18 | className, |
| 19 | )} |
| 20 | {...handlers} |
| 21 | > |
| 22 | <span |
| 23 | aria-hidden |
| 24 | className="pointer-events-none absolute inset-y-0 left-0 w-px bg-transparent transition-colors duration-150 group-hover:bg-border group-active:bg-primary/60" |
| 25 | /> |
| 26 | </div> |
| 27 | ); |
| 28 | } |