UNPKG

react-native-scanbot-sdk

Version:

Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS

500 lines (490 loc) 18.5 kB
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten. /// Generated from rtu-ui-v2/schemas/documentdataextractor/DocumentDataExtractorScreenConfiguration.yaml import { DocumentDataExtractorConfiguration } from '../../document_data_extractor/DocumentDataExtractorTypes'; import { ActionBarConfiguration } from '../../ui_v2/common/ActionBarConfiguration'; import { CameraConfiguration } from '../../ui_v2/common/CameraConfiguration'; import { CameraPermissionScreen } from '../../ui_v2/common/CameraPermission'; import { BackgroundStyle, ButtonConfiguration, EdgeInsets, ForegroundStyle, IconButton, IconStyle, Palette, RoundButton, Sound, StyledText, Vibration, } from '../../ui_v2/common/Common'; import { ScanCompletionOverlay } from '../../ui_v2/common/ScanCompletionOverlay'; import { ScanbotAlertDialog } from '../../ui_v2/common/ScanbotAlertDialog'; import { TopBarConfiguration } from '../../ui_v2/common/TopBarConfiguration'; import { UserGuidanceConfiguration } from '../../ui_v2/common/UserGuidanceConfiguration'; import { FinderCorneredStyle, PermanentViewFinderConfiguration, } from '../../ui_v2/common/ViewFinderConfiguration'; import { DocumentDataExtractionProgressConfiguration } from '../../ui_v2/dde/DocumentDataExtractionProgressConfiguration'; import { DocumentDataExtractorIntroScreenConfiguration } from '../../ui_v2/dde/DocumentDataExtractorIntroScreenConfiguration'; import { DocumentDataExtractorScreenTextLocalization } from '../../ui_v2/dde/DocumentDataExtractorScreenTextLocalization'; import { DocumentDataExtractorGuidanceConfiguration } from '../../ui_v2/dde/DocumentDataExtractorUserGuidance'; import { AspectRatio } from '../../utils/geometry/Geometry'; import { DeepPartial, PartiallyConstructible } from '../../utils/utils'; /** Configuration of the screen for extracting data from ID documents. */ export class DocumentDataExtractorScreenConfiguration extends PartiallyConstructible { /** Version number of the configuration object. Default is "1.0" */ public readonly version: string = '1.0'; /** The configuration object should be applied for this screen. Default is "DocumentDataExtractor" */ public readonly screen: string = 'DocumentDataExtractor'; /** Configuration of the all strings for document data extractor screen. */ public localization: DocumentDataExtractorScreenTextLocalization = new DocumentDataExtractorScreenTextLocalization({}); /** Define the screen's base color values from which other colors are derived. */ public palette: Palette = new Palette({}); /** The background color of the document data extractor screen. Default is "?sbColorSurfaceLow" */ public backgroundColor: string = '?sbColorSurfaceLow'; /** Configuration of the camera behavior. */ public cameraConfiguration: CameraConfiguration = new CameraConfiguration({ orientationLockMode: 'PORTRAIT', }); /** Configuration of the dialog for requesting camera permissions. */ public cameraPermission: CameraPermissionScreen = new CameraPermissionScreen({ statusBarMode: 'DARK', background: '?sbColorSurface', iconBackground: '?sbColorOutline', icon: new IconStyle({ visible: true, color: '?sbColorOnSurface' }), enableCameraButton: new ButtonConfiguration({ visible: true, text: '?cameraPermissionEnableCameraButton', accessibilityDescription: '?accessibilityDescriptionCameraPermissionEnableCameraButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 0.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorOnPrimary', useShadow: false, }), }), closeButton: new ButtonConfiguration({ visible: true, text: '?cameraPermissionCloseButton', accessibilityDescription: '?accessibilityDescriptionCameraPermissionCloseButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 0.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), enableCameraTitle: new StyledText({ text: '?cameraPermissionEnableCameraTitle', color: '?sbColorOnSurface', }), enableCameraExplanation: new StyledText({ text: '?cameraPermissionEnableCameraExplanation', color: '?sbColorOnSurfaceVariant', }), }); /** Configuration of the top user guidance. */ public topUserGuidance: UserGuidanceConfiguration = new UserGuidanceConfiguration({ title: new StyledText({ text: '?topUserGuidance' }), }); /** Configuration of the extracting status. */ public scanStatusUserGuidance: DocumentDataExtractorGuidanceConfiguration = new DocumentDataExtractorGuidanceConfiguration({}); /** Configuration of the top bar on the document data extractor screen. */ public topBar: TopBarConfiguration = new TopBarConfiguration({ title: new StyledText({ visible: true, text: '?topBarTitle' }), cancelButton: new ButtonConfiguration({ text: '?topBarCancelButton', accessibilityDescription: '?accessibilityDescriptionCancelButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 0.0, }), foreground: new ForegroundStyle({ color: '?sbColorOnPrimary' }), }), }); /** Configuration of the button in the top bar that opens the introduction screen. */ public topBarOpenIntroScreenButton: IconButton = new IconButton({ color: '?sbColorOnPrimary', accessibilityDescription: '?accessibilityDescriptionOpenIntroScreenButton', }); /** Configuration of the introduction screen for the document data extractor screen. */ public introScreen: DocumentDataExtractorIntroScreenConfiguration = new DocumentDataExtractorIntroScreenConfiguration({}); /** Configuration of the action bar. */ public actionBar: ActionBarConfiguration = new ActionBarConfiguration({ flipCameraButton: new RoundButton({ visible: false, accessibilityDescription: '?accessibilityDescriptionFlipCameraButton', backgroundColor: '?sbColorSurfaceHigh', foregroundColor: '?sbColorOnPrimary', activeBackgroundColor: '?sbColorWarning', activeForegroundColor: '#1C1B1F', }), }); /** Configuration of the view finder. */ public viewFinder: PermanentViewFinderConfiguration = new PermanentViewFinderConfiguration({ style: new FinderCorneredStyle({ strokeColor: '?sbColorSurface', strokeWidth: 2.0 }), aspectRatio: new AspectRatio({ width: 3.0, height: 2.0 }), minimumInsets: new EdgeInsets({ top: 24.0, left: 24.0, bottom: 24.0, right: 24.0 }), }); /** Configuration of the scanner. */ public scannerConfiguration: DocumentDataExtractorConfiguration = new DocumentDataExtractorConfiguration({}); /** Configuration of visualization of the scanning progress. */ public extractionProgress: DocumentDataExtractionProgressConfiguration = new DocumentDataExtractionProgressConfiguration({}); /** Timeout for the no document found state. If the no document found state is active longer than this value, the alert will be presented. Default is 5000 */ public noDocumentFoundTimeout: number = 5000; /** Timeout for the accumulation state. If the accumulation state is active longer than this value, the alert will be presented. Default is 3000 */ public accumulationTimeout: number = 3000; /** Configuration of the result overlay. */ public successOverlay: ScanCompletionOverlay = new ScanCompletionOverlay({}); /** Configuration of the alert dialog that will be presented when no document is detected. */ public noDocumentDetectedAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?documentDataExtractorNoDocumentDetectedAlertTitle', color: '?sbColorOnSurface', }), subtitle: new StyledText({ text: '?documentDataExtractorNoDocumentDetectedAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertRetryButton', accessibilityDescription: '?accessibilityDescriptionRetryButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertCloseScannerButton', accessibilityDescription: '?accessibilityDescriptionCloseScannerButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** Configuration of the alert dialog that will be presented when the document is recognised but not presented in the list of enabled for scanning. */ public cantProcessDocumentAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?documentDataExtractorCantProcessDocumentAlertTitle', color: '?sbColorOnSurface', }), subtitle: new StyledText({ text: '?documentDataExtractorCantProcessDocumentAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertRetryButton', accessibilityDescription: '?accessibilityDescriptionRetryButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertCloseScannerButton', accessibilityDescription: '?accessibilityDescriptionCloseScannerButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** Configuration of the alert dialog that will be presented when document is not detected as one that is supported by the SDK. */ public unsupportedDocumentAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?documentDataExtractorUnsupportedDocumentAlertTitle', color: '?sbColorOnSurface', }), subtitle: new StyledText({ text: '?documentDataExtractorUnsupportedDocumentAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertRetryButton', accessibilityDescription: '?accessibilityDescriptionRetryButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertCloseScannerButton', accessibilityDescription: '?accessibilityDescriptionCloseScannerButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** Configuration of the alert dialog that will be presented when initial timeout for scanning document is overreached. */ public scanningTooLongAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?documentDataExtractorScanningTooLongAlertTitle', color: '?sbColorOnSurface', }), subtitle: new StyledText({ text: '?documentDataExtractorScanningTooLongAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertRetryButton', accessibilityDescription: '?accessibilityDescriptionRetButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?documentDataExtractorAlertCloseScannerButton', accessibilityDescription: '?accessibilityDescriptionCloseScannerButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** Configuration of the scan confirmation sound. */ public sound: Sound = new Sound({}); /** Configuration of the vibration feedback. */ public vibration: Vibration = new Vibration({}); /** If enabled, the screen will not turn off while the document data extractor is active. (Android only). Default is true */ public keepScreenOn: boolean = true; /** @param source {@displayType `DeepPartial<DocumentDataExtractorScreenConfiguration>`} */ public constructor(source: DeepPartial<DocumentDataExtractorScreenConfiguration> = {}) { super(); if (source.version !== undefined) { this.version = source.version; } if (source.screen !== undefined) { this.screen = source.screen; } if (source.localization !== undefined) { this.localization = new DocumentDataExtractorScreenTextLocalization(source.localization); } if (source.palette !== undefined) { this.palette = new Palette(source.palette); } if (source.backgroundColor !== undefined) { this.backgroundColor = source.backgroundColor; } if (source.cameraConfiguration !== undefined) { this.cameraConfiguration = new CameraConfiguration(source.cameraConfiguration); } if (source.cameraPermission !== undefined) { this.cameraPermission = new CameraPermissionScreen(source.cameraPermission); } if (source.topUserGuidance !== undefined) { this.topUserGuidance = new UserGuidanceConfiguration(source.topUserGuidance); } if (source.scanStatusUserGuidance !== undefined) { this.scanStatusUserGuidance = new DocumentDataExtractorGuidanceConfiguration( source.scanStatusUserGuidance ); } if (source.topBar !== undefined) { this.topBar = new TopBarConfiguration(source.topBar); } if (source.topBarOpenIntroScreenButton !== undefined) { this.topBarOpenIntroScreenButton = new IconButton(source.topBarOpenIntroScreenButton); } if (source.introScreen !== undefined) { this.introScreen = new DocumentDataExtractorIntroScreenConfiguration(source.introScreen); } if (source.actionBar !== undefined) { this.actionBar = new ActionBarConfiguration(source.actionBar); } if (source.viewFinder !== undefined) { this.viewFinder = new PermanentViewFinderConfiguration(source.viewFinder); } if (source.scannerConfiguration !== undefined) { this.scannerConfiguration = new DocumentDataExtractorConfiguration( source.scannerConfiguration ); } if (source.extractionProgress !== undefined) { this.extractionProgress = new DocumentDataExtractionProgressConfiguration( source.extractionProgress ); } if (source.noDocumentFoundTimeout !== undefined) { this.noDocumentFoundTimeout = source.noDocumentFoundTimeout; } if (source.accumulationTimeout !== undefined) { this.accumulationTimeout = source.accumulationTimeout; } if (source.successOverlay !== undefined) { this.successOverlay = new ScanCompletionOverlay(source.successOverlay); } if (source.noDocumentDetectedAlertDialog !== undefined) { this.noDocumentDetectedAlertDialog = new ScanbotAlertDialog( source.noDocumentDetectedAlertDialog ); } if (source.cantProcessDocumentAlertDialog !== undefined) { this.cantProcessDocumentAlertDialog = new ScanbotAlertDialog( source.cantProcessDocumentAlertDialog ); } if (source.unsupportedDocumentAlertDialog !== undefined) { this.unsupportedDocumentAlertDialog = new ScanbotAlertDialog( source.unsupportedDocumentAlertDialog ); } if (source.scanningTooLongAlertDialog !== undefined) { this.scanningTooLongAlertDialog = new ScanbotAlertDialog(source.scanningTooLongAlertDialog); } if (source.sound !== undefined) { this.sound = new Sound(source.sound); } if (source.vibration !== undefined) { this.vibration = new Vibration(source.vibration); } if (source.keepScreenOn !== undefined) { this.keepScreenOn = source.keepScreenOn; } } }