From 774c5586b7061902edc58afd62430d6d9be7064d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Kostrzewski?= Date: Wed, 22 Feb 2017 01:28:22 +0100 Subject: [PATCH] feat(Accordion): support panel's title as custom element #1144 (#1281) * feat(Accordion): support panel's title as custom element #1144 * refactor(Accordion) panels created using createShorthandFactory * fix(Accordion) title and content custom elements not wrapped in div with class names * docs(Accordion) add example use case for custom title component to Accordion docs * refactor(Accordion): remove unused import * Revert "docs(Accordion) add example use case for custom title component to Accordion docs" This reverts commit 1b84e22af48354c14c7099615b09da1c3aee02b5. * fix(Accordion): Accordion Title does not have dropdown for panels with string title * docs(Accordion): added separate example for Accordion with custom title and content * feat(Accordion): Accordion consistently renders dropdown icon for panels' titles * docs(Accordion): Move custom title and content example to Usages * docs(Accordion): reorganize panels shorthand * feat(Accordion): support all child keys in panels --- .../Examples/modules/Accordion/Types/index.js | 14 +--- .../AccordionExampleActiveIndex.js | 0 ...mplePanelsPropWithCustomTitleAndContent.js | 22 ++++++ .../Examples/modules/Accordion/Usage/index.js | 28 ++++++++ docs/app/Examples/modules/Accordion/index.js | 2 + src/modules/Accordion/Accordion.js | 27 ++++---- src/modules/Accordion/AccordionContent.js | 17 ++++- src/modules/Accordion/AccordionTitle.js | 25 ++++++- src/modules/Accordion/index.d.ts | 3 +- .../specs/modules/Accordion/Accordion-test.js | 68 ++++++++++++++++--- .../Accordion/AccordionContent-test.js | 1 + .../modules/Accordion/AccordionTitle-test.js | 1 + 12 files changed, 165 insertions(+), 43 deletions(-) rename docs/app/Examples/modules/Accordion/{Types => Usage}/AccordionExampleActiveIndex.js (100%) create mode 100644 docs/app/Examples/modules/Accordion/Usage/AccordionExamplePanelsPropWithCustomTitleAndContent.js create mode 100644 docs/app/Examples/modules/Accordion/Usage/index.js diff --git a/docs/app/Examples/modules/Accordion/Types/index.js b/docs/app/Examples/modules/Accordion/Types/index.js index 27e4cd1550..c1db7b86ab 100644 --- a/docs/app/Examples/modules/Accordion/Types/index.js +++ b/docs/app/Examples/modules/Accordion/Types/index.js @@ -12,8 +12,7 @@ const AccordionTypesExamples = () => ( examplePath='modules/Accordion/Types/AccordionExampleStandard' /> An Accordion can be defined using the panels prop.} examplePath='modules/Accordion/Types/AccordionExamplePanelsProp' > @@ -21,17 +20,6 @@ const AccordionTypesExamples = () => ( {' '}They can also define an onClick key to be applied to the Accordion.Title. - - - An active prop on an - {' '}<Accordion.Title> or <Accordion.Content> - {' '}will override the <Accordion> <activeIndex> prop. - - ({ + key: `panel-${i}`, + title: