From 13a9badd8581295c9234e266a1e5b3271c9123ad Mon Sep 17 00:00:00 2001 From: Michael Drayer Date: Mon, 2 Dec 2024 10:29:06 -0500 Subject: [PATCH] Adjust base accordion item type. Export types. --- source/03-components/Accordion/Accordion.tsx | 15 ++++++++++++--- source/03-components/Article/Article.tsx | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/source/03-components/Accordion/Accordion.tsx b/source/03-components/Accordion/Accordion.tsx index 164e84e6..d33df1a7 100644 --- a/source/03-components/Accordion/Accordion.tsx +++ b/source/03-components/Accordion/Accordion.tsx @@ -7,8 +7,16 @@ import getCssVar from '../../06-utility/getCssVar'; import AccordionItem, { AccordionItemProps } from './AccordionItem'; import styles from './accordion.module.css'; +// The Accordion component provides props itself for the AccordionItems, +// so omit those from the item objects. +interface BaseAccordionItem + extends Omit< + AccordionItemProps, + 'accordionSpeed' | 'handleClick' | 'isStepList' | 'toggleRef' + > {} + interface AccordionProps extends GessoComponent { - accordionItems: AccordionItemProps[]; + accordionItems: BaseAccordionItem[]; accordionSpeed?: string; allowMultiple?: boolean; allowToggle?: boolean; @@ -36,7 +44,7 @@ function Accordion({ return refs; }, [accordionItemsStatus]); - const openAccordionItem = (items: AccordionItemProps[], index: number) => { + const openAccordionItem = (items: BaseAccordionItem[], index: number) => { return [ ...items.slice(0, index), { @@ -47,7 +55,7 @@ function Accordion({ ]; }; - const closeAccordionItem = (items: AccordionItemProps[], index: number) => { + const closeAccordionItem = (items: BaseAccordionItem[], index: number) => { return [ ...items.slice(0, index), { @@ -151,3 +159,4 @@ function Accordion({ } export default Accordion; +export type { AccordionProps }; diff --git a/source/03-components/Article/Article.tsx b/source/03-components/Article/Article.tsx index 54bb98fd..0a516b33 100644 --- a/source/03-components/Article/Article.tsx +++ b/source/03-components/Article/Article.tsx @@ -39,3 +39,4 @@ function Article({ } export default Article; +export type { ArticleProps };