@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
66 lines (65 loc) • 1.83 kB
JavaScript
import { jsxs, jsx } from "react/jsx-runtime";
import { HvIcon } from "../../../icons.js";
import { setId } from "../../../utils/setId.js";
import { useClasses } from "./Navigation.styles.js";
import { staticClasses } from "./Navigation.styles.js";
import { HvButton } from "../../../Button/Button.js";
const Navigation = ({
id,
classes: classesProp,
onNavigatePrevious,
onNavigateNext,
onTextClick,
navigationText = "n/a",
isPreviousEnabled = true,
isNextEnabled = true
}) => {
const { classes, cx } = useClasses(classesProp);
return /* @__PURE__ */ jsxs("div", { className: classes.root, children: [
/* @__PURE__ */ jsx(
HvButton,
{
icon: true,
disabled: !isPreviousEnabled,
"aria-label": "Previous",
id: setId(id, "left"),
className: cx(classes.icon, {
[classes.disabled]: !isPreviousEnabled
}),
onClick: onNavigatePrevious,
children: /* @__PURE__ */ jsx(HvIcon, { name: "CaretRight", size: "xs", rotate: true })
}
),
/* @__PURE__ */ jsx(
HvButton,
{
id,
variant: "secondaryGhost",
onClick: onTextClick,
component: onTextClick ? "button" : "div",
className: cx(classes.text, {
[classes.textWithoutHover]: !onTextClick
}),
children: navigationText
}
),
/* @__PURE__ */ jsx(
HvButton,
{
icon: true,
disabled: !isNextEnabled,
"aria-label": "Next",
id: setId(id, "right"),
className: cx(classes.icon, {
[classes.disabled]: !isNextEnabled
}),
onClick: onNavigateNext,
children: /* @__PURE__ */ jsx(HvIcon, { name: "CaretRight", size: "xs" })
}
)
] });
};
export {
Navigation,
staticClasses as navigationClasses
};