UNPKG

6.09 kBJavaScriptView Raw
1"use strict";
2'use client';
3
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").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 _Collapse = _interopRequireDefault(require("../Collapse"));
18var _StepperContext = _interopRequireDefault(require("../Stepper/StepperContext"));
19var _StepContext = _interopRequireDefault(require("../Step/StepContext"));
20var _stepContentClasses = require("./stepContentClasses");
21var _jsxRuntime = require("react/jsx-runtime");
22const useUtilityClasses = ownerState => {
23 const {
24 classes,
25 last
26 } = ownerState;
27 const slots = {
28 root: ['root', last && 'last'],
29 transition: ['transition']
30 };
31 return (0, _composeClasses.default)(slots, _stepContentClasses.getStepContentUtilityClass, classes);
32};
33const StepContentRoot = (0, _zeroStyled.styled)('div', {
34 name: 'MuiStepContent',
35 slot: 'Root',
36 overridesResolver: (props, styles) => {
37 const {
38 ownerState
39 } = props;
40 return [styles.root, ownerState.last && styles.last];
41 }
42})((0, _memoTheme.default)(({
43 theme
44}) => ({
45 marginLeft: 12,
46 // half icon
47 paddingLeft: 8 + 12,
48 // margin + half icon
49 paddingRight: 8,
50 borderLeft: theme.vars ? `1px solid ${theme.vars.palette.StepContent.border}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]}`,
51 variants: [{
52 props: {
53 last: true
54 },
55 style: {
56 borderLeft: 'none'
57 }
58 }]
59})));
60const StepContentTransition = (0, _zeroStyled.styled)(_Collapse.default, {
61 name: 'MuiStepContent',
62 slot: 'Transition',
63 overridesResolver: (props, styles) => styles.transition
64})({});
65const StepContent = /*#__PURE__*/React.forwardRef(function StepContent(inProps, ref) {
66 const props = (0, _DefaultPropsProvider.useDefaultProps)({
67 props: inProps,
68 name: 'MuiStepContent'
69 });
70 const {
71 children,
72 className,
73 TransitionComponent = _Collapse.default,
74 transitionDuration: transitionDurationProp = 'auto',
75 TransitionProps,
76 ...other
77 } = props;
78 const {
79 orientation
80 } = React.useContext(_StepperContext.default);
81 const {
82 active,
83 last,
84 expanded
85 } = React.useContext(_StepContext.default);
86 const ownerState = {
87 ...props,
88 last
89 };
90 const classes = useUtilityClasses(ownerState);
91 if (process.env.NODE_ENV !== 'production') {
92 if (orientation !== 'vertical') {
93 console.error('MUI: <StepContent /> is only designed for use with the vertical stepper.');
94 }
95 }
96 let transitionDuration = transitionDurationProp;
97 if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {
98 transitionDuration = undefined;
99 }
100 return /*#__PURE__*/(0, _jsxRuntime.jsx)(StepContentRoot, {
101 className: (0, _clsx.default)(classes.root, className),
102 ref: ref,
103 ownerState: ownerState,
104 ...other,
105 children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StepContentTransition, {
106 as: TransitionComponent,
107 in: active || expanded,
108 className: classes.transition,
109 ownerState: ownerState,
110 timeout: transitionDuration,
111 unmountOnExit: true,
112 ...TransitionProps,
113 children: children
114 })
115 });
116});
117process.env.NODE_ENV !== "production" ? StepContent.propTypes /* remove-proptypes */ = {
118 // ┌────────────────────────────── Warning ──────────────────────────────┐
119 // │ These PropTypes are generated from the TypeScript type definitions. │
120 // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
121 // └─────────────────────────────────────────────────────────────────────┘
122 /**
123 * The content of the component.
124 */
125 children: _propTypes.default.node,
126 /**
127 * Override or extend the styles applied to the component.
128 */
129 classes: _propTypes.default.object,
130 /**
131 * @ignore
132 */
133 className: _propTypes.default.string,
134 /**
135 * The system prop that allows defining system overrides as well as additional CSS styles.
136 */
137 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]),
138 /**
139 * The component used for the transition.
140 * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
141 * @default Collapse
142 */
143 TransitionComponent: _propTypes.default.elementType,
144 /**
145 * Adjust the duration of the content expand transition.
146 * Passed as a prop to the transition component.
147 *
148 * Set to 'auto' to automatically calculate transition time based on height.
149 * @default 'auto'
150 */
151 transitionDuration: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.shape({
152 appear: _propTypes.default.number,
153 enter: _propTypes.default.number,
154 exit: _propTypes.default.number
155 })]),
156 /**
157 * Props applied to the transition element.
158 * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
159 */
160 TransitionProps: _propTypes.default.object
161} : void 0;
162var _default = exports.default = StepContent;
\No newline at end of file