UNPKG

synora-react-payment-modal-library

Version:

A comprehensive, production-ready React payment modal component library with multi-currency support, dark/light themes, and multiple payment methods.

105 lines (85 loc) 2.53 kB
import { default as default_2 } from 'react'; export declare enum AccountType { SAVINGS = "SAVINGS", CURRENT = "CURRENT", FIXED_DEPOSIT = "FIXED_DEPOSIT" } export declare interface ATMPaymentData { cardType: CardType; last_4_digit: string; holder: string; bank: string; amount: number; giftVoucher?: number; loyaltyPoints?: number; finalAmount?: number; } export declare interface BankTransferPaymentData { acc_holder_name: string; acc_no: string; bank: string; amount: number; giftVoucher?: number; loyaltyPoints?: number; finalAmount?: number; } export declare enum CardType { VISA = "VISA", MASTERCARD = "MASTERCARD", AMEX = "AMEX", DISCOVER = "DISCOVER" } export declare interface CashPaymentData { amountTendered: number; amount: number; amountChange: number; giftVoucher?: number; loyaltyPoints?: number; finalAmount?: number; } export declare interface ChequePaymentData { acc_type: AccountType; cheq_no: string; bank: string; refNo: string; remarks: string; amount: number; } export declare interface CurrencyConfig { code: string; locale: string; symbol: string; name: string; } export declare const formatCurrency: (value: number, currencyCode?: string) => string; export declare const getAllCurrencies: () => CurrencyConfig[]; export declare const getCurrencyName: (currencyCode?: string) => string; export declare const getCurrencySymbol: (currencyCode?: string) => string; export declare const MonetaryCalc: (value: number, currencyCode?: string) => string; export declare type PaymentData = CashPaymentData | ATMPaymentData | ChequePaymentData | BankTransferPaymentData; export declare interface PaymentDetails { paymentType: PaymentType; paymentData: PaymentData; } export declare const PaymentModal: default_2.FC<PaymentModalProps>; export declare interface PaymentModalProps { banks: string[]; onPaymentComplete: (paymentDetails: PaymentDetails) => void; visible?: boolean; onCancel?: () => void; title?: string; theme?: Theme | 'light' | 'dark'; amountToPay?: number; currency?: string; } export declare enum PaymentType { CASH = "CASH", ATM = "ATM", BANK_TRANSFER = "BANK_TRANSFER", CHEQUE = "CHEQUE" } export declare enum Theme { LIGHT = "light", DARK = "dark" } export { }