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 _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
|
14 | var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
15 | var _zeroStyled = require("../zero-styled");
|
16 | var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
17 | var _stepperClasses = require("./stepperClasses");
|
18 | var _StepConnector = _interopRequireDefault(require("../StepConnector"));
|
19 | var _StepperContext = _interopRequireDefault(require("./StepperContext"));
|
20 | var _jsxRuntime = require("react/jsx-runtime");
|
21 | const useUtilityClasses = ownerState => {
|
22 | const {
|
23 | orientation,
|
24 | nonLinear,
|
25 | alternativeLabel,
|
26 | classes
|
27 | } = ownerState;
|
28 | const slots = {
|
29 | root: ['root', orientation, nonLinear && 'nonLinear', alternativeLabel && 'alternativeLabel']
|
30 | };
|
31 | return (0, _composeClasses.default)(slots, _stepperClasses.getStepperUtilityClass, classes);
|
32 | };
|
33 | const StepperRoot = (0, _zeroStyled.styled)('div', {
|
34 | name: 'MuiStepper',
|
35 | slot: 'Root',
|
36 | overridesResolver: (props, styles) => {
|
37 | const {
|
38 | ownerState
|
39 | } = props;
|
40 | return [styles.root, styles[ownerState.orientation], ownerState.alternativeLabel && styles.alternativeLabel, ownerState.nonLinear && styles.nonLinear];
|
41 | }
|
42 | })({
|
43 | display: 'flex',
|
44 | variants: [{
|
45 | props: {
|
46 | orientation: 'horizontal'
|
47 | },
|
48 | style: {
|
49 | flexDirection: 'row',
|
50 | alignItems: 'center'
|
51 | }
|
52 | }, {
|
53 | props: {
|
54 | orientation: 'vertical'
|
55 | },
|
56 | style: {
|
57 | flexDirection: 'column'
|
58 | }
|
59 | }, {
|
60 | props: {
|
61 | alternativeLabel: true
|
62 | },
|
63 | style: {
|
64 | alignItems: 'flex-start'
|
65 | }
|
66 | }]
|
67 | });
|
68 | const defaultConnector = (0, _jsxRuntime.jsx)(_StepConnector.default, {});
|
69 | const Stepper = React.forwardRef(function Stepper(inProps, ref) {
|
70 | const props = (0, _DefaultPropsProvider.useDefaultProps)({
|
71 | props: inProps,
|
72 | name: 'MuiStepper'
|
73 | });
|
74 | const {
|
75 | activeStep = 0,
|
76 | alternativeLabel = false,
|
77 | children,
|
78 | className,
|
79 | component = 'div',
|
80 | connector = defaultConnector,
|
81 | nonLinear = false,
|
82 | orientation = 'horizontal',
|
83 | ...other
|
84 | } = props;
|
85 | const ownerState = {
|
86 | ...props,
|
87 | nonLinear,
|
88 | alternativeLabel,
|
89 | orientation,
|
90 | component
|
91 | };
|
92 | const classes = useUtilityClasses(ownerState);
|
93 | const childrenArray = React.Children.toArray(children).filter(Boolean);
|
94 | const steps = childrenArray.map((step, index) => {
|
95 | return React.cloneElement(step, {
|
96 | index,
|
97 | last: index + 1 === childrenArray.length,
|
98 | ...step.props
|
99 | });
|
100 | });
|
101 | const contextValue = React.useMemo(() => ({
|
102 | activeStep,
|
103 | alternativeLabel,
|
104 | connector,
|
105 | nonLinear,
|
106 | orientation
|
107 | }), [activeStep, alternativeLabel, connector, nonLinear, orientation]);
|
108 | return (0, _jsxRuntime.jsx)(_StepperContext.default.Provider, {
|
109 | value: contextValue,
|
110 | children: (0, _jsxRuntime.jsx)(StepperRoot, {
|
111 | as: component,
|
112 | ownerState: ownerState,
|
113 | className: (0, _clsx.default)(classes.root, className),
|
114 | ref: ref,
|
115 | ...other,
|
116 | children: steps
|
117 | })
|
118 | });
|
119 | });
|
120 | process.env.NODE_ENV !== "production" ? Stepper.propTypes = {
|
121 |
|
122 |
|
123 |
|
124 |
|
125 | |
126 |
|
127 |
|
128 |
|
129 |
|
130 | activeStep: _integerPropType.default,
|
131 | |
132 |
|
133 |
|
134 |
|
135 |
|
136 | alternativeLabel: _propTypes.default.bool,
|
137 | |
138 |
|
139 |
|
140 | children: _propTypes.default.node,
|
141 | |
142 |
|
143 |
|
144 | classes: _propTypes.default.object,
|
145 | |
146 |
|
147 |
|
148 | className: _propTypes.default.string,
|
149 | |
150 |
|
151 |
|
152 |
|
153 | component: _propTypes.default.elementType,
|
154 | |
155 |
|
156 |
|
157 |
|
158 | connector: _propTypes.default.element,
|
159 | |
160 |
|
161 |
|
162 |
|
163 | nonLinear: _propTypes.default.bool,
|
164 | |
165 |
|
166 |
|
167 |
|
168 | orientation: _propTypes.default.oneOf(['horizontal', 'vertical']),
|
169 | |
170 |
|
171 |
|
172 | 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])
|
173 | } : void 0;
|
174 | var _default = exports.default = Stepper; |
\ | No newline at end of file |