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    
Size: Mime:
import { ReactNode } from 'react'
import { VariantConfigProps, ProductProps } from '../typings'

export interface ProductDetailsRenderProp extends Function {
  (props: ProductPieceProps): ReactNode
}

export interface ProductImageRenderProp extends Function {
  (
    props: ProductPieceProps,
    variantData: VariantConfigProps | object
  ): ReactNode
}
export interface ProductHoverRenderProp extends Function {
  (props: ProductHoverPropType): ReactNode
}
export interface Handlers {
  handleExpand(): void
  handleSwap(): void
  handleDelete(): void
}

export interface ProductPieceProps {
  className?: string
  children?: ReactNode
  item: ProductProps
  renderProductDetails?: ProductDetailsRenderProp
  renderProductImage?: ProductImageRenderProp
  renderHoverIcons?: ProductHoverRenderProp
  onProductUpdate: (updateParams: ProductUpdateProps) => void
}

export interface ProductUpdateProps {
  product: ProductProps
  shouldRemove?: Boolean
}

export interface ProductPieceStateProps {}

export type ProductHoverPropType = ProductPieceProps & Handlers