diff --git a/src/components/Accordion/Accordion.module.css b/src/components/Accordion/Accordion.module.css index cad5877f9..87b4947ce 100644 --- a/src/components/Accordion/Accordion.module.css +++ b/src/components/Accordion/Accordion.module.css @@ -25,8 +25,11 @@ border: 0; border-radius: 0; - padding: var(--eds-size-2) var(--eds-size-1); - height: 3.375rem; + padding: var(--eds-size-1-and-half) var(--eds-size-1); + height: unset; + min-height: 3.375rem; + + text-align: left; } .accordion-button--empty { @@ -37,22 +40,22 @@ * Small variant. */ .accordion-button--sm { - padding: var(--eds-size-1); - height: 2.25rem; + padding: var(--eds-size-half) var(--eds-size-1); + min-height: 2.25rem; } /** * Outline variant. */ .accordion-button--outline { - padding: var(--eds-size-2) var(--eds-size-3); + padding: var(--eds-size-1-and-half) var(--eds-size-3); } /** * Small outline variant. */ .accordion-button--sm.accordion-button--outline { - padding: var(--eds-size-1) var(--eds-size-2); + padding: var(--eds-size-half) var(--eds-size-2); } /** @@ -73,9 +76,10 @@ /** * Expand more (chevron) icon indicates open or closed status. * - * This nonrotated icon points down and represents closed status. + * This non-rotated icon points down and represents closed status. */ .accordion-button__icon { + flex: 0 0 content; transform: rotate(0); } /** diff --git a/src/components/Accordion/Accordion.stories.tsx b/src/components/Accordion/Accordion.stories.tsx index b50c0b3d3..3aa3458f6 100644 --- a/src/components/Accordion/Accordion.stories.tsx +++ b/src/components/Accordion/Accordion.stories.tsx @@ -2,6 +2,7 @@ import type { StoryObj, Meta } from '@storybook/react'; import React from 'react'; import { Accordion } from './Accordion'; +import { chromaticViewports } from '../../util/viewports'; import Icon from '../Icon'; import NumberIcon from '../NumberIcon'; import Text from '../Text'; @@ -9,11 +10,6 @@ import Text from '../Text'; export default { title: 'Components/Accordion', component: Accordion, - subcomponents: { - 'Accordion.Row': Accordion.Row, - 'Accordion.Panel': Accordion.Panel, - 'Accordion.Button': Accordion.Button, - }, parameters: { badges: ['1.2'], }, @@ -305,6 +301,34 @@ export const UsingRenderProp: StoryObj = { }, }; +/** + * Although headings should provide limited text, we allow for text to span multiple lines, preserving + * the size of the state caret. + */ +export const WithLargeHeader: StoryObj = { + parameters: { + chromatic: { + viewports: [chromaticViewports.ipadMini], + }, + }, + args: { + children: ( + + + Massa quam egestas massa. Massa quam egestas massa. Massa quam egestas + massa. Massa quam egestas massa. Massa quam egestas massa. + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla amet, + massa ultricies iaculis. Quam lacus maecenas nibh malesuada. At + tristique et ullamcorper rhoncus amet pharetra aliquet tortor. + Suscipit dui, nunc sit dui tellus massa laoreet tellus. + + + ), + }, +}; + export const UsingComplexHeaders: StoryObj = { parameters: { badges: ['1.2', 'implementationExample'], diff --git a/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap b/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap index e343b556e..d477e91c4 100644 --- a/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap +++ b/src/components/Accordion/__snapshots__/Accordion.test.tsx.snap @@ -1732,7 +1732,7 @@ exports[` UsingComplexHeaders story renders snapshot 1`] = ` aria-expanded="false" class="clickable-style clickable-style--lg clickable-style--icon clickable-style--neutral clickable-style--full-width button button--icon accordion-button" data-headlessui-state="" - id="headlessui-disclosure-button-:r2i:" + id="headlessui-disclosure-button-:r2k:" type="button" >

UsingComplexHeaders story renders snapshot 1`] = ` aria-expanded="false" class="clickable-style clickable-style--lg clickable-style--icon clickable-style--neutral clickable-style--full-width button button--icon accordion-button" data-headlessui-state="" - id="headlessui-disclosure-button-:r2k:" + id="headlessui-disclosure-button-:r2m:" type="button" >

UsingNumberIconInHeaders story renders snapshot 1`] = ` aria-expanded="false" class="clickable-style clickable-style--lg clickable-style--icon clickable-style--neutral clickable-style--full-width button button--icon accordion-button" data-headlessui-state="" - id="headlessui-disclosure-button-:r2m:" + id="headlessui-disclosure-button-:r2o:" type="button" >

UsingNumberIconInHeaders story renders snapshot 1`] = ` aria-expanded="false" class="clickable-style clickable-style--lg clickable-style--icon clickable-style--neutral clickable-style--full-width button button--icon accordion-button" data-headlessui-state="" - id="headlessui-disclosure-button-:r2o:" + id="headlessui-disclosure-button-:r2q:" type="button" >

UsingRenderProp story renders snapshot 1`] = ` `; + +exports[` WithLargeHeader story renders snapshot 1`] = ` +
+
+
+ +
+
+
+`;