@faiz-ui/ripple
Version:
Ripple effect
31 lines (28 loc) • 694 B
TypeScript
import { MouseEvent, Key } from 'react';
import { ReactRef } from '@faiz-ui/react-utils';
interface UseRippleProps {
/**
* color of the ripple
*/
color?: string;
/**
* Ref to the Ripple.
*/
ref?: ReactRef<{
addRipple: (e: MouseEvent<HTMLElement>) => void;
}>;
}
type TRipple = {
key: Key;
x: number;
y: number;
size: number;
};
declare function useRipple(props: UseRippleProps): {
ripples: TRipple[];
onClick: (e: MouseEvent<HTMLElement>) => void;
onClear: (key: Key) => void;
color: string;
};
type UseRippleReturn = ReturnType<typeof useRipple>;
export { TRipple, UseRippleProps, UseRippleReturn, useRipple };