UNPKG

@bolttech/server-side-next

Version:

This library was generated with [Nx](https://nx.dev).

72 lines (71 loc) 2.39 kB
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 {};