1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-29 07:54:19 +00:00
pds-2021-g2-nest/nest_frontend/components/base/Button.js

24 lines
887 B
JavaScript

import React from "react"
import Style from "./Button.module.css"
import classNames from "classnames"
import make_icon from "../../utils/make_icon"
/**
* A clickable button.
*
* @param children - The contents of the button.
* @param className - Additional class(es) that should be added to the button.
* @param color - The color of the button. Either `Red`, `Grey`, `Green` or `Yellow`.
* @param icon - The FontAwesome IconDefinition of the icon that should be rendered in the button.
* @param props - Additional props to pass to the button.
* @returns {JSX.Element}
* @constructor
*/
export default function Button({ children, className, color, icon, ...props }) {
return (
<button type={"button"} className={classNames(Style.Button, Style[`Button${color}`], className)} {...props}>
{children} {make_icon(icon, Style.Icon)}
</button>
)
}