1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/code/frontend/src/components/base/Button.js

25 lines
888 B
JavaScript
Raw Normal View History

2021-04-21 01:57:18 +00:00
import React from "react"
import Style from "./Button.module.css"
import classNames from "classnames"
2021-04-29 14:58:31 +00:00
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 (
2021-04-22 17:10:19 +00:00
<button type={"button"} className={classNames(Style.Button, Style[`Button${color}`], className)} {...props}>
2021-04-21 01:57:18 +00:00
{children} {make_icon(icon, Style.Icon)}
</button>
)
}