UNPKG

@sberdevices/plasma-temple

Version:

SberDevices CanvasApp Templates.

45 lines 3.14 kB
import React from 'react'; import { AnyObject, Insets } from '../../types'; import { UnifiedComponentProps } from '../../registry/types'; import { CartItemProps } from './CartItem/CartItem'; import { CartItemType, CartState } from './types'; import { CartOrderProps } from './CartOrder/CartOrder@common'; import { CartItemListProps } from './CartItemList/CartItemList@common'; declare type PlatformComponents<ID = unknown, T extends AnyObject = AnyObject> = { CartItemList: CartItemListProps<ID, T>; CartOrder: CartOrderProps<ID, T>; }; export interface CartProps<ID = unknown, T extends AnyObject = AnyObject> { /** Контент для отображения пустой корзины */ emptyCart?: React.ReactNode; /** * Отступы вокруг корзины, на текущий момент используется только отступ снизу, * для позиционирования кнопки в мобильной версии */ insets?: Partial<Insets>; /** * Дефолтное изображение для отдельной позиции в корзине. * Используется при отсутствии изображения у элемента корзины или при ошибке загрузки изображения */ defaultItemImage?: string; /** Недоступность кнопки оформления заказа */ checkoutDisabled?: boolean; /** Кастомный компонент отдельной позиции в корзине */ cartItemComponent?: React.ComponentType<CartItemProps<ID, T>>; /** Кастомный компонент информации о заказе в корзине */ cartOrderComponent?: React.ComponentType<CartOrderProps<ID, T>>; /** Кастомный контент кнопки `Оформить заказ` */ checkoutButtonContent?: React.ReactNode; /** Контент дополнительной информации */ additionalInfo?: React.ReactNode; /** Дополнительня стилизация контейнера корзины */ className?: string; /** Колбэк вызываемый при клике по кнопке `Оформить заказ` */ onCheckout: (cartState: CartState<ID, T>) => void; /** Колбэк вызываемый при клике по изображению конкретной позиции в корзине */ onImageClick?: (item: CartItemType<ID, T>) => void; } export declare type CartComponent = <ID = unknown, T extends AnyObject = AnyObject>(props: CartProps<ID, T>) => React.ReactElement; export declare function CartCommon<ID = unknown, T extends AnyObject = AnyObject>({ emptyCart, insets, defaultItemImage, checkoutDisabled, cartItemComponent, cartOrderComponent, checkoutButtonContent, additionalInfo, className, onCheckout, onImageClick, platformComponents: { CartItemList, CartOrder }, }: UnifiedComponentProps<CartProps<ID, T>, PlatformComponents<ID, T>>): React.ReactElement; export {}; //# sourceMappingURL=Cart@common.d.ts.map