import type { Meta, StoryObj } from '@storybook/vue3-vite'; import ProgressCircle from '../progress-circle.vue'; const meta: Meta = { title: 'Components/Progress/Progress Circle', component: ProgressCircle, }; export default meta; type Story = StoryObj; export const Default: Story = { args: { modelValue: 45, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ` `, }), }; export const ZeroProgress: Story = { args: { modelValue: 0, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ``, }), }; export const FullProgress: Story = { args: { modelValue: 100, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ``, }), }; export const WithValueAndMax: Story = { name: 'With Custom Max Value', args: { modelValue: 256, max: 1024, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ``, }), }; export const WithCustomLabelInSlot: Story = { name: 'With Custom Label (Slot)', args: { modelValue: 5, max: 10, size: 80, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ` 5/10 Done `, }), }; export const WithCustomIconInSlot: Story = { name: 'With Custom Icon (Slot)', args: { modelValue: 100, max: 100, size: 80, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: ` `, }), }; export const DifferentSizes: Story = { args: { modelValue: 75, }, render: args => ({ components: { ProgressCircle }, setup() { return { args }; }, template: `
`, }), }; export const EdgeCases: Story = { render: () => ({ components: { ProgressCircle }, template: `

Over Max

Negative Value

Max is Zero

`, }), };