UNPKG

@biopassid/fingerprint-sdk-react-native

Version:
129 lines (126 loc) 3.76 kB
import { FingerprintCaptureType } from '../config/enums/FingerprintCaptureType'; import { FingerprintOutputType } from '../config/enums/FingerprintOutputType'; import { FingerprintResolutionPreset } from '../config/enums/FingerprintResolutionPreset'; import type { FingerprintConfig } from '../config/FingerprintConfig'; const defaultConfig: FingerprintConfig = { licenseKey: '', numberFingersToCapture: 4, fontFamily: 'fingerprintsdk_opensans_regular', overlayColor: '#80000000', timeToCapture: 5, resolutionPreset: FingerprintResolutionPreset.HIGH, captureType: FingerprintCaptureType.LEFT_HAND_FINGERS, outputType: FingerprintOutputType.CAPTURE_AND_SEGMENTATION, captureCountdown: { enabled: true, backgroundColor: '#50888888', progressColor: '#D6A262', textColor: '#FFFFFF', }, backButton: { enabled: true, backgroundColor: '#00000000', buttonPadding: 0, buttonSize: { width: 56, height: 56 }, iconOptions: { enabled: true, iconFile: 'fingerprintsdk_ic_close', iconColor: '#FFFFFF', iconSize: { width: 32, height: 32 }, }, labelOptions: { enabled: false, content: 'Voltar', textColor: '#FFFFFF', textSize: 14, }, }, helpText: { enabled: true, messages: { leftHandMessage: 'Encaixe a mão esquerda (sem o polegar)\naté o marcador ficar centralizado.', rightHandMessage: 'Encaixe a mão direita (sem o polegar)\naté o marcador ficar centralizado.', thumbsMessage: 'Encaixe os polegares\naté o marcador ficar centralizado.', }, textColor: '#FFFFFF', textSize: 14, }, fingerEllipse: { enabled: true, ellipseColor: '#80D6A262', }, distanceIndicator: { enabled: true, selectedBarColor: '#D6A262', unselectedBarColor: '#FFFFFF', arrowColor: '#D6A262', tooCloseText: { enabled: true, content: 'Muito perto', textColor: '#FFFFFF', textSize: 14, }, tooFarText: { enabled: true, content: 'Muito longe', textColor: '#FFFFFF', textSize: 14, }, }, }; export function mergeConfigs(config: FingerprintConfig): FingerprintConfig { return { ...defaultConfig, ...config, captureCountdown: { ...defaultConfig.captureCountdown, ...config.captureCountdown, }, backButton: { ...defaultConfig.backButton, ...config.backButton, buttonSize: { ...defaultConfig.backButton?.buttonSize, ...config.backButton?.buttonSize, }, iconOptions: { ...defaultConfig.backButton?.iconOptions, ...config.backButton?.iconOptions, iconSize: { ...defaultConfig.backButton?.iconOptions?.iconSize, ...config.backButton?.iconOptions?.iconSize, }, }, labelOptions: { ...defaultConfig.backButton?.labelOptions, ...config.backButton?.labelOptions, }, }, helpText: { ...defaultConfig.helpText, ...config.helpText, messages: { ...defaultConfig.helpText?.messages, ...config.helpText?.messages, }, }, fingerEllipse: { ...defaultConfig.fingerEllipse, ...config.fingerEllipse, }, distanceIndicator: { ...defaultConfig.distanceIndicator, ...config.distanceIndicator, tooCloseText: { ...defaultConfig.distanceIndicator?.tooCloseText, ...config.distanceIndicator?.tooCloseText, }, tooFarText: { ...defaultConfig.distanceIndicator?.tooFarText, ...config.distanceIndicator?.tooFarText, }, }, }; }