@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
75 lines (74 loc) • 3.02 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const React = require("react");
const styles = require("@mui/material/styles");
const useMediaQuery = require("@mui/material/useMediaQuery");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const GlobalActions_styles = require("./GlobalActions.styles.cjs");
const Typography = require("../Typography/Typography.cjs");
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
const useMediaQuery__default = /* @__PURE__ */ _interopDefault(useMediaQuery);
const HvGlobalActions = React.forwardRef(function HvGlobalActions2(props, ref) {
const {
children,
classes: classesProp,
className,
title,
variant = "global",
backButton,
headingLevel,
position: positionProp,
...others
} = uikitReactUtils.useDefaultProps("HvGlobalActions", props);
const muiTheme = styles.useTheme();
const { classes, cx, css } = GlobalActions_styles.useClasses(classesProp);
const isSmDown = useMediaQuery__default.default(muiTheme.breakpoints.down("sm"));
const isUpMd = useMediaQuery__default.default(muiTheme.breakpoints.up("md"));
const headingLevelToApply = headingLevel || (variant === "global" ? 1 : 2);
const position = positionProp || (variant === "global" ? "sticky" : "relative");
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
ref,
className: cx(
classes.root,
{
[classes.positionSticky]: position === "sticky",
[classes.positionFixed]: position === "fixed",
[classes.global]: variant === "global",
[classes.section]: variant === "section"
},
position === "fixed" && css(GlobalActions_styles.getBreakpointStyles(isUpMd, isSmDown)),
className
),
...others,
children: /* @__PURE__ */ jsxRuntime.jsxs(
"div",
{
className: cx(classes.wrapper, {
[classes.globalWrapperComplement]: variant === "global",
[classes.globalSectionArea]: variant === "section"
}),
children: [
variant === "global" && backButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.backButton, children: backButton }),
typeof title !== "string" ? title : /* @__PURE__ */ jsxRuntime.jsx(
Typography.HvTypography,
{
variant: variant === "global" ? "title3" : "title4",
component: `h${headingLevelToApply}`,
className: cx(classes.name, {
[classes.sectionName]: variant !== "global"
}),
children: title
}
),
children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children })
]
}
)
}
);
});
exports.globalActionsClasses = GlobalActions_styles.staticClasses;
exports.HvGlobalActions = HvGlobalActions;