Repository URL to install this package:
|
Version:
2.1.2-perf.9 ▾
|
import React, { ReactNode } from 'react'
import { ToggleItemProps } from '../ToggleItem/typings'
import { ToggleItem } from '../ToggleItem'
import { ToggleListProps, ToggleState } from './typings'
import { ToggleListWrapper, Header, ToggleContentWrapper } from './styled'
export function defaultRenderItem(
item: ToggleItemProps,
state: ToggleState,
toggleListProps: ToggleListProps
) {
const { breedType, ...remainingListProps } = toggleListProps
const isRadio = Boolean(breedType === 'radio')
const isCheckBox = Boolean(breedType === 'checkbox')
/**
* @todo need to omit the values when passing the item props
*/
return (
<ToggleItem
isRadio={isRadio}
isCheckBox={isCheckBox}
// state={item}
{...item}
{...remainingListProps}
/>
)
}
/**
* TOGGLE LIST COMPONENT RENDER PROPS
*/
// export function defaultRenderList() {}
export function defaultRenderWrapper(props: ToggleListProps) {
const { className, children } = props
return <ToggleListWrapper className={className}>{children}</ToggleListWrapper>
}
export function defaultRenderHeader(props: ToggleListProps) {
const { title } = props
return title && <Header>{title}</Header>
}
export function defaultRenderContentWrapper(toggleList: ReactNode) {
return <ToggleContentWrapper>{toggleList}</ToggleContentWrapper>
}