blob: ac746a7b864cb472c4823aefaee6a8166318ed2c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import { ComponentPropsWithoutRef } from "react";
import classNames from "classnames";
import { ThemeColor } from "../common";
import "./IconButton.css";
interface IconButtonProps extends ComponentPropsWithoutRef<"i"> {
icon: string;
color?: ThemeColor | "on-surface";
large?: boolean;
}
export default function IconButton(props: IconButtonProps) {
const { icon, color, className, large, ...otherProps } = props;
return (
<button
className={classNames(
"cru-icon-button",
large && "large",
"bi-" + icon,
color === "on-surface"
? "on-surface"
: color != null
? "cru-" + color
: "cru-primary",
className,
)}
{...otherProps}
/>
);
}
|