react-native-unit-components
Version:
Unit React Native components
249 lines (236 loc) • 5.02 kB
text/typescript
import type { UNAddress, UNFullName, UNPhone } from './types';
export type UNVirtualDebitCard = UNBusinessVirtualDebitCard | UNIndividualVirtualDebitCard | UNBusinessVirtualCreditCard
export type UNBusinessCard = UNBusinessDebitCard | UNBusinessVirtualDebitCard | UNBusinessVirtualCreditCard | UNBusinessCreditCard
export type UNIndividualCard = UNIndividualDebitCard | UNIndividualVirtualDebitCard
export type UNCard = UNBusinessCard | UNIndividualCard
export enum UNCardType {
BusinessDebitCard = 'businessDebitCard',
BusinessCreditCard = 'businessCreditCard',
IndividualDebitCard = 'individualDebitCard',
BusinessVirtualDebitCard = 'businessVirtualDebitCard',
BusinessVirtualCreditCard = 'businessVirtualCreditCard',
IndividualVirtualDebitCard = 'individualVirtualDebitCard',
}
export type UNIndividualDebitCard = {
type: UNCardType.IndividualDebitCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
last4Digits: string
expirationDate: string
shippingAddress?: UNAddress
status: UNCardStatus
freezeReason?: string
design?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export type UNIndividualVirtualDebitCard = {
type: UNCardType.IndividualVirtualDebitCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
last4Digits: string
expirationDate: string
status: UNCardStatus
freezeReason?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export type UNBusinessVirtualCreditCard = {
type: UNCardType.BusinessVirtualCreditCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
last4Digits: string
expirationDate: string
fullName: UNFullName
nationality: string
ssn?: string
passport?: string
address: UNAddress
dateOfBirth: Date
email: string
phone: UNPhone
status: UNCardStatus
freezeReason?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export type UNBusinessCreditCard = {
type: UNCardType.BusinessCreditCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
shippingAddress?: UNAddress
last4Digits: string
expirationDate: string
fullName: UNFullName
nationality: string
ssn?: string
passport?: string
address: UNAddress
dateOfBirth: Date
email: string
phone: UNPhone
status: UNCardStatus
freezeReason?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export type UNBusinessDebitCard = {
type: UNCardType.BusinessDebitCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
last4Digits: string
expirationDate: string
shippingAddress?: UNAddress
fullName: UNFullName
nationality: string
ssn?: string
passport?: string
address: UNAddress
dateOfBirth: Date
email: string
phone: UNPhone
status: UNCardStatus
freezeReason?: string
design?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export type UNBusinessVirtualDebitCard = {
type: UNCardType.BusinessVirtualDebitCard
id: string
attributes: {
createdAt: Date
updatedAt?: Date
last4Digits: string
expirationDate: string
fullName: UNFullName
nationality: string
ssn?: string
passport?: string
address: UNAddress
dateOfBirth: Date
email: string
phone: UNPhone
status: UNCardStatus
freezeReason?: string
}
relationships: {
account: {
data: {
type: string
id: string
}
}
customer: {
data: {
type: string
id: string
}
}
}
}
export enum UNCardStatus {
inactive = 'Inactive',
active = 'Active',
stolen = 'Stolen',
lost = 'Lost',
frozen = 'Frozen',
closedByCustomer = 'ClosedByCustomer',
suspectedFraud = 'SuspectedFraud',
activeForOnlineUse = 'ActiveForOnlineUse',
}
export enum UNCardMenuAction {
Freeze = 'Freeze',
ManagePin = 'ManagePin',
Replace = 'Replace',
Report = 'Report',
Close = 'Close',
Activate = 'Activate',
Unfreeze = 'Unfreeze',
ChangePin = 'ChangePin',
SetPin = 'SetPin',
AddToWallet = 'AddToWallet'
}
export enum UNCardMenuItem {
freeze = 'freeze',
addToWallet = 'addToWallet',
managePin = 'managePin',
replace = 'replace',
report = 'report',
close = 'close',
}