UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

48 lines (47 loc) 1.3 kB
import { jsxs } from "react/jsx-runtime"; import { useContext } from "react"; import { useDefaultProps } from "@hitachivantara/uikit-react-utils"; import { setId } from "../../utils/setId.js"; import { VerticalNavigationContext } from "../VerticalNavigationContext.js"; import { useClasses } from "./Action.styles.js"; import { staticClasses } from "./Action.styles.js"; import { HvButton } from "../../Button/Button.js"; const HvVerticalNavigationAction = (props) => { const { className, classes: classesProp, id, label = "", icon, ...others } = useDefaultProps("HvVerticalNavigationAction", props); const { isOpen } = useContext(VerticalNavigationContext); const { classes, cx } = useClasses(classesProp); return /* @__PURE__ */ jsxs( HvButton, { id: setId(id, "button"), variant: "secondaryGhost", icon: !isOpen, startIcon: isOpen && icon, className: cx( classes.action, { [classes.noIcon]: !icon, [classes.minimized]: !isOpen }, className ), ...!isOpen && { "aria-label": label }, ...others, children: [ !isOpen && icon, isOpen && label ] } ); }; export { HvVerticalNavigationAction, staticClasses as actionClasses };