v8-ui-product-cards
Version:
A product-card component lib for v8 storefront apps
111 lines (110 loc) • 2.85 kB
TypeScript
export interface IRecipeLineItemProps {
recipeLineItem: IRecipeLineItem;
isRecipePage?: boolean;
showProductModal: (sku: string) => void;
disableTprPrice: boolean;
}
export interface IDispatchProps {
getProduct: (RecipeLineItem: any) => void;
}
export interface IRecipeLineItemStyledProps {
promoBadge: boolean;
}
export interface IRecipePromoBadgeStyledProps {
recipePage?: boolean;
}
export interface IRecipeLineItem extends IRecommendationsLineItem {
attributes: {} | null;
available: boolean;
brand: string;
categories: [];
defaultCategory: [];
description: string;
image: IProductImageSizes;
isFavorite: boolean;
isPastPurchases: boolean;
name: string;
pointsBasedPromotions: IPromotion[];
price: string;
priceLabel: string;
pricePerUnit: string;
productId: string;
promotions: IPromotion[];
quantity?: number;
sellBy: string;
shoppingRuleMessages: IMappedShoppingRuleMessage[];
sku: string;
unitOfMeasure: IUnitOfMeasure;
unitOfPrice: IUnitOfPrice;
unitOfSize: IUnitOfSize;
wasPrice: string;
weightIncrement: IWeightIncrement;
recommendationName?: string;
}
export interface IRecommendationsLineItem {
recommendationSourceId?: string;
recommendationId?: string;
recommendationName?: string;
recommendationContainerId?: string;
}
export interface IMappedShoppingRuleMessage extends IShoppingRuleMessage {
type: string;
sku: string;
}
export interface IShoppingRuleMessage {
header: string;
detail: string;
messageId: string;
}
export interface IRecommendationsLineItem {
recommendationSourceId?: string;
recommendationId?: string;
recommendationName?: string;
recommendationContainerId?: string;
}
export interface IPromotion {
additionalInformation: string;
description: string;
endDate: string;
id: string;
imageUrl: string;
limit: string;
minimumQuantity: number;
name: string;
startDate: string;
threshold: number;
}
export interface IWeightIncrement {
abbreviation: string;
type: string;
label: string;
size: number;
maxSize: number;
minSize: number;
range: number[];
}
export interface IUnitOfPrice {
abbreviation: string;
type: string;
label: string | null;
size: number;
}
export interface IUnitOfMeasure {
abbreviation: string;
type: string;
label: string | null;
size: number;
}
export interface IUnitOfSize {
abbreviation: string;
type: string;
label: string | null;
size: number;
}
export interface IProductImageSizes {
default: string;
cell: string;
details: string;
zoom: string;
template: string;
}