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 / src / components / presets / Checkout / DeliveryInstruction / DeliveryInstruction.tsx
Size: Mime:
import React from 'react'
import { observer } from 'xmobx/mobx-react'
import { DeliveryInstruction as DeliveryInstructionPlaceholder } from 'abstractions/Checkout/DeliveryInstruction'
import { ExpandableState } from 'organisms/ExpandableCard'
import {
  defaultRenderToggleButton,
  defaultRenderExpandedView,
} from './renderProps'
import { DeliveryInstructionProps } from './typings'

@observer
class DeliveryInstruction extends React.Component<
  DeliveryInstructionProps
  > {
  static defaultProps = {
    className: '',
    isSelected: false,
    renderToggleButton: defaultRenderToggleButton,
    renderExpandedView: defaultRenderExpandedView,
  }

  observableState = new ExpandableState()

  componentWillMount() {
    const {  isSelected } = this.props
    if(isSelected === true) {
      this.observableState.handleToggle()
    }
  }
  render() {
    const {
      renderToggleButton,
      renderExpandedView,
      ...remainingProps
    } = this.props
    return (
      <DeliveryInstructionPlaceholder
        renderExpandedView={renderExpandedView}
        renderToggleButton={renderToggleButton}
        state={this.observableState}
        {...remainingProps}
      />
    )
  }
}

export { DeliveryInstruction }
export default DeliveryInstruction