From e7ebfc06223be49c2fdb56da4f9268b13c9bc9f5 Mon Sep 17 00:00:00 2001 From: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> Date: Thu, 4 Jan 2024 09:17:10 -0500 Subject: [PATCH] feat(Accordion): pulled in Penta updates (#9876) * feat(Accordion): pulled in Penta updates * Updated unit tests * Updated demo app * Updated card with accordion demo --- .../components/Accordion/AccordionContent.tsx | 19 ++-- .../components/Accordion/AccordionContext.ts | 5 + .../components/Accordion/AccordionItem.tsx | 23 ++++- .../components/Accordion/AccordionToggle.tsx | 56 +++++------ .../__tests__/AccordionContent.test.tsx | 92 ++++++++++++------- .../__tests__/AccordionItem.test.tsx | 20 +++- .../__tests__/AccordionToggle.test.tsx | 22 +++-- .../Generated/AccordionContent.test.tsx | 23 ----- .../Generated/AccordionItem.test.tsx | 13 --- .../Generated/AccordionToggle.test.tsx | 21 ----- .../AccordionContent.test.tsx.snap | 7 -- .../__snapshots__/AccordionItem.test.tsx.snap | 7 -- .../AccordionToggle.test.tsx.snap | 7 -- .../AccordionContent.test.tsx.snap | 2 +- .../__snapshots__/AccordionItem.test.tsx.snap | 6 +- .../Accordion/examples/AccordionBordered.tsx | 25 ++--- .../examples/AccordionDefinitionList.tsx | 25 ++--- ...cordionFixedWithMultipleExpandBehavior.tsx | 55 +++-------- .../AccordionSingleExpandBehavior.tsx | 25 ++--- .../demos/examples/Card/CardWithAccordion.tsx | 15 ++- .../demos/Accordion/AccordionDemo.tsx | 46 +++------- 21 files changed, 220 insertions(+), 294 deletions(-) delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/AccordionContent.test.tsx delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/AccordionItem.test.tsx delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/AccordionToggle.test.tsx delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/__snapshots__/AccordionContent.test.tsx.snap delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/__snapshots__/AccordionItem.test.tsx.snap delete mode 100644 packages/react-core/src/components/Accordion/__tests__/Generated/__snapshots__/AccordionToggle.test.tsx.snap diff --git a/packages/react-core/src/components/Accordion/AccordionContent.tsx b/packages/react-core/src/components/Accordion/AccordionContent.tsx index 0dc117b86b4..695313627df 100644 --- a/packages/react-core/src/components/Accordion/AccordionContent.tsx +++ b/packages/react-core/src/components/Accordion/AccordionContent.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/Accordion/accordion'; -import { AccordionContext } from './AccordionContext'; +import { AccordionContext, AccordionItemContext } from './AccordionContext'; import { AccordionExpandableContentBody } from './AccordionExpandableContentBody'; export interface AccordionContentProps extends React.HTMLProps { @@ -11,8 +11,6 @@ export interface AccordionContentProps extends React.HTMLProps { className?: string; /** Identify the AccordionContent item */ id?: string; - /** Flag to show if the expanded content of the Accordion item is visible */ - isHidden?: boolean; /** Flag to indicate Accordion content is fixed */ isFixed?: boolean; /** Adds accessible text to the Accordion content */ @@ -29,7 +27,6 @@ export const AccordionContent: React.FunctionComponent = className = '', children = null, id = '', - isHidden = false, isFixed = false, isCustomContent = false, 'aria-label': ariaLabel = '', @@ -39,16 +36,17 @@ export const AccordionContent: React.FunctionComponent = }: AccordionContentProps) => { const [hasScrollbar, setHasScrollbar] = React.useState(false); const containerRef = React.useRef(null); + const { isExpanded } = React.useContext(AccordionItemContext); React.useEffect(() => { - if (containerRef?.current && isFixed && !isHidden) { + if (containerRef?.current && isFixed && isExpanded) { const { offsetHeight, scrollHeight } = containerRef.current; setHasScrollbar(offsetHeight < scrollHeight); } else if (!isFixed) { setHasScrollbar(false); } - }, [containerRef, isFixed, isHidden]); + }, [containerRef, isFixed, isExpanded]); return ( @@ -58,13 +56,8 @@ export const AccordionContent: React.FunctionComponent =