Skip to content

Commit 0f77227

Browse files
authored
Merge pull request #11 from tableflowhq/stepper-component-update-wider--line-space
Update Stepper component to make width dependent on number of items
2 parents 9f8c906 + ec49a97 commit 0f77227

File tree

2 files changed

+31
-20
lines changed

2 files changed

+31
-20
lines changed

src/Stepper/index.tsx

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,30 @@ import style from "./style/Stepper.module.scss";
44
import Icon from "../Icon";
55

66
export default function Stepper({ steps, current, clickable, setCurrent }: StepperProps) {
7-
return (
8-
<div className={style.stepper}>
9-
{steps.map((step, i) => {
10-
const done = i < current;
7+
return (
8+
<div className={style.stepper}>
9+
{steps.map((step, i) => {
10+
const done = i < current;
1111

12-
const Element = clickable ? "button" : "div";
12+
const Element = clickable ? "button" : "div";
1313

14-
const buttonProps: any = clickable
15-
? {
16-
onClick: () => setCurrent(i),
17-
type: "button",
18-
}
19-
: {};
14+
const buttonProps: any = clickable
15+
? {
16+
onClick: () => setCurrent(i),
17+
type: "button",
18+
}
19+
: {};
2020

21-
return (
22-
<Element key={i} className={classes([style.step, i === current ? style.active : done && style.done])} {...buttonProps}>
23-
<div className={style.badge}>{done ? <Icon icon="check" /> : i + 1}</div>
24-
<div className={style.label}>{step.label}</div>
25-
</Element>
26-
);
27-
})}
28-
</div>
29-
);
21+
return (
22+
<Element
23+
key={i}
24+
className={classes([style.step, i === current ? style.active : done && style.done, steps.length < 4 && style.stepWide])}
25+
{...buttonProps}>
26+
<div className={style.badge}>{done ? <Icon icon="check" /> : i + 1}</div>
27+
<div className={style.label}>{step.label}</div>
28+
</Element>
29+
);
30+
})}
31+
</div>
32+
);
3033
}

src/Stepper/style/Stepper.module.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,12 @@
5252
}
5353
}
5454
}
55+
56+
.stepWide {
57+
&:not(:first-of-type) {
58+
&:before {
59+
width: min(120px, 10vw);
60+
}
61+
}
62+
}
5563
}

0 commit comments

Comments
 (0)