@cranberry-money/shared-types
Version:
Shared TypeScript type definitions for Blueberry platform
73 lines • 1.94 kB
TypeScript
import type * as React from 'react';
import type { UserProfile, FinancialProfile, AssetQueryParams } from './domain';
import type { FieldValidation, FormValidation } from './validation';
export type { CountryData } from '@cranberry-money/shared-constants';
export type { AssetQueryParams };
export interface ReviewData {
userProfile: UserProfile | null;
financialProfile: FinancialProfile | null;
}
export interface UserProfileFormValidation extends FormValidation {
fullName: FieldValidation;
residentialAddress: FieldValidation;
phoneNumber: FieldValidation;
}
export interface FinancialProfileFormState {
userProfileId: string;
occupation: string;
sourceOfFunds: string[];
sourceOfFundsOtherText: string;
intendedUse: string;
intendedUseOtherText: string;
}
export interface PasswordValidation {
isValid: boolean;
lengthValid: boolean;
notNumeric: boolean;
}
export interface EmailConfirmationValidation {
isValid: boolean;
isEmpty: boolean;
isValidFormat: boolean;
}
export interface ChartDataPoint {
dayIndex: number;
date: string;
price: number;
changePercent: number;
}
export interface RadioGroupFieldProps {
label: string;
value: string;
options: Array<{
value: string;
label: string;
}>;
error?: string[];
onChange: (value: string) => void;
}
export interface CheckboxGroupFieldProps {
label: string;
value: string[];
options: Array<{
value: string;
label: string;
}>;
error?: string[];
onChange: (values: string[]) => void;
}
export interface LayoutProps {
children: React.ReactNode;
}
export interface LoadingStateProps {
message?: string;
className?: string;
}
export interface ErrorStateProps {
title?: string;
message?: string;
retryLabel?: string;
onRetry: () => void;
className?: string;
}
//# sourceMappingURL=ui.d.ts.map