UNPKG

5.8 kBJavaScriptView Raw
1"use strict";
2'use client';
3
4var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6Object.defineProperty(exports, "__esModule", {
7 value: true
8});
9exports.default = void 0;
10var React = _interopRequireWildcard(require("react"));
11var _propTypes = _interopRequireDefault(require("prop-types"));
12var _clsx = _interopRequireDefault(require("clsx"));
13var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14var _zeroStyled = require("../zero-styled");
15var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
16var _DefaultPropsProvider = require("../DefaultPropsProvider");
17var _CheckCircle = _interopRequireDefault(require("../internal/svg-icons/CheckCircle"));
18var _Warning = _interopRequireDefault(require("../internal/svg-icons/Warning"));
19var _SvgIcon = _interopRequireDefault(require("../SvgIcon"));
20var _stepIconClasses = _interopRequireWildcard(require("./stepIconClasses"));
21var _jsxRuntime = require("react/jsx-runtime");
22var _circle;
23const useUtilityClasses = ownerState => {
24 const {
25 classes,
26 active,
27 completed,
28 error
29 } = ownerState;
30 const slots = {
31 root: ['root', active && 'active', completed && 'completed', error && 'error'],
32 text: ['text']
33 };
34 return (0, _composeClasses.default)(slots, _stepIconClasses.getStepIconUtilityClass, classes);
35};
36const StepIconRoot = (0, _zeroStyled.styled)(_SvgIcon.default, {
37 name: 'MuiStepIcon',
38 slot: 'Root',
39 overridesResolver: (props, styles) => styles.root
40})((0, _memoTheme.default)(({
41 theme
42}) => ({
43 display: 'block',
44 transition: theme.transitions.create('color', {
45 duration: theme.transitions.duration.shortest
46 }),
47 color: (theme.vars || theme).palette.text.disabled,
48 [`&.${_stepIconClasses.default.completed}`]: {
49 color: (theme.vars || theme).palette.primary.main
50 },
51 [`&.${_stepIconClasses.default.active}`]: {
52 color: (theme.vars || theme).palette.primary.main
53 },
54 [`&.${_stepIconClasses.default.error}`]: {
55 color: (theme.vars || theme).palette.error.main
56 }
57})));
58const StepIconText = (0, _zeroStyled.styled)('text', {
59 name: 'MuiStepIcon',
60 slot: 'Text',
61 overridesResolver: (props, styles) => styles.text
62})((0, _memoTheme.default)(({
63 theme
64}) => ({
65 fill: (theme.vars || theme).palette.primary.contrastText,
66 fontSize: theme.typography.caption.fontSize,
67 fontFamily: theme.typography.fontFamily
68})));
69const StepIcon = /*#__PURE__*/React.forwardRef(function StepIcon(inProps, ref) {
70 const props = (0, _DefaultPropsProvider.useDefaultProps)({
71 props: inProps,
72 name: 'MuiStepIcon'
73 });
74 const {
75 active = false,
76 className: classNameProp,
77 completed = false,
78 error = false,
79 icon,
80 ...other
81 } = props;
82 const ownerState = {
83 ...props,
84 active,
85 completed,
86 error
87 };
88 const classes = useUtilityClasses(ownerState);
89 if (typeof icon === 'number' || typeof icon === 'string') {
90 const className = (0, _clsx.default)(classNameProp, classes.root);
91 if (error) {
92 return /*#__PURE__*/(0, _jsxRuntime.jsx)(StepIconRoot, {
93 as: _Warning.default,
94 className: className,
95 ref: ref,
96 ownerState: ownerState,
97 ...other
98 });
99 }
100 if (completed) {
101 return /*#__PURE__*/(0, _jsxRuntime.jsx)(StepIconRoot, {
102 as: _CheckCircle.default,
103 className: className,
104 ref: ref,
105 ownerState: ownerState,
106 ...other
107 });
108 }
109 return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StepIconRoot, {
110 className: className,
111 ref: ref,
112 ownerState: ownerState,
113 ...other,
114 children: [_circle || (_circle = /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
115 cx: "12",
116 cy: "12",
117 r: "12"
118 })), /*#__PURE__*/(0, _jsxRuntime.jsx)(StepIconText, {
119 className: classes.text,
120 x: "12",
121 y: "12",
122 textAnchor: "middle",
123 dominantBaseline: "central",
124 ownerState: ownerState,
125 children: icon
126 })]
127 });
128 }
129 return icon;
130});
131process.env.NODE_ENV !== "production" ? StepIcon.propTypes /* remove-proptypes */ = {
132 // ┌────────────────────────────── Warning ──────────────────────────────┐
133 // │ These PropTypes are generated from the TypeScript type definitions. │
134 // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
135 // └─────────────────────────────────────────────────────────────────────┘
136 /**
137 * Whether this step is active.
138 * @default false
139 */
140 active: _propTypes.default.bool,
141 /**
142 * Override or extend the styles applied to the component.
143 */
144 classes: _propTypes.default.object,
145 /**
146 * @ignore
147 */
148 className: _propTypes.default.string,
149 /**
150 * Mark the step as completed. Is passed to child components.
151 * @default false
152 */
153 completed: _propTypes.default.bool,
154 /**
155 * If `true`, the step is marked as failed.
156 * @default false
157 */
158 error: _propTypes.default.bool,
159 /**
160 * The label displayed in the step icon.
161 */
162 icon: _propTypes.default.node,
163 /**
164 * The system prop that allows defining system overrides as well as additional CSS styles.
165 */
166 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])
167} : void 0;
168var _default = exports.default = StepIcon;
\No newline at end of file