Skip to content

Commit 7d03327

Browse files
fix: add union type SVGElement in eligible hooks
1 parent 2066727 commit 7d03327

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

packages/usehooks-ts/src/useHover/useHover.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { useEventListener } from '../useEventListener'
1818
* // Access the isHovered variable to determine if the button is being hovered over.
1919
* ```
2020
*/
21-
export function useHover<T extends HTMLElement = HTMLElement>(
21+
export function useHover<T extends HTMLElement | SVGElement = HTMLElement>(
2222
elementRef: RefObject<T>,
2323
): boolean {
2424
const [value, setValue] = useState<boolean>(false)

packages/usehooks-ts/src/useOnClickOutside/useOnClickOutside.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ type EventType =
2929
* });
3030
* ```
3131
*/
32-
export function useOnClickOutside<T extends HTMLElement = HTMLElement>(
32+
export function useOnClickOutside<
33+
T extends HTMLElement | SVGElement = HTMLElement,
34+
>(
3335
ref: RefObject<T> | RefObject<T>[],
3436
handler: (event: MouseEvent | TouchEvent | FocusEvent) => void,
3537
eventType: EventType = 'mousedown',

packages/usehooks-ts/src/useResizeObserver/useResizeObserver.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ type Size = {
1313
}
1414

1515
/** The options for the ResizeObserver. */
16-
type UseResizeObserverOptions<T extends HTMLElement = HTMLElement> = {
16+
type UseResizeObserverOptions<
17+
T extends HTMLElement | SVGElement = HTMLElement,
18+
> = {
1719
/** The ref of the element to observe. */
1820
ref: RefObject<T>
1921
/**
@@ -51,9 +53,9 @@ const initialSize: Size = {
5153
* <div ref={myRef}>Hello, world!</div>
5254
* ```
5355
*/
54-
export function useResizeObserver<T extends HTMLElement = HTMLElement>(
55-
options: UseResizeObserverOptions<T>,
56-
): Size {
56+
export function useResizeObserver<
57+
T extends HTMLElement | SVGElement = HTMLElement,
58+
>(options: UseResizeObserverOptions<T>): Size {
5759
const { ref, box = 'content-box' } = options
5860
const [{ width, height }, setSize] = useState<Size>(initialSize)
5961
const isMounted = useIsMounted()

0 commit comments

Comments
 (0)