import React from 'react' import { type Meta, type StoryObj } from '@storybook/react-vite' import { DocsTemplate } from '../../../.storybook' import GraphLoading from './GraphLoading' const meta: Meta = { title: 'Components/Loaders/GraphLoading', component: GraphLoading, parameters: { layout: 'padded', docs: { page: () => ( The GraphLoading component provides an elegant animated skeleton specifically designed for chart and graph loading states. It creates a realistic preview of what users can expect to see, reducing perceived loading time and improving user experience during data visualization rendering.

The component features sophisticated animations including staggered fade-ins for grid lines, progressive delays for axis tick marks, and a flowing wave pattern that simulates chart data. This creates a polished, professional loading experience that maintains user engagement while actual chart data is being fetched and processed. } infoBullets={[ Realistic Chart Preview: Displays a skeleton that closely resembles the structure of common data visualizations including grid lines, axes, and data curves. , Smooth Animations: Features carefully timed animations with staggered delays that create a natural, progressive reveal effect. , Flexible Sizing: Supports both predefined sizes (small/large) and custom dimensions to fit various chart containers and layouts. , Performance Optimized: Uses CSS animations and SVG graphics for smooth performance across different devices and browsers. , Responsive Design: Automatically adjusts proportions based on size settings while maintaining visual integrity across different screen sizes. , QA Friendly: Includes test ID support for automated testing and quality assurance workflows. , ]} /> ), }, }, } export default meta type Story = StoryObj export const Default: Story = { args: { size: 'large', }, } export const Small: Story = { args: { size: 'small', }, } export const CustomHeight: Story = { args: { height: 300, }, } export const WithCustomLineHeight: Story = { args: { size: 'large', lineCustomHeight: 180, }, }