
"use client";
import React from 'react';
import { Box } from '@mui/material';
import CustomCheckbox from '../../theme-elements/CustomCheckbox';
import { styled } from '@mui/material/styles';
import Checkbox, { CheckboxProps } from '@mui/material/Checkbox';
const BpIcon = styled('span')(({ theme }) => ({
borderRadius: 3,
width: 19,
height: 19,
marginLeft: '4px',
boxShadow:
theme.palette.mode === 'dark'
? '0 0 0 1px {theme.palette.grey[200]}'
: 'inset 0 0 0 1px {theme.palette.grey[300]}',
backgroundColor: 'transparent',
'.Mui-focusVisible &': {
outline:
theme.palette.mode === 'dark'
? '0px auto {theme.palette.grey[200]}'
: '0px auto {theme.palette.grey[300]}',
outlineOffset: 2,
},
'input:hover ~ &': {
backgroundColor: theme.palette.mode === 'dark' ? theme.palette.primary : theme.palette.primary,
},
'input:disabled ~ &': {
boxShadow: 'none',
background: theme.palette.grey[100],
},
}));
const BpCheckedIcon = styled(BpIcon)({
boxShadow: 'none',
width: 19,
height: 19,
'&:before': {
display: 'block',
width: 19,
height: 19,
backgroundImage:
"url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath" +
" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 " +
"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E")",
content: '""',
},
});
function CustomCheckbox(props: CheckboxProps) {
return (
<Checkbox
disableRipple
color={props.color ? props.color : 'default'}
checkedIcon={
<BpCheckedIcon
sx={{
backgroundColor: props.color ? '{props.color}.main' : 'primary.main',
}}
/>
}
icon={<BpIcon />}
inputProps={{ 'aria-label': 'Checkbox demo' }}
{...props}
/>
);
}
const [checked, setChecked] = React.useState(true);
const handleChange = (event) => {
setChecked(event.target.checked);
};
<Box textAlign="center">
<CustomCheckbox
checked={checked}
onChange={handleChange}
inputProps={{ 'aria-label': 'primary checkbox' }}
/>
<CustomCheckbox disabled checked inputProps={{ 'aria-label': 'disabled checked checkbox' }} />
<CustomCheckbox
defaultChecked
indeterminate
color="secondary"
inputProps={{ 'aria-label': 'indeterminate checkbox' }}
/>
<CustomCheckbox
defaultChecked
color="default"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
</Box>
"use client";
import React from 'react';
import { Box, FormControlLabel } from '@mui/material';
import CustomCheckbox from '../../theme-elements/CustomCheckbox';
import { styled } from '@mui/material/styles';
import Checkbox, { CheckboxProps } from '@mui/material/Checkbox';
const BpIcon = styled('span')(({ theme }) => ({
borderRadius: 3,
width: 19,
height: 19,
marginLeft: '4px',
boxShadow:
theme.palette.mode === 'dark'
? '0 0 0 1px {theme.palette.grey[200]}'
: 'inset 0 0 0 1px {theme.palette.grey[300]}',
backgroundColor: 'transparent',
'.Mui-focusVisible &': {
outline:
theme.palette.mode === 'dark'
? '0px auto {theme.palette.grey[200]}'
: '0px auto {theme.palette.grey[300]}',
outlineOffset: 2,
},
'input:hover ~ &': {
backgroundColor: theme.palette.mode === 'dark' ? theme.palette.primary : theme.palette.primary,
},
'input:disabled ~ &': {
boxShadow: 'none',
background: theme.palette.grey[100],
},
}));
const BpCheckedIcon = styled(BpIcon)({
boxShadow: 'none',
width: 19,
height: 19,
'&:before': {
display: 'block',
width: 19,
height: 19,
backgroundImage:
"url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath" +
" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 " +
"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E")",
content: '""',
},
});
function CustomCheckbox(props: CheckboxProps) {
return (
<Checkbox
disableRipple
color={props.color ? props.color : 'default'}
checkedIcon={
<BpCheckedIcon
sx={{
backgroundColor: props.color ? '{props.color}.main' : 'primary.main',
}}
/>
}
icon={<BpIcon />}
inputProps={{ 'aria-label': 'Checkbox demo' }}
{...props}
/>
);
}
const [checked, setChecked] = React.useState(true);
const handleChange = (event) => {
setChecked(event.target.checked);
};
<Box textAlign="center">
<FormControlLabel control={<CustomCheckbox defaultChecked />} label="Primary" />
<FormControlLabel
control={
<CustomCheckbox
defaultChecked
color="secondary"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
}
label="Secondary"
/>
<FormControlLabel
control={
<CustomCheckbox
defaultChecked
color="success"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
}
label="Success"
/>
<FormControlLabel
control={
<CustomCheckbox
defaultChecked
color="warning"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
}
label="Warning"
/>
<FormControlLabel
control={
<CustomCheckbox
defaultChecked
color="error"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
}
label="Error"
/>
</Box>
"use client";
import React from 'react';
import { Box } from '@mui/material';
import CustomCheckbox from '../../theme-elements/CustomCheckbox';
import { styled } from '@mui/material/styles';
import Checkbox, { CheckboxProps } from '@mui/material/Checkbox';
const BpIcon = styled('span')(({ theme }) => ({
borderRadius: 3,
width: 19,
height: 19,
marginLeft: '4px',
boxShadow:
theme.palette.mode === 'dark'
? '0 0 0 1px {theme.palette.grey[200]}'
: 'inset 0 0 0 1px {theme.palette.grey[300]}',
backgroundColor: 'transparent',
'.Mui-focusVisible &': {
outline:
theme.palette.mode === 'dark'
? '0px auto {theme.palette.grey[200]}'
: '0px auto {theme.palette.grey[300]}',
outlineOffset: 2,
},
'input:hover ~ &': {
backgroundColor: theme.palette.mode === 'dark' ? theme.palette.primary : theme.palette.primary,
},
'input:disabled ~ &': {
boxShadow: 'none',
background: theme.palette.grey[100],
},
}));
const BpCheckedIcon = styled(BpIcon)({
boxShadow: 'none',
width: 19,
height: 19,
'&:before': {
display: 'block',
width: 19,
height: 19,
backgroundImage:
"url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath" +
" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 " +
"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E")",
content: '""',
},
});
function CustomCheckbox(props: CheckboxProps) {
return (
<Checkbox
disableRipple
color={props.color ? props.color : 'default'}
checkedIcon={
<BpCheckedIcon
sx={{
backgroundColor: props.color ? '{props.color}.main' : 'primary.main',
}}
/>
}
icon={<BpIcon />}
inputProps={{ 'aria-label': 'Checkbox demo' }}
{...props}
/>
);
}
const [checked, setChecked] = React.useState(true);
const handleChange = (event) => {
setChecked(event.target.checked);
};
<Box textAlign="center">
<CustomCheckbox
checked={checked}
onChange={handleChange}
inputProps={{ 'aria-label': 'primary checkbox' }}
/>
<CustomCheckbox
disabled
checked
inputProps={{ 'aria-label': 'disabled checked checkbox' }}
/>
<CustomCheckbox
defaultChecked
indeterminate
inputProps={{ 'aria-label': 'indeterminate checkbox' }}
/>
<CustomCheckbox
defaultChecked
color="default"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
</Box>
"use client";
import React from 'react';
import { Box, Checkbox } from '@mui/material';
<Box textAlign="center">
<Checkbox
defaultChecked
color="primary"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
<Checkbox
defaultChecked
color="secondary"
inputProps={{ 'aria-label': 'checkbox with default color' }}
/>
<Checkbox
defaultChecked
sx={{
color: (theme) => theme.palette.success.main,
'&.Mui-checked': {
color: (theme) => theme.palette.success.main,
},
}}
/>
<Checkbox
defaultChecked
sx={{
color: (theme) => theme.palette.error.main,
'&.Mui-checked': {
color: (theme) => theme.palette.error.main,
},
}}
/>
<Checkbox
defaultChecked
sx={{
color: (theme) => theme.palette.warning.main,
'&.Mui-checked': {
color: (theme) => theme.palette.warning.main,
},
}}
/>
</Box>
"use client";
import React from 'react';
import { FormGroup, FormControlLabel, Checkbox } from '@mui/material';
import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';
import CheckBoxIcon from '@mui/icons-material/CheckBox';
import Favorite from '@mui/icons-material/Favorite';
import FavoriteBorder from '@mui/icons-material/FavoriteBorder';
<FormGroup
row
sx={{
display: 'flex',
justifyContent: 'center',
}}
>
<FormControlLabel
control={
<Checkbox color="primary"
icon={<CheckBoxOutlineBlankIcon />}
checkedIcon={<CheckBoxIcon />}
name="checkednormal"
/>
}
label="Normal Size"
/>
<FormControlLabel
control={
<Checkbox color="secondary"
icon={<CheckBoxOutlineBlankIcon fontSize="small" />}
checkedIcon={<CheckBoxIcon fontSize="small" />}
name="checkedsmall"
/>
}
label="Small size"
/>
<FormControlLabel
control={
<Checkbox color="error"
icon={<FavoriteBorder />}
checkedIcon={<Favorite />}
name="checkedH"
/>
}
label="Heart"
/>
</FormGroup>
"use client";
import React from 'react';
import { FormGroup, FormControlLabel, FormControl } from '@mui/material';
import { styled } from '@mui/material/styles';
import Checkbox, { CheckboxProps } from '@mui/material/Checkbox';
const BpIcon = styled('span')(({ theme }) => ({
borderRadius: 3,
width: 19,
height: 19,
marginLeft: '4px',
boxShadow:
theme.palette.mode === 'dark'
? '0 0 0 1px {theme.palette.grey[200]}'
: 'inset 0 0 0 1px {theme.palette.grey[300]}',
backgroundColor: 'transparent',
'.Mui-focusVisible &': {
outline:
theme.palette.mode === 'dark'
? '0px auto $theme.palette.grey[200]}'
: '0px auto $theme.palette.grey[300]}',
outlineOffset: 2,
},
'input:hover ~ &': {
backgroundColor: theme.palette.mode === 'dark' ? theme.palette.primary : theme.palette.primary,
},
'input:disabled ~ &': {
boxShadow: 'none',
background: theme.palette.grey[100],
},
}));
const BpCheckedIcon = styled(BpIcon)({
boxShadow: 'none',
width: 19,
height: 19,
'&:before': {
display: 'block',
width: 19,
height: 19,
backgroundImage:
"url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath" +
" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 " +
"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E")",
content: '""',
},
});
function CustomCheckbox(props: CheckboxProps) {
return (
<Checkbox
disableRipple
color={props.color ? props.color : 'default'}
checkedIcon={
<BpCheckedIcon
sx={{
backgroundColor: props.color ? '{props.color}.main' : 'primary.main',
}}
/>
}
icon={<BpIcon />}
inputProps={{ 'aria-label': 'Checkbox demo' }}
{...props}
/>
);
}
<FormControl
component="fieldset"
sx={{
display: 'flex',
justifyContent: 'center',
}}
>
<FormGroup
aria-label="position"
row
sx={{
justifyContent: 'center',
}}
>
<FormControlLabel
value="top"
control={<CustomCheckbox color="primary" />}
label="Top"
labelPlacement="top"
/>
<FormControlLabel
value="start"
control={<CustomCheckbox color="primary" />}
label="Start"
labelPlacement="start"
/>
<FormControlLabel
value="bottom"
control={<CustomCheckbox color="primary" />}
label="Bottom"
labelPlacement="bottom"
/>
<FormControlLabel
value="end"
control={<CustomCheckbox color="primary" />}
label="End"
labelPlacement="end"
/>
</FormGroup>
</FormControl>