financial-calculators-react
Version:
Financial calculator components for React applications
66 lines (65 loc) • 3.39 kB
TypeScript
/**
* Note: This is a placeholder for the actual utilities module.
*
* When implementing this package, you need to provide implementations for:
* - UI Components: CalculatorContainer, InputSection, ResultsSection, etc.
* - UI Elements: InputField, SelectField, Button, ResultCard, etc.
* - Chart Components: LineChart, BarChart, ChartToggle, ChartIcons
* - Utility Components: ReportDialog, ReportOptions, etc.
* - Utility Functions: formatCurrency, numberToWords, etc.
* - Validation Functions: validateRequiredFields, validateNumericFields, etc.
* - Report Generation: generateReport, downloadReport, sendReportViaWhatsApp
*/
export declare const CalculatorContainer: (props: any) => null;
export declare const InputSection: (props: any) => null;
export declare const ResultsSection: (props: any) => null;
export declare const InputField: (props: any) => null;
export declare const SelectField: (props: any) => null;
export declare const Button: (props: any) => null;
export declare const ButtonPrimary: (props: any) => null;
export declare const ResultCard: (props: any) => null;
export declare const NumberField: (props: any) => null;
export declare const DropdownField: (props: any) => null;
export declare const SliderField: (props: any) => null;
export declare const LineChart: (props: any) => null;
export declare const BarChart: (props: any) => null;
export declare const ChartToggle: (props: any) => null;
export declare const ChartComponent: (props: any) => null;
export declare const ChartIcons: {
Line: () => null;
Bar: () => null;
};
export declare const calculatorTheme: {
primary: string;
secondary: string;
accent: string;
background: string;
textPrimary: string;
textSecondary: string;
};
export declare const ResultsTable: (props: any) => null;
export declare const ResultsSummary: (props: any) => null;
export declare const Disclaimer: (props: any) => null;
export declare const LoadingIndicator: (props: any) => null;
export declare const LoadingSpinner: (props: any) => null;
export declare const TipBox: (props: any) => null;
export declare const ReportDialog: (props: any) => null;
export declare const ReportOptions: (props: any) => null;
export interface ReportOptionsData {
clientName: string;
mobileNumber?: string;
[key: string]: any;
}
export declare const formatCurrency: (value: number, options?: Intl.NumberFormatOptions) => string;
export declare const numberToWords: (num: number) => string;
export declare const validateRequiredFields: (inputs: Record<string, string>, requiredFields: string[]) => Record<string, string>;
export declare const validateNumericFields: (inputs: Record<string, string>, validations: Record<string, {
min?: number;
max?: number;
errorMessage: string;
}>) => Record<string, string>;
export declare const mergeErrors: <T extends Record<string, any>>(...errorObjects: Partial<T>[]) => Partial<T>;
export declare const hasErrors: (errors: Record<string, any>) => boolean;
export declare const generateReport: (options: ReportOptionsData, data: any) => string;
export declare const downloadReport: (content: string, clientName: string, options: ReportOptionsData, reportData: any, yearlyData: any[]) => void;
export declare const sendReportViaWhatsApp: (content: string, mobileNumber: string, options: ReportOptionsData, reportData: any, yearlyData: any[]) => void;