Files
feishin/src/renderer/features/shared/components/resize-handle.tsx
T
Jeff c1330d92b2 Migrate to Mantine v8 and Design Changes (#961)
* mantine v8 migration

* various design changes and improvements
2025-06-24 00:04:36 -07:00

26 lines
753 B
TypeScript

import clsx from 'clsx';
import { forwardRef, HTMLAttributes } from 'react';
import styles from './resize-handle.module.css';
interface ResizeHandleProps extends HTMLAttributes<HTMLDivElement> {
isResizing: boolean;
placement: 'bottom' | 'left' | 'right' | 'top';
}
export const ResizeHandle = forwardRef<HTMLDivElement, ResizeHandleProps>(
({ isResizing, placement, ...props }: ResizeHandleProps, ref) => {
return (
<div
className={clsx({
[styles.handle]: true,
[styles.resizing]: isResizing,
[styles[`handle-${placement}`]]: true,
})}
ref={ref}
{...props}
/>
);
},
);