UNPKG

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
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