import React from 'react' import type { Meta, StoryObj } from '@storybook/react-vite' import { DocsTemplate } from '../../../.storybook' import ProgressBar from './ProgressBar' const progressBarMeta: Meta = { title: 'Components/Loaders/ProgressBar', component: ProgressBar, parameters: { design: { type: 'figma', url: 'https://www.figma.com/design/RvhKD82948FMQnh5MyCi0o/Web-Design-System?node-id=3268-505&t=jsd8kEmb1sJfCa2m-0', }, docs: { page: () => ( The ProgressBar component is designed to visually track the progress of a task, providing users with a clear indication of completion. } infoBullets={[ Implement the ProgressBar component when you want to display the progress of an ongoing task, such as file uploads, form submissions, or data processing. , The ProgressBar component is not intended to be used for navigation. , The ProgressBar will fill the space of its parent container. There is also a min-width of 100px in case the parent does not have a width. , ]} /> ), }, }, decorators: [ (Story) => (
), ], } export default progressBarMeta type Story = StoryObj const progressBarTemplate: Story = { render: (args) => , } const progressBarArgs = { percentage: 50, } const label = 'Label Here' const createProgressBarStory = (args) => ({ ...progressBarTemplate, args, }) export const Basic: Story = createProgressBarStory(progressBarArgs) export const WithLabel: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, }, }) export const WithBottomText: Story = createProgressBarStory({ ...progressBarArgs, helperText: 'Some text here', }) export const WithLabelAndBottomText: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, }, helperText: 'Some text here', }) export const WithTooltip: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, tooltip: { tooltipContent: 'This is a tooltip', }, }, }) export const Required: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, required: true, }, }) export const Complete: Story = createProgressBarStory({ ...progressBarArgs, percentage: 100, formLabelProps: { label, showRightLabel: true, }, }) export const RightLabel: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, showRightLabel: true, }, }) export const AllFieldsWithError: Story = createProgressBarStory({ ...progressBarArgs, formLabelProps: { label, showRightLabel: true, }, error: true, helperText: 'Some text here', })