@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
40 lines (39 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const React = require("react");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const Navigation_styles = require("./Navigation.styles.cjs");
const useSelectionPath = require("./useSelectionPath.cjs");
const FocusContext = require("./utils/FocusContext.cjs");
const SelectionContext = require("./utils/SelectionContext.cjs");
const MenuBar = require("./MenuBar/MenuBar.cjs");
const HvHeaderNavigation = React.forwardRef(function HvHeaderNavigation2(props, ref) {
const {
data,
selected,
onClick,
className,
classes: classesProp,
levels = 2,
...others
} = uikitReactUtils.useDefaultProps("HvHeaderNavigation", props);
const { classes, cx } = Navigation_styles.useClasses(classesProp);
const selectionPath = useSelectionPath.useSelectionPath(data, selected);
const handleClick = (event, selection) => {
event.preventDefault();
onClick?.(event, selection);
};
return /* @__PURE__ */ jsxRuntime.jsx(SelectionContext.SelectionContext.Provider, { value: selectionPath, children: /* @__PURE__ */ jsxRuntime.jsx(FocusContext.FocusProvider, { children: /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, className: cx(classes.root, className), ...others, children: /* @__PURE__ */ jsxRuntime.jsx(
MenuBar.HvHeaderMenuBar,
{
data,
type: "menubar",
onClick: handleClick,
levels,
currentLevel: 1
}
) }) }) });
});
exports.headerNavigationClasses = Navigation_styles.staticClasses;
exports.HvHeaderNavigation = HvHeaderNavigation;