Sha256: e4ec566b022bfcbd6c27493ad616f127540976da71c245a84b10de394397cfb6
Contents?: true
Size: 629 Bytes
Versions: 1
Compression:
Stored size: 629 Bytes
Contents
import { useCallback, useState } from "react"; import * as Crop from "../../types/Crop"; export default function useContainerSize(): [ (node?: HTMLDivElement) => void, Crop.Size ] { const [containerSize, setContainerSize] = useState<Crop.Size>(); const ref = useCallback((node?: HTMLDivElement) => { const measure = () => { setContainerSize({ width: node.offsetWidth - 2, height: node.offsetHeight - 2 }); }; if (node !== null) { measure(); const observer = new ResizeObserver(measure); observer.observe(node); } }, []); return [ref, containerSize]; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.15.5 | app/javascript/components/ImageCropper/useContainerSize.ts |