UNPKG

@solidgate/client-sdk-loader

Version:
47 lines (41 loc) 1.23 kB
import Message from './Message' import FieldName from '../../enums/FieldName' import AdditionalFieldName from '../../enums/AdditionalFieldName' import InteractionType from '../../enums/InteractionType' import InteractionTargetType from '../../enums/InteractionTargetType' import MessageType from '../../enums/MessageType' import ResignFieldName from '../../enums/ResignFieldName' interface ControlState { isValid: boolean isTouched: boolean } type InteractionMessageFormState = | { cardForm: { fields: Record< FieldName.CardCvv | FieldName.CardNumber | FieldName.CardExpiryDate, ControlState > & Partial<Record<AdditionalFieldName | 'cardHolder', ControlState>> } & ControlState } | { resignForm: { fields: Record<ResignFieldName, ControlState> } & ControlState } type InteractionMessage = Message<MessageType.Interaction> & { target: { type: InteractionTargetType name: | FieldName | ResignFieldName | AdditionalFieldName | 'submit' | 'googlePay' | 'applePay' | 'paypal' interaction: InteractionType } } & InteractionMessageFormState export default InteractionMessage