bc518174
王天杨
提交两个项目文件
|
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
import * as React from 'react';
import { SxProps } from '@mui/system';
import { OverridableStringUnion } from '@mui/types';
import { Theme } from "../styles/index.js";
import { InternalStandardProps as StandardProps } from "../internal/index.js";
import { CreateSlotsAndSlotProps, SlotProps } from "../utils/types.js";
import { SwitchBaseProps } from "../internal/SwitchBase.js";
import { CheckboxClasses } from "./checkboxClasses.js";
export interface CheckboxPropsSizeOverrides {}
export interface CheckboxPropsColorOverrides {}
export interface CheckboxRootSlotPropsOverrides {}
export interface CheckboxInputSlotPropsOverrides {}
export interface CheckboxSlots {
/**
* The component that renders the root slot.
* @default SwitchBase
*/
root: React.ElementType;
/**
* The component that renders the input slot.
* @default SwitchBase's input
*/
input: React.ElementType;
}
export type CheckboxSlotsAndSlotProps = CreateSlotsAndSlotProps<CheckboxSlots, {
/**
* Props forwarded to the root slot.
* By default, the available props are based on the div element.
*/
root: SlotProps<React.ElementType<SwitchBaseProps>, CheckboxRootSlotPropsOverrides, CheckboxOwnerState>;
/**
* Props forwarded to the input slot.
* By default, the available props are based on the input element.
*/
input: SlotProps<'input', CheckboxInputSlotPropsOverrides, CheckboxOwnerState>;
}>;
export interface CheckboxProps extends StandardProps<SwitchBaseProps, 'checkedIcon' | 'color' | 'icon' | 'type' | 'slots' | 'slotProps'>, CheckboxSlotsAndSlotProps {
/**
* If `true`, the component is checked.
*/
checked?: SwitchBaseProps['checked'];
/**
* The icon to display when the component is checked.
* @default <CheckBoxIcon />
*/
checkedIcon?: React.ReactNode;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<CheckboxClasses>;
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
* @default 'primary'
*/
color?: OverridableStringUnion<'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'default', CheckboxPropsColorOverrides>;
/**
* If `true`, the component is disabled.
* @default false
*/
disabled?: SwitchBaseProps['disabled'];
/**
* If `true`, the ripple effect is disabled.
* @default false
*/
disableRipple?: SwitchBaseProps['disableRipple'];
/**
* The icon to display when the component is unchecked.
* @default <CheckBoxOutlineBlankIcon />
*/
icon?: React.ReactNode;
/**
* The id of the `input` element.
*/
id?: SwitchBaseProps['id'];
/**
* If `true`, the component appears indeterminate.
* This does not set the native input element to indeterminate due
* to inconsistent behavior across browsers.
* However, we set a `data-indeterminate` attribute on the `input`.
* @default false
*/
indeterminate?: boolean;
/**
* The icon to display when the component is indeterminate.
* @default <IndeterminateCheckBoxIcon />
*/
indeterminateIcon?: React.ReactNode;
/**
* Callback fired when the state is changed.
*
* @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
* You can pull out the new checked state by accessing `event.target.checked` (boolean).
*/
onChange?: SwitchBaseProps['onChange'];
/**
* If `true`, the `input` element is required.
* @default false
*/
required?: SwitchBaseProps['required'];
/**
* The size of the component.
* `small` is equivalent to the dense checkbox styling.
* @default 'medium'
*/
size?: OverridableStringUnion<'small' | 'medium' | 'large', CheckboxPropsSizeOverrides>;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
/**
* The value of the component. The DOM API casts this to a string.
* The browser uses "on" as the default value.
*/
value?: SwitchBaseProps['value'];
}
export interface CheckboxOwnerState extends Omit<CheckboxProps, 'slots' | 'slotProps'> {}
/**
*
* Demos:
*
* - [Checkbox](https://mui.com/material-ui/react-checkbox/)
* - [Transfer List](https://mui.com/material-ui/react-transfer-list/)
*
* API:
*
* - [Checkbox API](https://mui.com/material-ui/api/checkbox/)
* - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
*/
export default function Checkbox(props: CheckboxProps): React.JSX.Element;
|