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 = exports.FormLabelRoot = void 0;
|
10 | var React = _interopRequireWildcard(require("react"));
|
11 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
12 | var _clsx = _interopRequireDefault(require("clsx"));
|
13 | var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
14 | var _formControlState = _interopRequireDefault(require("../FormControl/formControlState"));
|
15 | var _useFormControl = _interopRequireDefault(require("../FormControl/useFormControl"));
|
16 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
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 _formLabelClasses = _interopRequireWildcard(require("./formLabelClasses"));
|
22 | var _jsxRuntime = require("react/jsx-runtime");
|
23 | const useUtilityClasses = ownerState => {
|
24 | const {
|
25 | classes,
|
26 | color,
|
27 | focused,
|
28 | disabled,
|
29 | error,
|
30 | filled,
|
31 | required
|
32 | } = ownerState;
|
33 | const slots = {
|
34 | root: ['root', `color${(0, _capitalize.default)(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],
|
35 | asterisk: ['asterisk', error && 'error']
|
36 | };
|
37 | return (0, _composeClasses.default)(slots, _formLabelClasses.getFormLabelUtilityClasses, classes);
|
38 | };
|
39 | const FormLabelRoot = exports.FormLabelRoot = (0, _zeroStyled.styled)('label', {
|
40 | name: 'MuiFormLabel',
|
41 | slot: 'Root',
|
42 | overridesResolver: ({
|
43 | ownerState
|
44 | }, styles) => {
|
45 | return {
|
46 | ...styles.root,
|
47 | ...(ownerState.color === 'secondary' && styles.colorSecondary),
|
48 | ...(ownerState.filled && styles.filled)
|
49 | };
|
50 | }
|
51 | })((0, _memoTheme.default)(({
|
52 | theme
|
53 | }) => ({
|
54 | color: (theme.vars || theme).palette.text.secondary,
|
55 | ...theme.typography.body1,
|
56 | lineHeight: '1.4375em',
|
57 | padding: 0,
|
58 | position: 'relative',
|
59 | variants: [...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)()).map(([color]) => ({
|
60 | props: {
|
61 | color
|
62 | },
|
63 | style: {
|
64 | [`&.${_formLabelClasses.default.focused}`]: {
|
65 | color: (theme.vars || theme).palette[color].main
|
66 | }
|
67 | }
|
68 | })), {
|
69 | props: {},
|
70 | style: {
|
71 | [`&.${_formLabelClasses.default.disabled}`]: {
|
72 | color: (theme.vars || theme).palette.text.disabled
|
73 | },
|
74 | [`&.${_formLabelClasses.default.error}`]: {
|
75 | color: (theme.vars || theme).palette.error.main
|
76 | }
|
77 | }
|
78 | }]
|
79 | })));
|
80 | const AsteriskComponent = (0, _zeroStyled.styled)('span', {
|
81 | name: 'MuiFormLabel',
|
82 | slot: 'Asterisk',
|
83 | overridesResolver: (props, styles) => styles.asterisk
|
84 | })((0, _memoTheme.default)(({
|
85 | theme
|
86 | }) => ({
|
87 | [`&.${_formLabelClasses.default.error}`]: {
|
88 | color: (theme.vars || theme).palette.error.main
|
89 | }
|
90 | })));
|
91 | const FormLabel = React.forwardRef(function FormLabel(inProps, ref) {
|
92 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
93 | props: inProps,
|
94 | name: 'MuiFormLabel'
|
95 | });
|
96 | const {
|
97 | children,
|
98 | className,
|
99 | color,
|
100 | component = 'label',
|
101 | disabled,
|
102 | error,
|
103 | filled,
|
104 | focused,
|
105 | required,
|
106 | ...other
|
107 | } = props;
|
108 | const muiFormControl = (0, _useFormControl.default)();
|
109 | const fcs = (0, _formControlState.default)({
|
110 | props,
|
111 | muiFormControl,
|
112 | states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']
|
113 | });
|
114 | const ownerState = {
|
115 | ...props,
|
116 | color: fcs.color || 'primary',
|
117 | component,
|
118 | disabled: fcs.disabled,
|
119 | error: fcs.error,
|
120 | filled: fcs.filled,
|
121 | focused: fcs.focused,
|
122 | required: fcs.required
|
123 | };
|
124 | const classes = useUtilityClasses(ownerState);
|
125 | return (0, _jsxRuntime.jsxs)(FormLabelRoot, {
|
126 | as: component,
|
127 | ownerState: ownerState,
|
128 | className: (0, _clsx.default)(classes.root, className),
|
129 | ref: ref,
|
130 | ...other,
|
131 | children: [children, fcs.required && (0, _jsxRuntime.jsxs)(AsteriskComponent, {
|
132 | ownerState: ownerState,
|
133 | "aria-hidden": true,
|
134 | className: classes.asterisk,
|
135 | children: ["\u2009", '*']
|
136 | })]
|
137 | });
|
138 | });
|
139 | process.env.NODE_ENV !== "production" ? FormLabel.propTypes = {
|
140 |
|
141 |
|
142 |
|
143 |
|
144 | |
145 |
|
146 |
|
147 | children: _propTypes.default.node,
|
148 | |
149 |
|
150 |
|
151 | classes: _propTypes.default.object,
|
152 | |
153 |
|
154 |
|
155 | className: _propTypes.default.string,
|
156 | |
157 |
|
158 |
|
159 |
|
160 |
|
161 | color: _propTypes.default .oneOfType([_propTypes.default.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), _propTypes.default.string]),
|
162 | |
163 |
|
164 |
|
165 |
|
166 | component: _propTypes.default.elementType,
|
167 | |
168 |
|
169 |
|
170 | disabled: _propTypes.default.bool,
|
171 | |
172 |
|
173 |
|
174 | error: _propTypes.default.bool,
|
175 | |
176 |
|
177 |
|
178 | filled: _propTypes.default.bool,
|
179 | |
180 |
|
181 |
|
182 | focused: _propTypes.default.bool,
|
183 | |
184 |
|
185 |
|
186 | required: _propTypes.default.bool,
|
187 | |
188 |
|
189 |
|
190 | 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])
|
191 | } : void 0;
|
192 | var _default = exports.default = FormLabel; |
\ | No newline at end of file |