react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
168 lines (153 loc) • 5.14 kB
text/typescript
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten.
/// Generated from rtu-ui-v2/schemas/vin/VINScannerIntroScreenConfiguration.yaml
import {
BackgroundStyle,
ButtonConfiguration,
ForegroundStyle,
StyledText,
} from '../../ui_v2/common/Common';
import { DeepPartial, PartiallyConstructible } from '../../utils/utils';
/**
The image for the introduction screen of a VIN scanner screen.
*/
export type VinScannerIntroImage = VinIntroDefaultImage | VinIntroNoImage | VinIntroCustomImage;
/** @internal */
export namespace VinScannerIntroImage {
/** @internal */
export function From(source: { [key: string]: any }): VinScannerIntroImage {
const _type = source._type;
switch (_type) {
case 'VINIntroDefaultImage':
return new VinIntroDefaultImage(source);
case 'VINIntroNoImage':
return new VinIntroNoImage(source);
case 'VINIntroCustomImage':
return new VinIntroCustomImage(source);
default:
throw `Unknown child class name: ${_type}`;
}
}
}
/**
The default image for the introduction screen.
*/
export class VinIntroDefaultImage extends PartiallyConstructible {
public readonly _type: 'VINIntroDefaultImage' = 'VINIntroDefaultImage';
/** @param source {@displayType `DeepPartial<VinIntroDefaultImage>`} */
public constructor(source: DeepPartial<VinIntroDefaultImage> = {}) {
super();
}
}
/**
No image for the introduction screen.
*/
export class VinIntroNoImage extends PartiallyConstructible {
public readonly _type: 'VINIntroNoImage' = 'VINIntroNoImage';
/** @param source {@displayType `DeepPartial<VinIntroNoImage>`} */
public constructor(source: DeepPartial<VinIntroNoImage> = {}) {
super();
}
}
/**
A custom image for the introduction screen.
*/
export class VinIntroCustomImage extends PartiallyConstructible {
public readonly _type: 'VINIntroCustomImage' = 'VINIntroCustomImage';
/**
The web or file URI to the image.
*/
public uri: string;
/** @param source {@displayType `DeepPartial<VinIntroCustomImage>`} */
public constructor(source: DeepPartial<VinIntroCustomImage> = {}) {
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 VIN scanner.
*/
export class VinScannerIntroScreenConfiguration extends PartiallyConstructible {
/**
The image for the introduction screen.
*/
public image: VinScannerIntroImage = new VinIntroDefaultImage({});
/**
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<VinScannerIntroScreenConfiguration>`} */
public constructor(source: DeepPartial<VinScannerIntroScreenConfiguration> = {}) {
super();
if (source.image !== undefined) {
this.image = VinScannerIntroImage.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);
}
}
}