1 | "use strict";
|
2 | 'use client';
|
3 |
|
4 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
5 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
6 | Object.defineProperty(exports, "__esModule", {
|
7 | value: true
|
8 | });
|
9 | exports.default = void 0;
|
10 | var React = _interopRequireWildcard(require("react"));
|
11 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
12 | var _clsx = _interopRequireDefault(require("clsx"));
|
13 | var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
14 | var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
15 | var _colorManipulator = require("@mui/system/colorManipulator");
|
16 | var _SwitchBase = _interopRequireDefault(require("../internal/SwitchBase"));
|
17 | var _CheckBoxOutlineBlank = _interopRequireDefault(require("../internal/svg-icons/CheckBoxOutlineBlank"));
|
18 | var _CheckBox = _interopRequireDefault(require("../internal/svg-icons/CheckBox"));
|
19 | var _IndeterminateCheckBox = _interopRequireDefault(require("../internal/svg-icons/IndeterminateCheckBox"));
|
20 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
21 | var _rootShouldForwardProp = _interopRequireDefault(require("../styles/rootShouldForwardProp"));
|
22 | var _checkboxClasses = _interopRequireWildcard(require("./checkboxClasses"));
|
23 | var _zeroStyled = require("../zero-styled");
|
24 | var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
25 | var _createSimplePaletteValueFilter = _interopRequireDefault(require("../utils/createSimplePaletteValueFilter"));
|
26 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
27 | var _jsxRuntime = require("react/jsx-runtime");
|
28 | const useUtilityClasses = ownerState => {
|
29 | const {
|
30 | classes,
|
31 | indeterminate,
|
32 | color,
|
33 | size
|
34 | } = ownerState;
|
35 | const slots = {
|
36 | root: ['root', indeterminate && 'indeterminate', `color${(0, _capitalize.default)(color)}`, `size${(0, _capitalize.default)(size)}`]
|
37 | };
|
38 | const composedClasses = (0, _composeClasses.default)(slots, _checkboxClasses.getCheckboxUtilityClass, classes);
|
39 | return {
|
40 | ...classes,
|
41 |
|
42 | ...composedClasses
|
43 | };
|
44 | };
|
45 | const CheckboxRoot = (0, _zeroStyled.styled)(_SwitchBase.default, {
|
46 | shouldForwardProp: prop => (0, _rootShouldForwardProp.default)(prop) || prop === 'classes',
|
47 | name: 'MuiCheckbox',
|
48 | slot: 'Root',
|
49 | overridesResolver: (props, styles) => {
|
50 | const {
|
51 | ownerState
|
52 | } = props;
|
53 | return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${(0, _capitalize.default)(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${(0, _capitalize.default)(ownerState.color)}`]];
|
54 | }
|
55 | })((0, _memoTheme.default)(({
|
56 | theme
|
57 | }) => ({
|
58 | color: (theme.vars || theme).palette.text.secondary,
|
59 | variants: [{
|
60 | props: {
|
61 | color: 'default',
|
62 | disableRipple: false
|
63 | },
|
64 | style: {
|
65 | '&:hover': {
|
66 | backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : (0, _colorManipulator.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity)
|
67 | }
|
68 | }
|
69 | }, ...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)()).map(([color]) => ({
|
70 | props: {
|
71 | color,
|
72 | disableRipple: false
|
73 | },
|
74 | style: {
|
75 | '&:hover': {
|
76 | backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : (0, _colorManipulator.alpha)(theme.palette[color].main, theme.palette.action.hoverOpacity)
|
77 | }
|
78 | }
|
79 | })), ...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)()).map(([color]) => ({
|
80 | props: {
|
81 | color
|
82 | },
|
83 | style: {
|
84 | [`&.${_checkboxClasses.default.checked}, &.${_checkboxClasses.default.indeterminate}`]: {
|
85 | color: (theme.vars || theme).palette[color].main
|
86 | },
|
87 | [`&.${_checkboxClasses.default.disabled}`]: {
|
88 | color: (theme.vars || theme).palette.action.disabled
|
89 | }
|
90 | }
|
91 | })), {
|
92 |
|
93 | props: {
|
94 | disableRipple: false
|
95 | },
|
96 | style: {
|
97 |
|
98 | '&:hover': {
|
99 | '@media (hover: none)': {
|
100 | backgroundColor: 'transparent'
|
101 | }
|
102 | }
|
103 | }
|
104 | }]
|
105 | })));
|
106 | const defaultCheckedIcon = (0, _jsxRuntime.jsx)(_CheckBox.default, {});
|
107 | const defaultIcon = (0, _jsxRuntime.jsx)(_CheckBoxOutlineBlank.default, {});
|
108 | const defaultIndeterminateIcon = (0, _jsxRuntime.jsx)(_IndeterminateCheckBox.default, {});
|
109 | const Checkbox = React.forwardRef(function Checkbox(inProps, ref) {
|
110 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
111 | props: inProps,
|
112 | name: 'MuiCheckbox'
|
113 | });
|
114 | const {
|
115 | checkedIcon = defaultCheckedIcon,
|
116 | color = 'primary',
|
117 | icon: iconProp = defaultIcon,
|
118 | indeterminate = false,
|
119 | indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,
|
120 | inputProps,
|
121 | size = 'medium',
|
122 | disableRipple = false,
|
123 | className,
|
124 | ...other
|
125 | } = props;
|
126 | const icon = indeterminate ? indeterminateIconProp : iconProp;
|
127 | const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;
|
128 | const ownerState = {
|
129 | ...props,
|
130 | disableRipple,
|
131 | color,
|
132 | indeterminate,
|
133 | size
|
134 | };
|
135 | const classes = useUtilityClasses(ownerState);
|
136 | return (0, _jsxRuntime.jsx)(CheckboxRoot, {
|
137 | type: "checkbox",
|
138 | inputProps: {
|
139 | 'data-indeterminate': indeterminate,
|
140 | ...inputProps
|
141 | },
|
142 | icon: React.cloneElement(icon, {
|
143 | fontSize: icon.props.fontSize ?? size
|
144 | }),
|
145 | checkedIcon: React.cloneElement(indeterminateIcon, {
|
146 | fontSize: indeterminateIcon.props.fontSize ?? size
|
147 | }),
|
148 | ownerState: ownerState,
|
149 | ref: ref,
|
150 | className: (0, _clsx.default)(classes.root, className),
|
151 | disableRipple: disableRipple,
|
152 | ...other,
|
153 | classes: classes
|
154 | });
|
155 | });
|
156 | process.env.NODE_ENV !== "production" ? Checkbox.propTypes = {
|
157 |
|
158 |
|
159 |
|
160 |
|
161 | |
162 |
|
163 |
|
164 | checked: _propTypes.default.bool,
|
165 | |
166 |
|
167 |
|
168 |
|
169 | checkedIcon: _propTypes.default.node,
|
170 | |
171 |
|
172 |
|
173 | classes: _propTypes.default.object,
|
174 | |
175 |
|
176 |
|
177 | className: _propTypes.default.string,
|
178 | |
179 |
|
180 |
|
181 |
|
182 |
|
183 |
|
184 | color: _propTypes.default .oneOfType([_propTypes.default.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), _propTypes.default.string]),
|
185 | |
186 |
|
187 |
|
188 | defaultChecked: _propTypes.default.bool,
|
189 | |
190 |
|
191 |
|
192 |
|
193 | disabled: _propTypes.default.bool,
|
194 | |
195 |
|
196 |
|
197 |
|
198 | disableRipple: _propTypes.default.bool,
|
199 | |
200 |
|
201 |
|
202 |
|
203 | icon: _propTypes.default.node,
|
204 | |
205 |
|
206 |
|
207 | id: _propTypes.default.string,
|
208 | |
209 |
|
210 |
|
211 |
|
212 |
|
213 |
|
214 |
|
215 | indeterminate: _propTypes.default.bool,
|
216 | |
217 |
|
218 |
|
219 |
|
220 | indeterminateIcon: _propTypes.default.node,
|
221 | |
222 |
|
223 |
|
224 | inputProps: _propTypes.default.object,
|
225 | |
226 |
|
227 |
|
228 | inputRef: _refType.default,
|
229 | |
230 |
|
231 |
|
232 |
|
233 |
|
234 |
|
235 | onChange: _propTypes.default.func,
|
236 | |
237 |
|
238 |
|
239 |
|
240 | required: _propTypes.default.bool,
|
241 | |
242 |
|
243 |
|
244 |
|
245 |
|
246 | size: _propTypes.default .oneOfType([_propTypes.default.oneOf(['medium', 'small']), _propTypes.default.string]),
|
247 | |
248 |
|
249 |
|
250 | sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
251 | |
252 |
|
253 |
|
254 |
|
255 | value: _propTypes.default.any
|
256 | } : void 0;
|
257 | var _default = exports.default = Checkbox; |
\ | No newline at end of file |