UNPKG

@rtdui/hooks

Version:

React hooks library base on @mantine/hooks

30 lines (27 loc) 864 B
'use client'; import { useState } from 'react'; import { useIsomorphicEffect, useMutationObserver } from '@mantine/hooks'; function useDirection() { const [dir, setDir] = useState("ltr"); useIsomorphicEffect(() => { const direction = document.documentElement.getAttribute("dir"); if (direction === "rtl") { setDir(direction); } }, []); useMutationObserver( (mutations) => { mutations.forEach((mutation) => { if (mutation.type === "attributes" && mutation.attributeName === "dir") { if (mutation.target instanceof HTMLHtmlElement && mutation.target.getAttribute("dir") === "rtl") setDir("rtl"); } }); }, { attributes: true, attributeFilter: ["dir"] }, () => document.documentElement ); return dir; } export { useDirection }; //# sourceMappingURL=useDirection.mjs.map