// Each exported component in the package should have its own stories file import type { Meta, StoryObj } from '@storybook/react-vite'; import { Accordion, AccordionActions, AccordionDetails, AccordionSummary, AccordionProps } from '..'; import { Box, Grid } from '@availity/mui-layout'; import { Button } from '@availity/mui-button'; import { StatusChip } from '@availity/mui-chip'; import { Typography } from '@availity/mui-typography'; const meta: Meta = { title: 'Components/Accordion/Accordion', component: Accordion, tags: ['autodocs'], argTypes: { variant: { options: ['filled', 'outlined', 'flush'], }, }, }; export default meta; export const _Accordion: StoryObj = { render: (args: AccordionProps) => ( Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. ), }; export const _Variants: StoryObj = { render: (args: AccordionProps) => ( Filled Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Filled Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Outlined Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Outlined Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Flush Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Flush Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. ), }; /** * By default, Material will style sibling `Accordion` components into a linked accordion group (similar to button group styling). * A common way to avoid this is separating the `Accordion` within a `Grid`. * * The `Accordion` will also need to be wrapped to add any top/bottom margins - * this is due to Material's default gutter behavior when expanded along with how they overwrite the behavior when disabling the gutters. */ export const _Spacing: StoryObj = { render: (args: AccordionProps) => (
Grouped
Accordion 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Accordion 2 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Accordion 3 with Actions Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.
Separated in a Grid Accordion 4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Accordion 5 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Accordion 6 with Actions Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.
), }; export const _States: StoryObj = { render: (args: AccordionProps) => ( Filled Expanded Filled Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Outlined Expanded Outlined Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Flush Expanded Flush Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Focused Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Disabled Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. ), }; export const _Status: StoryObj = { render: (args: AccordionProps) => ( Secondary } > Accordion with Status Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. Nested Accordion Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget. ), };