react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
240 lines (239 loc) • 7.76 kB
JavaScript
import { ArOverlayGeneralConfiguration } from '../barcode/ArTrackingOverlayConfiguration';
import { ArOverlayPolygonConfiguration } from '../barcode/ArTrackingOverlayConfiguration';
import { BackgroundStyle } from '../common/Common';
import { BadgeStyle } from '../common/Common';
import { BarcodeInfoMapping } from '../barcode/BarcodeInfoMapping';
import { BarcodeItemConfiguration } from '../barcode/ArTrackingOverlayConfiguration';
import { BarcodeItemErrorState } from '../barcode/BarcodeInfoMapping';
import { ButtonConfiguration } from '../common/Common';
import { PartiallyConstructible } from '../../utils';
import { ForegroundStyle } from '../common/Common';
import { PolygonStyle } from '../common/Common';
import { StyledText } from '../common/Common';
/**
Configuration of the single barcode scanning mode.
*/
export class SingleScanningMode extends PartiallyConstructible {
_type = 'SingleScanningMode';
/**
If enabled, the confirmation sheet will be shown after the barcode has been scanned.
Default is false
*/
confirmationSheetEnabled = false;
/**
If enabled, the barcode image will be shown on the confirmation sheet.
Default is true
*/
barcodeImageVisible = true;
/**
Color of the confirmation sheet's background.
Default is "?sbColorSurface"
*/
sheetColor = '?sbColorSurface';
/**
Color of the divider and separator lines in the confirmation sheet.
Default is "?sbColorOutline"
*/
dividerColor = '?sbColorOutline';
/**
Background color of the overlay surrounding the confirmation sheet.
Default is "?sbColorModalOverlay"
*/
modalOverlayColor = '?sbColorModalOverlay';
/**
Appearance of the barcode title (the barcode's value) on the confirmation sheet.
*/
barcodeTitle = new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface'
});
/**
Appearance of the barcode subtitle (the barcode's symbology) on the confirmation sheet.
*/
barcodeSubtitle = new StyledText({
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant'
});
/**
Appearance of the confirm button on the confirmation sheet.
*/
submitButton = new ButtonConfiguration({
visible: true,
text: '?sheetSubmitButton',
background: new BackgroundStyle({
strokeColor: '?sbColorPrimary',
fillColor: '?sbColorPrimary',
strokeWidth: 1.0
}),
foreground: new ForegroundStyle({
iconVisible: true,
color: '?sbColorOnPrimary'
})
});
/**
Appearance of the cancel button on the confirmation sheet.
*/
cancelButton = new ButtonConfiguration({
visible: true,
text: '?singleModeConfirmationCancelButton',
background: new BackgroundStyle({
strokeColor: '#00000000',
fillColor: '#00000000',
strokeWidth: 1.0
}),
foreground: new ForegroundStyle({
iconVisible: false,
color: '?sbColorPrimary'
})
});
/**
Appearance of the barcode info mapping.
*/
barcodeInfoMapping = new BarcodeInfoMapping({
sheetColor: '?sbColorSurface',
dividerColor: '?sbColorOutline',
modalOverlayColor: '?sbColorModalOverlay',
loadingMessage: new StyledText({
text: '?barcodeInfoMappingLoadingMessage',
color: '?sbColorPrimary'
}),
errorState: new BarcodeItemErrorState({
title: new StyledText({
text: '?barcodeInfoMappingErrorStateTitle',
color: '?sbColorOnSurface'
}),
subtitle: new StyledText({
text: '?barcodeInfoMappingErrorStateSubtitle',
color: '?sbColorOnSurfaceVariant'
}),
retryButton: new ButtonConfiguration({
visible: true,
text: '?barcodeInfoMappingErrorStateRetryButton',
background: new BackgroundStyle({
strokeColor: '?sbColorPrimary',
fillColor: '?sbColorPrimary',
strokeWidth: 1.0
}),
foreground: new ForegroundStyle({
iconVisible: true,
color: '?sbColorOnPrimary'
})
}),
cancelButton: new ButtonConfiguration({
text: '?barcodeInfoMappingErrorStateCancelButton',
background: new BackgroundStyle({
strokeColor: '#00000000',
fillColor: '#00000000',
strokeWidth: 1.0
}),
foreground: new ForegroundStyle({
iconVisible: false,
color: '?sbColorPrimary'
})
})
})
});
/**
Configuration of the AR overlay.
*/
arOverlay = new ArOverlayGeneralConfiguration({
visible: false,
counterBadge: new BadgeStyle({
visible: true,
background: new BackgroundStyle({
strokeColor: '#000000FF',
fillColor: '?sbColorPositive',
strokeWidth: 0.0
}),
foregroundColor: '?sbColorOnSurface'
}),
automaticSelectionEnabled: false,
barcodeItemInfoPosition: 'BELOW',
polygon: new ArOverlayPolygonConfiguration({
visible: true,
deselected: new PolygonStyle({
strokeColor: '?sbColorSurface',
fillColor: '#00000000',
strokeWidth: 3.0,
cornerRadius: 5.0
}),
selected: new PolygonStyle({
strokeColor: '?sbColorPositive',
fillColor: '#00000000',
strokeWidth: 3.0,
cornerRadius: 5.0
})
}),
barcodeItemConfiguration: new BarcodeItemConfiguration({
imageVisible: true,
titleSelected: new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface'
}),
subtitleSelected: new StyledText({
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant'
}),
titleDeselected: new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface'
}),
subtitleDeselected: new StyledText({
visible: true,
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant',
useShadow: false
}),
backgroundSelected: new PolygonStyle({
strokeColor: '?sbColorPositive',
fillColor: '?sbColorPositive',
strokeWidth: 1.0,
cornerRadius: 5.0
}),
backgroundDeselected: new PolygonStyle({
strokeColor: '?sbColorSurface',
fillColor: '?sbColorSurface',
strokeWidth: 1.0,
cornerRadius: 5.0
})
})
});
/** @param source {@displayType `DeepPartial<SingleScanningMode>`} */
constructor(source = {}) {
super();
if (source.confirmationSheetEnabled !== undefined) {
this.confirmationSheetEnabled = source.confirmationSheetEnabled;
}
if (source.barcodeImageVisible !== undefined) {
this.barcodeImageVisible = source.barcodeImageVisible;
}
if (source.sheetColor !== undefined) {
this.sheetColor = source.sheetColor;
}
if (source.dividerColor !== undefined) {
this.dividerColor = source.dividerColor;
}
if (source.modalOverlayColor !== undefined) {
this.modalOverlayColor = source.modalOverlayColor;
}
if (source.barcodeTitle !== undefined) {
this.barcodeTitle = new StyledText(source.barcodeTitle);
}
if (source.barcodeSubtitle !== undefined) {
this.barcodeSubtitle = new StyledText(source.barcodeSubtitle);
}
if (source.submitButton !== undefined) {
this.submitButton = new ButtonConfiguration(source.submitButton);
}
if (source.cancelButton !== undefined) {
this.cancelButton = new ButtonConfiguration(source.cancelButton);
}
if (source.barcodeInfoMapping !== undefined) {
this.barcodeInfoMapping = new BarcodeInfoMapping(source.barcodeInfoMapping);
}
if (source.arOverlay !== undefined) {
this.arOverlay = new ArOverlayGeneralConfiguration(source.arOverlay);
}
}
}
//# sourceMappingURL=SingleScanningModeUseCase.js.map