Refactor indent level className

This commit is contained in:
Chi Vinh Le
2018-09-24 22:11:03 +02:00
parent 8c2d811b55
commit 460429d991
@@ -10,17 +10,30 @@ export interface IndentProps {
children: React.ReactNode;
}
const levels = [
styles.level1,
styles.level2,
styles.level3,
styles.level4,
styles.level5,
styles.level6,
];
function getLevelClassName(level?: number) {
if (!level) {
return "";
}
if (level - 1 > levels.length) {
throw new Error(`Indent level ${level} does not exist`);
}
return levels[level - 1];
}
const Indent: StatelessComponent<IndentProps> = props => {
return (
<div className={cn(props.className, styles.root)}>
<div
className={cn({
[styles.level1]: props.level === 1,
[styles.level2]: props.level === 2,
[styles.level3]: props.level === 3,
[styles.level4]: props.level === 4,
[styles.level5]: props.level === 5,
[styles.level6]: props.level === 6,
className={cn(getLevelClassName(props.level), {
[styles.noBorder]: props.noBorder,
})}
>