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 _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
14 | var _colorManipulator = require("@mui/system/colorManipulator");
|
15 | var _zeroStyled = require("../zero-styled");
|
16 | var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
17 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
18 | var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
19 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
20 | var _createSimplePaletteValueFilter = _interopRequireDefault(require("../utils/createSimplePaletteValueFilter"));
|
21 | var _Paper = _interopRequireDefault(require("../Paper"));
|
22 | var _alertClasses = _interopRequireWildcard(require("./alertClasses"));
|
23 | var _IconButton = _interopRequireDefault(require("../IconButton"));
|
24 | var _SuccessOutlined = _interopRequireDefault(require("../internal/svg-icons/SuccessOutlined"));
|
25 | var _ReportProblemOutlined = _interopRequireDefault(require("../internal/svg-icons/ReportProblemOutlined"));
|
26 | var _ErrorOutline = _interopRequireDefault(require("../internal/svg-icons/ErrorOutline"));
|
27 | var _InfoOutlined = _interopRequireDefault(require("../internal/svg-icons/InfoOutlined"));
|
28 | var _Close = _interopRequireDefault(require("../internal/svg-icons/Close"));
|
29 | var _jsxRuntime = require("react/jsx-runtime");
|
30 | const useUtilityClasses = ownerState => {
|
31 | const {
|
32 | variant,
|
33 | color,
|
34 | severity,
|
35 | classes
|
36 | } = ownerState;
|
37 | const slots = {
|
38 | root: ['root', `color${(0, _capitalize.default)(color || severity)}`, `${variant}${(0, _capitalize.default)(color || severity)}`, `${variant}`],
|
39 | icon: ['icon'],
|
40 | message: ['message'],
|
41 | action: ['action']
|
42 | };
|
43 | return (0, _composeClasses.default)(slots, _alertClasses.getAlertUtilityClass, classes);
|
44 | };
|
45 | const AlertRoot = (0, _zeroStyled.styled)(_Paper.default, {
|
46 | name: 'MuiAlert',
|
47 | slot: 'Root',
|
48 | overridesResolver: (props, styles) => {
|
49 | const {
|
50 | ownerState
|
51 | } = props;
|
52 | return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${(0, _capitalize.default)(ownerState.color || ownerState.severity)}`]];
|
53 | }
|
54 | })((0, _memoTheme.default)(({
|
55 | theme
|
56 | }) => {
|
57 | const getColor = theme.palette.mode === 'light' ? _colorManipulator.darken : _colorManipulator.lighten;
|
58 | const getBackgroundColor = theme.palette.mode === 'light' ? _colorManipulator.lighten : _colorManipulator.darken;
|
59 | return {
|
60 | ...theme.typography.body2,
|
61 | backgroundColor: 'transparent',
|
62 | display: 'flex',
|
63 | padding: '6px 16px',
|
64 | variants: [...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)(['light'])).map(([color]) => ({
|
65 | props: {
|
66 | colorSeverity: color,
|
67 | variant: 'standard'
|
68 | },
|
69 | style: {
|
70 | color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
|
71 | backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),
|
72 | [`& .${_alertClasses.default.icon}`]: theme.vars ? {
|
73 | color: theme.vars.palette.Alert[`${color}IconColor`]
|
74 | } : {
|
75 | color: theme.palette[color].main
|
76 | }
|
77 | }
|
78 | })), ...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)(['light'])).map(([color]) => ({
|
79 | props: {
|
80 | colorSeverity: color,
|
81 | variant: 'outlined'
|
82 | },
|
83 | style: {
|
84 | color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
|
85 | border: `1px solid ${(theme.vars || theme).palette[color].light}`,
|
86 | [`& .${_alertClasses.default.icon}`]: theme.vars ? {
|
87 | color: theme.vars.palette.Alert[`${color}IconColor`]
|
88 | } : {
|
89 | color: theme.palette[color].main
|
90 | }
|
91 | }
|
92 | })), ...Object.entries(theme.palette).filter((0, _createSimplePaletteValueFilter.default)(['dark'])).map(([color]) => ({
|
93 | props: {
|
94 | colorSeverity: color,
|
95 | variant: 'filled'
|
96 | },
|
97 | style: {
|
98 | fontWeight: theme.typography.fontWeightMedium,
|
99 | ...(theme.vars ? {
|
100 | color: theme.vars.palette.Alert[`${color}FilledColor`],
|
101 | backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]
|
102 | } : {
|
103 | backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,
|
104 | color: theme.palette.getContrastText(theme.palette[color].main)
|
105 | })
|
106 | }
|
107 | }))]
|
108 | };
|
109 | }));
|
110 | const AlertIcon = (0, _zeroStyled.styled)('div', {
|
111 | name: 'MuiAlert',
|
112 | slot: 'Icon',
|
113 | overridesResolver: (props, styles) => styles.icon
|
114 | })({
|
115 | marginRight: 12,
|
116 | padding: '7px 0',
|
117 | display: 'flex',
|
118 | fontSize: 22,
|
119 | opacity: 0.9
|
120 | });
|
121 | const AlertMessage = (0, _zeroStyled.styled)('div', {
|
122 | name: 'MuiAlert',
|
123 | slot: 'Message',
|
124 | overridesResolver: (props, styles) => styles.message
|
125 | })({
|
126 | padding: '8px 0',
|
127 | minWidth: 0,
|
128 | overflow: 'auto'
|
129 | });
|
130 | const AlertAction = (0, _zeroStyled.styled)('div', {
|
131 | name: 'MuiAlert',
|
132 | slot: 'Action',
|
133 | overridesResolver: (props, styles) => styles.action
|
134 | })({
|
135 | display: 'flex',
|
136 | alignItems: 'flex-start',
|
137 | padding: '4px 0 0 16px',
|
138 | marginLeft: 'auto',
|
139 | marginRight: -8
|
140 | });
|
141 | const defaultIconMapping = {
|
142 | success: (0, _jsxRuntime.jsx)(_SuccessOutlined.default, {
|
143 | fontSize: "inherit"
|
144 | }),
|
145 | warning: (0, _jsxRuntime.jsx)(_ReportProblemOutlined.default, {
|
146 | fontSize: "inherit"
|
147 | }),
|
148 | error: (0, _jsxRuntime.jsx)(_ErrorOutline.default, {
|
149 | fontSize: "inherit"
|
150 | }),
|
151 | info: (0, _jsxRuntime.jsx)(_InfoOutlined.default, {
|
152 | fontSize: "inherit"
|
153 | })
|
154 | };
|
155 | const Alert = React.forwardRef(function Alert(inProps, ref) {
|
156 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
157 | props: inProps,
|
158 | name: 'MuiAlert'
|
159 | });
|
160 | const {
|
161 | action,
|
162 | children,
|
163 | className,
|
164 | closeText = 'Close',
|
165 | color,
|
166 | components = {},
|
167 | componentsProps = {},
|
168 | icon,
|
169 | iconMapping = defaultIconMapping,
|
170 | onClose,
|
171 | role = 'alert',
|
172 | severity = 'success',
|
173 | slotProps = {},
|
174 | slots = {},
|
175 | variant = 'standard',
|
176 | ...other
|
177 | } = props;
|
178 | const ownerState = {
|
179 | ...props,
|
180 | color,
|
181 | severity,
|
182 | variant,
|
183 | colorSeverity: color || severity
|
184 | };
|
185 | const classes = useUtilityClasses(ownerState);
|
186 | const externalForwardedProps = {
|
187 | slots: {
|
188 | closeButton: components.CloseButton,
|
189 | closeIcon: components.CloseIcon,
|
190 | ...slots
|
191 | },
|
192 | slotProps: {
|
193 | ...componentsProps,
|
194 | ...slotProps
|
195 | }
|
196 | };
|
197 | const [CloseButtonSlot, closeButtonProps] = (0, _useSlot.default)('closeButton', {
|
198 | elementType: _IconButton.default,
|
199 | externalForwardedProps,
|
200 | ownerState
|
201 | });
|
202 | const [CloseIconSlot, closeIconProps] = (0, _useSlot.default)('closeIcon', {
|
203 | elementType: _Close.default,
|
204 | externalForwardedProps,
|
205 | ownerState
|
206 | });
|
207 | return (0, _jsxRuntime.jsxs)(AlertRoot, {
|
208 | role: role,
|
209 | elevation: 0,
|
210 | ownerState: ownerState,
|
211 | className: (0, _clsx.default)(classes.root, className),
|
212 | ref: ref,
|
213 | ...other,
|
214 | children: [icon !== false ? (0, _jsxRuntime.jsx)(AlertIcon, {
|
215 | ownerState: ownerState,
|
216 | className: classes.icon,
|
217 | children: icon || iconMapping[severity] || defaultIconMapping[severity]
|
218 | }) : null, (0, _jsxRuntime.jsx)(AlertMessage, {
|
219 | ownerState: ownerState,
|
220 | className: classes.message,
|
221 | children: children
|
222 | }), action != null ? (0, _jsxRuntime.jsx)(AlertAction, {
|
223 | ownerState: ownerState,
|
224 | className: classes.action,
|
225 | children: action
|
226 | }) : null, action == null && onClose ? (0, _jsxRuntime.jsx)(AlertAction, {
|
227 | ownerState: ownerState,
|
228 | className: classes.action,
|
229 | children: (0, _jsxRuntime.jsx)(CloseButtonSlot, {
|
230 | size: "small",
|
231 | "aria-label": closeText,
|
232 | title: closeText,
|
233 | color: "inherit",
|
234 | onClick: onClose,
|
235 | ...closeButtonProps,
|
236 | children: (0, _jsxRuntime.jsx)(CloseIconSlot, {
|
237 | fontSize: "small",
|
238 | ...closeIconProps
|
239 | })
|
240 | })
|
241 | }) : null]
|
242 | });
|
243 | });
|
244 | process.env.NODE_ENV !== "production" ? Alert.propTypes = {
|
245 |
|
246 |
|
247 |
|
248 |
|
249 | |
250 |
|
251 |
|
252 | action: _propTypes.default.node,
|
253 | |
254 |
|
255 |
|
256 | children: _propTypes.default.node,
|
257 | |
258 |
|
259 |
|
260 | classes: _propTypes.default.object,
|
261 | |
262 |
|
263 |
|
264 | className: _propTypes.default.string,
|
265 | |
266 |
|
267 |
|
268 |
|
269 |
|
270 |
|
271 | closeText: _propTypes.default.string,
|
272 | |
273 |
|
274 |
|
275 |
|
276 |
|
277 | color: _propTypes.default .oneOfType([_propTypes.default.oneOf(['error', 'info', 'success', 'warning']), _propTypes.default.string]),
|
278 | |
279 |
|
280 |
|
281 |
|
282 |
|
283 |
|
284 |
|
285 | components: _propTypes.default.shape({
|
286 | CloseButton: _propTypes.default.elementType,
|
287 | CloseIcon: _propTypes.default.elementType
|
288 | }),
|
289 | |
290 |
|
291 |
|
292 |
|
293 |
|
294 |
|
295 |
|
296 |
|
297 | componentsProps: _propTypes.default.shape({
|
298 | closeButton: _propTypes.default.object,
|
299 | closeIcon: _propTypes.default.object
|
300 | }),
|
301 | |
302 |
|
303 |
|
304 |
|
305 |
|
306 | icon: _propTypes.default.node,
|
307 | |
308 |
|
309 |
|
310 |
|
311 |
|
312 |
|
313 | iconMapping: _propTypes.default.shape({
|
314 | error: _propTypes.default.node,
|
315 | info: _propTypes.default.node,
|
316 | success: _propTypes.default.node,
|
317 | warning: _propTypes.default.node
|
318 | }),
|
319 | |
320 |
|
321 |
|
322 |
|
323 |
|
324 | onClose: _propTypes.default.func,
|
325 | |
326 |
|
327 |
|
328 |
|
329 | role: _propTypes.default.string,
|
330 | |
331 |
|
332 |
|
333 |
|
334 | severity: _propTypes.default .oneOfType([_propTypes.default.oneOf(['error', 'info', 'success', 'warning']), _propTypes.default.string]),
|
335 | |
336 |
|
337 |
|
338 |
|
339 | slotProps: _propTypes.default.shape({
|
340 | closeButton: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
341 | closeIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
342 | }),
|
343 | |
344 |
|
345 |
|
346 |
|
347 | slots: _propTypes.default.shape({
|
348 | closeButton: _propTypes.default.elementType,
|
349 | closeIcon: _propTypes.default.elementType
|
350 | }),
|
351 | |
352 |
|
353 |
|
354 | 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]),
|
355 | |
356 |
|
357 |
|
358 |
|
359 | variant: _propTypes.default .oneOfType([_propTypes.default.oneOf(['filled', 'outlined', 'standard']), _propTypes.default.string])
|
360 | } : void 0;
|
361 | var _default = exports.default = Alert; |
\ | No newline at end of file |