react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
184 lines (168 loc) • 6.43 kB
text/typescript
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten.
/// Generated from rtu-ui-v2/schemas/document/DocumentScanningFlow.yaml
import { OrientationLockMode, Palette } from '../../ui_v2/common/Common';
import { NavigationBarMode } from '../../ui_v2/common/NavigationBarConfiguration';
import { StatusBarMode } from '../../ui_v2/common/TopBarConfiguration';
import { DocumentScannerOutputSettings } from '../../ui_v2/document/DocumentScannerOutputSettings';
import { DocumentScannerScreens } from '../../ui_v2/document/DocumentScannerScreens';
import { DocumentScannerTextLocalization } from '../../ui_v2/document/DocumentScannerTextLocalization';
import { DeepPartial, PartiallyConstructible } from '../../utils/utils';
/**
Configuration of the general appearance.
*/
export class DocumentFlowAppearanceConfiguration extends PartiallyConstructible {
/**
Determines the visual mode used for the status bar icons.
Default is LIGHT
*/
public statusBarMode: StatusBarMode = 'LIGHT';
/**
Determines the visual mode used for the navigation bar icons. Android only.
Default is LIGHT
*/
public navigationBarMode: NavigationBarMode = 'LIGHT';
/**
The background color of the top bar. Only applicable when the visual mode is specified as 'SOLID', otherwise ignored.
Default is "?sbColorPrimary"
*/
public topBarBackgroundColor: string = '?sbColorPrimary';
/**
The background color of the bottom bar.
Default is "?sbColorPrimary"
*/
public bottomBarBackgroundColor: string = '?sbColorPrimary';
/**
Which mode to use when orientation should be locked to landscape or portrait.
Default is NONE
*/
public orientationLockMode: OrientationLockMode = 'NONE';
/** @param source {@displayType `DeepPartial<DocumentFlowAppearanceConfiguration>`} */
public constructor(source: DeepPartial<DocumentFlowAppearanceConfiguration> = {}) {
super();
if (source.statusBarMode !== undefined) {
this.statusBarMode = source.statusBarMode;
}
if (source.navigationBarMode !== undefined) {
this.navigationBarMode = source.navigationBarMode;
}
if (source.topBarBackgroundColor !== undefined) {
this.topBarBackgroundColor = source.topBarBackgroundColor;
}
if (source.bottomBarBackgroundColor !== undefined) {
this.bottomBarBackgroundColor = source.bottomBarBackgroundColor;
}
if (source.orientationLockMode !== undefined) {
this.orientationLockMode = source.orientationLockMode;
}
}
}
/**
Configuration of the document scanner screen.
*/
export class DocumentScanningFlow extends PartiallyConstructible {
/**
Version number of the configuration object.
Default is "1.0"
*/
public version: string = '1.0';
/**
The configuration object should be applied for this screen.
Default is "DocumentScanner"
*/
public screen: string = 'DocumentScanner';
/**
Define the screen's base color values from which other colors are derived.
*/
public palette: Palette = new Palette({
sbColorPrimary: '#C8193C',
sbColorPrimaryDisabled: '#F5F5F5',
sbColorNegative: '#FF3737',
sbColorPositive: '#4EFFB4',
sbColorWarning: '#FFCE5C',
sbColorSecondary: '#FFEDEE',
sbColorSecondaryDisabled: '#F5F5F5',
sbColorOnPrimary: '#FFFFFF',
sbColorOnSecondary: '#C8193C',
sbColorSurface: '#FFFFFF',
sbColorOutline: '#EFEFEF',
sbColorOnSurfaceVariant: '#707070',
sbColorOnSurface: '#000000',
sbColorSurfaceLow: '#00000026',
sbColorSurfaceHigh: '#0000007A',
sbColorModalOverlay: '#000000A3',
});
/**
Configuration of all the strings for the document scanner screen.
*/
public localization: DocumentScannerTextLocalization = new DocumentScannerTextLocalization({});
/**
Configuration of the general appearance.
*/
public appearance: DocumentFlowAppearanceConfiguration = new DocumentFlowAppearanceConfiguration(
{}
);
/**
Configuration of the output settings.
*/
public outputSettings: DocumentScannerOutputSettings = new DocumentScannerOutputSettings({});
/**
Configuration of the document scanner sub-screens.
*/
public screens: DocumentScannerScreens = new DocumentScannerScreens({});
/**
The UUID of the existing document to be edited.
*/
public documentUuid: string | null = null;
/**
Clean the existing pages from the scanning session.
Default is true
*/
public cleanScanningSession: boolean = true;
/**
If enabled, the scanner automatically navigates to the review screen when the flow starts. This property is ignored if the document is empty or if the review screen is disabled.
Default is false
*/
public showReviewScreenOnStart: boolean = false;
/**
If enabled, the screen will not turn off while the barcode scanner is active. (Android only).
Default is true
*/
public keepScreenOn: boolean = true;
/** @param source {@displayType `DeepPartial<DocumentScanningFlow>`} */
public constructor(source: DeepPartial<DocumentScanningFlow> = {}) {
super();
if (source.version !== undefined) {
this.version = source.version;
}
if (source.screen !== undefined) {
this.screen = source.screen;
}
if (source.palette !== undefined) {
this.palette = new Palette(source.palette);
}
if (source.localization !== undefined) {
this.localization = new DocumentScannerTextLocalization(source.localization);
}
if (source.appearance !== undefined) {
this.appearance = new DocumentFlowAppearanceConfiguration(source.appearance);
}
if (source.outputSettings !== undefined) {
this.outputSettings = new DocumentScannerOutputSettings(source.outputSettings);
}
if (source.screens !== undefined) {
this.screens = new DocumentScannerScreens(source.screens);
}
if (source.documentUuid !== undefined) {
this.documentUuid = source.documentUuid != null ? source.documentUuid : null;
}
if (source.cleanScanningSession !== undefined) {
this.cleanScanningSession = source.cleanScanningSession;
}
if (source.showReviewScreenOnStart !== undefined) {
this.showReviewScreenOnStart = source.showReviewScreenOnStart;
}
if (source.keepScreenOn !== undefined) {
this.keepScreenOn = source.keepScreenOn;
}
}
}