@sberdevices/plasma-temple
Version:
SberDevices CanvasApp Templates.
35 lines • 2.34 kB
TypeScript
import React from 'react';
import { CartItemType } from '../types';
import { CartItemProps } from '../CartItem/CartItem';
import { AnyObject, Currency } from '../../../types';
export interface CartItemListProps<ID = unknown, T extends AnyObject = AnyObject> {
/** Список товаров */
items: CartItemType<ID, T>[];
/** Валюта */
currency?: Currency;
/** Устанавливает максимальное количество товаров в корзине */
maxCount?: boolean;
/** Флаг определяет наличие числового бейджа на изображении товара */
withBadge?: boolean;
/**
* Дефолтное изображение для отдельной позиции в корзине.
* Используется при отсутствии изображения у элемента корзины или при ошибке загрузки изображения
*/
defaultItemImage?: string;
className?: string;
/** Кастомный элемент списка товаров в корзине */
cartItemComponent?: React.ComponentType<CartItemProps<ID, T>>;
/** Колбэк вызываемый при клике по кнопке добавить */
onPlus: (item: CartItemType<ID, T>) => void;
/** Колбэк вызываемый при клике по кнопке уменьшить */
onMinus: (item: CartItemType<ID, T>) => void;
/**
* Колбэк вызываемый при клике по кнопке удалить. Отображается если `item.disabled = true`.
* Также вызывается если количество товара в корзине равно 0.
*/
onRemove?: (item: CartItemType<ID, T>) => void;
/** Колбэк вызываемый при клике по изображению товара */
onImageClick?: (item: CartItemType<ID, T>) => void;
}
export declare function CartItemListCommon<ID = unknown, T extends AnyObject = AnyObject>({ items, currency, maxCount, withBadge, defaultItemImage, className, cartItemComponent: Item, children, onPlus, onMinus, onRemove, onImageClick, }: React.PropsWithChildren<CartItemListProps<ID, T>>): JSX.Element;
//# sourceMappingURL=CartItemList@common.d.ts.map