UNPKG

react-native-scanbot-sdk

Version:

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

168 lines (153 loc) 5.12 kB
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten. /// Generated from rtu-ui-v2/schemas/mrz/MRZScannerIntroScreenConfiguration.yaml import { BackgroundStyle, ButtonConfiguration, ForegroundStyle, StyledText, } from '../../ui_v2/common/Common'; import { DeepPartial, PartiallyConstructible } from '../../utils/utils'; /** Determines the image for the introduction screen. */ export type MrzScannerIntroImage = MrzIntroDefaultImage | MrzIntroNoImage | MrzIntroCustomImage; /** @internal */ export namespace MrzScannerIntroImage { /** @internal */ export function From(source: { [key: string]: any }): MrzScannerIntroImage { const _type = source._type; switch (_type) { case 'MrzIntroDefaultImage': return new MrzIntroDefaultImage(source); case 'MrzIntroNoImage': return new MrzIntroNoImage(source); case 'MrzIntroCustomImage': return new MrzIntroCustomImage(source); default: throw `Unknown child class name: ${_type}`; } } } /** No image for the introduction screen. */ export class MrzIntroDefaultImage extends PartiallyConstructible { public readonly _type: 'MrzIntroDefaultImage' = 'MrzIntroDefaultImage'; /** @param source {@displayType `DeepPartial<MrzIntroDefaultImage>`} */ public constructor(source: DeepPartial<MrzIntroDefaultImage> = {}) { super(); } } /** No image for the introduction screen. */ export class MrzIntroNoImage extends PartiallyConstructible { public readonly _type: 'MrzIntroNoImage' = 'MrzIntroNoImage'; /** @param source {@displayType `DeepPartial<MrzIntroNoImage>`} */ public constructor(source: DeepPartial<MrzIntroNoImage> = {}) { super(); } } /** A custom image for the introduction screen. */ export class MrzIntroCustomImage extends PartiallyConstructible { public readonly _type: 'MrzIntroCustomImage' = 'MrzIntroCustomImage'; /** The web or file URI to the image. */ public uri: string; /** @param source {@displayType `DeepPartial<MrzIntroCustomImage>`} */ public constructor(source: DeepPartial<MrzIntroCustomImage> = {}) { super(); if (source.uri !== undefined) { this.uri = source.uri; } else { throw new Error('uri must be present in constructor argument'); } } } /** Configuration of the introduction screen for the MRZ scanner. */ export class MrzScannerIntroScreenConfiguration extends PartiallyConstructible { /** The image for the introduction screen. */ public image: MrzScannerIntroImage = new MrzIntroDefaultImage({}); /** The background color of the introduction screen. Default is "?sbColorSurface" */ public backgroundColor: string = '?sbColorSurface'; /** The divider color of the introduction screen. Default is "?sbColorOutline" */ public dividerColor: string = '?sbColorOutline'; /** The handle color of the introduction screen. Default is "?sbColorOutline" */ public handlerColor: string = '?sbColorOutline'; /** Determines whether the introduction screen should automatically be shown or not when the scanning session starts. Default is false */ public showAutomatically: boolean = false; /** The title of the introduction screen, located in the top bar. */ public title: StyledText = new StyledText({ text: '?introScreenTitle', color: '?sbColorOnSurface', }); /** The text explanation of the introduction screen. */ public explanation: StyledText = new StyledText({ text: '?introScreenText', color: '?sbColorOnSurface', }); /** Configuration of the 'Done' / 'Start scanning' button. */ public doneButton: ButtonConfiguration = new ButtonConfiguration({ text: '?introScreenDoneButton', accessibilityDescription: '?accessibilityDescriptionIntroScreenDoneButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '?sbColorPrimary', strokeWidth: 0.0, }), foreground: new ForegroundStyle({ color: '?sbColorOnPrimary' }), }); /** @param source {@displayType `DeepPartial<MrzScannerIntroScreenConfiguration>`} */ public constructor(source: DeepPartial<MrzScannerIntroScreenConfiguration> = {}) { super(); if (source.image !== undefined) { this.image = MrzScannerIntroImage.From(source.image); } if (source.backgroundColor !== undefined) { this.backgroundColor = source.backgroundColor; } if (source.dividerColor !== undefined) { this.dividerColor = source.dividerColor; } if (source.handlerColor !== undefined) { this.handlerColor = source.handlerColor; } if (source.showAutomatically !== undefined) { this.showAutomatically = source.showAutomatically; } if (source.title !== undefined) { this.title = new StyledText(source.title); } if (source.explanation !== undefined) { this.explanation = new StyledText(source.explanation); } if (source.doneButton !== undefined) { this.doneButton = new ButtonConfiguration(source.doneButton); } } }