@hitachivantara/uikit-react-pentaho
Version:
UI Kit Pentaho React components.
47 lines (46 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const react = require("react");
const HvCanvasContext = react.createContext(null);
const HvCanvasProvider = ({
children
}) => {
const [sidePanelOpen, setSidePanelOpen] = react.useState(false);
const [width, setWidth] = react.useState(0);
const [sidePanelDragging, setSidePanelDragging] = react.useState(false);
const handleSidePanelWidth = react.useCallback((newWidth) => {
setWidth(newWidth);
}, []);
const handleSidePanelOpen = react.useCallback((open) => {
setSidePanelOpen(open);
}, []);
const handleSidePanelDragging = react.useCallback((dragging) => {
setSidePanelDragging(dragging);
}, []);
const value = react.useMemo(
() => ({
sidePanelOpen,
handleSidePanelOpen,
sidePanelWidth: sidePanelOpen ? width : 0,
handleSidePanelWidth,
sidePanelDragging,
handleSidePanelDragging
}),
[
sidePanelOpen,
handleSidePanelOpen,
width,
handleSidePanelWidth,
sidePanelDragging,
handleSidePanelDragging
]
);
return /* @__PURE__ */ jsxRuntime.jsx(HvCanvasContext.Provider, { value, children });
};
const useCanvasContext = () => {
return react.useContext(HvCanvasContext);
};
exports.HvCanvasContext = HvCanvasContext;
exports.HvCanvasProvider = HvCanvasProvider;
exports.useCanvasContext = useCanvasContext;