@rtdui/hooks
Version:
React hooks library base on @mantine/hooks
30 lines (27 loc) • 864 B
JavaScript
'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