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 _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
13 | var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
|
14 | var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
15 | var _InputBase = _interopRequireDefault(require("../InputBase"));
|
16 | var _rootShouldForwardProp = _interopRequireDefault(require("../styles/rootShouldForwardProp"));
|
17 | var _zeroStyled = require("../zero-styled");
|
18 | var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
19 | var _createSimplePaletteValueFilter = _interopRequireDefault(require("../utils/createSimplePaletteValueFilter"));
|
20 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
21 | var _inputClasses = _interopRequireWildcard(require("./inputClasses"));
|
22 | var _InputBase2 = require("../InputBase/InputBase");
|
23 | var _jsxRuntime = require("react/jsx-runtime");
|
24 | const useUtilityClasses = ownerState => {
|
25 | const {
|
26 | classes,
|
27 | disableUnderline
|
28 | } = ownerState;
|
29 | const slots = {
|
30 | root: ['root', !disableUnderline && 'underline'],
|
31 | input: ['input']
|
32 | };
|
33 | const composedClasses = (0, _composeClasses.default)(slots, _inputClasses.getInputUtilityClass, classes);
|
34 | return {
|
35 | ...classes,
|
36 |
|
37 | ...composedClasses
|
38 | };
|
39 | };
|
40 | const InputRoot = (0, _zeroStyled.styled)(_InputBase2.InputBaseRoot, {
|
41 | shouldForwardProp: prop => (0, _rootShouldForwardProp.default)(prop) || prop === 'classes',
|
42 | name: 'MuiInput',
|
43 | slot: 'Root',
|
44 | overridesResolver: (props, styles) => {
|
45 | const {
|
46 | ownerState
|
47 | } = props;
|
48 | return [...(0, _InputBase2.rootOverridesResolver)(props, styles), !ownerState.disableUnderline && styles.underline];
|
49 | }
|
50 | })((0, _memoTheme.default)(({
|
51 | theme
|
52 | }) => {
|
53 | const light = theme.palette.mode === 'light';
|
54 | let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
|
55 | if (theme.vars) {
|
56 | bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
|
57 | }
|
58 | return {
|
59 | position: 'relative',
|
60 | variants: [{
|
61 | props: ({
|
62 | ownerState
|
63 | }) => ownerState.formControl,
|
64 | style: {
|
65 | 'label + &': {
|
66 | marginTop: 16
|
67 | }
|
68 | }
|
69 | }, {
|
70 | props: ({
|
71 | ownerState
|
72 | }) => !ownerState.disableUnderline,
|
73 | style: {
|
74 | '&::after': {
|
75 | left: 0,
|
76 | bottom: 0,
|
77 | content: '""',
|
78 | position: 'absolute',
|
79 | right: 0,
|
80 | transform: 'scaleX(0)',
|
81 | transition: theme.transitions.create('transform', {
|
82 | duration: theme.transitions.duration.shorter,
|
83 | easing: theme.transitions.easing.easeOut
|
84 | }),
|
85 | pointerEvents: 'none'
|
86 | },
|
87 | [`&.${_inputClasses.default.focused}:after`]: {
|
88 |
|
89 |
|
90 | transform: 'scaleX(1) translateX(0)'
|
91 | },
|
92 | [`&.${_inputClasses.default.error}`]: {
|
93 | '&::before, &::after': {
|
94 | borderBottomColor: (theme.vars || theme).palette.error.main
|
95 | }
|
96 | },
|
97 | '&::before': {
|
98 | borderBottom: `1px solid ${bottomLineColor}`,
|
99 | left: 0,
|
100 | bottom: 0,
|
101 | content: '"\\00a0"',
|
102 | position: 'absolute',
|
103 | right: 0,
|
104 | transition: theme.transitions.create('border-bottom-color', {
|
105 | duration: theme.transitions.duration.shorter
|
106 | }),
|
107 | pointerEvents: 'none'
|
108 | },
|
109 | [`&:hover:not(.${_inputClasses.default.disabled}, .${_inputClasses.default.error}):before`]: {
|
110 | borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
|
111 |
|
112 | '@media (hover: none)': {
|
113 | borderBottom: `1px solid ${bottomLineColor}`
|
114 | }
|
115 | },
|
116 | [`&.${_inputClasses.default.disabled}:before`]: {
|
117 | borderBottomStyle: 'dotted'
|
118 | }
|
119 | }
|
120 | }, ...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)()).map(([color]) => ({
|
121 | props: {
|
122 | color,
|
123 | disableUnderline: false
|
124 | },
|
125 | style: {
|
126 | '&::after': {
|
127 | borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`
|
128 | }
|
129 | }
|
130 | }))]
|
131 | };
|
132 | }));
|
133 | const InputInput = (0, _zeroStyled.styled)(_InputBase2.InputBaseInput, {
|
134 | name: 'MuiInput',
|
135 | slot: 'Input',
|
136 | overridesResolver: _InputBase2.inputOverridesResolver
|
137 | })({});
|
138 | const Input = React.forwardRef(function Input(inProps, ref) {
|
139 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
140 | props: inProps,
|
141 | name: 'MuiInput'
|
142 | });
|
143 | const {
|
144 | disableUnderline = false,
|
145 | components = {},
|
146 | componentsProps: componentsPropsProp,
|
147 | fullWidth = false,
|
148 | inputComponent = 'input',
|
149 | multiline = false,
|
150 | slotProps,
|
151 | slots = {},
|
152 | type = 'text',
|
153 | ...other
|
154 | } = props;
|
155 | const classes = useUtilityClasses(props);
|
156 | const ownerState = {
|
157 | disableUnderline
|
158 | };
|
159 | const inputComponentsProps = {
|
160 | root: {
|
161 | ownerState
|
162 | }
|
163 | };
|
164 | const componentsProps = slotProps ?? componentsPropsProp ? (0, _deepmerge.default)(slotProps ?? componentsPropsProp, inputComponentsProps) : inputComponentsProps;
|
165 | const RootSlot = slots.root ?? components.Root ?? InputRoot;
|
166 | const InputSlot = slots.input ?? components.Input ?? InputInput;
|
167 | return (0, _jsxRuntime.jsx)(_InputBase.default, {
|
168 | slots: {
|
169 | root: RootSlot,
|
170 | input: InputSlot
|
171 | },
|
172 | slotProps: componentsProps,
|
173 | fullWidth: fullWidth,
|
174 | inputComponent: inputComponent,
|
175 | multiline: multiline,
|
176 | ref: ref,
|
177 | type: type,
|
178 | ...other,
|
179 | classes: classes
|
180 | });
|
181 | });
|
182 | process.env.NODE_ENV !== "production" ? Input.propTypes = {
|
183 |
|
184 |
|
185 |
|
186 |
|
187 | |
188 |
|
189 |
|
190 |
|
191 |
|
192 | autoComplete: _propTypes.default.string,
|
193 | |
194 |
|
195 |
|
196 | autoFocus: _propTypes.default.bool,
|
197 | |
198 |
|
199 |
|
200 | classes: _propTypes.default.object,
|
201 | |
202 |
|
203 |
|
204 |
|
205 |
|
206 |
|
207 | color: _propTypes.default .oneOfType([_propTypes.default.oneOf(['primary', 'secondary']), _propTypes.default.string]),
|
208 | |
209 |
|
210 |
|
211 |
|
212 |
|
213 |
|
214 |
|
215 | components: _propTypes.default.shape({
|
216 | Input: _propTypes.default.elementType,
|
217 | Root: _propTypes.default.elementType
|
218 | }),
|
219 | |
220 |
|
221 |
|
222 |
|
223 |
|
224 |
|
225 |
|
226 |
|
227 | componentsProps: _propTypes.default.shape({
|
228 | input: _propTypes.default.object,
|
229 | root: _propTypes.default.object
|
230 | }),
|
231 | |
232 |
|
233 |
|
234 | defaultValue: _propTypes.default.any,
|
235 | |
236 |
|
237 |
|
238 |
|
239 | disabled: _propTypes.default.bool,
|
240 | |
241 |
|
242 |
|
243 |
|
244 | disableUnderline: _propTypes.default.bool,
|
245 | |
246 |
|
247 |
|
248 | endAdornment: _propTypes.default.node,
|
249 | |
250 |
|
251 |
|
252 |
|
253 | error: _propTypes.default.bool,
|
254 | |
255 |
|
256 |
|
257 |
|
258 | fullWidth: _propTypes.default.bool,
|
259 | |
260 |
|
261 |
|
262 | id: _propTypes.default.string,
|
263 | |
264 |
|
265 |
|
266 |
|
267 |
|
268 | inputComponent: _propTypes.default.elementType,
|
269 | |
270 |
|
271 |
|
272 |
|
273 | inputProps: _propTypes.default.object,
|
274 | |
275 |
|
276 |
|
277 | inputRef: _refType.default,
|
278 | |
279 |
|
280 |
|
281 |
|
282 |
|
283 | margin: _propTypes.default.oneOf(['dense', 'none']),
|
284 | |
285 |
|
286 |
|
287 | maxRows: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
288 | |
289 |
|
290 |
|
291 | minRows: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
292 | |
293 |
|
294 |
|
295 |
|
296 | multiline: _propTypes.default.bool,
|
297 | |
298 |
|
299 |
|
300 | name: _propTypes.default.string,
|
301 | |
302 |
|
303 |
|
304 |
|
305 |
|
306 |
|
307 | onChange: _propTypes.default.func,
|
308 | |
309 |
|
310 |
|
311 | placeholder: _propTypes.default.string,
|
312 | |
313 |
|
314 |
|
315 |
|
316 | readOnly: _propTypes.default.bool,
|
317 | |
318 |
|
319 |
|
320 |
|
321 | required: _propTypes.default.bool,
|
322 | |
323 |
|
324 |
|
325 | rows: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
326 | |
327 |
|
328 |
|
329 |
|
330 |
|
331 |
|
332 |
|
333 |
|
334 | slotProps: _propTypes.default.shape({
|
335 | input: _propTypes.default.object,
|
336 | root: _propTypes.default.object
|
337 | }),
|
338 | |
339 |
|
340 |
|
341 |
|
342 |
|
343 |
|
344 |
|
345 | slots: _propTypes.default.shape({
|
346 | input: _propTypes.default.elementType,
|
347 | root: _propTypes.default.elementType
|
348 | }),
|
349 | |
350 |
|
351 |
|
352 | startAdornment: _propTypes.default.node,
|
353 | |
354 |
|
355 |
|
356 | 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]),
|
357 | |
358 |
|
359 |
|
360 |
|
361 | type: _propTypes.default.string,
|
362 | |
363 |
|
364 |
|
365 | value: _propTypes.default.any
|
366 | } : void 0;
|
367 | if (Input) {
|
368 | Input.muiName = 'Input';
|
369 | }
|
370 | var _default = exports.default = Input; |
\ | No newline at end of file |