Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 42 43 44 45 46 47 | 203x 3387x 3387x 203x | import { forwardRef } from "react";
import { Checkbox as MuiCheckbox } from "@mui/material";
import { CheckIcon, MinusIcon } from "@phosphor-icons/react";
import { CheckboxProps } from "./type";
import { useAppTheme } from "@theme/v2/Provider";
const GiveCheckbox = forwardRef<HTMLButtonElement, CheckboxProps>(
(
{
error = false,
size = "small",
icon = null,
checkedIcon = <CheckIcon fill="transparent" />,
indeterminateIcon = <MinusIcon fill="transparent" />,
...rest
},
ref,
) => {
const { palette } = useAppTheme();
return (
<MuiCheckbox
disableRipple
disableTouchRipple
disableFocusRipple
checkedIcon={checkedIcon}
indeterminateIcon={indeterminateIcon}
size={size}
version="two"
{...(icon && { icon })}
ref={ref}
{...rest}
sx={{
...(error && {
border: `1px solid ${palette.primitive?.error[50]} !important`,
}),
...rest.sx,
}}
/>
);
},
);
GiveCheckbox.displayName = "GiveCheckbox";
export default GiveCheckbox;
|