UNPKG

@scandit/web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

1 lines 24 kB
import {a as a$3}from'./chunk-3OCPZ3OV.js';import {a as a$4}from'./chunk-L6BUOAGT.js';import {a as a$1}from'./chunk-QCD3RIT4.js';import {a as a$6}from'./chunk-V2WRHFW3.js';import {c as c$1,b as b$2}from'./chunk-SZUPDKV5.js';import {a as a$7}from'./chunk-KGVFOBRT.js';import {a as a$5}from'./chunk-74NQM2AV.js';import {b}from'./chunk-RU7XJPB3.js';import {a as a$2,c,b as b$1}from'./chunk-PMTVYYAY.js';import {a as a$8}from'./chunk-HDODW33D.js';import {a}from'./chunk-F4ZXJ2AL.js';import {Logger,DataCaptureView,Anchor,LogoStyle,isCameraFrameSource,Camera,FrameSourceState,Color,CameraPosition,TorchState,NumberWithUnit,RadiusLocationSelection}from'@scandit/web-datacapture-core';import {SafeStorage}from'@scandit/web-datacapture-core/build/js/private/utils/safeStorage.js';import {Timeout}from'@scandit/web-datacapture-core/build/js/private/utils/timeout.js';function v(U,e,t){let a=t.value;return typeof a!="function"?(Logger.warn(`@afterPrepareScanning applied to non-function: ${e}`),t):a.constructor.name==="AsyncFunction"||a.constructor===(async()=>{}).constructor?(t.value=function(...r){return this._preparationPromise?this._preparationPromise.then(()=>a.apply(this,r)):Promise.reject(new Error(`prepare should be called before calling ${e} method`))},t):(Logger.warn(`@afterPrepareScanning applied to non-async method: ${e}`),t)}var l=class l{constructor(e,t){this._context=null;this._sparkScan=null;this._preparationPromise=null;this._stopScanningPromise=null;this._dataCaptureView=null;this.preferenceManager=new a$1(SafeStorage.getInstanceFor("localStorage"));this.defaultSuccessBrush=a$2.defaultSuccessBrush();this.defaultErrorBrush=a$2.defaultErrorBrush();this.sparkScanView=e,this.setSparkScanViewSettings(t);}get camera(){var e;return (e=this.context)==null?void 0:e.frameSource}set context(e){this._context!==e&&(this._preparationPromise=null,this._context=e,e&&(this.analyticsManager=b.forContext(e)));}get context(){return this._context}set sparkScan(e){this._sparkScan!==e&&(this._preparationPromise=null,this._sparkScan=e);}get sparkScan(){return this._sparkScan}get sparkScan$(){if(!this._sparkScan)throw new Error("SparkScan mode is required to be set before calling this method");return this._sparkScan}get context$(){if(!this._context)throw new Error("Context is required to be set before calling this method");return this._context}setSparkScanViewSettings(e){this.sparkScanViewSettings=e,this.stateManager=new a$3(this.sparkScanViewSettings,this.preferenceManager),this.feedbackManager=a$4.withDefaults(this.sparkScanViewSettings.soundEnabled,this.sparkScanViewSettings.hapticEnabled),this.triggerButtonCollapseTimeout=new Timeout(this.sparkScanViewSettings.triggerButtonCollapseTimeout,async()=>{this.stateManager.state!=="idle"&&this._preparationPromise&&await this.switchToIdleState({sessionStopReason:"timeout"});}),this.inactiveStateTimeout=new Timeout(this.sparkScanViewSettings.inactiveStateTimeout,async()=>{this.stateManager.state!=="inactive"&&!this.stateManager.holdingToScan&&this._preparationPromise&&await this.switchToInactiveState({sessionStopReason:"timeout"});}),this.stateTimeouts={active:this.inactiveStateTimeout,inactive:this.triggerButtonCollapseTimeout};}get portraitOrientationTriggerButtonTranslateX(){var e;return (e=this.stateManager.portraitOrientationTriggerButtonTranslateX)!=null?e:this.defaultTriggerButtonTranslateX}get portraitOrientationTriggerButtonTranslateY(){var e;return (e=this.stateManager.portraitOrientationTriggerButtonTranslateY)!=null?e:this.defaultTriggerButtonTranslateY}get landscapeOrientationTriggerButtonTranslateX(){var e;return (e=this.stateManager.landscapeOrientationTriggerButtonTranslateX)!=null?e:this.defaultTriggerButtonTranslateX}get landscapeOrientationTriggerButtonTranslateY(){var e;return (e=this.stateManager.landscapeOrientationTriggerButtonTranslateY)!=null?e:this.defaultTriggerButtonTranslateY}get portraitOrientationMiniPreviewTranslateX(){var e;return (e=this.stateManager.portraitOrientationMiniPreviewTranslateX)!=null?e:this.defaultMiniPreviewTranslateX}get portraitOrientationMiniPreviewTranslateY(){var e;return (e=this.stateManager.portraitOrientationMiniPreviewTranslateY)!=null?e:this.defaultMiniPreviewTranslateY}get landscapeOrientationMiniPreviewTranslateX(){var e;return (e=this.stateManager.landscapeOrientationMiniPreviewTranslateX)!=null?e:this.defaultMiniPreviewTranslateX}get landscapeOrientationMiniPreviewTranslateY(){var e;return (e=this.stateManager.landscapeOrientationMiniPreviewTranslateY)!=null?e:this.defaultMiniPreviewTranslateY}get defaultTriggerButtonTranslateX(){return this.parentViewSizes.width-Math.min(this.parentViewSizes.width/3,110)-90/2}get defaultTriggerButtonTranslateY(){return this.parentViewSizes.height-Math.min(this.parentViewSizes.height/3,250)-90/2}get defaultMiniPreviewTranslateX(){return this.parentViewSizes.width-225-16}get parentViewSizes(){var e,t;return {width:(e=this.sparkScanView.parentElement.clientWidth)!=null?e:window.innerWidth,height:(t=this.sparkScanView.parentElement.clientHeight)!=null?t:window.innerHeight}}get defaultMiniPreviewTranslateY(){return 16}static forView(e,t){return new l(e,t)}async prepareScanning(e){if(this._preparationPromise)return this._preparationPromise;this._stopScanningPromise&&await this._stopScanningPromise,this._preparationPromise=this._internalPrepareScanning(e);try{await this._preparationPromise;}catch(t){throw this._preparationPromise=null,t}return this._preparationPromise}async _internalPrepareScanning(e){let t=this.context$,a=this.sparkScan$;this._dataCaptureView=await DataCaptureView.forContext(t),this._dataCaptureView.logoAnchor=Anchor.BottomCenter,this._dataCaptureView.logoStyle=LogoStyle.Minimal,this._dataCaptureView.setHiddenProperty("stopVideoTracksOnVisibilityChange",false),this._dataCaptureView.setHiddenProperty("freezeFrameWhenStoppingFrameSource",false),this._dataCaptureView.connectToElement(e);let i=isCameraFrameSource(t.frameSource)?t.frameSource:Camera.pickBestGuessForPosition(this.sparkScanViewSettings.defaultCameraPosition);await t.setFrameSource(i),await i.applySettings(a$5.recommendedCameraSettings),await i.switchToDesiredState(FrameSourceState.Standby);let r=await i.isTorchAvailable();this.sparkScanView.setTorchAvailable(r),this.sparkScanView.setZoomAvailable(i.isZoomAvailable()),this.sparkScanView.cameraSwitchButtonTapped(r,i.position),await t.setMode(a),a.addListener(this),a.setDelegate(this),this.sparkScanOverlay=await a$6.withSparkScanForView(a,this._dataCaptureView),await this.sparkScanOverlay.setShouldRemoveLocationsAfterScan(this.stateManager.scanningBehavior==="continuous"),this.smartScanSelectionOverlay=a$7.forMode(a),this.sparkScanViewSettings.smartSelectionCandidateBrush?this.smartScanSelectionOverlay.setBrush(this.sparkScanViewSettings.smartSelectionCandidateBrush):this.smartScanSelectionOverlay.setBrush(this.sparkScanOverlay.getBrush()),this.smartScanSelectionOverlay.setErrorBrush(this.sparkScanOverlay.getErrorBrush()),this.analyticsManager.startSession({cameraPosition:this.camera.position,hapticEnabled:this.sparkScanViewSettings.hapticEnabled,scanningMode:this.stateManager.scanningMode,soundEnabled:this.sparkScanViewSettings.soundEnabled,torchState:this.camera.getDesiredTorchState()}),await this.applyPreferences(),await this.switchToIdleState();}async stopScanning(e){if(this._stopScanningPromise)return this._stopScanningPromise;if(this.stateManager.state!=="Initial"){this._preparationPromise=null,this._stopScanningPromise=this._internalStopScanning(e);try{await this._stopScanningPromise;}finally{this._stopScanningPromise=null;}}}async _internalStopScanning(e){var i,r;this.stopTimeouts();let t=this.context$,a=this.sparkScan$;await a.setEnabled(false),a.removeListener(this),a.setDelegate(void 0),await t.removeMode(a),await((i=this.camera)==null?void 0:i.switchToDesiredState(FrameSourceState.Off)),(r=this._dataCaptureView)==null||r.detachFromElement(),this.analyticsManager.setSessionStopReason(e.sessionStopReason),this.setState("Initial");}async startScanning(){await this.switchToActiveState();}async pauseScanning(){await this.switchToInactiveState({sessionStopReason:"user"});}async onTriggerButtonPointerDown(){this.stateManager.triggerButtonPressed=true;}async onTriggerButtonTap(){switch(this.stateManager.state){case "Initial":{this.stateManager.triggerButtonPressed=false;return}case "idle":case "inactive":{await this.switchToActiveState({barcodeFeedback:new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)});return}case "error":{await this.switchToActiveState({barcodeFeedback:new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)});return}case "active":{if(this.stateManager.inSmartScanSelection){this.restartTimeouts(),await this.sparkScan$.selectItemWithSmartScanSelection();return}await(this.stateManager.continuousModeEnabled?this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.noFeedback)}):this.switchToActiveState({barcodeFeedback:new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)}));}}}async onTriggerButtonLongPressStart(){var e;this.stateManager.triggerButtonPressed=true,this.sparkScanViewSettings.holdToScanEnabled&&(this.scanningBehaviorCache=this.stateManager.scanningBehavior,this.stateManager.scanningBehavior="continuous",this.stateManager.holdingToScan=true,await((e=this.sparkScanOverlay)==null?void 0:e.setShouldRemoveLocationsAfterScan(true)),await this.switchToActiveState({barcodeFeedback:new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)}));}async onTriggerButtonLongPressEnd(){var e,t;this.sparkScanViewSettings.holdToScanEnabled&&this.stateManager.state!=="error"?(this.stateManager.scanningBehavior=(e=this.scanningBehaviorCache)!=null?e:"single",this.stateManager.holdingToScan=false,await((t=this.sparkScanOverlay)==null?void 0:t.setShouldRemoveLocationsAfterScan(this.stateManager.continuousModeEnabled)),await this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:new b$1("",0,Color.fromRGBA(0,0,0,0),this.defaultErrorBrush,this.feedbackManager.noFeedback)})):this.stateManager.triggerButtonPressed=false;}async onClickOutside(){this.stateManager.idleState||await this.switchToIdleState({emitTapFeedback:true});}async onVisibilityChange(){await this.switchToIdleState();}async onTargetModeButtonTap(e,t=this.feedbackManager.tapFeedback,a=true){var o,s,c;t.emit();let i=String(e),r={true:e&&this.stateManager.scanningMode instanceof b$2,false:!e&&this.stateManager.scanningMode instanceof c$1}[i];r&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode()),this.enableTargetMode(e),await((o=this.sparkScanOverlay)==null?void 0:o.setShouldDrawViewfinder(e)),this.startTimeoutForCurrentState(),this.sparkScanView.targetModeButtonTapped(e,a),r&&((c=(s=this.listener)==null?void 0:s.didChangeScanningMode)==null||c.call(s,this.stateManager.scanningMode),this.analyticsManager.setScanningMode(this.stateManager.scanningMode)),this.updateSizeControlVisibility();}async onScanningBehaviorButtonTap(e,t=this.feedbackManager.tapFeedback,a=true){var i;t.emit(),this.stateManager.scanningMode=this.stateManager.scanningMode.copyWith(e?"continuous":"single"),await((i=this.sparkScanOverlay)==null?void 0:i.setShouldRemoveLocationsAfterScan(e)),this.startTimeoutForCurrentState(),this.sparkScanView.scanningBehaviorButtonTapped(e,a),this.analyticsManager.setScanningMode(this.stateManager.scanningMode);}async onBarcodeFindButtonTap(){var e,t;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(t=(e=this.listener)==null?void 0:e.didTapBarcodeFindButton)==null||t.call(e,this.sparkScanView),this.restartTimeouts();}async onLabelCaptureButtonTap(){var e,t;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(t=(e=this.listener)==null?void 0:e.didTapLabelCaptureButton)==null||t.call(e,this.sparkScanView),this.restartTimeouts();}async onCameraSwitchButtonTap(){var a,i;if(this.feedbackManager.emitTapFeedback(),this.restartTimeouts(),!this.camera||this.stateManager.state==="error")return;let e={[CameraPosition.WorldFacing]:CameraPosition.UserFacing,[CameraPosition.UserFacing]:CameraPosition.WorldFacing}[(a=this.camera)==null?void 0:a.position],t=Camera.pickBestGuessForPosition(e);t&&(await((i=this.camera)==null?void 0:i.switchToDesiredState(FrameSourceState.Off)),await this.context$.setFrameSource(t),await t.applySettings(this.camera.settings),await t.switchToDesiredState(FrameSourceState.On),this.sparkScanView.cameraSwitchButtonTapped(await t.isTorchAvailable(),e),this.analyticsManager.setCameraPosition(e));}async onTorchButtonTap(e,t=this.feedbackManager.tapFeedback,a=true){var i,r;t.emit(),this.stateManager.torchState=e?TorchState.On:TorchState.Off,((i=this.camera)==null?void 0:i.getCurrentState())===FrameSourceState.On&&await((r=this.camera)==null?void 0:r.setDesiredTorchState(this.stateManager.torchState)),this.startTimeoutForCurrentState(),this.sparkScanView.torchButtonTapped(e,a),this.analyticsManager.setTorchState(this.stateManager.torchState);}restartTimeouts(){for(let e of [this.triggerButtonCollapseTimeout,this.inactiveStateTimeout,this.resumeCapturingTimeout])(e==null?void 0:e.running)===true&&e.start();}stopTimeouts(){for(let e of [this.triggerButtonCollapseTimeout,this.inactiveStateTimeout,this.resumeCapturingTimeout])e==null||e.stop();}async onMiniPreviewCloseButtonTap(){await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true});}onMiniPreviewResizeButtonTap(){(this.stateManager.state==="active"||this.stateManager.state==="inactive")&&(this.feedbackManager.emitTapFeedback(),this.startTimeoutForCurrentState());}async onMiniPreviewZoomButtonTap(e){this.feedbackManager.emitTapFeedback(),this.stateManager.zoomFactor=e,this.camera&&(this.camera.settings.zoomFactor=e,await this.camera.applySettings(this.camera.settings)),this.startTimeoutForCurrentState();}async onMiniPreviewDrag(e,t){switch(this.stateManager.state==="active"&&await this.sparkScan$.setEnabled(false),t){case "landscape-primary":case "landscape-secondary":{this.stateManager.landscapeOrientationMiniPreviewTranslateX=e.x,this.stateManager.landscapeOrientationMiniPreviewTranslateY=e.y;break}case "portrait-primary":case "portrait-secondary":{this.stateManager.portraitOrientationMiniPreviewTranslateX=e.x,this.stateManager.portraitOrientationMiniPreviewTranslateY=e.y;break}}this.restartTimeouts();}onMiniPreviewPointerMove(){this.restartTimeouts();}async onMiniPreviewPointerUp(){await this.switchToActiveState();}async onMiniPreviewDragEnd(){this.stateManager.state==="active"&&await this.sparkScan$.setEnabled(true);}async onMiniPreviewVisibilityChange(e){e&&this.sparkScanView.repositionMiniPreviewIfOutOfBounds(),this.stateManager.inSmartScanSelection&&!e&&await this.onSwitchedAwayFromSmartScanSelection();}onTriggerButtonDrag(e,t){switch(t){case "landscape-primary":case "landscape-secondary":{this.stateManager.landscapeOrientationTriggerButtonTranslateX=e.x,this.stateManager.landscapeOrientationTriggerButtonTranslateY=e.y;break}case "portrait-primary":case "portrait-secondary":{this.stateManager.portraitOrientationTriggerButtonTranslateX=e.x,this.stateManager.portraitOrientationTriggerButtonTranslateY=e.y;break}}}async onOrientationChange(){if(this.stateManager.state==="active"&&this.stateManager.holdingToScan){this.restartTimeouts();return}this.stateManager.state==="error"&&await this.switchToInactiveState({sessionStopReason:"user"});}async didScan(e,t){if(!t.newlyRecognizedBarcode)return;let a=this.sparkScanView.feedbackDelegate.getFeedbackForBarcode(t.newlyRecognizedBarcode);if(a){if(a instanceof b$1){await this.switchToErrorState({barcodeFeedback:a}),this.restartTimeouts();return}if(a instanceof c){if(this.stateManager.continuousModeEnabled){await this.switchToActiveState({barcodeFeedback:a}),this.restartTimeouts();return}let i=true,r="user";await this.switchToInactiveState({barcodeFeedback:a,emitSuccessFeedback:i,sessionStopReason:r}),this.restartTimeouts();}}}setListener(e){this.listener=e;}async onSwitchedToSmartScanSelection(){var e,t;this.sparkScanOverlay&&this.smartScanSelectionOverlay&&(this.stateManager.inSmartScanSelection=true,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=this.sparkScanView.miniPreviewSize,this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection=this.sparkScanView._previewSizeControlVisible,await((e=this._dataCaptureView)==null?void 0:e.removeOverlay(this.sparkScanOverlay)),await((t=this._dataCaptureView)==null?void 0:t.addOverlay(this.smartScanSelectionOverlay)),this.stateManager.targetModeEnabled||(this.sparkScanView.miniPreviewSize="expanded"),this.updateSizeControlVisibility());}async onSwitchedAwayFromSmartScanSelection(){var e,t;this.sparkScanOverlay&&this.smartScanSelectionOverlay&&this.stateManager.miniPreviewSizeBeforeSmartScanSelection&&(this.stateManager.inSmartScanSelection=false,await((e=this._dataCaptureView)==null?void 0:e.removeOverlay(this.smartScanSelectionOverlay)),await((t=this._dataCaptureView)==null?void 0:t.addOverlay(this.sparkScanOverlay)),this.sparkScanView.miniPreviewSize=this.stateManager.miniPreviewSizeBeforeSmartScanSelection,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=void 0,this.updateSizeControlVisibility());}brushForFeedback(e){return e.brush}async switchToIdleState(e={}){var t,a,i,r,n;await this.sparkScan$.setEnabled(false),await((t=this.camera)==null?void 0:t.switchToDesiredState(FrameSourceState.Standby)),e.emitTapFeedback===true&&this.feedbackManager.emitTapFeedback(),await((a=this.sparkScanOverlay)==null?void 0:a.overlayReadyForDraw()),this.setState("idle"),(i=this.triggerButtonCollapseTimeout)==null||i.stop(),(r=this.inactiveStateTimeout)==null||r.stop(),(n=this.resumeCapturingTimeout)==null||n.stop(),this.stateManager.triggerButtonPressed=false,this.sparkScanView.switchToIdleState(),e.sessionStopReason!=null&&this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async setBrushToOverlays(e){var t,a,i;this.sparkScanViewSettings.smartSelectionCandidateBrush?(t=this.smartScanSelectionOverlay)==null||t.setBrush(this.sparkScanViewSettings.smartSelectionCandidateBrush):(a=this.smartScanSelectionOverlay)==null||a.setBrush(e),await((i=this.sparkScanOverlay)==null?void 0:i.setBrush(e));}async switchToActiveState(e={}){var a,i,r,n,o,s,c$1,d;let t=this.stateManager.state;if(await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.On)),await((i=this.camera)==null?void 0:i.setDesiredTorchState(this.stateManager.torchState)),e.barcodeFeedback){let D=this.brushForFeedback(e.barcodeFeedback);await this.setBrushToOverlays(D);}await((r=this.sparkScanOverlay)==null?void 0:r.setShouldRemoveLocationsAfterScan(this.stateManager.continuousModeEnabled)),await((n=this.sparkScanOverlay)==null?void 0:n.overlayReadyForDraw()),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),this.stateManager.holdingToScan||(o=this.inactiveStateTimeout)==null||o.start(),(s=this.triggerButtonCollapseTimeout)==null||s.stop(),(c$1=this.resumeCapturingTimeout)==null||c$1.stop(),await this.sparkScanView.switchToActiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c,this.stateManager.scanningBehavior,(d=e.barcodeFeedback)==null?void 0:d.visualFeedbackColor,this.stateManager.zoomedIn&&t!=="active"),await this.sparkScan$.setEnabled(true),this.setState("active");}async switchToInactiveState(e){var t,a,r,n,o,s,c$1;if(this.stateManager.inSmartScanSelection?await this.sparkScan$.setEnabled(false):this.stateManager.shouldEnableSuppression?await this.sparkScan$.setResultSuppressionEnabled(true):await this.sparkScan$.setEnabled(false),this.stateManager.triggerButtonPressed=false,this.stateManager.scanningMode.previewBehavior==="persistent"?e.barcodeFeedback instanceof c&&await((t=this.sparkScanOverlay)==null?void 0:t.setShouldRemoveLocationsAfterScan(true)):await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.Standby)),(e.emitSuccessFeedback)!=null||(e.emitSuccessFeedback=true),this.setState("inactive"),e.barcodeFeedback){let d=this.brushForFeedback(e.barcodeFeedback);await this.setBrushToOverlays(d);}this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await((r=this.sparkScanOverlay)==null?void 0:r.overlayReadyForDraw()),(n=this.triggerButtonCollapseTimeout)==null||n.start(),(o=this.inactiveStateTimeout)==null||o.stop(),(s=this.resumeCapturingTimeout)==null||s.stop(),await this.sparkScanView.switchToInactiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c&&e.emitSuccessFeedback,this.stateManager.scanningBehavior,this.stateManager.previewBehavior,(c$1=e.barcodeFeedback)==null?void 0:c$1.visualFeedbackColor),this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async switchToErrorState(e){var a,i,r,n,o,s,c;let t=e.barcodeFeedback.resumeCapturingDelay>0;t&&(await this.sparkScan$.setEnabled(false),await((a=this.camera)==null?void 0:a.switchToDesiredState(FrameSourceState.Standby)),this.setState("error"),this.stateManager.scanningBehavior="single",this.resumeCapturingTimeout=new Timeout(e.barcodeFeedback.resumeCapturingDelay,async()=>{this.stateManager.state!=="active"&&this._preparationPromise&&await this.switchToActiveState();}),this.resumeCapturingTimeout.start()),(i=this.smartScanSelectionOverlay)==null||i.setErrorBrush(e.barcodeFeedback.brush),await((r=this.sparkScanOverlay)==null?void 0:r.setErrorBrush(e.barcodeFeedback.brush)),await((n=this.sparkScanOverlay)==null?void 0:n.overlayReadyForDraw()),await((o=this.sparkScanOverlay)==null?void 0:o.setShouldRemoveLocationsAfterScan(e.barcodeFeedback.resumeCapturingDelay===0)),await this.sparkScan$.workerCommand("sparkScanEmitErrorFeedback",{shouldRemoveBrush:!t}),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),(s=this.triggerButtonCollapseTimeout)==null||s.stop(),(c=this.inactiveStateTimeout)==null||c.stop(),await this.sparkScanView.switchToErrorState(e.barcodeFeedback,this.sparkScanViewSettings.visualFeedbackEnabled);}enableTargetModeLocationSelection(e){var r;let t=e?a$8.SparkScanSettings.targetModeLocationSelection.radius:a$8.SparkScanSettings.locationSelection.radius,a=e?a$8.SparkScanSettings.targetModeLocationSelection.unit:a$8.SparkScanSettings.locationSelection.unit,i=new NumberWithUnit(t,a);this.sparkScan$.settings.locationSelection=new RadiusLocationSelection(i),(r=this.sparkScanOverlay)==null||r.setRadius(i);}enableTargetMode(e){this.enableTargetModeLocationSelection(e);}async applyPreferences(){await this.onTargetModeButtonTap(this.stateManager.targetModeEnabled,this.feedbackManager.noFeedback,false),await this.onScanningBehaviorButtonTap(this.stateManager.continuousModeEnabled,this.feedbackManager.noFeedback,false),await this.onTorchButtonTap(this.stateManager.torchEnabled,this.feedbackManager.noFeedback,false),this.sparkScanView.repositionElementsIfOutOfBounds();}setState(e){var t,a;e!==this.stateManager.state&&(this.stateManager.state=e,(a=(t=this.listener)==null?void 0:t.didChangeViewState)==null||a.call(t,e));}startTimeoutForCurrentState(){let e=this.stateTimeouts[this.stateManager.state];e==null||e.start();}updateSizeControlVisibility(){if(!this.stateManager.inSmartScanSelection&&this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection!==void 0){this.sparkScanView.previewSizeControlVisible=this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection,this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection=void 0;return}let e=this.stateManager.inSmartScanSelection&&!this.stateManager.targetModeEnabled,t=this.sparkScanView._previewSizeControlVisible;this.sparkScanView.previewSizeControlVisible=t&&!e;}};a([v],l.prototype,"switchToActiveState",1),a([v],l.prototype,"switchToInactiveState",1),a([v],l.prototype,"switchToErrorState",1);var A=l;export{A as a};