@mailstep/design-system 0.6.59 → 0.6.60-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.6.59",
3
+ "version": "0.6.60-beta.0",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -3,12 +3,12 @@ import { useMemo } from 'react';
3
3
  import { StepItem } from './components/StepItem';
4
4
  import { Container, ItemsWrapper } from './styles';
5
5
  export var Stepper = function (_a) {
6
- var items = _a.items, activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep;
6
+ var items = _a.items, activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep, handleGoToNextStep = _a.handleGoToNextStep;
7
7
  if (!(items === null || items === void 0 ? void 0 : items.length))
8
8
  return null;
9
9
  var Component = useMemo(function () { return items[activeStep].component; }, [items, activeStep]);
10
10
  return (_jsxs(Container, { children: [_jsx(ItemsWrapper, { children: items.map(function (_a, index) {
11
11
  var title = _a.title, disabled = _a.disabled, completed = _a.completed;
12
12
  return (_jsx(StepItem, { onClick: handleChangeStep(index), title: title, index: index, activeStep: activeStep, disabled: disabled, completed: completed }, title));
13
- }) }), _jsx(Component, { handleGoToNextStep: handleChangeStep(activeStep + 1) })] }));
13
+ }) }), _jsx(Component, { handleGoToNextStep: handleGoToNextStep })] }));
14
14
  };
@@ -1,6 +1,10 @@
1
- type HookType = () => {
1
+ type Props = {
2
+ totalSteps: number;
3
+ };
4
+ type HookType = (props: Props) => {
2
5
  activeStep: number;
3
6
  handleChangeStep: (step: number) => () => void;
7
+ handleGoToNextStep: () => void;
4
8
  };
5
9
  export declare const useStepper: HookType;
6
10
  export {};
@@ -1,8 +1,17 @@
1
1
  import { useCallback, useState } from 'react';
2
- export var useStepper = function () {
3
- var _a = useState(0), activeStep = _a[0], setActiveStep = _a[1];
2
+ export var useStepper = function (_a) {
3
+ var totalSteps = _a.totalSteps;
4
+ var _b = useState(0), activeStep = _b[0], setActiveStep = _b[1];
5
+ var _c = useState(false), success = _c[0], setSuccess = _c[1];
6
+ var handleGoToNextStep = useCallback(function () {
7
+ if (activeStep + 1 === totalSteps) {
8
+ setSuccess(true);
9
+ return;
10
+ }
11
+ setActiveStep(activeStep + 1);
12
+ }, [activeStep, totalSteps]);
4
13
  var handleChangeStep = useCallback(function (step) { return function () {
5
14
  setActiveStep(step);
6
15
  }; }, []);
7
- return { activeStep: activeStep, handleChangeStep: handleChangeStep };
16
+ return { activeStep: activeStep, handleChangeStep: handleChangeStep, handleGoToNextStep: handleGoToNextStep };
8
17
  };
@@ -51,10 +51,10 @@ var meta = {
51
51
  };
52
52
  export default meta;
53
53
  export var Default = function () {
54
- var _a = useStepper(), activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep;
55
- return (_jsx(LinguiContainer, { children: _jsx(Stepper, { items: items, activeStep: activeStep, handleChangeStep: handleChangeStep }) }));
54
+ var _a = useStepper({ totalSteps: items.length }), activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep, handleGoToNextStep = _a.handleGoToNextStep;
55
+ return (_jsx(LinguiContainer, { children: _jsx(Stepper, { items: items, activeStep: activeStep, handleChangeStep: handleChangeStep, handleGoToNextStep: handleGoToNextStep }) }));
56
56
  };
57
57
  export var AllStepsCompleted = function () {
58
- var _a = useStepper(), activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep;
59
- return (_jsx(LinguiContainer, { children: _jsx(Stepper, { items: completedItems, activeStep: activeStep, handleChangeStep: handleChangeStep }) }));
58
+ var _a = useStepper({ totalSteps: completedItems.length }), activeStep = _a.activeStep, handleChangeStep = _a.handleChangeStep, handleGoToNextStep = _a.handleGoToNextStep;
59
+ return (_jsx(LinguiContainer, { children: _jsx(Stepper, { items: completedItems, activeStep: activeStep, handleChangeStep: handleChangeStep, handleGoToNextStep: handleGoToNextStep }) }));
60
60
  };
@@ -3,6 +3,7 @@ export type StepperProps = {
3
3
  items: StepperItem[];
4
4
  activeStep: number;
5
5
  handleChangeStep: (step: number) => () => void;
6
+ handleGoToNextStep: () => void;
6
7
  };
7
8
  export type StepperPassedDownProps = {
8
9
  handleGoToNextStep: () => void;