@etsoo/materialui
Version:
TypeScript Material-UI Implementation
20 lines (19 loc) • 554 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import Button from "@mui/material/Button";
import { useNavigate } from "react-router-dom";
/**
* ButtonLink
* @param props Props
* @returns Component
*/
export function ButtonLink(props) {
// Destruct
const { href, state, ...rest } = props;
// Navigate
const navigate = useNavigate();
const onClick = href.includes("://")
? () => window.open(href, "_blank")
: () => navigate(href, { state });
// Layout
return _jsx(Button, { ...rest, onClick: onClick });
}