import React from 'react'; import { Insets } from '../../types'; import { UnifiedComponentProps } from '../../registry/types'; import { ItemDetailsItem } from './ItemDetails/ItemDetails'; import { ItemEntityProps } from './ItemEntities/ItemEntity/ItemEntity@common'; import { EntitiesView, ItemEntitiesProps } from './ItemEntities/ItemEntities@common'; import { ItemEntityType } from './types'; import { ItemBackgroundProps } from './ItemBackground/ItemBackground@common'; declare type PlatformComponents = { ItemBackground: ItemBackgroundProps; ItemEntities: ItemEntitiesProps; }; export interface ItemProps { /** Заголовок */ title: string; /** Подзаголовок */ subtitle?: string; /** Детали (характеристики) */ details?: ItemDetailsItem[]; /** Список шагов (элементов) или аналогичных сущностей */ entities: ItemEntityType[]; /** Заголовок шагов (элементов) */ entitiesTitle: string; /** Кнопка отвечающая за действие, например начало проигрывания шагов элемента */ actionButtonProps?: { /** Контент кнопки */ actionButtonText?: React.ReactNode; /** Колбэк, вызываемый при клике по кнопке */ onActionButtonClick?: () => void; /** Кастомные кнопки, если указаны, то кнопка по умолчанию не используется */ buttons?: React.ReactNode; }; /** Компонент для отображения кастомных карточек шагов */ entityComponent?: React.ComponentType>; /** Фоновое изображение */ background?: string; className?: string; /** * Отступы вокруг компонента, на текущий момент используется только отступ снизу, */ insets?: Partial; /** Вид карточек шагов. Возможны два варианта `grid` или `carousel`. Не используется в мобильной версии */ entitiesView?: EntitiesView; /** Колбэк, вызываемый при клике по карточке шага */ onEntityClick: (id: EntityId) => void; } export declare type ItemComponent = (props: ItemProps) => React.ReactElement; /** * Компонент, используемый для отображения карточки с информацией о какой-либо сущности, * например товар, фильм, экскурсия. Представляет собой скроллируемый элемент, с высотой `100%` от * родителя, для корректной работы скролла необходимо задать высоту родительскому компоненту, * либо используя `className` указать высоту для данного компонента */ export declare function ItemCommon({ title, subtitle, details, actionButtonProps, entities, entitiesTitle, entityComponent, background, className, insets, entitiesView, onEntityClick, platformComponents: { ItemBackground, ItemEntities }, }: UnifiedComponentProps, PlatformComponents>): JSX.Element; export {}; //# sourceMappingURL=Item@common.d.ts.map