All files / src/hooks/playbooks useDimensions.ts

0% Statements 0/6
100% Branches 0/0
0% Functions 0/1
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                                         
import { useRef } from "react";
 
type Dimensions = {
  width: number | undefined;
  height: number | undefined;
};
 
type DimensionsReturnType = [
  React.RefObject<HTMLDivElement> | undefined,
  Dimensions,
];
 
function useDimensions(): DimensionsReturnType {
  const ref = useRef<HTMLDivElement>(null);
 
  const width: number | undefined = ref.current?.clientWidth;
  const height: number | undefined = ref.current?.clientHeight;
 
  return [
    ref,
    {
      width,
      height,
    },
  ];
}
 
export default useDimensions;