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 _clsx = _interopRequireDefault(require("clsx"));
|
14 | var _formControlState = _interopRequireDefault(require("../FormControl/formControlState"));
|
15 | var _useFormControl = _interopRequireDefault(require("../FormControl/useFormControl"));
|
16 | var _FormLabel = _interopRequireWildcard(require("../FormLabel"));
|
17 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
18 | var _rootShouldForwardProp = _interopRequireDefault(require("../styles/rootShouldForwardProp"));
|
19 | var _zeroStyled = require("../zero-styled");
|
20 | var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
21 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
22 | var _inputLabelClasses = require("./inputLabelClasses");
|
23 | var _jsxRuntime = require("react/jsx-runtime");
|
24 | const useUtilityClasses = ownerState => {
|
25 | const {
|
26 | classes,
|
27 | formControl,
|
28 | size,
|
29 | shrink,
|
30 | disableAnimation,
|
31 | variant,
|
32 | required
|
33 | } = ownerState;
|
34 | const slots = {
|
35 | root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size && size !== 'normal' && `size${(0, _capitalize.default)(size)}`, variant],
|
36 | asterisk: [required && 'asterisk']
|
37 | };
|
38 | const composedClasses = (0, _composeClasses.default)(slots, _inputLabelClasses.getInputLabelUtilityClasses, classes);
|
39 | return {
|
40 | ...classes,
|
41 |
|
42 | ...composedClasses
|
43 | };
|
44 | };
|
45 | const InputLabelRoot = (0, _zeroStyled.styled)(_FormLabel.default, {
|
46 | shouldForwardProp: prop => (0, _rootShouldForwardProp.default)(prop) || prop === 'classes',
|
47 | name: 'MuiInputLabel',
|
48 | slot: 'Root',
|
49 | overridesResolver: (props, styles) => {
|
50 | const {
|
51 | ownerState
|
52 | } = props;
|
53 | return [{
|
54 | [`& .${_FormLabel.formLabelClasses.asterisk}`]: styles.asterisk
|
55 | }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, ownerState.focused && styles.focused, styles[ownerState.variant]];
|
56 | }
|
57 | })((0, _memoTheme.default)(({
|
58 | theme
|
59 | }) => ({
|
60 | display: 'block',
|
61 | transformOrigin: 'top left',
|
62 | whiteSpace: 'nowrap',
|
63 | overflow: 'hidden',
|
64 | textOverflow: 'ellipsis',
|
65 | maxWidth: '100%',
|
66 | variants: [{
|
67 | props: ({
|
68 | ownerState
|
69 | }) => ownerState.formControl,
|
70 | style: {
|
71 | position: 'absolute',
|
72 | left: 0,
|
73 | top: 0,
|
74 |
|
75 | transform: 'translate(0, 20px) scale(1)'
|
76 | }
|
77 | }, {
|
78 | props: {
|
79 | size: 'small'
|
80 | },
|
81 | style: {
|
82 |
|
83 | transform: 'translate(0, 17px) scale(1)'
|
84 | }
|
85 | }, {
|
86 | props: ({
|
87 | ownerState
|
88 | }) => ownerState.shrink,
|
89 | style: {
|
90 | transform: 'translate(0, -1.5px) scale(0.75)',
|
91 | transformOrigin: 'top left',
|
92 | maxWidth: '133%'
|
93 | }
|
94 | }, {
|
95 | props: ({
|
96 | ownerState
|
97 | }) => !ownerState.disableAnimation,
|
98 | style: {
|
99 | transition: theme.transitions.create(['color', 'transform', 'max-width'], {
|
100 | duration: theme.transitions.duration.shorter,
|
101 | easing: theme.transitions.easing.easeOut
|
102 | })
|
103 | }
|
104 | }, {
|
105 | props: {
|
106 | variant: 'filled'
|
107 | },
|
108 | style: {
|
109 |
|
110 |
|
111 |
|
112 |
|
113 | zIndex: 1,
|
114 | pointerEvents: 'none',
|
115 | transform: 'translate(12px, 16px) scale(1)',
|
116 | maxWidth: 'calc(100% - 24px)'
|
117 | }
|
118 | }, {
|
119 | props: {
|
120 | variant: 'filled',
|
121 | size: 'small'
|
122 | },
|
123 | style: {
|
124 | transform: 'translate(12px, 13px) scale(1)'
|
125 | }
|
126 | }, {
|
127 | props: ({
|
128 | variant,
|
129 | ownerState
|
130 | }) => variant === 'filled' && ownerState.shrink,
|
131 | style: {
|
132 | userSelect: 'none',
|
133 | pointerEvents: 'auto',
|
134 | transform: 'translate(12px, 7px) scale(0.75)',
|
135 | maxWidth: 'calc(133% - 24px)'
|
136 | }
|
137 | }, {
|
138 | props: ({
|
139 | variant,
|
140 | ownerState,
|
141 | size
|
142 | }) => variant === 'filled' && ownerState.shrink && size === 'small',
|
143 | style: {
|
144 | transform: 'translate(12px, 4px) scale(0.75)'
|
145 | }
|
146 | }, {
|
147 | props: {
|
148 | variant: 'outlined'
|
149 | },
|
150 | style: {
|
151 |
|
152 | zIndex: 1,
|
153 | pointerEvents: 'none',
|
154 | transform: 'translate(14px, 16px) scale(1)',
|
155 | maxWidth: 'calc(100% - 24px)'
|
156 | }
|
157 | }, {
|
158 | props: {
|
159 | variant: 'outlined',
|
160 | size: 'small'
|
161 | },
|
162 | style: {
|
163 | transform: 'translate(14px, 9px) scale(1)'
|
164 | }
|
165 | }, {
|
166 | props: ({
|
167 | variant,
|
168 | ownerState
|
169 | }) => variant === 'outlined' && ownerState.shrink,
|
170 | style: {
|
171 | userSelect: 'none',
|
172 | pointerEvents: 'auto',
|
173 |
|
174 |
|
175 | maxWidth: 'calc(133% - 32px)',
|
176 | transform: 'translate(14px, -9px) scale(0.75)'
|
177 | }
|
178 | }]
|
179 | })));
|
180 | const InputLabel = React.forwardRef(function InputLabel(inProps, ref) {
|
181 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
182 | name: 'MuiInputLabel',
|
183 | props: inProps
|
184 | });
|
185 | const {
|
186 | disableAnimation = false,
|
187 | margin,
|
188 | shrink: shrinkProp,
|
189 | variant,
|
190 | className,
|
191 | ...other
|
192 | } = props;
|
193 | const muiFormControl = (0, _useFormControl.default)();
|
194 | let shrink = shrinkProp;
|
195 | if (typeof shrink === 'undefined' && muiFormControl) {
|
196 | shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;
|
197 | }
|
198 | const fcs = (0, _formControlState.default)({
|
199 | props,
|
200 | muiFormControl,
|
201 | states: ['size', 'variant', 'required', 'focused']
|
202 | });
|
203 | const ownerState = {
|
204 | ...props,
|
205 | disableAnimation,
|
206 | formControl: muiFormControl,
|
207 | shrink,
|
208 | size: fcs.size,
|
209 | variant: fcs.variant,
|
210 | required: fcs.required,
|
211 | focused: fcs.focused
|
212 | };
|
213 | const classes = useUtilityClasses(ownerState);
|
214 | return (0, _jsxRuntime.jsx)(InputLabelRoot, {
|
215 | "data-shrink": shrink,
|
216 | ref: ref,
|
217 | className: (0, _clsx.default)(classes.root, className),
|
218 | ...other,
|
219 | ownerState: ownerState,
|
220 | classes: classes
|
221 | });
|
222 | });
|
223 | process.env.NODE_ENV !== "production" ? InputLabel.propTypes = {
|
224 |
|
225 |
|
226 |
|
227 |
|
228 | |
229 |
|
230 |
|
231 | children: _propTypes.default.node,
|
232 | |
233 |
|
234 |
|
235 | classes: _propTypes.default.object,
|
236 | |
237 |
|
238 |
|
239 | className: _propTypes.default.string,
|
240 | |
241 |
|
242 |
|
243 |
|
244 |
|
245 | color: _propTypes.default .oneOfType([_propTypes.default.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), _propTypes.default.string]),
|
246 | |
247 |
|
248 |
|
249 |
|
250 | disableAnimation: _propTypes.default.bool,
|
251 | |
252 |
|
253 |
|
254 | disabled: _propTypes.default.bool,
|
255 | |
256 |
|
257 |
|
258 | error: _propTypes.default.bool,
|
259 | |
260 |
|
261 |
|
262 | focused: _propTypes.default.bool,
|
263 | |
264 |
|
265 |
|
266 |
|
267 | margin: _propTypes.default.oneOf(['dense']),
|
268 | |
269 |
|
270 |
|
271 | required: _propTypes.default.bool,
|
272 | |
273 |
|
274 |
|
275 | shrink: _propTypes.default.bool,
|
276 | |
277 |
|
278 |
|
279 |
|
280 | size: _propTypes.default .oneOfType([_propTypes.default.oneOf(['normal', 'small']), _propTypes.default.string]),
|
281 | |
282 |
|
283 |
|
284 | 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]),
|
285 | |
286 |
|
287 |
|
288 | variant: _propTypes.default.oneOf(['filled', 'outlined', 'standard'])
|
289 | } : void 0;
|
290 | var _default = exports.default = InputLabel; |
\ | No newline at end of file |