import React from 'react'
import { ProductPriceProps } from './typings'
import {
defaultRenderWrapper,
defaultRenderSalePrice,
defaultRenderRegularPrice,
} from './renderProps'
class ProductPrice extends React.PureComponent<ProductPriceProps> {
static defaultProps = {
className: '',
regularPrice: '$0.00',
renderWrapper: defaultRenderWrapper,
renderSalePrice: defaultRenderSalePrice,
renderRegularPrice: defaultRenderRegularPrice,
}
render() {
const {
salePrice,
renderRegularPrice,
renderSalePrice,
renderWrapper,
} = this.props
const isSalePrice = !!salePrice
const children = (
<React.Fragment>
{salePrice && renderSalePrice(this.props)}
{renderRegularPrice({ isSalePrice, ...this.props })}
</React.Fragment>
)
const view = renderWrapper({ ...this.props, children })
return view
}
}
export { ProductPrice }
export default ProductPrice