Repository URL to install this package:
|
Version:
2.1.12 ▾
|
import { ReactNode } from 'react'
import { DetailedListDataType } from '@skava/ui/dist/components/molecules/DetailedList'
import { IncrementerStateType } from '@skava/ui/dist/inputs/Incrementer'
export interface ProductItemRenderProp extends Function {
(props: ProductItemProps): ReactNode
}
export interface QuantityProps {
value?: string | number
isIncrementer?: boolean
}
export interface RatingProps {
value?: string | number
reviewCount?: number
}
export interface PriceProps {
salePrice?: string | number
regPrice?: string | number
}
export interface TotalPriceProps {
totalPrice?: string | number
savePrice?: string | number
}
interface FavoriteArgs {
isSelected?: boolean
identifier?: string
label?: string
}
interface FavoriteHandler extends Function {
(args?: FavoriteArgs): void
}
interface PromoProps {
name?: string
}
interface ProductItemProps {
className?: string
children?: ReactNode
type?: string
align?: string
identifier: string
url?: string
image: string
productCaption?: string
hasFavoriteIcon?: boolean
isFavoriteActive?: boolean
brandName?: string
name?: string
rating?: RatingProps
quantity?: QuantityProps
price?: PriceProps
totalPriceDetails?: TotalPriceProps
facet?: DetailedListDataType
productDetailsOrder?: Array<string>
promoOffer?: Array<PromoProps>
dataQa?: string
// handlers
onFavoriteClick?: FavoriteHandler
onQuantityChange?: (args: IncrementerStateType) => void
onPromoOfferClick?: (args: PromoProps) => void
// renderProps
renderPromoDetails?: ProductItemRenderProp
renderTotal?: ProductItemRenderProp
renderCheckoutQuantity?: ProductItemRenderProp
renderQuantity?: ProductItemRenderProp
renderFacetDetails?: ProductItemRenderProp
renderRatings?: ProductItemRenderProp
renderProductName?: ProductItemRenderProp
renderBrandName?: ProductItemRenderProp
renderPrice?: ProductItemRenderProp
renderImage?: ProductItemRenderProp
renderBox?: ProductItemRenderProp
renderWrapper?: ProductItemRenderProp
renderProductDetailsBox?: ProductItemRenderProp
}
export { ProductItemProps, FavoriteArgs }