UNPKG

@ducor/react

Version:

admin template ui interface

22 lines (21 loc) 941 B
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useState, useEffect, } from "react"; var HtmlDirectionContext = createContext(undefined); export var useHtmlDirection = function () { var context = useContext(HtmlDirectionContext); if (!context) { throw new Error("useHtmlDirection must be used within an HtmlDirectionProvider"); } return context; }; export var HtmlDirectionProvider = function (_a) { var children = _a.children; var _b = useState("ltr"), htmlDirection = _b[0], setHtmlDirection = _b[1]; useEffect(function () { var dir = document.body.getAttribute("dir"); if (dir !== htmlDirection) { document.body.setAttribute("dir", htmlDirection); } }, [htmlDirection]); return (_jsx(HtmlDirectionContext.Provider, { value: { htmlDirection: htmlDirection, setHtmlDirection: setHtmlDirection }, children: children })); };