From 3f6627c68a7e3078f4a1527fa3c50f04bc6e8d0d Mon Sep 17 00:00:00 2001 From: Lukas Oppermann Date: Fri, 20 Sep 2024 09:52:53 +0200 Subject: [PATCH] add gap to progressbar with multiple sections --- .../src/ProgressBar/ProgressBar.stories.tsx | 31 ++++++++++++++++--- .../react/src/ProgressBar/ProgressBar.tsx | 2 +- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/packages/react/src/ProgressBar/ProgressBar.stories.tsx b/packages/react/src/ProgressBar/ProgressBar.stories.tsx index e566a3003c3..97cb0d2c450 100644 --- a/packages/react/src/ProgressBar/ProgressBar.stories.tsx +++ b/packages/react/src/ProgressBar/ProgressBar.stories.tsx @@ -1,6 +1,8 @@ import React from 'react' -import type {Meta, StoryFn} from '@storybook/react' -import {ProgressBar} from '..' +import type {Meta} from '@storybook/react' +import {ProgressBar, type ProgressBarProps} from '..' + +const sectionColors = ['success.emphasis', 'done.emphasis', 'severe.emphasis', 'danger.emphasis', 'attention.emphasis'] export default { title: 'Components/ProgressBar', @@ -9,15 +11,26 @@ export default { export const Default = () => -export const Playground: StoryFn = args => ( - -) +export const Playground = ({sections, ...args}: ProgressBarProps & {sections: number}) => { + if (sections === 1) { + return + } else { + return ( + + {[...Array(sections).keys()].map(i => ( + + ))} + + ) + } +} Playground.args = { progress: 66, barSize: 'default', inline: false, bg: 'success.emphasis', + sections: 1, } Playground.argTypes = { @@ -37,4 +50,12 @@ Playground.argTypes = { type: 'boolean', }, }, + sections: { + control: { + type: 'number', + min: 1, + max: 5, + step: 1, + }, + }, } diff --git a/packages/react/src/ProgressBar/ProgressBar.tsx b/packages/react/src/ProgressBar/ProgressBar.tsx index 409f8ff58dc..f9768c3e583 100644 --- a/packages/react/src/ProgressBar/ProgressBar.tsx +++ b/packages/react/src/ProgressBar/ProgressBar.tsx @@ -52,7 +52,7 @@ const ProgressContainer = styled.span` background-color: ${get('colors.border.default')}; border-radius: ${get('radii.1')}; height: ${props => sizeMap[props.barSize || 'default']}; - + gap: ${props => (props.children ? '2px' : '0')}; ${width} ${sx}; `