Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / @skava/ui   js

Repository URL to install this package:

Version: 2.8.8 

/ src / components / presets / Checkout / ShippingMethodOption / ShippingMethodOption.tsx

import React from 'react'
import { isArray } from 'exotic'
import { Empty } from 'atoms/Empty'
import { toCommonState } from 'src/state'
import { defaultRenderHeader, defaultRenderIcon } from '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