Files
super-app/App/common/interface/widgets/widgetData/SelectCardWithDetailListData.ts
Mayank Singh 9527976c41 TP-64336 | Multi plan feature (#10813)
Co-authored-by: sangaraboinarishvik <rishvik.vardhan@navi.com>
2024-05-14 18:10:14 +00:00

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
}