@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
62 lines (61 loc) • 1.83 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { forwardRef } from "react";
import MuiContainer from "@mui/material/Container";
import { useTheme } from "@mui/material/styles";
import useMediaQuery from "@mui/material/useMediaQuery";
import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
import { theme } from "@hitachivantara/uikit-styles";
import { useClasses, staticClasses } from "./Container.styles.js";
const HvContainer = forwardRef(
function HvContainer2(props, ref) {
const {
maxWidth = false,
classes: classesProp,
className,
fixed,
disableGutters,
...others
} = useDefaultProps("HvContainer", props);
const { classes, cx, css } = useClasses(classesProp);
const muiTheme = useTheme();
const upMd = useMediaQuery(muiTheme.breakpoints.up("md"));
const gutters = upMd ? {
// Increases specificity
[`&.${staticClasses.root}`]: {
paddingLeft: theme.spacing(4),
paddingRight: theme.spacing(4)
}
} : {
// Increases specificity
[`&.${staticClasses.root}`]: {
paddingLeft: theme.space.sm,
paddingRight: theme.space.sm
}
};
return /* @__PURE__ */ jsx(
MuiContainer,
{
className: cx({ [css(gutters)]: !disableGutters }, className),
classes: {
root: classes.root,
disableGutters: classes.disableGutters,
fixed: classes.fixed,
maxWidthXs: classes.maxWidthXs,
maxWidthSm: classes.maxWidthSm,
maxWidthMd: classes.maxWidthMd,
maxWidthLg: classes.maxWidthLg,
maxWidthXl: classes.maxWidthXl
},
ref,
maxWidth,
fixed,
disableGutters,
...others
}
);
}
);
export {
HvContainer,
staticClasses as containerClasses
};