Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1x 5x 1x 1x | import {forwardRef} from 'react'
import cx from 'classnames'
import PropTypes from 'prop-types'
import Poly from '@s-ui/react-primitive-polymorphic-element'
import {BASE_CLASS_ITEM_HEADER_ICON} from './settings.js'
const AccordionItemHeaderIconDefault = forwardRef(
({as = 'i', children, isExpanded, animationDuration}, forwardedRef) => (
<Poly
as={as}
ref={forwardedRef}
className={cx(`${BASE_CLASS_ITEM_HEADER_ICON}Default`, {
[`${BASE_CLASS_ITEM_HEADER_ICON}Default--expanded`]: isExpanded
})}
style={{
transition: `transform ${animationDuration}ms ${isExpanded ? 'ease-out' : 'ease-in'}`
}}
>
{children}
</Poly>
)
)
AccordionItemHeaderIconDefault.displayName = 'AccordionItemHeaderIconDefault'
AccordionItemHeaderIconDefault.propTypes = {
/** The elementType of the wrapper **/
as: PropTypes.elementType,
/** The animation duration in ms **/
animationDuration: PropTypes.number,
/** child element **/
children: PropTypes.node,
/** controlled expanded accordion item behavior */
isExpanded: PropTypes.bool
}
export default AccordionItemHeaderIconDefault
|