Repository URL to install this package:
|
Version:
2.1.0 ▾
|
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;
onFavoriteClick?: FavoriteHandler;
onQuantityChange?: (args: IncrementerStateType) => void;
onPromoOfferClick?: (args: PromoProps) => void;
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 };