71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { ViewStyle } from "react-native";
|
|
import { GenericWidgetData } from "../Widget";
|
|
import { ImageFieldData, TextFieldData } from "./TitleWidgetData";
|
|
import { GenericActionPayload } from "../../../actions/GenericAction";
|
|
import { AnalyticsEvent, CtaData } from "../..";
|
|
|
|
export interface ContainerTag {
|
|
tagTitle?: TextFieldData;
|
|
tag?: ImageFieldData;
|
|
}
|
|
|
|
export interface Detail {
|
|
leftText?: TextFieldData;
|
|
leftTextWithImage?: TextFieldData;
|
|
rightText?: TextFieldData;
|
|
}
|
|
|
|
export interface Item {
|
|
title?: TextFieldData;
|
|
subtitle?: TextFieldData;
|
|
details?: Detail[];
|
|
itemType?: string;
|
|
dependentWidgets?: any;
|
|
analyticEvents?: ItemAnalyticsEvents
|
|
}
|
|
|
|
interface WidgetMetaData {
|
|
selectedItem?: string;
|
|
showContainerTag?: string;
|
|
onValueChangeAction?: GenericActionPayload;
|
|
}
|
|
|
|
export interface SelectCardWithDetailListData extends GenericWidgetData {
|
|
title?: TextFieldData;
|
|
containerTag?: ContainerTag;
|
|
items?: Item[];
|
|
widgetMetaData?: WidgetMetaData;
|
|
}
|
|
|
|
export interface SelectCardWithDetailListProps {
|
|
widgetData: SelectCardWithDetailListData;
|
|
widgetStyle: ViewStyle;
|
|
handleActions: (
|
|
value?: any | undefined | null,
|
|
screenActionPayload?: GenericActionPayload,
|
|
) => void;
|
|
handleClick?: (cta: CtaData) => void;
|
|
widgetIndex: number;
|
|
}
|
|
|
|
export interface ItemCardProps {
|
|
handleClick?: (cta: CtaData) => void;
|
|
item?: Item;
|
|
selected?: boolean;
|
|
onSelect?: () => void;
|
|
showContainerTag?: string;
|
|
containerTag?: ContainerTag;
|
|
}
|
|
|
|
export interface ItemDetailProps {
|
|
detail?: Detail;
|
|
selected?: boolean;
|
|
handleClick?: (cta: CtaData) => void;
|
|
showBorder? : boolean;
|
|
}
|
|
|
|
export interface ItemAnalyticsEvents {
|
|
onViewEvent?: AnalyticsEvent
|
|
onSelectedEvent?: AnalyticsEvent
|
|
}
|