Skip to content

Commit

Permalink
feat!: AccordionPanelのアイコン無し(NoIcon)の削除を行う
Browse files Browse the repository at this point in the history
  • Loading branch information
atzzCokeK committed May 23, 2024
1 parent 9639371 commit 736e298
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,30 +123,14 @@ export const AccordionStyle: StoryFn = () => (
</BorderList>
</AccordionPanel>
</AccordionPanelBase>
<AccordionPanelBase>
<AccordionPanel displayIcon={false}>
<BorderList>
{arr.map((_, i) => (
<li key={i}>
<AccordionPanelItem name={`no-icon-${i}`}>
<AccordionPanelTrigger>No Icon {i}</AccordionPanelTrigger>
<AccordionPanelContent>
<Content>{content()}</Content>
</AccordionPanelContent>
</AccordionPanelItem>
</li>
))}
</BorderList>
</AccordionPanel>
</AccordionPanelBase>
</Wrapper>
)
AccordionStyle.storyName = 'Accordion style'

export const ExpandedOptions: StoryFn = () => (
<Wrapper>
<AccordionPanelBase>
<AccordionPanel displayIcon={true} expandableMultiply={true}>
<AccordionPanel expandableMultiply={true}>
{arr.map((_, i) => (
<AccordionPanelItem key={i} name={`expandable-multiply-${i}`}>
<AccordionPanelTrigger>Expandable Multiply {i}</AccordionPanelTrigger>
Expand All @@ -158,7 +142,7 @@ export const ExpandedOptions: StoryFn = () => (
</AccordionPanel>
</AccordionPanelBase>
<AccordionPanelBase>
<AccordionPanel displayIcon={true} defaultExpanded={['default-expanded-0']}>
<AccordionPanel defaultExpanded={['default-expanded-0']}>
{arr.map((_, i) => (
<AccordionPanelItem key={i} name={`default-expanded-${i}`}>
<AccordionPanelTrigger>Default Expanded {i}</AccordionPanelTrigger>
Expand All @@ -176,7 +160,7 @@ ExpandedOptions.storyName = 'Expanded options'
export const Callback: StoryFn = () => (
<Wrapper>
<AccordionPanelBase>
<AccordionPanel displayIcon={false} expandableMultiply={true} onClick={action('Clicked')}>
<AccordionPanel expandableMultiply={true} onClick={action('Clicked')}>
{arr.map((_, i) => (
<AccordionPanelItem key={i} name={`expandable-multiply-${i}`}>
<AccordionPanelTrigger>Expandable Multiply {i}</AccordionPanelTrigger>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ import {
type Props = PropsWithChildren<{
/** アイコンの左右位置 */
iconPosition?: 'left' | 'right'
/** アイコンを表示するかどうか */
displayIcon?: boolean
/** 複数のパネルを同時に開くことを許容するかどうか */
expandableMultiply?: boolean
/** デフォルトで開いた状態にするアイテムの `name` の配列 */
Expand All @@ -36,15 +34,13 @@ type ElementProps = Omit<ComponentProps<'div'>, keyof Props>

export const AccordionPanelContext = React.createContext<{
iconPosition: 'left' | 'right'
displayIcon: boolean
expandedItems: Map<string, string>
expandableMultiply: boolean
parentRef: React.RefObject<HTMLDivElement> | null
onClickTrigger?: (itemName: string, isExpanded: boolean) => void
onClickProps?: (expandedItems: string[]) => void
}>({
iconPosition: 'left',
displayIcon: true,
expandedItems: new Map(),
expandableMultiply: false,
parentRef: null,
Expand All @@ -56,7 +52,6 @@ const accordionWrapper = tv({

export const AccordionPanel: React.FC<Props & ElementProps> = ({
iconPosition = 'left',
displayIcon = true,
expandableMultiply = false,
defaultExpanded = [],
className,
Expand Down Expand Up @@ -119,7 +114,6 @@ export const AccordionPanel: React.FC<Props & ElementProps> = ({
onClickProps,
expandedItems,
iconPosition,
displayIcon,
expandableMultiply,
parentRef,
}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,8 @@ export const AccordionPanelTrigger: FC<Props & ElementProps> = ({
}
}, [className])
const { name } = useContext(AccordionPanelItemContext)
const {
iconPosition,
displayIcon,
expandedItems,
onClickTrigger,
onClickProps,
expandableMultiply,
} = useContext(AccordionPanelContext)
const { iconPosition, expandedItems, onClickTrigger, onClickProps, expandableMultiply } =
useContext(AccordionPanelContext)

const isExpanded = getIsInclude(expandedItems, name)

Expand Down Expand Up @@ -113,11 +107,9 @@ export const AccordionPanelTrigger: FC<Props & ElementProps> = ({
type="button"
>
<Cluster className="shr-flex-nowrap" align="center" as="span">
{displayIcon && iconPosition === 'left' && <FaCaretRightIcon className={leftIconStyle} />}
{iconPosition === 'left' && <FaCaretRightIcon className={leftIconStyle} />}
<span className={titleStyle}>{children}</span>
{displayIcon && iconPosition === 'right' && (
<FaCaretDownIcon className={rightIconStyle} />
)}
{iconPosition === 'right' && <FaCaretDownIcon className={rightIconStyle} />}
</Cluster>
</button>
</Heading>
Expand Down

0 comments on commit 736e298

Please sign in to comment.