@bolttech/server-side-next
Version:
This library was generated with [Nx](https://nx.dev).
72 lines (71 loc) • 2.39 kB
TypeScript
import { FC, ReactElement } from 'react';
export interface IPaymentMethodProps<PAYMENT_METHODS extends string, FORM_TYPE = unknown, MODAL_INFO = unknown> {
data: IPaymentMethod<PAYMENT_METHODS, FORM_TYPE, MODAL_INFO>[];
groupValidation?: string;
footerContent?: ReactElement | boolean;
layouts: Record<PAYMENT_METHODS, FC<IPaymentMethod<PAYMENT_METHODS, FORM_TYPE, MODAL_INFO>>>;
icons?: Record<PAYMENT_METHODS, JSX.Element>;
onClickFn?: () => void;
}
export interface IPaymentMethod<PAYMENT_METHODS, FORM_TYPE = unknown, MODAL_INFO = unknown> {
paymentMethod: PAYMENT_METHODS;
image: string;
reviewLabel?: string;
middleContent?: string;
footerContent?: string;
selected?: boolean;
active?: boolean;
imagePanel?: string;
label: string;
content: IPaymentContentPanel<PAYMENT_METHODS, FORM_TYPE>;
modalInfo?: IModalInfo<MODAL_INFO>;
options?: {
name: string;
periods: {
active: boolean;
label: string;
value: string;
}[];
}[];
handleValidPaymentMethod: (id: PAYMENT_METHODS, isValid?: boolean, data?: unknown) => void;
onClickFn?: () => void;
}
export interface IPaymentContentPanel<PAYMENT_METHODS, FORM_TYPE = unknown> {
paymentMethod?: PAYMENT_METHODS;
title?: string;
subtitle?: string;
imagePanel?: string;
olItems?: {
title: string;
items: string[];
};
cardItems?: ItemsList[];
bannerImgs?: ItemsList[];
form?: FORM_TYPE;
}
export interface IModalInfo<T> {
title?: string;
subtitle?: string;
table?: T;
finalPrice?: string;
needHelp?: {
label?: string;
subLabel?: string;
};
}
interface ItemsList {
id: string | number;
image: string;
selected?: false;
}
export interface IPaymentMethodsPanel<PAYMENT_METHODS, FORM_TYPE = unknown, MODAL_INFO = unknown> {
item?: IPaymentMethod<PAYMENT_METHODS, FORM_TYPE, MODAL_INFO>;
mainContent?: ReactElement<FC<IPaymentMethod<PAYMENT_METHODS, FORM_TYPE, MODAL_INFO>>>[];
footerContent?: JSX.Element[] | JSX.Element | boolean;
icon?: Record<PAYMENT_METHODS & string, JSX.Element>;
}
export interface PaymentMethodsStoreProps<PAYMENT_METHODS> {
id: PAYMENT_METHODS;
data: Record<string, unknown>;
}
export {};