From 9128c224c65f8f2a172b22a443ccb4573c7acd90 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 29 Sep 2023 15:49:14 +0200 Subject: refactor(components): rewrite ProgressBar component * Avoid browser vendors by adding an extra div * Add a loading state * Add an option to center the progress bar (no longer the default) * Remove min since it is always 0 --- .../loaders/progress-bar/progress-bar.stories.tsx | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/components/atoms/loaders/progress-bar/progress-bar.stories.tsx (limited to 'src/components/atoms/loaders/progress-bar/progress-bar.stories.tsx') diff --git a/src/components/atoms/loaders/progress-bar/progress-bar.stories.tsx b/src/components/atoms/loaders/progress-bar/progress-bar.stories.tsx new file mode 100644 index 0000000..fb600fb --- /dev/null +++ b/src/components/atoms/loaders/progress-bar/progress-bar.stories.tsx @@ -0,0 +1,60 @@ +import type { ComponentMeta, ComponentStory } from '@storybook/react'; +import { ProgressBar as ProgressBarComponent } from './progress-bar'; + +/** + * ProgressBar - Storybook Meta + */ +export default { + title: 'Atoms/Loaders', + component: ProgressBarComponent, + argTypes: { + current: { + control: { + type: 'number', + }, + description: 'The current value.', + type: { + name: 'number', + required: true, + }, + }, + label: { + control: { + type: 'text', + }, + description: 'The progress bar label.', + type: { + name: 'string', + required: true, + }, + }, + max: { + control: { + type: 'number', + }, + description: 'The maximal value.', + type: { + name: 'number', + required: true, + }, + }, + }, +} as ComponentMeta; + +const Template: ComponentStory = (args) => ( + +); + +const max = 50; +const current = 10; +const label = `${current} loaded out of a total of ${max}`; + +/** + * Loaders Stories - Progress bar + */ +export const ProgressBar = Template.bind({}); +ProgressBar.args = { + current, + label, + max, +}; -- cgit v1.2.3