From 9128c224c65f8f2a172b22a443ccb4573c7acd90 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
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<typeof ProgressBarComponent>;
+
+const Template: ComponentStory<typeof ProgressBarComponent> = (args) => (
+  <ProgressBarComponent {...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

