import type { Meta, StoryObj } from "@storybook/react"; import { AreaChartProps } from "../AreaChart"; declare const areaChartData: { month: string; desktop: number; mobile: number; tablet: number; }[]; /** * # ScrollableAreaChart Component Documentation * * The AreaChart is excellent for visualizing quantitative data and showing the volume of a metric over a progression. * It's ideal for: * * - **Time-Series Analysis**: Showing how a value or volume changes over time. * - **Showing Volume**: Emphasizing the magnitude of a value. * - **Comparing Trends**: Stacking areas to show how different series contribute to a total. * * ## Key Features * * ### Advanced Label Handling * - **Collision Detection**: Prevents X-axis labels from overlapping. * - **Intelligent Truncation**: Automatically shortens long labels with an ellipsis (...). * - **Horizontal Offset**: Ensures labels are correctly positioned for maximum readability. * * ### Interactive & Responsive * - **Interactive Legend**: Toggle data series visibility. It gracefully handles overflow with a "Show More" feature. * - **Hover Tooltips**: Choose between a standard tooltip or a floating one that follows the cursor. * - **Responsive Design**: Adapts fluidly to its container's size. * * ### Customization * - **Theming**: Comes with six pre-built color palettes. * - **Area Styles**: Supports `linear`, `natural` (smooth), and `step` interpolation. * - **Styling Options**: Control grid visibility, axes, and more. */ declare const meta: Meta>; export default meta; type Story = StoryObj; /** * ## Comprehensive Data Explorer * * This story serves as a comprehensive test suite for the AreaChart component. * Use the buttons to switch between various datasets designed to test edge cases in: * * - **Label Collision**: Datasets with long, dense, or overlapping labels. * - **Data Density**: Scenarios with few or many data points. * - **Legend Overflow**: A dataset with many series to test legend expand/collapse functionality. * * It's an excellent tool for developers to see how the chart behaves under different conditions. */ export declare const DataExplorer: Story; /** * ## Big Labels * * This story demonstrates the chart's ability to handle very long category labels. * The chart's intelligent truncation and collision detection should be visible here. * X-axis labels that are too long to fit will be gracefully truncated with an ellipsis. */ export declare const BigLabelsStory: Story; /** * ## Dense Timeline * * Tests how the chart handles many data points with medium-length period labels. * The chart should enable horizontal scrolling and apply intelligent label truncation. * This scenario is common in financial or analytical dashboards where many time periods are displayed. */ export declare const DenseTimelineStory: Story; /** * ## Company Names * * This story tests the chart with real-world company names that have varying lengths. * It demonstrates how the chart handles business data with naturally occurring long labels. */ export declare const CompanyNamesStory: Story; /** * ## Country Names * * This story tests the chart with official country names, which are often long. * It shows how geographic data is handled by the label collision detection system. */ export declare const CountryDataStory: Story; /** * ## Mixed Lengths * * This story tests the chart's ability to handle a mix of very short and very long labels * within the same dataset, demonstrating its adaptive truncation behavior. */ export declare const MixedLengthsStory: Story; /** * ## Edge Cases * * This story pushes the collision detection and truncation system to its limits * with exceptionally long labels and minimal data points. */ export declare const EdgeCasesStory: Story; /** * ## Minimal Data * * A baseline test with a small dataset and standard-length labels. This serves as a control * case to compare against the more complex label scenarios. */ export declare const MinimalDataStory: Story; /** * ## Legend Expand/Collapse * * Tests the legend's expand/collapse functionality with a large number of data series. * The legend should automatically show a "Show More" button when items overflow, * allowing users to toggle between a collapsed and expanded view. */ export declare const ExpandCollapseMarketingStory: Story; /** * ## Custom Palette * * This story demonstrates how to use the customPalette prop to provide your own color scheme * for the chart. This is useful when you need to match your brand colors or create * specific visual themes. */ export declare const CustomPaletteStory: Story; /** * ## Responsive Behavior Demo * * This story demonstrates the responsive capabilities of the AreaChart. Drag the handles * on the container to resize it and observe how the chart adapts. * * **Responsive Features:** * - **Label Truncation**: More aggressive truncation on smaller container widths. * - **Layout Adaptation**: Chart elements adjust to fit the available space. * - **Legend Behavior**: The legend may wrap or show expand/collapse buttons as needed. */ export declare const ResponsiveBehaviorDemo: Story; //# sourceMappingURL=areaChart.stories.d.ts.map