From e779c318dd4e2f95dd80ef57116a487bda266b31 Mon Sep 17 00:00:00 2001 From: Damien Robson Date: Wed, 22 Jan 2025 13:15:48 +0000 Subject: [PATCH] docs(accordion): update documentation examples to ensure a11y compliance --- src/components/accordion/accordion.mdx | 10 +-- .../accordion/accordion.stories.tsx | 86 +++++++++++++------ 2 files changed, 64 insertions(+), 32 deletions(-) diff --git a/src/components/accordion/accordion.mdx b/src/components/accordion/accordion.mdx index c2645928bc..692c00d7fb 100644 --- a/src/components/accordion/accordion.mdx +++ b/src/components/accordion/accordion.mdx @@ -76,7 +76,7 @@ const MyComponent = () => ( The default version of `Accordion` has a white background and no side borders. - + ### With disabled content padding @@ -124,19 +124,19 @@ The icon showing the state of the `Accordion` can be left-aligned by setting the The default width of 100% can be overriden by setting the `width` prop to a custom value. - + ### With custom padding and margins An `Accordion` can be rendered with different padding and margin by setting the `padding` and `margin` props. - + ### With custom title padding and margins An `Accordion` title can be rendered with different padding and margin by passing the desired configuration object to the `headerSpacing` prop. - + ### Grouped @@ -160,7 +160,7 @@ An `Accordion` will automatically adjust its height to fit the content inside i Setting the `variant` prop to `subtle` will override the default styling of an Accordion. The `subTitle` and `scheme` props will have no effect when used alongside this variant, nor will the validation props (`error`, `warning`, and `info`). - + ## Props diff --git a/src/components/accordion/accordion.stories.tsx b/src/components/accordion/accordion.stories.tsx index 38559e7097..7c850fbcef 100644 --- a/src/components/accordion/accordion.stories.tsx +++ b/src/components/accordion/accordion.stories.tsx @@ -24,7 +24,7 @@ const meta: Meta = { export default meta; type Story = StoryObj; -export const AccordionDefault: Story = () => { +export const Default: Story = () => { return ( Content @@ -33,7 +33,7 @@ export const AccordionDefault: Story = () => { ); }; -AccordionDefault.storyName = "Default"; +Default.storyName = "Default"; export const WithDisableContentPadding: Story = () => { return ( @@ -116,7 +116,7 @@ export const LeftAlignedIcon: Story = () => { }; LeftAlignedIcon.storyName = "Left-Aligned Icon"; -export const DifferentWidth: Story = () => { +export const CustomWidth: Story = () => { return ( Content @@ -125,65 +125,65 @@ export const DifferentWidth: Story = () => { ); }; -DifferentWidth.storyName = "Custom Width"; +CustomWidth.storyName = "Custom Width"; -export const WithDifferentPaddingAndMargin: Story = () => { +export const WithCustomPaddingAndMargins: Story = () => { return ( <> - + content - + content - + content - + content - + content - + content - + content ); }; -WithDifferentPaddingAndMargin.storyName = "With Custom Padding And Margins"; +WithCustomPaddingAndMargins.storyName = "With Custom Padding And Margins"; -export const WithDifferentPaddingAndMarginInAccordionTitle: Story = () => { +export const WithCustomTitlePaddingAndMargins: Story = () => { return ( <> - + content - + content - + content - + content - + content - + content - + content ); }; -WithDifferentPaddingAndMarginInAccordionTitle.storyName = +WithCustomTitlePaddingAndMargins.storyName = "With Custom Title Padding And Margins"; export const Grouped: Story = () => { @@ -212,15 +212,47 @@ export const Grouped: Story = () => { Grouped.storyName = "Grouped"; export const WithValidationIcon: Story = () => { + const [firstAccordionExpanded, setFirstAccordionExpanded] = + useState(true); + const [secondAccordionExpanded, setSecondAccordionExpanded] = + useState(true); + const [thirdAccordionExpanded, setThirdAccordionExpanded] = + useState(true); + + const toggleFirstAccordion = () => { + setFirstAccordionExpanded(!firstAccordionExpanded); + }; + const toggleSecondAccordion = () => { + setSecondAccordionExpanded(!secondAccordionExpanded); + }; + const toggleThirdAccordion = () => { + setThirdAccordionExpanded(!thirdAccordionExpanded); + }; + return ( - + Content - + Content - + Content @@ -257,7 +289,7 @@ export const WithDynamicContent: Story = () => { }; WithDynamicContent.storyName = "With Dynamic Content"; -export const AccordionSubtle: Story = () => { +export const SubtleVariant: Story = () => { return ( Content @@ -266,4 +298,4 @@ export const AccordionSubtle: Story = () => { ); }; -AccordionSubtle.storyName = "Subtle Variant"; +SubtleVariant.storyName = "Subtle Variant";