Skip to content

Commit

Permalink
fix: move icon props to Accordion component
Browse files Browse the repository at this point in the history
  • Loading branch information
im36-123 committed Oct 30, 2019
1 parent d9609db commit e6717aa
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 19 deletions.
9 changes: 6 additions & 3 deletions src/components/Accordion/Accordion.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@ storiesOf('Accordion', module)
<Accordion
name={`right-icon-${index}`}
expanded={state === `right-icon-${index}`}
icon="right"
onClick={handleClick}
>
<AccordionTrigger icon="right">Right Icon {index}</AccordionTrigger>
<AccordionTrigger>Right Icon {index}</AccordionTrigger>
<AccordionContent>
<Content>{lorem}</Content>
</AccordionContent>
Expand All @@ -72,9 +73,10 @@ storiesOf('Accordion', module)
<Accordion
name={`no-icon-${index}`}
expanded={state === `no-icon-${index}`}
icon="none"
onClick={handleClick}
>
<AccordionTrigger icon="none">No Icon {index}</AccordionTrigger>
<AccordionTrigger>No Icon {index}</AccordionTrigger>
<AccordionContent>
<Content>{lorem}</Content>
</AccordionContent>
Expand All @@ -90,9 +92,10 @@ storiesOf('Accordion', module)
<Accordion
name={`no-border-${index}`}
expanded={state === `no-border-${index}`}
icon="none"
onClick={handleClick}
>
<AccordionTrigger icon="none">No Border {index}</AccordionTrigger>
<AccordionTrigger>No Border {index}</AccordionTrigger>
<AccordionContent>
<Content>{lorem}</Content>
</AccordionContent>
Expand Down
10 changes: 9 additions & 1 deletion src/components/Accordion/Accordion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ type Props = {
children: React.ReactNode
expanded?: boolean
name: string
icon?: 'left' | 'right' | 'none'
onClick: (name: string, expanded: boolean) => void
}

Expand All @@ -16,12 +17,19 @@ export const AccordionContext = React.createContext<ContextType>({
onClick: () => {},
})

const AccordionComponent: React.FC<Props> = ({ children, name, expanded = false, onClick }) => {
const AccordionComponent: React.FC<Props> = ({
children,
name,
expanded = false,
icon = 'left',
onClick,
}) => {
return (
<AccordionContext.Provider
value={{
expanded,
name,
icon,
onClick,
}}
>
Expand Down
10 changes: 2 additions & 8 deletions src/components/Accordion/AccordionTrigger.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,12 @@ import { Icon as IconComponent } from '../Icon'
type Props = {
children: React.ReactNode
className?: string
icon?: 'left' | 'right' | 'none'
}

type MergedProps = Props & InjectedProps

const AccordionTriggerComponent: React.SFC<MergedProps> = ({
children,
className = '',
icon = 'left',
theme,
}) => {
const { expanded, name, onClick } = useContext(AccordionContext)
const AccordionTriggerComponent: React.SFC<MergedProps> = ({ children, className = '', theme }) => {
const { expanded, name, onClick, icon } = useContext(AccordionContext)

const expandedClassName = expanded ? 'expanded' : ''
const buttonClassNames = `${className} ${expandedClassName} ${icon}`
Expand Down
10 changes: 3 additions & 7 deletions src/components/Accordion/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
```tsx
import { Accordion, AccordionTrigger, AccordionContent } from 'smarthr-ui'

<Accordion name="accordion" expanded={true} onClick={handleClick}>
<AccordionTrigger icon="none">accodion trigger</AccordionTrigger>
<Accordion name="accordion" expanded={true} icon="none" onClick={handleClick}>
<AccordionTrigger>accodion trigger</AccordionTrigger>
<AccordionContent>
<Content>accordion content</Content>
</AccordionContent>
Expand All @@ -19,10 +19,6 @@ import { Accordion, AccordionTrigger, AccordionContent } from 'smarthr-ui'
| -------- | -------- | ------------ | ------------ | ---------------------------------------------------------------------------------------------------- |
| name || **string** | - | Name for Accordion |
| expanded || **boolean** | false | If true, expands the panel, otherwise collapse the panel. |
| icon | - | **string** <br> left &#124; right &#124; none | left | Position of icon. If sets 'none', icon is not display. |
| onClick || **function** | - | Fires when the AccordionTrigger clicked. <br><br>function: (name: string, expanded: boolean) => void |

### AccordionTrigger component

| Name | Required | Type | DefaultValue | Description |
| ---- | -------- | --------------------------------------------- | ------------ | ------------------------------------------------------ |
| icon | - | **string** <br> left &#124; right &#124; none | left | Position of icon. If sets 'none', icon is not display. |

0 comments on commit e6717aa

Please sign in to comment.