UNPKG

@pantheon-systems/design-toolkit-react

Version:
39 lines (36 loc) 1.33 kB
import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import PropTypes from 'prop-types'; import { useState, useEffect } from 'react'; import { StepperApiContext, StepperStateContext } from './Context.js'; import StepperController from './StepperController.js'; import { jsx } from 'react/jsx-runtime'; var Stepper = function Stepper(_ref) { var children = _ref.children, onComplete = _ref.onComplete; var _useState = useState(StepperController.getStateDefaults()), _useState2 = _slicedToArray(_useState, 2), state = _useState2[0], setState = _useState2[1]; var _useState3 = useState(new StepperController(setState)), _useState4 = _slicedToArray(_useState3, 1), controller = _useState4[0]; var isComplete = state.isComplete; useEffect(function () { if (isComplete) onComplete(state); // eslint-disable-next-line react-hooks/exhaustive-deps }, [isComplete]); return /*#__PURE__*/jsx(StepperApiContext.Provider, { value: controller.getGateApi(), children: /*#__PURE__*/jsx(StepperStateContext.Provider, { value: state, children: children }) }); }; Stepper.propTypes = { children: PropTypes.node.isRequired, onComplete: PropTypes.func.isRequired }; var Stepper$1 = Stepper; export { Stepper$1 as default }; //# sourceMappingURL=Stepper.js.map