blob: a637770847da457cbe026d09874ee411076a7c45 (
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
34
35
36
37
38
39
40
41
|
import React from "react";
import { useTranslation } from "react-i18next";
import classNames from "classnames";
import { convertI18nText, I18nText } from "@/common";
import { PaletteColorType } from "@/palette";
import "./FlatButton.css";
function _FlatButton(
props: {
color?: PaletteColorType;
text?: I18nText;
} & React.ComponentPropsWithoutRef<"button">,
ref: React.ForwardedRef<HTMLButtonElement>
): React.ReactElement | null {
const { t } = useTranslation();
const { color, text, className, children, ...otherProps } = props;
if (text != null && children != null) {
console.warn("You can't set both text and children props.");
}
return (
<button
ref={ref}
className={classNames(
"cru-" + (color ?? "primary"),
"cru-flat-button",
className
)}
{...otherProps}
>
{text != null ? convertI18nText(text, t) : children}
</button>
);
}
const FlatButton = React.forwardRef(_FlatButton);
export default FlatButton;
|