Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui-presets / src / presets / Checkout / ShippingMethodOption / ShippingMethodOption.tsx
Size: Mime:
import React from 'react'
import { isArray } from 'exotic'
import { Empty } from '@skava/ui/dist/components/atoms/Empty'
import { toCommonState } from '@skava/ui/dist/state'
import { defaultRenderHeader, defaultRenderIcon } from '@skava/ui/dist/components/molecules/ToggleList'
import { ShippingMethodOptionListProps } from './typings'
import { ToggleList } from './styled'
import { defaultRenderText } from './renderProps'

class ShippingMethodOption extends React.PureComponent<
  ShippingMethodOptionListProps
> {
  static defaultProps = {
    className: '',
    title: 'Shipping method',
    //
    renderHeader: defaultRenderHeader,
    renderIcon: defaultRenderIcon,
    renderText: defaultRenderText,
    selectedDataQa: 'qa-shipping-methods',
    unselectedDataQa: 'qa-shipping-methods',
  }
  render() {
    const { list } = this.props
    const shippingMethodOptionList = isArray(list) && list.map(toCommonState)
    const view =
      shippingMethodOptionList.length > 0 ? (
        <ToggleList {...this.props} list={shippingMethodOptionList} />
      ) : (
        <Empty />
      )
    return view
  }
}

export { ShippingMethodOption }
export default ShippingMethodOption