@scandit/web-datacapture-barcode 8.4.1 → 8.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/build/js/ar/BarcodeAr.js +1 -1
  2. package/build/js/ar/BarcodeArFeedback.js +1 -1
  3. package/build/js/ar/BarcodeArPresenter.js +1 -1
  4. package/build/js/ar/BarcodeArView.js +1 -1
  5. package/build/js/chunks/{chunk-AAIIOAHK.js → chunk-7SGY35Z5.js} +1 -1
  6. package/build/js/chunks/{chunk-KHWS67G5.js → chunk-DKINLSTF.js} +1 -1
  7. package/build/js/chunks/{chunk-DUR72WT7.js → chunk-DVW6B3M2.js} +1 -1
  8. package/build/js/chunks/{chunk-LJR2DH2E.js → chunk-FC5AUHVA.js} +1 -1
  9. package/build/js/chunks/{chunk-D5LYCS2I.js → chunk-G7I3PA74.js} +1 -1
  10. package/build/js/chunks/{chunk-6AFGFFR3.js → chunk-HIYAJTYQ.js} +1 -1
  11. package/build/js/chunks/{chunk-PFSE6Z4X.js → chunk-HRO7XCET.js} +1 -1
  12. package/build/js/chunks/{chunk-JT5ITKYW.js → chunk-IRCZMBPG.js} +1 -1
  13. package/build/js/chunks/{chunk-J236MA6I.js → chunk-TGMQG3D4.js} +1 -1
  14. package/build/js/chunks/{chunk-KM37MGA4.js → chunk-U63A5WKZ.js} +1 -1
  15. package/build/js/chunks/chunk-WXPI35MU.js +2 -0
  16. package/build/js/find/BarcodeFindView.js +1 -1
  17. package/build/js/find/index.js +1 -1
  18. package/build/js/index.js +1 -1
  19. package/build/js/moduleLoader.js +1 -1
  20. package/build/js/spark/index.js +1 -1
  21. package/build/js/spark/ui/SparkScanView.js +1 -1
  22. package/build/js/spark/ui/SparkScanViewPresenter.js +1 -1
  23. package/build/js/spark/ui/index.js +1 -1
  24. package/build/js/worker/BarcodeCaptureWorkerManager.js +1 -1
  25. package/build/js/worker/WorkerMain.js +1 -1
  26. package/build/js/worker/barcodeCapture.inlineWorker.js +1 -1
  27. package/build/js/worker/dataCaptureEngine.js +1 -1
  28. package/package.json +2 -2
  29. package/sdc-lib/scandit-datacapture-sdk-barcode-pthreads.js +1 -1
  30. package/sdc-lib/scandit-datacapture-sdk-barcode-pthreads.wasm +0 -0
  31. package/sdc-lib/scandit-datacapture-sdk-barcode-simd-pthreads.js +1 -1
  32. package/sdc-lib/scandit-datacapture-sdk-barcode-simd-pthreads.wasm +0 -0
  33. package/sdc-lib/scandit-datacapture-sdk-barcode-simd.js +1 -1
  34. package/sdc-lib/scandit-datacapture-sdk-barcode-simd.wasm +0 -0
  35. package/sdc-lib/scandit-datacapture-sdk-barcode.js +1 -1
  36. package/sdc-lib/scandit-datacapture-sdk-barcode.wasm +0 -0
  37. package/build/js/chunks/chunk-UCJZ4LHZ.js +0 -2
  38. /package/build/js/chunks/{chunk-HCPEEQRO.js → chunk-AH4V63YU.js} +0 -0
@@ -1 +1 @@
1
- export{a as BarcodeAr}from'../chunks/chunk-LJR2DH2E.js';
1
+ export{a as BarcodeAr}from'../chunks/chunk-FC5AUHVA.js';
@@ -1 +1 @@
1
- export{a as BarcodeArFeedback}from'../chunks/chunk-HCPEEQRO.js';
1
+ export{a as BarcodeArFeedback}from'../chunks/chunk-AH4V63YU.js';
@@ -1 +1 @@
1
- export{a as BarcodeArPresenter}from'../chunks/chunk-D5LYCS2I.js';
1
+ export{a as BarcodeArPresenter}from'../chunks/chunk-G7I3PA74.js';
@@ -1 +1 @@
1
- export{a as BarcodeArView}from'../chunks/chunk-J236MA6I.js';
1
+ export{a as BarcodeArView}from'../chunks/chunk-TGMQG3D4.js';
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-UCJZ4LHZ.js';import {a}from'./chunk-LKZBVQXD.js';import {Localization}from'@scandit/web-datacapture-core';import {normalizeLibraryLocation}from'@scandit/web-datacapture-core/build/js/private/Helper.js';function y(r){return Localization.getInstance().updateIfMissing({...a}),r!=null&&r.libraryLocation&&(r.libraryLocation=normalizeLibraryLocation(r.libraryLocation)),{moduleName:"BarcodeCapture",load:async d=>{var e,o;let a=d;return await a$1.create({...a,libraryLocation:(e=r==null?void 0:r.libraryLocation)!=null?e:a.libraryLocation,highEndBlurryRecognition:(o=r==null?void 0:r.highEndBlurryRecognition)!=null?o:false})}}}export{y as a};
1
+ import {a as a$1}from'./chunk-WXPI35MU.js';import {a}from'./chunk-LKZBVQXD.js';import {Localization}from'@scandit/web-datacapture-core';import {normalizeLibraryLocation}from'@scandit/web-datacapture-core/build/js/private/Helper.js';function y(r){return Localization.getInstance().updateIfMissing({...a}),r!=null&&r.libraryLocation&&(r.libraryLocation=normalizeLibraryLocation(r.libraryLocation)),{moduleName:"BarcodeCapture",load:async d=>{var e,o;let a=d;return await a$1.create({...a,libraryLocation:(e=r==null?void 0:r.libraryLocation)!=null?e:a.libraryLocation,highEndBlurryRecognition:(o=r==null?void 0:r.highEndBlurryRecognition)!=null?o:false})}}}export{y as a};
@@ -1 +1 @@
1
- import {a as a$4}from'./chunk-F4EPKG6F.js';import {a as a$2}from'./chunk-PFSE6Z4X.js';import {a as a$1}from'./chunk-AYZEMPSP.js';import {a as a$3}from'./chunk-D75LUPE5.js';import {b}from'./chunk-4XB626PC.js';import {a as a$6}from'./chunk-NZCSU4S2.js';import {h}from'./chunk-4PYZSS3H.js';import {a as a$5,c as c$1,e,f as f$1,g,h as h$1,i as i$1,j as j$1,k as k$1,b as b$1,d as d$2}from'./chunk-DVHTYKDX.js';import {d,c,f,i,j,k,l,m,n,b as b$2,e as e$1,g as g$1}from'./chunk-4JEIREAU.js';import {d as d$1}from'./chunk-YBD5JYCX.js';import {a}from'./chunk-PMTVYYAY.js';import {Logger,Point,CameraPosition,Color}from'@scandit/web-datacapture-core';import {OrientationObserver,orientationChangeEvent}from'@scandit/web-datacapture-core/build/js/private/OrientationObserver.js';import {ScanditHTMLElement,Timeout,defineCustomElements,css,clamp}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var W=class l$1 extends ScanditHTMLElement{constructor(){super(...arguments);this._targetModeButtonVisible=false;this._scanningBehaviorButtonVisible=false;this._torchControlVisible=true;this._zoomSwitchControlVisible=true;this._previewSizeControlVisible=true;this._barcodeFindButtonVisible=false;this._labelCaptureButtonVisible=false;this._cameraSwitchButtonVisible=false;this._previewCloseControlVisible=true;this._triggerButtonVisible=true;this._isTorchAvailable=true;this._isZoomAvailable=true;this._isConnected=false;this._sizingMode="constrained";this.feedbackDelegate={getFeedbackForBarcode:()=>a.success()};this.resizeObserver=null;this.onResizeHandler=this.onResize.bind(this);this.settings=new a$1;this.presenter=a$2.forView(this,this.settings);this.miniPreview=b.create();this.triggerButton=a$3.create();this.visualFeedback=a$4.create();this.miniPreviewTimeout=new Timeout(500,this.onMiniPreviewTimeoutFinished.bind(this));this.orientationObserver=new OrientationObserver;this.miniPreviewPointerUpListener=this.onMiniPreviewPointerUp.bind(this);this.miniPreviewPointerMoveListener=this.onMiniPreviewPointerMove.bind(this);this.miniPreviewButtonTapListener=this.onMiniPreviewButtonTap.bind(this);this.miniPreviewDragListener=this.onMiniPreviewDrag.bind(this);this.miniPreviewDragEndListener=this.onMiniPreviewDragEnd.bind(this);this.miniPreviewVisibilityChangeListener=this.onMiniPreviewVisibilityChange.bind(this);this.triggerButtonPointerDownListener=this.onTriggerButtonPointerDown.bind(this);this.triggerButtonTapListener=this.onTriggerButtonTap.bind(this);this.triggerButtonLongPressStartListener=this.onTriggerButtonLongPressStart.bind(this);this.triggerButtonLongPressEndListener=this.onTriggerButtonLongPressEnd.bind(this);this.triggerButtonDragListener=this.onTriggerButtonDrag.bind(this);this.toolbarButtonTapListener=this.onToolbarButtonTap.bind(this);this.clickOutsideListener=this.onClickOutside.bind(this);this.visibilityChangeListener=this.onVisibilityChange.bind(this);this.orientationChangeListener=this.onOrientationChange.bind(this);this.holdingToScan=false;this.miniPreviewListeners=[["pointerup",this.miniPreviewPointerUpListener],["pointermove",this.miniPreviewPointerMoveListener],["minipreviewbuttontap",this.miniPreviewButtonTapListener],["toolbarbuttontap",this.toolbarButtonTapListener],["drag",this.miniPreviewDragListener],["dragend",this.miniPreviewDragEndListener],[h,this.miniPreviewVisibilityChangeListener]];this.triggerButtonListeners=[["pointerdown",this.triggerButtonPointerDownListener],["tap",this.triggerButtonTapListener],["longpressstart",this.triggerButtonLongPressStartListener],["longpressend",this.triggerButtonLongPressEndListener],["drag",this.triggerButtonDragListener]];}get targetModeButtonVisible(){return this._targetModeButtonVisible}set targetModeButtonVisible(e){var i;this._targetModeButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[d]=e);}get scanningBehaviorButtonVisible(){return this._scanningBehaviorButtonVisible}set scanningBehaviorButtonVisible(e){var i;this._scanningBehaviorButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[c]=e);}get torchControlVisible(){return this._torchControlVisible}set torchControlVisible(e){this._torchControlVisible=e,this.miniPreview&&(this.miniPreview[f]=e&&this._isTorchAvailable);}get zoomSwitchControlVisible(){return this._zoomSwitchControlVisible}set zoomSwitchControlVisible(e){this._zoomSwitchControlVisible=e,this.miniPreview&&(this.miniPreview[i]=e&&this._isZoomAvailable);}get previewSizeControlVisible(){return this._previewSizeControlVisible}set previewSizeControlVisible(e){this._previewSizeControlVisible=e,this.miniPreview&&(this.miniPreview[j]=e);}get barcodeFindButtonVisible(){return this._barcodeFindButtonVisible}set barcodeFindButtonVisible(e){var i;this._barcodeFindButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[k]=e);}get labelCaptureButtonVisible(){return this._labelCaptureButtonVisible}set labelCaptureButtonVisible(e){var i;this._labelCaptureButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[l]=e);}get cameraSwitchButtonVisible(){return this._cameraSwitchButtonVisible}set cameraSwitchButtonVisible(e){var i;this._cameraSwitchButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[m]=e);}get previewCloseControlVisible(){return this._previewCloseControlVisible}set previewCloseControlVisible(e){this._previewCloseControlVisible=e,this.miniPreview&&(this.miniPreview[n]=e);}get triggerButtonVisible(){return this._triggerButtonVisible}set triggerButtonVisible(e){this._triggerButtonVisible=e,this.triggerButton&&(this.triggerButton.visible=e);}get dataCaptureContext(){return this.presenter.context}set dataCaptureContext(e){this.presenter.context!==e&&(this.presenter.context=e,this._maybeAutoPrepareScanning());}get sparkScan(){return this.presenter.sparkScan}set sparkScan(e){this.presenter.sparkScan!==e&&(this.presenter.sparkScan=e,this._maybeAutoPrepareScanning());}get _targetModeEnabledMessage(){var e;return (e=this.settings.toastSettings.targetModeEnabledMessage)!=null?e:"Aimer on"}get _targetModeDisabledMessage(){var e;return (e=this.settings.toastSettings.targetModeDisabledMessage)!=null?e:"Aimer off"}get _continuousModeEnabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeEnabledMessage)!=null?e:"Continuous mode on"}get _continuousModeDisabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeDisabledMessage)!=null?e:"Continuous mode off"}get _scanPausedMessage(){var e;return (e=this.settings.toastSettings.scanPausedMessage)!=null?e:"Scan paused"}get _torchEnabledMessage(){var e;return (e=this.settings.toastSettings.torchEnabledMessage)!=null?e:"Torch on"}get _torchDisabledMessage(){var e;return (e=this.settings.toastSettings.torchDisabledMessage)!=null?e:"Torch off"}get _zoomedInMessage(){var e;return (e=this.settings.toastSettings.zoomedInMessage)!=null?e:"2x zoom"}get _zoomedOutMessage(){var e;return (e=this.settings.toastSettings.zoomedOutMessage)!=null?e:"1x zoom"}set sparkScanViewSettings(e){let i=e!=null?e:new a$1;this.settings=i,this.presenter.setSparkScanViewSettings(i);}get sparkScanViewSettings(){return this.settings}static forElement(e,i,t,r){let n=l$1.create();return r&&(n.sparkScanViewSettings=r),n.dataCaptureContext=i,n.sparkScan=t,e.append(n),n}static register(){defineCustomElements({[d$1]:l$1});}static create(){return l$1.register(),document.createElement("spark-scan-view")}static createStyleElement(){return css`:root{${a$5}:#12161966;${c$1}:#12161966;${e}:#5b707f4d;${f$1}:#fff;${g}:#121619cc;${h$1}:#fbc02c;${i$1}:#fff;${j$1}:#0ff;${k$1}:#fa4446}${d$1}{position:relative}`}async prepareScanning(){await this.presenter.prepareScanning(this.miniPreview.host);}async startScanning(){await this.presenter.startScanning();}async pauseScanning(){await this.presenter.pauseScanning();}async stopScanning(){await this.presenter.stopScanning({sessionStopReason:"user"});}showToast(e){this.miniPreview.showToast("info",e,1e3);}setListener(e){this.presenter.setListener(e);}setTriggerButtonImage(e){this.triggerButton.setImage(e);}get miniPreviewSize(){return this.miniPreview.size}set miniPreviewSize(e){this.miniPreview.size=e;}setWidthAndHeightCssStyleProperties(){var t,r,n,a,o,s;let e,i;this._sizingMode==="unconstrained"?(e=(r=(t=globalThis.window.visualViewport)==null?void 0:t.width)!=null?r:globalThis.window.innerWidth,i=(a=(n=globalThis.window.visualViewport)==null?void 0:n.height)!=null?a:globalThis.window.innerHeight):(e=((o=this.parentElement)==null?void 0:o.clientWidth)||document.body.clientWidth,i=((s=this.parentElement)==null?void 0:s.clientHeight)||document.body.clientHeight),this.style.setProperty("--dvw",`${e}px`),this.style.setProperty("--dvh",`${i}px`),this.style.setProperty("--dvw-half","calc(var(--dvw) / 2)"),this.style.setProperty("--dvh-half","calc(var(--dvh) / 2)");}onResize(){this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),this.repositionElementsIfOutOfBounds();}updateSizingMode(){var r,n,a,o;let e=(n=(r=this.parentElement)==null?void 0:r.clientWidth)!=null?n:0,t=((o=(a=this.parentElement)==null?void 0:a.clientHeight)!=null?o:0)<236||e<236?"unconstrained":"constrained";if(this._sizingMode!==t){this._sizingMode=t;let s=t==="unconstrained";this.toggleAttribute("unconstrained",s),this.miniPreview.toggleAttribute("unconstrained",s),this.triggerButton.toggleAttribute("unconstrained",s),this.miniPreview.useViewportBounds=s,this.triggerButton.useViewportBounds=s,this.repositionElementsIfOutOfBounds();}}_maybeAutoPrepareScanning(){this._isConnected&&this.presenter.context&&this.presenter.sparkScan&&this.prepareScanning().catch(e=>{Logger.warn("Auto prepareScanning failed:",e);});}connectedCallback(){var e$1;this.append(l$1.createStyleElement().cloneNode(true),this.miniPreview,this.triggerButton,this.visualFeedback),this.resizeObserver=new ResizeObserver(this.onResizeHandler),this.resizeObserver.observe(this.parentElement),this.previewCloseControlVisible=this._previewCloseControlVisible,this.previewSizeControlVisible=this._previewSizeControlVisible,this.zoomSwitchControlVisible=this._zoomSwitchControlVisible,this.torchControlVisible=this._torchControlVisible,this.miniPreview.size=this.settings.defaultMiniPreviewSize,this.targetModeButtonVisible=this._targetModeButtonVisible,this.scanningBehaviorButtonVisible=this._scanningBehaviorButtonVisible,this.barcodeFindButtonVisible=this._barcodeFindButtonVisible,this.labelCaptureButtonVisible=this._labelCaptureButtonVisible,this.cameraSwitchButtonVisible=this._cameraSwitchButtonVisible,this.triggerButtonVisible=this._triggerButtonVisible;for(let[i,t]of [[this.triggerButtonCollapsedColor,a$5],[this.triggerButtonExpandedColor,c$1],[this.triggerButtonAnimationColor,e],[this.triggerButtonTintColor,f$1],[this.toolbarBackgroundColor,g],[this.toolbarIconActiveTintColor,h$1],[this.toolbarIconInactiveTintColor,i$1]])i&&this.style.setProperty(t,`#${i.toJSON()}`);this.setTriggerButtonPressedColor("triggerButtonCollapsedColor",a$5,b$1),this.setTriggerButtonPressedColor("triggerButtonExpandedColor",c$1,d$2),this.addMiniPreviewListeners(),this.addTriggerButtonListeners(),this.orientationObserver.register(),document.addEventListener("pointerup",this.clickOutsideListener),document.addEventListener("visibilitychange",this.visibilityChangeListener),this.orientationObserver.addEventListener(orientationChangeEvent,this.orientationChangeListener),this.orientationObserver.dispatchOrientationChangeEvent(this.orientationObserver.orientation),this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),(e$1=window.visualViewport)==null||e$1.addEventListener("resize",this.onResizeHandler),this._isConnected=true,this._maybeAutoPrepareScanning();}disconnectedCallback(){var e,i;this.miniPreviewTimeout.stop(),(e=this.resizeObserver)==null||e.disconnect(),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(orientationChangeEvent,this.orientationChangeListener),this.removeMiniPreviewListeners(),this.removeTriggerButtonListeners(),document.removeEventListener("pointerup",this.clickOutsideListener),document.removeEventListener("visibilitychange",this.visibilityChangeListener),(i=window.visualViewport)==null||i.removeEventListener("resize",this.onResizeHandler);for(let t of Array.from(this.children))t.remove();this._isConnected=false;}setTorchAvailable(e){this._isTorchAvailable=e,this.torchControlVisible=this._torchControlVisible;}setZoomAvailable(e){this._isZoomAvailable=e,this.zoomSwitchControlVisible=this._zoomSwitchControlVisible;}switchToIdleState(){this.miniPreview.darkened=false,this.miniPreview.visible=false,this.miniPreview.hideToast(),this.triggerButton.expanded=false,this.triggerButton.stopPulsating();}async switchToActiveState(e,i,t,r){this.miniPreviewTimeout.stop(),this.miniPreview.hideToast(),this.miniPreview.cancelFadeOut(),this.miniPreview.darkened=false,this.miniPreview.visible=true,this.triggerButton.expanded=true,this.triggerButton.startPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=i),e&&(t&&this.style.setProperty(j$1,`#${t.toJSON()}`),await this.visualFeedback.emitSuccessFeedback()),r===true&&this.miniPreview.showToast("warning",this._zoomedInMessage,1e3);}async switchToInactiveState(e,i,t,r){this.miniPreview.darkened=t==="persistent"||e,this.miniPreview.visible=t==="persistent"||e,this.triggerButton.expanded=true,this.triggerButton.stopPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=i),e&&(r&&this.style.setProperty(j$1,`#${r.toJSON()}`),await this.visualFeedback.emitSuccessFeedback(),t==="default"&&this.miniPreviewTimeout.start()),t==="persistent"&&this.miniPreview.showToast("warning",this._scanPausedMessage,Number.POSITIVE_INFINITY);}async switchToErrorState(e,i){e.resumeCapturingDelay>0&&(this.triggerButton.stopPulsating(),this.miniPreview.showToast("error",e.message,e.resumeCapturingDelay)),i&&(this.style.setProperty(k$1,`#${e.visualFeedbackColor.toJSON()}`),await this.visualFeedback.emitErrorFeedback());}async onMiniPreviewPointerUp(){await this.presenter.onMiniPreviewPointerUp();}onMiniPreviewPointerMove(){this.presenter.onMiniPreviewPointerMove();}async onMiniPreviewButtonTap(e){switch(e.detail.tapped){case "torchButton":{await this.presenter.onTorchButtonTap(e.detail.enabled);break}case "closeButton":{await this.presenter.onMiniPreviewCloseButtonTap();break}case "resizeButton":{this.presenter.onMiniPreviewResizeButtonTap();break}case "zoomButton":{await this.presenter.onMiniPreviewZoomButtonTap(e.detail.zoomFactor);break}}this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}async onMiniPreviewDrag(e){e instanceof a$6&&await this.presenter.onMiniPreviewDrag(e.point,this.orientationObserver.orientation.type);}async onMiniPreviewDragEnd(e){e instanceof a$6&&await this.presenter.onMiniPreviewDragEnd();}async onMiniPreviewVisibilityChange(e){await this.presenter.onMiniPreviewVisibilityChange(e.detail.visible);}async onTriggerButtonPointerDown(){await this.presenter.onTriggerButtonPointerDown();}async onTriggerButtonTap(){await this.presenter.onTriggerButtonTap();}async onTriggerButtonLongPressStart(){this.holdingToScan||(this.holdingToScan=true,await this.presenter.onTriggerButtonLongPressStart());}async onTriggerButtonLongPressEnd(){this.holdingToScan&&(this.holdingToScan=false,await this.presenter.onTriggerButtonLongPressEnd());}onTriggerButtonDrag(e){e instanceof a$6&&this.presenter.onTriggerButtonDrag(e.point,this.orientationObserver.orientation.type);}async onToolbarButtonTap(e){switch(this.miniPreview.rewindAnimation(),e.detail.tapped){case "targetModeButton":{await this.onTargetModeButtonTap(e);return}case "scanningBehaviorButton":{await this.onScanningBehaviorButtonTap(e);return}case "barcodeFindButton":{await this.onBarcodeFindButtonTap();return}case "labelCaptureButton":{await this.onLabelCaptureButtonTap();return}case "cameraSwitchButton":await this.onCameraSwitchButtonTap();}}async onClickOutside(e){e.composedPath().includes(this)||await this.presenter.onClickOutside();}async onVisibilityChange(){document.visibilityState==="hidden"&&await this.presenter.onVisibilityChange();}async onTargetModeButtonTap(e){await this.presenter.onTargetModeButtonTap(e.detail.enabled);}async onScanningBehaviorButtonTap(e){await this.presenter.onScanningBehaviorButtonTap(e.detail.enabled);}async onBarcodeFindButtonTap(){await this.presenter.onBarcodeFindButtonTap();}async onLabelCaptureButtonTap(){await this.presenter.onLabelCaptureButtonTap();}async onCameraSwitchButtonTap(){this.torchControlVisible=false,await this.presenter.onCameraSwitchButtonTap();}async onTorchButtonTap(e){await this.presenter.onTorchButtonTap(e.detail.enabled);}async onMiniPreviewTimeoutFinished(){await this.miniPreview.fadeOut();}async onOrientationChange(e){this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),this.miniPreview.orientation=e.detail.type;let i,t,r,n;switch(e.detail.type){case "landscape-primary":case "landscape-secondary":{i=this.presenter.landscapeOrientationTriggerButtonTranslateX,t=this.presenter.landscapeOrientationTriggerButtonTranslateY,r=this.presenter.landscapeOrientationMiniPreviewTranslateX,n=this.presenter.landscapeOrientationMiniPreviewTranslateY;break}case "portrait-primary":case "portrait-secondary":{i=this.presenter.portraitOrientationTriggerButtonTranslateX,t=this.presenter.portraitOrientationTriggerButtonTranslateY,r=this.presenter.portraitOrientationMiniPreviewTranslateX,n=this.presenter.portraitOrientationMiniPreviewTranslateY;break}}this.triggerButton.translateTo(new Point(i,t)),this.miniPreview.translateTo(new Point(r,n)),await this.presenter.onOrientationChange();}targetModeButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._targetModeEnabledMessage:this._targetModeDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[e$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}scanningBehaviorButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._continuousModeEnabledMessage:this._continuousModeDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=e?"continuous":"single"),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}torchButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._torchEnabledMessage:this._torchDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview[g$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}cameraSwitchButtonTapped(e,i){var t;this.torchControlVisible=e,(t=this.miniPreview.toolbar)==null||t.enableCameraSwitchButton(i===CameraPosition.UserFacing);}getDefaultCssVariableValue(e){return window.getComputedStyle(this).getPropertyValue(e)}setTriggerButtonPressedColor(e,i,t){var o;let r=(o=this[e])!=null?o:Color.fromHex(this.getDefaultCssVariableValue(i)),n=clamp(r.alpha+r.alpha*.25,r.alpha,255),a=r.withAlpha(n);this.style.setProperty(t,`#${a.toJSON()}`);}addMiniPreviewListeners(){for(let[e,i]of this.miniPreviewListeners)this.miniPreview.addEventListener(e,i);}removeMiniPreviewListeners(){for(let[e,i]of this.miniPreviewListeners)this.miniPreview.removeEventListener(e,i);}addTriggerButtonListeners(){for(let[e,i]of this.triggerButtonListeners)this.triggerButton.addEventListener(e,i);}removeTriggerButtonListeners(){for(let[e,i]of this.triggerButtonListeners)this.triggerButton.removeEventListener(e,i);}repositionElementsIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds(),this.miniPreview.repositionIfOutOfBounds();}repositionMiniPreviewIfOutOfBounds(){this.miniPreview.repositionIfOutOfBounds();}repositionTriggerButtonIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds();}};export{W as a};
1
+ import {a as a$4}from'./chunk-F4EPKG6F.js';import {a as a$2}from'./chunk-HRO7XCET.js';import {a as a$1}from'./chunk-AYZEMPSP.js';import {a as a$3}from'./chunk-D75LUPE5.js';import {b}from'./chunk-4XB626PC.js';import {a as a$6}from'./chunk-NZCSU4S2.js';import {h}from'./chunk-4PYZSS3H.js';import {a as a$5,c as c$1,e,f as f$1,g,h as h$1,i as i$1,j as j$1,k as k$1,b as b$1,d as d$2}from'./chunk-DVHTYKDX.js';import {d,c,f,i,j,k,l,m,n,b as b$2,e as e$1,g as g$1}from'./chunk-4JEIREAU.js';import {d as d$1}from'./chunk-YBD5JYCX.js';import {a}from'./chunk-PMTVYYAY.js';import {Logger,Point,CameraPosition,Color}from'@scandit/web-datacapture-core';import {OrientationObserver,orientationChangeEvent}from'@scandit/web-datacapture-core/build/js/private/OrientationObserver.js';import {ScanditHTMLElement,Timeout,defineCustomElements,css,clamp}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var W=class l$1 extends ScanditHTMLElement{constructor(){super(...arguments);this._targetModeButtonVisible=false;this._scanningBehaviorButtonVisible=false;this._torchControlVisible=true;this._zoomSwitchControlVisible=true;this._previewSizeControlVisible=true;this._barcodeFindButtonVisible=false;this._labelCaptureButtonVisible=false;this._cameraSwitchButtonVisible=false;this._previewCloseControlVisible=true;this._triggerButtonVisible=true;this._isTorchAvailable=true;this._isZoomAvailable=true;this._isConnected=false;this._sizingMode="constrained";this.feedbackDelegate={getFeedbackForBarcode:()=>a.success()};this.resizeObserver=null;this.onResizeHandler=this.onResize.bind(this);this.settings=new a$1;this.presenter=a$2.forView(this,this.settings);this.miniPreview=b.create();this.triggerButton=a$3.create();this.visualFeedback=a$4.create();this.miniPreviewTimeout=new Timeout(500,this.onMiniPreviewTimeoutFinished.bind(this));this.orientationObserver=new OrientationObserver;this.miniPreviewPointerUpListener=this.onMiniPreviewPointerUp.bind(this);this.miniPreviewPointerMoveListener=this.onMiniPreviewPointerMove.bind(this);this.miniPreviewButtonTapListener=this.onMiniPreviewButtonTap.bind(this);this.miniPreviewDragListener=this.onMiniPreviewDrag.bind(this);this.miniPreviewDragEndListener=this.onMiniPreviewDragEnd.bind(this);this.miniPreviewVisibilityChangeListener=this.onMiniPreviewVisibilityChange.bind(this);this.triggerButtonPointerDownListener=this.onTriggerButtonPointerDown.bind(this);this.triggerButtonTapListener=this.onTriggerButtonTap.bind(this);this.triggerButtonLongPressStartListener=this.onTriggerButtonLongPressStart.bind(this);this.triggerButtonLongPressEndListener=this.onTriggerButtonLongPressEnd.bind(this);this.triggerButtonDragListener=this.onTriggerButtonDrag.bind(this);this.toolbarButtonTapListener=this.onToolbarButtonTap.bind(this);this.clickOutsideListener=this.onClickOutside.bind(this);this.visibilityChangeListener=this.onVisibilityChange.bind(this);this.orientationChangeListener=this.onOrientationChange.bind(this);this.holdingToScan=false;this.miniPreviewListeners=[["pointerup",this.miniPreviewPointerUpListener],["pointermove",this.miniPreviewPointerMoveListener],["minipreviewbuttontap",this.miniPreviewButtonTapListener],["toolbarbuttontap",this.toolbarButtonTapListener],["drag",this.miniPreviewDragListener],["dragend",this.miniPreviewDragEndListener],[h,this.miniPreviewVisibilityChangeListener]];this.triggerButtonListeners=[["pointerdown",this.triggerButtonPointerDownListener],["tap",this.triggerButtonTapListener],["longpressstart",this.triggerButtonLongPressStartListener],["longpressend",this.triggerButtonLongPressEndListener],["drag",this.triggerButtonDragListener]];}get targetModeButtonVisible(){return this._targetModeButtonVisible}set targetModeButtonVisible(e){var i;this._targetModeButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[d]=e);}get scanningBehaviorButtonVisible(){return this._scanningBehaviorButtonVisible}set scanningBehaviorButtonVisible(e){var i;this._scanningBehaviorButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[c]=e);}get torchControlVisible(){return this._torchControlVisible}set torchControlVisible(e){this._torchControlVisible=e,this.miniPreview&&(this.miniPreview[f]=e&&this._isTorchAvailable);}get zoomSwitchControlVisible(){return this._zoomSwitchControlVisible}set zoomSwitchControlVisible(e){this._zoomSwitchControlVisible=e,this.miniPreview&&(this.miniPreview[i]=e&&this._isZoomAvailable);}get previewSizeControlVisible(){return this._previewSizeControlVisible}set previewSizeControlVisible(e){this._previewSizeControlVisible=e,this.miniPreview&&(this.miniPreview[j]=e);}get barcodeFindButtonVisible(){return this._barcodeFindButtonVisible}set barcodeFindButtonVisible(e){var i;this._barcodeFindButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[k]=e);}get labelCaptureButtonVisible(){return this._labelCaptureButtonVisible}set labelCaptureButtonVisible(e){var i;this._labelCaptureButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[l]=e);}get cameraSwitchButtonVisible(){return this._cameraSwitchButtonVisible}set cameraSwitchButtonVisible(e){var i;this._cameraSwitchButtonVisible=e,(i=this.miniPreview)!=null&&i.toolbar&&(this.miniPreview.toolbar[m]=e);}get previewCloseControlVisible(){return this._previewCloseControlVisible}set previewCloseControlVisible(e){this._previewCloseControlVisible=e,this.miniPreview&&(this.miniPreview[n]=e);}get triggerButtonVisible(){return this._triggerButtonVisible}set triggerButtonVisible(e){this._triggerButtonVisible=e,this.triggerButton&&(this.triggerButton.visible=e);}get dataCaptureContext(){return this.presenter.context}set dataCaptureContext(e){this.presenter.context!==e&&(this.presenter.context=e,this._maybeAutoPrepareScanning());}get sparkScan(){return this.presenter.sparkScan}set sparkScan(e){this.presenter.sparkScan!==e&&(this.presenter.sparkScan=e,this._maybeAutoPrepareScanning());}get _targetModeEnabledMessage(){var e;return (e=this.settings.toastSettings.targetModeEnabledMessage)!=null?e:"Aimer on"}get _targetModeDisabledMessage(){var e;return (e=this.settings.toastSettings.targetModeDisabledMessage)!=null?e:"Aimer off"}get _continuousModeEnabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeEnabledMessage)!=null?e:"Continuous mode on"}get _continuousModeDisabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeDisabledMessage)!=null?e:"Continuous mode off"}get _scanPausedMessage(){var e;return (e=this.settings.toastSettings.scanPausedMessage)!=null?e:"Scan paused"}get _torchEnabledMessage(){var e;return (e=this.settings.toastSettings.torchEnabledMessage)!=null?e:"Torch on"}get _torchDisabledMessage(){var e;return (e=this.settings.toastSettings.torchDisabledMessage)!=null?e:"Torch off"}get _zoomedInMessage(){var e;return (e=this.settings.toastSettings.zoomedInMessage)!=null?e:"2x zoom"}get _zoomedOutMessage(){var e;return (e=this.settings.toastSettings.zoomedOutMessage)!=null?e:"1x zoom"}set sparkScanViewSettings(e){let i=e!=null?e:new a$1;this.settings=i,this.presenter.setSparkScanViewSettings(i);}get sparkScanViewSettings(){return this.settings}static forElement(e,i,t,r){let n=l$1.create();return r&&(n.sparkScanViewSettings=r),n.dataCaptureContext=i,n.sparkScan=t,e.append(n),n}static register(){defineCustomElements({[d$1]:l$1});}static create(){return l$1.register(),document.createElement("spark-scan-view")}static createStyleElement(){return css`:root{${a$5}:#12161966;${c$1}:#12161966;${e}:#5b707f4d;${f$1}:#fff;${g}:#121619cc;${h$1}:#fbc02c;${i$1}:#fff;${j$1}:#0ff;${k$1}:#fa4446}${d$1}{position:relative}`}async prepareScanning(){await this.presenter.prepareScanning(this.miniPreview.host);}async startScanning(){await this.presenter.startScanning();}async pauseScanning(){await this.presenter.pauseScanning();}async stopScanning(){await this.presenter.stopScanning({sessionStopReason:"user"});}showToast(e){this.miniPreview.showToast("info",e,1e3);}setListener(e){this.presenter.setListener(e);}setTriggerButtonImage(e){this.triggerButton.setImage(e);}get miniPreviewSize(){return this.miniPreview.size}set miniPreviewSize(e){this.miniPreview.size=e;}setWidthAndHeightCssStyleProperties(){var t,r,n,a,o,s;let e,i;this._sizingMode==="unconstrained"?(e=(r=(t=globalThis.window.visualViewport)==null?void 0:t.width)!=null?r:globalThis.window.innerWidth,i=(a=(n=globalThis.window.visualViewport)==null?void 0:n.height)!=null?a:globalThis.window.innerHeight):(e=((o=this.parentElement)==null?void 0:o.clientWidth)||document.body.clientWidth,i=((s=this.parentElement)==null?void 0:s.clientHeight)||document.body.clientHeight),this.style.setProperty("--dvw",`${e}px`),this.style.setProperty("--dvh",`${i}px`),this.style.setProperty("--dvw-half","calc(var(--dvw) / 2)"),this.style.setProperty("--dvh-half","calc(var(--dvh) / 2)");}onResize(){this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),this.repositionElementsIfOutOfBounds();}updateSizingMode(){var r,n,a,o;let e=(n=(r=this.parentElement)==null?void 0:r.clientWidth)!=null?n:0,t=((o=(a=this.parentElement)==null?void 0:a.clientHeight)!=null?o:0)<236||e<236?"unconstrained":"constrained";if(this._sizingMode!==t){this._sizingMode=t;let s=t==="unconstrained";this.toggleAttribute("unconstrained",s),this.miniPreview.toggleAttribute("unconstrained",s),this.triggerButton.toggleAttribute("unconstrained",s),this.miniPreview.useViewportBounds=s,this.triggerButton.useViewportBounds=s,this.repositionElementsIfOutOfBounds();}}_maybeAutoPrepareScanning(){this._isConnected&&this.presenter.context&&this.presenter.sparkScan&&this.prepareScanning().catch(e=>{Logger.warn("Auto prepareScanning failed:",e);});}connectedCallback(){var e$1;this.append(l$1.createStyleElement().cloneNode(true),this.miniPreview,this.triggerButton,this.visualFeedback),this.resizeObserver=new ResizeObserver(this.onResizeHandler),this.resizeObserver.observe(this.parentElement),this.previewCloseControlVisible=this._previewCloseControlVisible,this.previewSizeControlVisible=this._previewSizeControlVisible,this.zoomSwitchControlVisible=this._zoomSwitchControlVisible,this.torchControlVisible=this._torchControlVisible,this.miniPreview.size=this.settings.defaultMiniPreviewSize,this.targetModeButtonVisible=this._targetModeButtonVisible,this.scanningBehaviorButtonVisible=this._scanningBehaviorButtonVisible,this.barcodeFindButtonVisible=this._barcodeFindButtonVisible,this.labelCaptureButtonVisible=this._labelCaptureButtonVisible,this.cameraSwitchButtonVisible=this._cameraSwitchButtonVisible,this.triggerButtonVisible=this._triggerButtonVisible;for(let[i,t]of [[this.triggerButtonCollapsedColor,a$5],[this.triggerButtonExpandedColor,c$1],[this.triggerButtonAnimationColor,e],[this.triggerButtonTintColor,f$1],[this.toolbarBackgroundColor,g],[this.toolbarIconActiveTintColor,h$1],[this.toolbarIconInactiveTintColor,i$1]])i&&this.style.setProperty(t,`#${i.toJSON()}`);this.setTriggerButtonPressedColor("triggerButtonCollapsedColor",a$5,b$1),this.setTriggerButtonPressedColor("triggerButtonExpandedColor",c$1,d$2),this.addMiniPreviewListeners(),this.addTriggerButtonListeners(),this.orientationObserver.register(),document.addEventListener("pointerup",this.clickOutsideListener),document.addEventListener("visibilitychange",this.visibilityChangeListener),this.orientationObserver.addEventListener(orientationChangeEvent,this.orientationChangeListener),this.orientationObserver.dispatchOrientationChangeEvent(this.orientationObserver.orientation),this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),(e$1=window.visualViewport)==null||e$1.addEventListener("resize",this.onResizeHandler),this._isConnected=true,this._maybeAutoPrepareScanning();}disconnectedCallback(){var e,i;this.miniPreviewTimeout.stop(),(e=this.resizeObserver)==null||e.disconnect(),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(orientationChangeEvent,this.orientationChangeListener),this.removeMiniPreviewListeners(),this.removeTriggerButtonListeners(),document.removeEventListener("pointerup",this.clickOutsideListener),document.removeEventListener("visibilitychange",this.visibilityChangeListener),(i=window.visualViewport)==null||i.removeEventListener("resize",this.onResizeHandler);for(let t of Array.from(this.children))t.remove();this._isConnected=false;}setTorchAvailable(e){this._isTorchAvailable=e,this.torchControlVisible=this._torchControlVisible;}setZoomAvailable(e){this._isZoomAvailable=e,this.zoomSwitchControlVisible=this._zoomSwitchControlVisible;}switchToIdleState(){this.miniPreview.darkened=false,this.miniPreview.visible=false,this.miniPreview.hideToast(),this.triggerButton.expanded=false,this.triggerButton.stopPulsating();}async switchToActiveState(e,i,t,r){this.miniPreviewTimeout.stop(),this.miniPreview.hideToast(),this.miniPreview.cancelFadeOut(),this.miniPreview.darkened=false,this.miniPreview.visible=true,this.triggerButton.expanded=true,this.triggerButton.startPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=i),e&&(t&&this.style.setProperty(j$1,`#${t.toJSON()}`),await this.visualFeedback.emitSuccessFeedback()),r===true&&this.miniPreview.showToast("warning",this._zoomedInMessage,1e3);}async switchToInactiveState(e,i,t,r){this.miniPreview.darkened=t==="persistent"||e,this.miniPreview.visible=t==="persistent"||e,this.triggerButton.expanded=true,this.triggerButton.stopPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=i),e&&(r&&this.style.setProperty(j$1,`#${r.toJSON()}`),await this.visualFeedback.emitSuccessFeedback(),t==="default"&&this.miniPreviewTimeout.start()),t==="persistent"&&this.miniPreview.showToast("warning",this._scanPausedMessage,Number.POSITIVE_INFINITY);}async switchToErrorState(e,i){e.resumeCapturingDelay>0&&(this.triggerButton.stopPulsating(),this.miniPreview.showToast("error",e.message,e.resumeCapturingDelay)),i&&(this.style.setProperty(k$1,`#${e.visualFeedbackColor.toJSON()}`),await this.visualFeedback.emitErrorFeedback());}async onMiniPreviewPointerUp(){await this.presenter.onMiniPreviewPointerUp();}onMiniPreviewPointerMove(){this.presenter.onMiniPreviewPointerMove();}async onMiniPreviewButtonTap(e){switch(e.detail.tapped){case "torchButton":{await this.presenter.onTorchButtonTap(e.detail.enabled);break}case "closeButton":{await this.presenter.onMiniPreviewCloseButtonTap();break}case "resizeButton":{this.presenter.onMiniPreviewResizeButtonTap();break}case "zoomButton":{await this.presenter.onMiniPreviewZoomButtonTap(e.detail.zoomFactor);break}}this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}async onMiniPreviewDrag(e){e instanceof a$6&&await this.presenter.onMiniPreviewDrag(e.point,this.orientationObserver.orientation.type);}async onMiniPreviewDragEnd(e){e instanceof a$6&&await this.presenter.onMiniPreviewDragEnd();}async onMiniPreviewVisibilityChange(e){await this.presenter.onMiniPreviewVisibilityChange(e.detail.visible);}async onTriggerButtonPointerDown(){await this.presenter.onTriggerButtonPointerDown();}async onTriggerButtonTap(){await this.presenter.onTriggerButtonTap();}async onTriggerButtonLongPressStart(){this.holdingToScan||(this.holdingToScan=true,await this.presenter.onTriggerButtonLongPressStart());}async onTriggerButtonLongPressEnd(){this.holdingToScan&&(this.holdingToScan=false,await this.presenter.onTriggerButtonLongPressEnd());}onTriggerButtonDrag(e){e instanceof a$6&&this.presenter.onTriggerButtonDrag(e.point,this.orientationObserver.orientation.type);}async onToolbarButtonTap(e){switch(this.miniPreview.rewindAnimation(),e.detail.tapped){case "targetModeButton":{await this.onTargetModeButtonTap(e);return}case "scanningBehaviorButton":{await this.onScanningBehaviorButtonTap(e);return}case "barcodeFindButton":{await this.onBarcodeFindButtonTap();return}case "labelCaptureButton":{await this.onLabelCaptureButtonTap();return}case "cameraSwitchButton":await this.onCameraSwitchButtonTap();}}async onClickOutside(e){e.composedPath().includes(this)||await this.presenter.onClickOutside();}async onVisibilityChange(){document.visibilityState==="hidden"&&await this.presenter.onVisibilityChange();}async onTargetModeButtonTap(e){await this.presenter.onTargetModeButtonTap(e.detail.enabled);}async onScanningBehaviorButtonTap(e){await this.presenter.onScanningBehaviorButtonTap(e.detail.enabled);}async onBarcodeFindButtonTap(){await this.presenter.onBarcodeFindButtonTap();}async onLabelCaptureButtonTap(){await this.presenter.onLabelCaptureButtonTap();}async onCameraSwitchButtonTap(){this.torchControlVisible=false,await this.presenter.onCameraSwitchButtonTap();}async onTorchButtonTap(e){await this.presenter.onTorchButtonTap(e.detail.enabled);}async onMiniPreviewTimeoutFinished(){await this.miniPreview.fadeOut();}async onOrientationChange(e){this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),this.miniPreview.orientation=e.detail.type;let i,t,r,n;switch(e.detail.type){case "landscape-primary":case "landscape-secondary":{i=this.presenter.landscapeOrientationTriggerButtonTranslateX,t=this.presenter.landscapeOrientationTriggerButtonTranslateY,r=this.presenter.landscapeOrientationMiniPreviewTranslateX,n=this.presenter.landscapeOrientationMiniPreviewTranslateY;break}case "portrait-primary":case "portrait-secondary":{i=this.presenter.portraitOrientationTriggerButtonTranslateX,t=this.presenter.portraitOrientationTriggerButtonTranslateY,r=this.presenter.portraitOrientationMiniPreviewTranslateX,n=this.presenter.portraitOrientationMiniPreviewTranslateY;break}}this.triggerButton.translateTo(new Point(i,t)),this.miniPreview.translateTo(new Point(r,n)),await this.presenter.onOrientationChange();}targetModeButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._targetModeEnabledMessage:this._targetModeDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[e$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}scanningBehaviorButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._continuousModeEnabledMessage:this._continuousModeDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=e?"continuous":"single"),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}torchButtonTapped(e,i=true){if(i){let t=e?"warning":"info",r=e?this._torchEnabledMessage:this._torchDisabledMessage;this.miniPreview.showToast(t,r,1e3);}this.miniPreview.toolbar&&(this.miniPreview[g$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}cameraSwitchButtonTapped(e,i){var t;this.torchControlVisible=e,(t=this.miniPreview.toolbar)==null||t.enableCameraSwitchButton(i===CameraPosition.UserFacing);}getDefaultCssVariableValue(e){return window.getComputedStyle(this).getPropertyValue(e)}setTriggerButtonPressedColor(e,i,t){var o;let r=(o=this[e])!=null?o:Color.fromHex(this.getDefaultCssVariableValue(i)),n=clamp(r.alpha+r.alpha*.25,r.alpha,255),a=r.withAlpha(n);this.style.setProperty(t,`#${a.toJSON()}`);}addMiniPreviewListeners(){for(let[e,i]of this.miniPreviewListeners)this.miniPreview.addEventListener(e,i);}removeMiniPreviewListeners(){for(let[e,i]of this.miniPreviewListeners)this.miniPreview.removeEventListener(e,i);}addTriggerButtonListeners(){for(let[e,i]of this.triggerButtonListeners)this.triggerButton.addEventListener(e,i);}removeTriggerButtonListeners(){for(let[e,i]of this.triggerButtonListeners)this.triggerButton.removeEventListener(e,i);}repositionElementsIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds(),this.miniPreview.repositionIfOutOfBounds();}repositionMiniPreviewIfOutOfBounds(){this.miniPreview.repositionIfOutOfBounds();}repositionTriggerButtonIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds();}};export{W as a};
@@ -1 +1 @@
1
- import {a}from'./chunk-6AFGFFR3.js';import {a as a$1}from'./chunk-TRITJ43A.js';import {unknownErrorToString}from'@scandit/web-datacapture-core/build/js/private/utils/unknownErrorToString.js';import {WorkerMain}from'@scandit/web-datacapture-core/build/js/worker/index.js';var i=class extends WorkerMain{constructor(t,a$1){super(t,a$1),this.dataCaptureInstance=new a(a$1,{postMessage:this.postMessage.bind(this),getOffscreenCanvas:this.getOffscreenCanvas.bind(this)});}async respondWith(t,a,r){let d=null,e;try{e=r(),e instanceof Promise&&(e=await e);}catch(c){e=void 0,d=unknownErrorToString(c);}let s={type:"workerTaskId",command:t,id:a,payload:this.hasPayload(e)?e.payload:void 0};d!=null&&(s.error=d),this.postMessage(s,this.hasTransferables(e)?e.transferables:[]);}onMessage(t){switch(t.data.command){case "sparkScanEmitErrorFeedback":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.emitErrorFeedback(a.shouldRemoveBrush);}),true}case "sparkScanOverlayReadyForDraw":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.overlayReadyForDraw();}),true}case "sparkScanOverlayDiscardEnqueuedData":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.discardEnqueuedData();}),true}case "sparkScanAnalyticsManagerPropertyChanged":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.sparkScanMode.analyticsManagerPropertyChanged(a.property);}),true}case "sparkScanSelectItemWithSmartScanSelection":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.sparkScanMode.selectItemWithSmartScanSelection();}),true}case "sparkScanModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.sparkScanMode.removeMode()),true}case "barcodeFindForSettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.forSettings(a.settings)),true}case "barcodeFindModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.removeMode()),true}case "barcodeFindSearchStart":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.start();}),true;case "barcodeFindSearchPause":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.pause();}),true;case "barcodeFindSearchStop":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.stop();}),true;case "barcodeFindSetItemList":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.setItemList(a.itemList);}),true}case "barcodeFindSetEnabled":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.setEnabled(a.enabled);}),true}case "barcodeFindApplySettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.applySettings(a.settings)),true}case "barcodeFindAddBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.addBasicOverlay();}),true}case "barcodeFindRemoveBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.removeBasicOverlay();}),true}case "barcodeFindUpdateBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.updateBasicOverlay(a.jsonOverlay);}),true}case "barcodeFindSetTransformerFunction":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{let r=a$1(a.functionAsString);this.dataCaptureInstance.barcodeFindMode.setTransformerFunction(r);}),true}case "barcodeArForSettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeArMode.forSettings(a.settings)),true}case "barcodeArModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeArMode.removeMode()),true}case "barcodeArSearchStart":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.start();}),true;case "barcodeArSearchPause":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.pause();}),true;case "barcodeArSearchStop":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.stop();}),true;case "barcodeArSetEnabled":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.setEnabled(a.enabled);}),true}case "barcodeArApplySettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeArMode.applySettings(a.settings);}),true}default:return super.onMessage(t)}}};export{i as a};
1
+ import {a}from'./chunk-HIYAJTYQ.js';import {a as a$1}from'./chunk-TRITJ43A.js';import {unknownErrorToString}from'@scandit/web-datacapture-core/build/js/private/utils/unknownErrorToString.js';import {WorkerMain}from'@scandit/web-datacapture-core/build/js/worker/index.js';var i=class extends WorkerMain{constructor(t,a$1){super(t,a$1),this.dataCaptureInstance=new a(a$1,{postMessage:this.postMessage.bind(this),getOffscreenCanvas:this.getOffscreenCanvas.bind(this)});}async respondWith(t,a,r){let d=null,e;try{e=r(),e instanceof Promise&&(e=await e);}catch(c){e=void 0,d=unknownErrorToString(c);}let s={type:"workerTaskId",command:t,id:a,payload:this.hasPayload(e)?e.payload:void 0};d!=null&&(s.error=d),this.postMessage(s,this.hasTransferables(e)?e.transferables:[]);}onMessage(t){switch(t.data.command){case "sparkScanEmitErrorFeedback":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.emitErrorFeedback(a.shouldRemoveBrush);}),true}case "sparkScanOverlayReadyForDraw":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.overlayReadyForDraw();}),true}case "sparkScanOverlayDiscardEnqueuedData":{let{data:a}=t;return this.respondWith(a.command,a.id,()=>{this.dataCaptureInstance.sparkScanMode.discardEnqueuedData();}),true}case "sparkScanAnalyticsManagerPropertyChanged":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.sparkScanMode.analyticsManagerPropertyChanged(a.property);}),true}case "sparkScanSelectItemWithSmartScanSelection":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.sparkScanMode.selectItemWithSmartScanSelection();}),true}case "sparkScanModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.sparkScanMode.removeMode()),true}case "barcodeFindForSettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.forSettings(a.settings)),true}case "barcodeFindModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.removeMode()),true}case "barcodeFindSearchStart":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.start();}),true;case "barcodeFindSearchPause":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.pause();}),true;case "barcodeFindSearchStop":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.stop();}),true;case "barcodeFindSetItemList":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.setItemList(a.itemList);}),true}case "barcodeFindSetEnabled":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeFindMode.setEnabled(a.enabled);}),true}case "barcodeFindApplySettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeFindMode.applySettings(a.settings)),true}case "barcodeFindAddBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.addBasicOverlay();}),true}case "barcodeFindRemoveBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.removeBasicOverlay();}),true}case "barcodeFindUpdateBasicOverlay":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeFindMode.updateBasicOverlay(a.jsonOverlay);}),true}case "barcodeFindSetTransformerFunction":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{let r=a$1(a.functionAsString);this.dataCaptureInstance.barcodeFindMode.setTransformerFunction(r);}),true}case "barcodeArForSettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeArMode.forSettings(a.settings)),true}case "barcodeArModeRemove":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>this.dataCaptureInstance.barcodeArMode.removeMode()),true}case "barcodeArSearchStart":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.start();}),true;case "barcodeArSearchPause":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.pause();}),true;case "barcodeArSearchStop":return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.stop();}),true;case "barcodeArSetEnabled":{let{data:a}=t;return this.respondWith(t.data.command,t.data.id,()=>{this.dataCaptureInstance.barcodeArMode.setEnabled(a.enabled);}),true}case "barcodeArApplySettings":{let{data:a}=t;return this.respondWith(a.command,a.id,async()=>{this.dataCaptureInstance.barcodeArMode.applySettings(a.settings);}),true}default:return super.onMessage(t)}}};export{i as a};
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-SNPWBV7Y.js';import {b}from'./chunk-GSBLONIX.js';import {a}from'./chunk-HCPEEQRO.js';import {CameraSettings,convertToPublicFrameData}from'@scandit/web-datacapture-core';import {warnMultithreadingUnavailable}from'@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js';var o=class n{constructor(){this.skipSerialization=true;this.type="barcodeAr";this._isEnabled=true;this._context=null;this.listeners=new Set;this.privateListeners=new Set;this.workerMessageListener=this.onWorkerMessage.bind(this);}get context(){return this._context}static createRecommendedCameraSettings(){return new CameraSettings(b)}set context(e){this._context=e;}get allListeners(){return [...this.privateListeners,...this.listeners]}static async forContext(e,t){warnMultithreadingUnavailable();let r=new n;return r.feedback=await a.createDefaultBarcodeArFeedback(),r.settings=t,await e.setMode(r),r}isEnabled(){return this._isEnabled}addListener(e){this.listeners.add(e);}removeListener(e){this.listeners.delete(e);}set feedback(e){this._feedback=e;}get feedback(){return this._feedback}async setEnabled(e){var t;this._isEnabled=e,await this.workerCommand("barcodeArSetEnabled",{enabled:e}),await((t=this.context)==null?void 0:t.update([{type:"modeEnabled",newValue:e}],{updateContext:false}));}async applySettings(e){this.settings=e,await this.workerCommand("barcodeArApplySettings",{settings:e.toJSONObject()});}toJSONObject(){return {type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()}}async attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener),await this.workerCommand("barcodeArForSettings",{settings:this.settings.toJSONObject()});}async detachedFromContext(){var e;await this.workerCommand("barcodeArModeRemove",{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null;}async start(){return this.workerCommand("barcodeArSearchStart",{})}async stop(){return this.workerCommand("barcodeArSearchStop",{})}async pause(){return this.workerCommand("barcodeArSearchPause",{})}async workerCommand(e,t){this.context!=null&&await this.context.workerCommand(e,t);}addPrivateListener(e){this.privateListeners.add(e);}removePrivateListener(e){this.privateListeners.delete(e);}async onWorkerMessage(e){var t;switch(e.type){case "barcodeArDidUpdateSession":{if(!this._isEnabled||!this._context)return;for(let r of this.allListeners)(t=r.didUpdateSession)==null||t.call(r,this,a$1.fromJSON(e.payload.session),convertToPublicFrameData(e.payload.frameData,this._context));break}}}};export{o as a};
1
+ import {a as a$1}from'./chunk-SNPWBV7Y.js';import {b}from'./chunk-GSBLONIX.js';import {a}from'./chunk-AH4V63YU.js';import {CameraSettings,convertToPublicFrameData}from'@scandit/web-datacapture-core';import {warnMultithreadingUnavailable}from'@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js';var o=class n{constructor(){this.skipSerialization=true;this.type="barcodeAr";this._isEnabled=true;this._context=null;this.listeners=new Set;this.privateListeners=new Set;this.workerMessageListener=this.onWorkerMessage.bind(this);}get context(){return this._context}static createRecommendedCameraSettings(){return new CameraSettings(b)}set context(e){this._context=e;}get allListeners(){return [...this.privateListeners,...this.listeners]}static async forContext(e,t){warnMultithreadingUnavailable();let r=new n;return r.feedback=await a.createDefaultBarcodeArFeedback(),r.settings=t,await e.setMode(r),r}isEnabled(){return this._isEnabled}addListener(e){this.listeners.add(e);}removeListener(e){this.listeners.delete(e);}set feedback(e){this._feedback=e;}get feedback(){return this._feedback}async setEnabled(e){var t;this._isEnabled=e,await this.workerCommand("barcodeArSetEnabled",{enabled:e}),await((t=this.context)==null?void 0:t.update([{type:"modeEnabled",newValue:e}],{updateContext:false}));}async applySettings(e){this.settings=e,await this.workerCommand("barcodeArApplySettings",{settings:e.toJSONObject()});}toJSONObject(){return {type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()}}async attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener),await this.workerCommand("barcodeArForSettings",{settings:this.settings.toJSONObject()});}async detachedFromContext(){var e;await this.workerCommand("barcodeArModeRemove",{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null;}async start(){return this.workerCommand("barcodeArSearchStart",{})}async stop(){return this.workerCommand("barcodeArSearchStop",{})}async pause(){return this.workerCommand("barcodeArSearchPause",{})}async workerCommand(e,t){this.context!=null&&await this.context.workerCommand(e,t);}addPrivateListener(e){this.privateListeners.add(e);}removePrivateListener(e){this.privateListeners.delete(e);}async onWorkerMessage(e){var t;switch(e.type){case "barcodeArDidUpdateSession":{if(!this._isEnabled||!this._context)return;for(let r of this.allListeners)(t=r.didUpdateSession)==null||t.call(r,this,a$1.fromJSON(e.payload.session),convertToPublicFrameData(e.payload.frameData,this._context));break}}}};export{o as a};
@@ -1 +1 @@
1
- import {a}from'./chunk-HCPEEQRO.js';import {TorchState,isCameraFrameSource,Camera,CameraPosition,FrameSourceState}from'@scandit/web-datacapture-core';var l=class{constructor(e,t,a,s,r){this.torchState=TorchState.Off;this.cameraSupportMap=new Map;this.cameras=[];this.view=e,this.context=t,this.barcodeAr=a,this.viewSettings=s,this.cameraSettings=r;}get currentCamera(){if(isCameraFrameSource(this.context.frameSource))return this.context.frameSource;throw new Error("The current frame source is not a Camera")}isCameraMirrored(){return this.currentCamera.getMirrorImageEnabled()}async prepare(){var a$1,s,r;await this.barcodeAr.setEnabled(false),this.barcodeAr.feedback=await a.createWithOptions(this.viewSettings.soundEnabled,this.viewSettings.hapticEnabled),this.barcodeAr.addPrivateListener(this),this.cameras=await Camera.getAll(false,isCameraFrameSource(this.context.frameSource));let e=isCameraFrameSource(this.context.frameSource)?this.context.frameSource:(r=(s=(a$1=this.cameras.find(o=>o.position===this.viewSettings.defaultCameraPosition))!=null?a$1:this.cameras.find(o=>o.position===(this.viewSettings.defaultCameraPosition===CameraPosition.WorldFacing?CameraPosition.UserFacing:CameraPosition.WorldFacing)))!=null?s:this.cameras[0])!=null?r:Camera.pickBestGuess();await this.context.setFrameSource(e),await this.currentCamera.applySettings(this.cameraSettings),await this.currentCamera.switchToDesiredState(FrameSourceState.Standby);let t=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(t);}async dispose(){var e;this.view.deleteAllViews(),await this.context.removeMode(this.barcodeAr),this.barcodeAr.removePrivateListener(this),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Off));}async startSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.On)),await this.barcodeAr.setEnabled(true),await this.barcodeAr.start();}async stopSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Off)),await this.barcodeAr.setEnabled(false),await this.barcodeAr.stop();}async pauseSearching(){var e;this.view.deletePendingViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Standby)),await this.barcodeAr.setEnabled(false),await this.barcodeAr.pause();}emitTappedFeedback(){this.barcodeAr.feedback.tapped.emit();}didUpdateSession(e,t){Object.keys(t.addedTrackedBarcodes).length>0&&this.barcodeAr.feedback.scanned.emit(),this.view.render(t);}async isTorchAvailableForCurrentCamera(){let e=this.currentCamera.label,t=this.cameraSupportMap.get(e);if(t!==void 0)return t.torch;let a=await this.currentCamera.isTorchAvailable();return this.cameraSupportMap.set(e,{torch:a}),a}async onTorchButtonClicked(){let e=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(e),e&&(await this.currentCamera.setDesiredTorchState(this.torchState===TorchState.Off?TorchState.On:TorchState.Off),this.torchState=this.torchState===TorchState.Off?TorchState.On:TorchState.Off,this.view.toggleTorchIcon(this.torchState));}async onCameraSwitchButtonClicked(){var r,o;let e=this.currentCamera.getCurrentState(),t=this.currentCamera.position===CameraPosition.UserFacing?CameraPosition.WorldFacing:CameraPosition.UserFacing,a=(o=(r=this.cameras.find(p=>p.position===t))!=null?r:this.cameras[0])!=null?o:Camera.pickBestGuessForPosition(t);await this.context.setFrameSource(a),await this.currentCamera.switchToDesiredState(e);let s=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(s);}};export{l as a};
1
+ import {a}from'./chunk-AH4V63YU.js';import {TorchState,isCameraFrameSource,Camera,CameraPosition,FrameSourceState}from'@scandit/web-datacapture-core';var l=class{constructor(e,t,a,s,r){this.torchState=TorchState.Off;this.cameraSupportMap=new Map;this.cameras=[];this.view=e,this.context=t,this.barcodeAr=a,this.viewSettings=s,this.cameraSettings=r;}get currentCamera(){if(isCameraFrameSource(this.context.frameSource))return this.context.frameSource;throw new Error("The current frame source is not a Camera")}isCameraMirrored(){return this.currentCamera.getMirrorImageEnabled()}async prepare(){var a$1,s,r;await this.barcodeAr.setEnabled(false),this.barcodeAr.feedback=await a.createWithOptions(this.viewSettings.soundEnabled,this.viewSettings.hapticEnabled),this.barcodeAr.addPrivateListener(this),this.cameras=await Camera.getAll(false,isCameraFrameSource(this.context.frameSource));let e=isCameraFrameSource(this.context.frameSource)?this.context.frameSource:(r=(s=(a$1=this.cameras.find(o=>o.position===this.viewSettings.defaultCameraPosition))!=null?a$1:this.cameras.find(o=>o.position===(this.viewSettings.defaultCameraPosition===CameraPosition.WorldFacing?CameraPosition.UserFacing:CameraPosition.WorldFacing)))!=null?s:this.cameras[0])!=null?r:Camera.pickBestGuess();await this.context.setFrameSource(e),await this.currentCamera.applySettings(this.cameraSettings),await this.currentCamera.switchToDesiredState(FrameSourceState.Standby);let t=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(t);}async dispose(){var e;this.view.deleteAllViews(),await this.context.removeMode(this.barcodeAr),this.barcodeAr.removePrivateListener(this),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Off));}async startSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.On)),await this.barcodeAr.setEnabled(true),await this.barcodeAr.start();}async stopSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Off)),await this.barcodeAr.setEnabled(false),await this.barcodeAr.stop();}async pauseSearching(){var e;this.view.deletePendingViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(FrameSourceState.Standby)),await this.barcodeAr.setEnabled(false),await this.barcodeAr.pause();}emitTappedFeedback(){this.barcodeAr.feedback.tapped.emit();}didUpdateSession(e,t){Object.keys(t.addedTrackedBarcodes).length>0&&this.barcodeAr.feedback.scanned.emit(),this.view.render(t);}async isTorchAvailableForCurrentCamera(){let e=this.currentCamera.label,t=this.cameraSupportMap.get(e);if(t!==void 0)return t.torch;let a=await this.currentCamera.isTorchAvailable();return this.cameraSupportMap.set(e,{torch:a}),a}async onTorchButtonClicked(){let e=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(e),e&&(await this.currentCamera.setDesiredTorchState(this.torchState===TorchState.Off?TorchState.On:TorchState.Off),this.torchState=this.torchState===TorchState.Off?TorchState.On:TorchState.Off,this.view.toggleTorchIcon(this.torchState));}async onCameraSwitchButtonClicked(){var r,o;let e=this.currentCamera.getCurrentState(),t=this.currentCamera.position===CameraPosition.UserFacing?CameraPosition.WorldFacing:CameraPosition.UserFacing,a=(o=(r=this.cameras.find(p=>p.position===t))!=null?r:this.cameras[0])!=null?o:Camera.pickBestGuessForPosition(t);await this.context.setFrameSource(a),await this.currentCamera.switchToDesiredState(e);let s=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(s);}};export{l as a};
@@ -1 +1 @@
1
- import {a as a$2}from'./chunk-NURJBECA.js';import {a as a$4}from'./chunk-SLZMFNXI.js';import {a as a$1}from'./chunk-2ZSOWJ2F.js';import {a}from'./chunk-YTPS5MHJ.js';import {a as a$3}from'./chunk-FBW5J2QT.js';import {b}from'./chunk-JT5ITKYW.js';import {DataCaptureEngine}from'@scandit/web-datacapture-core/build/js/worker/index.js';var c=class extends DataCaptureEngine{constructor(e,r){super(e,r);}getModeDeserializers(){this.barcodeCaptureMode=new a(this,this.Module,this.workerFunctions),this.barcodeBatchMode=new a$1(this,this.Module,this.workerFunctions),this.sparkScanMode=new a$2(this,this.Module,this.workerFunctions),this.barcodeFindMode=new a$3(this,this.Module,this.workerFunctions),this.barcodeArMode=new a$4(this,this.Module,this.workerFunctions);let e=super.getModeDeserializers();return e.push_back(this.barcodeCaptureMode.getCaptureDeserializer()),e.push_back(this.barcodeBatchMode.getBatchDeserializer()),e.push_back(this.sparkScanMode.getSparkScanDeserializer()),e}getWasmSideModuleFileName(){return ""}getWasmCoreFileName(e,r){return r?e?"scandit-datacapture-sdk-barcode-simd-pthreads.wasm":"scandit-datacapture-sdk-barcode-pthreads.wasm":e?"scandit-datacapture-sdk-barcode-simd.wasm":"scandit-datacapture-sdk-barcode.wasm"}getWasmCoreExpectedHash(e,r){return r?e?"529c4292060454636aeac9635245fb21fe1bc9982ade548983c96991e0dc4305":"c409e905ca093b546d5f7a0008094b04dd67ff9016787a0145357e7f9a13c6c9":e?"2bd471396b6d0cd37dcf0893f218bfddfdaab79de48d212555829e5f2b0dcb08":"7b6331b602c7f6a4bb5925ac90caf8a603eaaf77166d12c4c4c792b8ac9bf5ec"}getWasmMetadata(){return b}};export{c as a};
1
+ import {a as a$2}from'./chunk-NURJBECA.js';import {a as a$4}from'./chunk-SLZMFNXI.js';import {a as a$1}from'./chunk-2ZSOWJ2F.js';import {a}from'./chunk-YTPS5MHJ.js';import {a as a$3}from'./chunk-FBW5J2QT.js';import {b}from'./chunk-IRCZMBPG.js';import {DataCaptureEngine}from'@scandit/web-datacapture-core/build/js/worker/index.js';var c=class extends DataCaptureEngine{constructor(e,r){super(e,r);}getModeDeserializers(){this.barcodeCaptureMode=new a(this,this.Module,this.workerFunctions),this.barcodeBatchMode=new a$1(this,this.Module,this.workerFunctions),this.sparkScanMode=new a$2(this,this.Module,this.workerFunctions),this.barcodeFindMode=new a$3(this,this.Module,this.workerFunctions),this.barcodeArMode=new a$4(this,this.Module,this.workerFunctions);let e=super.getModeDeserializers();return e.push_back(this.barcodeCaptureMode.getCaptureDeserializer()),e.push_back(this.barcodeBatchMode.getBatchDeserializer()),e.push_back(this.sparkScanMode.getSparkScanDeserializer()),e}getWasmSideModuleFileName(){return ""}getWasmCoreFileName(e,r){return r?e?"scandit-datacapture-sdk-barcode-simd-pthreads.wasm":"scandit-datacapture-sdk-barcode-pthreads.wasm":e?"scandit-datacapture-sdk-barcode-simd.wasm":"scandit-datacapture-sdk-barcode.wasm"}getWasmCoreExpectedHash(e,r){return r?e?"eeb70bea8f420ec6bb51ffe9042b5d62387f8dd7b2bab8c7dba9cdab9fa6c355":"95c0c9f1073b02773d584c29083896aa127b61149ef039cc1d79e80164b3d774":e?"bfed843f3d4b03f7d0bc350a4d1bdd7ec4205adbebf4b050a110d8a36bf24994":"bb9152fab66a95a51c58facce81e013e41b21e1f476146b2614262cf5509ed6c"}getWasmMetadata(){return b}};export{c as a};
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-QCD3RIT4.js';import {a as a$5}from'./chunk-3OCPZ3OV.js';import {a as a$4}from'./chunk-BQN77WP5.js';import {a as a$7}from'./chunk-S4QFMFLQ.js';import {a as a$6}from'./chunk-L6BUOAGT.js';import {a as a$3}from'./chunk-GCXWZHE6.js';import {c as c$1,b as b$2}from'./chunk-SZUPDKV5.js';import {b}from'./chunk-RU7XJPB3.js';import {a as a$2,b as b$1,c}from'./chunk-PMTVYYAY.js';import {a as a$8}from'./chunk-HDODW33D.js';import {a}from'./chunk-JT5ITKYW.js';import {Logger,DataCaptureView,Anchor,LogoStyle,TorchState,Color,NumberWithUnit,RadiusLocationSelection}from'@scandit/web-datacapture-core';import {SafeStorage}from'@scandit/web-datacapture-core/build/js/private/utils/safeStorage.js';function d(I,e,a){let t=a.value;return typeof t!="function"?(Logger.warn(`@afterPrepareScanning applied to non-function: ${e}`),a):t.constructor.name==="AsyncFunction"||t.constructor===(async()=>{}).constructor?(a.value=function(...n){return this._preparationPromise?this._preparationPromise.then(()=>t.apply(this,n)):Promise.reject(new Error(`prepare should be called before calling ${e} method`))},a):(Logger.warn(`@afterPrepareScanning applied to non-async method: ${e}`),a)}var s=class s{constructor(e,a){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.cameraManager=new a$3,this.setSparkScanViewSettings(a);}get camera(){return this.cameraManager.camera}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.overlayManager=new a$4(this.sparkScanViewSettings),this.stateManager=new a$5(this.sparkScanViewSettings,this.preferenceManager),this.feedbackManager=a$6.withDefaults(this.sparkScanViewSettings.soundEnabled,this.sparkScanViewSettings.hapticEnabled),this.timeoutManager=new a$7(this.sparkScanViewSettings,this);}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,a;return {width:(e=this.sparkScanView.parentElement.clientWidth)!=null?e:window.innerWidth,height:(a=this.sparkScanView.parentElement.clientHeight)!=null?a:window.innerHeight}}get defaultMiniPreviewTranslateY(){return 16}static forView(e,a){return new s(e,a)}async prepareScanning(e){if(this._preparationPromise)return this._preparationPromise;this._stopScanningPromise&&await this._stopScanningPromise,this._preparationPromise=this._internalPrepareScanning(e);try{await this._preparationPromise;}catch(a){throw this._preparationPromise=null,a}return this._preparationPromise}async _internalPrepareScanning(e){let a=this.context$,t=this.sparkScan$;this._dataCaptureView=await DataCaptureView.forContext(a),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=await this.cameraManager.prepareScanning(a,this.sparkScanViewSettings);this.sparkScanView.setTorchAvailable(i.isTorchAvailable),this.sparkScanView.setZoomAvailable(i.isZoomAvailable),this.sparkScanView.cameraSwitchButtonTapped(i.isTorchAvailable,i.cameraPosition),await a.setMode(t),t.addListener(this),t.setDelegate(this),await this.overlayManager.prepareScanning(t,this._dataCaptureView,this.stateManager.scanningBehavior),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;this.timeoutManager.stopCurrentTimeout();let a=this.context$,t=this.sparkScan$;await t.setEnabled(false),t.removeListener(this),t.setDelegate(void 0),await a.removeMode(t),await this.cameraManager.stopScanning(),(i=this._dataCaptureView)==null||i.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":case "error":{await this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback});return}case "active":{if(this.stateManager.inSmartScanSelection){this.timeoutManager.restartCurrentTimeout(),await this.sparkScan$.selectItemWithSmartScanSelection();return}await(this.stateManager.continuousModeEnabled?this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:this.silentBarcodeFeedback}):this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback}));}}}async onTriggerButtonLongPressStart(){this.stateManager.triggerButtonPressed=true,this.sparkScanViewSettings.holdToScanEnabled&&(this.scanningBehaviorCache=this.stateManager.scanningBehavior,this.stateManager.scanningBehavior="continuous",this.stateManager.holdingToScan=true,await this.overlayManager.setShouldRemoveLocationsAfterScan(true),await this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback}));}async onTriggerButtonLongPressEnd(){var e;this.sparkScanViewSettings.holdToScanEnabled&&this.stateManager.state!=="error"?(this.stateManager.scanningBehavior=(e=this.scanningBehaviorCache)!=null?e:"single",this.stateManager.holdingToScan=false,await this.overlayManager.setShouldRemoveLocationsAfterScan(this.stateManager.continuousModeEnabled),await this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:this.silentErrorBarcodeFeedback})):this.stateManager.triggerButtonPressed=false;}async onClickOutside(){this.stateManager.idleState||await this.switchToIdleState({emitTapFeedback:true});}async onVisibilityChange(){await this.switchToIdleState();}async onTargetModeButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){var c,g;a.emit();let i=String(e),n={true:e&&this.stateManager.scanningMode instanceof b$2,false:!e&&this.stateManager.scanningMode instanceof c$1}[i];n&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode()),this.enableTargetModeLocationSelection(e),await this.overlayManager.setShouldDrawViewfinder(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.targetModeButtonTapped(e,t),n&&((g=(c=this.listener)==null?void 0:c.didChangeScanningMode)==null||g.call(c,this.stateManager.scanningMode),this.analyticsManager.setScanningMode(this.stateManager.scanningMode)),this.updateSizeControlVisibility();}async onScanningBehaviorButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){a.emit(),this.stateManager.scanningMode=this.stateManager.scanningMode.copyWith(e?"continuous":"single"),await this.overlayManager.setShouldRemoveLocationsAfterScan(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.scanningBehaviorButtonTapped(e,t),this.analyticsManager.setScanningMode(this.stateManager.scanningMode);}async onBarcodeFindButtonTap(){var e,a;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(a=(e=this.listener)==null?void 0:e.didTapBarcodeFindButton)==null||a.call(e,this.sparkScanView),this.timeoutManager.restartCurrentTimeout();}async onLabelCaptureButtonTap(){var e,a;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(a=(e=this.listener)==null?void 0:e.didTapLabelCaptureButton)==null||a.call(e,this.sparkScanView),this.timeoutManager.restartCurrentTimeout();}async onCameraSwitchButtonTap(){if(this.feedbackManager.emitTapFeedback(),this.timeoutManager.restartCurrentTimeout(),!this.camera||this.stateManager.state==="error")return;let e=await this.cameraManager.onCameraSwitchButtonTap();e&&(this.sparkScanView.cameraSwitchButtonTapped(e.isTorchAvailable,e.cameraPosition),this.analyticsManager.setCameraPosition(e.cameraPosition));}async onTorchButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){a.emit(),this.stateManager.torchState=e?TorchState.On:TorchState.Off,await this.cameraManager.onTorchButtonTap(this.stateManager.torchState),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.torchButtonTapped(e,t),this.analyticsManager.setTorchState(this.stateManager.torchState);}async onTriggerButtonCollapseTimeout(){this.stateManager.state!=="idle"&&this._preparationPromise&&await this.switchToIdleState({sessionStopReason:"timeout"});}async onInactiveStateTimeout(){this.stateManager.state!=="inactive"&&!this.stateManager.holdingToScan&&this._preparationPromise&&await this.switchToInactiveState({sessionStopReason:"timeout"});}async onResumeCapturingTimeout(){this.stateManager.state!=="active"&&this._preparationPromise&&await this.switchToActiveState();}async onMiniPreviewCloseButtonTap(){await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true});}onMiniPreviewResizeButtonTap(){(this.stateManager.state==="active"||this.stateManager.state==="inactive")&&(this.feedbackManager.emitTapFeedback(),this.timeoutManager.restartCurrentTimeout());}async onMiniPreviewZoomButtonTap(e){this.feedbackManager.emitTapFeedback(),this.stateManager.zoomFactor=e,await this.cameraManager.onMiniPreviewZoomButtonTap(e),this.timeoutManager.restartCurrentTimeout();}async onMiniPreviewDrag(e,a){switch(this.stateManager.state==="active"&&await this.sparkScan$.setEnabled(false),a){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.timeoutManager.restartCurrentTimeout();}onMiniPreviewPointerMove(){this.timeoutManager.restartCurrentTimeout();}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,a){switch(a){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.timeoutManager.restartCurrentTimeout();return}this.stateManager.state==="error"&&await this.switchToInactiveState({sessionStopReason:"user"});}async didScan(e,a){if(!a.newlyRecognizedBarcode)return;let t=this.sparkScanView.feedbackDelegate.getFeedbackForBarcode(a.newlyRecognizedBarcode);if(t){if(t instanceof b$1){await this.switchToErrorState({barcodeFeedback:t}),this.timeoutManager.restartCurrentTimeout();return}if(t instanceof c){if(this.stateManager.continuousModeEnabled){await this.switchToActiveState({barcodeFeedback:t}),this.timeoutManager.restartCurrentTimeout();return}let i=true,n="user";await this.switchToInactiveState({barcodeFeedback:t,emitSuccessFeedback:i,sessionStopReason:n}),this.timeoutManager.restartCurrentTimeout();}}}setListener(e){this.listener=e;}async onSwitchedToSmartScanSelection(){this.overlayManager.isReady&&(this.stateManager.inSmartScanSelection=true,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=this.sparkScanView.miniPreviewSize,this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection=this.sparkScanView.previewSizeControlVisible,await this.overlayManager.onSwitchedToSmartScanSelection(this._dataCaptureView),this.stateManager.targetModeEnabled||(this.sparkScanView.miniPreviewSize="expanded"),this.updateSizeControlVisibility());}async onSwitchedAwayFromSmartScanSelection(){this.overlayManager.isReady&&this.stateManager.miniPreviewSizeBeforeSmartScanSelection&&(this.stateManager.inSmartScanSelection=false,await this.overlayManager.onSwitchedAwayFromSmartScanSelection(this._dataCaptureView),this.sparkScanView.miniPreviewSize=this.stateManager.miniPreviewSizeBeforeSmartScanSelection,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=void 0,this.updateSizeControlVisibility());}get tapBarcodeFeedback(){return new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)}get silentBarcodeFeedback(){return new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.noFeedback)}get silentErrorBarcodeFeedback(){return new b$1("",0,Color.fromRGBA(0,0,0,0),this.defaultErrorBrush,this.feedbackManager.noFeedback)}async switchToIdleState(e={}){await this.sparkScan$.setEnabled(false),await this.cameraManager.onSwitchToIdleState(),e.emitTapFeedback===true&&this.feedbackManager.emitTapFeedback(),await this.overlayManager.onSwitchToIdleState(),this.setState("idle"),this.timeoutManager.onSwitchToIdleState(),this.stateManager.triggerButtonPressed=false,this.sparkScanView.switchToIdleState(),e.sessionStopReason!=null&&this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async switchToActiveState(e={}){var t;let a=this.stateManager.state;await this.cameraManager.onSwitchToActiveState(this.stateManager.torchState),await this.overlayManager.onSwitchToActiveState(a,this.stateManager.continuousModeEnabled,e.barcodeFeedback),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),this.timeoutManager.onSwitchToActiveState(this.stateManager.holdingToScan),await this.sparkScanView.switchToActiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c,this.stateManager.scanningBehavior,(t=e.barcodeFeedback)==null?void 0:t.visualFeedbackColor,this.stateManager.zoomedIn&&a!=="active"),await this.sparkScan$.setEnabled(true),this.setState("active");}async switchToInactiveState(e){var t;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 this.overlayManager.setShouldRemoveLocationsAfterScan(true),await this.cameraManager.onSwitchToInactiveState(this.stateManager.scanningMode.previewBehavior),(e.emitSuccessFeedback)!=null||(e.emitSuccessFeedback=true),this.setState("inactive"),e.barcodeFeedback&&await this.overlayManager.setBrushForFeedback(e.barcodeFeedback),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await this.overlayManager.overlayReadyForDraw(),this.timeoutManager.onSwitchToInactiveState(),await this.sparkScanView.switchToInactiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c&&e.emitSuccessFeedback,this.stateManager.scanningBehavior,this.stateManager.previewBehavior,(t=e.barcodeFeedback)==null?void 0:t.visualFeedbackColor),this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async switchToErrorState(e){let a=e.barcodeFeedback.resumeCapturingDelay>0;a&&(await this.sparkScan$.setEnabled(false),await this.cameraManager.onSwitchToErrorState(),this.setState("error"),this.stateManager.scanningBehavior="single"),this.timeoutManager.onSwitchToErrorState(a,e.barcodeFeedback.resumeCapturingDelay),await this.overlayManager.onSwitchToErrorState(e.barcodeFeedback),await this.sparkScan$.workerCommand("sparkScanEmitErrorFeedback",{shouldRemoveBrush:!a}),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await this.sparkScanView.switchToErrorState(e.barcodeFeedback,this.sparkScanViewSettings.visualFeedbackEnabled);}enableTargetModeLocationSelection(e){let a=e?a$8.SparkScanSettings.targetModeLocationSelection.radius:a$8.SparkScanSettings.locationSelection.radius,t=e?a$8.SparkScanSettings.targetModeLocationSelection.unit:a$8.SparkScanSettings.locationSelection.unit,i=new NumberWithUnit(a,t);this.sparkScan$.settings.locationSelection=new RadiusLocationSelection(i),this.overlayManager.setRadius(i);}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 a,t;e!==this.stateManager.state&&(this.stateManager.state=e,(t=(a=this.listener)==null?void 0:a.didChangeViewState)==null||t.call(a,e));}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,a=this.sparkScanView.previewSizeControlVisible;this.sparkScanView.previewSizeControlVisible=a&&!e;}};a([d],s.prototype,"switchToActiveState",1),a([d],s.prototype,"switchToInactiveState",1),a([d],s.prototype,"switchToErrorState",1);var V=s;export{V as a};
1
+ import {a as a$1}from'./chunk-QCD3RIT4.js';import {a as a$5}from'./chunk-3OCPZ3OV.js';import {a as a$4}from'./chunk-BQN77WP5.js';import {a as a$7}from'./chunk-S4QFMFLQ.js';import {a as a$6}from'./chunk-L6BUOAGT.js';import {a as a$3}from'./chunk-GCXWZHE6.js';import {c as c$1,b as b$2}from'./chunk-SZUPDKV5.js';import {b}from'./chunk-RU7XJPB3.js';import {a as a$2,b as b$1,c}from'./chunk-PMTVYYAY.js';import {a as a$8}from'./chunk-HDODW33D.js';import {a}from'./chunk-IRCZMBPG.js';import {Logger,DataCaptureView,Anchor,LogoStyle,TorchState,Color,NumberWithUnit,RadiusLocationSelection}from'@scandit/web-datacapture-core';import {SafeStorage}from'@scandit/web-datacapture-core/build/js/private/utils/safeStorage.js';function d(I,e,a){let t=a.value;return typeof t!="function"?(Logger.warn(`@afterPrepareScanning applied to non-function: ${e}`),a):t.constructor.name==="AsyncFunction"||t.constructor===(async()=>{}).constructor?(a.value=function(...n){return this._preparationPromise?this._preparationPromise.then(()=>t.apply(this,n)):Promise.reject(new Error(`prepare should be called before calling ${e} method`))},a):(Logger.warn(`@afterPrepareScanning applied to non-async method: ${e}`),a)}var s=class s{constructor(e,a){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.cameraManager=new a$3,this.setSparkScanViewSettings(a);}get camera(){return this.cameraManager.camera}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.overlayManager=new a$4(this.sparkScanViewSettings),this.stateManager=new a$5(this.sparkScanViewSettings,this.preferenceManager),this.feedbackManager=a$6.withDefaults(this.sparkScanViewSettings.soundEnabled,this.sparkScanViewSettings.hapticEnabled),this.timeoutManager=new a$7(this.sparkScanViewSettings,this);}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,a;return {width:(e=this.sparkScanView.parentElement.clientWidth)!=null?e:window.innerWidth,height:(a=this.sparkScanView.parentElement.clientHeight)!=null?a:window.innerHeight}}get defaultMiniPreviewTranslateY(){return 16}static forView(e,a){return new s(e,a)}async prepareScanning(e){if(this._preparationPromise)return this._preparationPromise;this._stopScanningPromise&&await this._stopScanningPromise,this._preparationPromise=this._internalPrepareScanning(e);try{await this._preparationPromise;}catch(a){throw this._preparationPromise=null,a}return this._preparationPromise}async _internalPrepareScanning(e){let a=this.context$,t=this.sparkScan$;this._dataCaptureView=await DataCaptureView.forContext(a),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=await this.cameraManager.prepareScanning(a,this.sparkScanViewSettings);this.sparkScanView.setTorchAvailable(i.isTorchAvailable),this.sparkScanView.setZoomAvailable(i.isZoomAvailable),this.sparkScanView.cameraSwitchButtonTapped(i.isTorchAvailable,i.cameraPosition),await a.setMode(t),t.addListener(this),t.setDelegate(this),await this.overlayManager.prepareScanning(t,this._dataCaptureView,this.stateManager.scanningBehavior),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;this.timeoutManager.stopCurrentTimeout();let a=this.context$,t=this.sparkScan$;await t.setEnabled(false),t.removeListener(this),t.setDelegate(void 0),await a.removeMode(t),await this.cameraManager.stopScanning(),(i=this._dataCaptureView)==null||i.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":case "error":{await this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback});return}case "active":{if(this.stateManager.inSmartScanSelection){this.timeoutManager.restartCurrentTimeout(),await this.sparkScan$.selectItemWithSmartScanSelection();return}await(this.stateManager.continuousModeEnabled?this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:this.silentBarcodeFeedback}):this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback}));}}}async onTriggerButtonLongPressStart(){this.stateManager.triggerButtonPressed=true,this.sparkScanViewSettings.holdToScanEnabled&&(this.scanningBehaviorCache=this.stateManager.scanningBehavior,this.stateManager.scanningBehavior="continuous",this.stateManager.holdingToScan=true,await this.overlayManager.setShouldRemoveLocationsAfterScan(true),await this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback}));}async onTriggerButtonLongPressEnd(){var e;this.sparkScanViewSettings.holdToScanEnabled&&this.stateManager.state!=="error"?(this.stateManager.scanningBehavior=(e=this.scanningBehaviorCache)!=null?e:"single",this.stateManager.holdingToScan=false,await this.overlayManager.setShouldRemoveLocationsAfterScan(this.stateManager.continuousModeEnabled),await this.switchToInactiveState({sessionStopReason:"user",barcodeFeedback:this.silentErrorBarcodeFeedback})):this.stateManager.triggerButtonPressed=false;}async onClickOutside(){this.stateManager.idleState||await this.switchToIdleState({emitTapFeedback:true});}async onVisibilityChange(){await this.switchToIdleState();}async onTargetModeButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){var c,g;a.emit();let i=String(e),n={true:e&&this.stateManager.scanningMode instanceof b$2,false:!e&&this.stateManager.scanningMode instanceof c$1}[i];n&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode()),this.enableTargetModeLocationSelection(e),await this.overlayManager.setShouldDrawViewfinder(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.targetModeButtonTapped(e,t),n&&((g=(c=this.listener)==null?void 0:c.didChangeScanningMode)==null||g.call(c,this.stateManager.scanningMode),this.analyticsManager.setScanningMode(this.stateManager.scanningMode)),this.updateSizeControlVisibility();}async onScanningBehaviorButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){a.emit(),this.stateManager.scanningMode=this.stateManager.scanningMode.copyWith(e?"continuous":"single"),await this.overlayManager.setShouldRemoveLocationsAfterScan(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.scanningBehaviorButtonTapped(e,t),this.analyticsManager.setScanningMode(this.stateManager.scanningMode);}async onBarcodeFindButtonTap(){var e,a;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(a=(e=this.listener)==null?void 0:e.didTapBarcodeFindButton)==null||a.call(e,this.sparkScanView),this.timeoutManager.restartCurrentTimeout();}async onLabelCaptureButtonTap(){var e,a;await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true}),(a=(e=this.listener)==null?void 0:e.didTapLabelCaptureButton)==null||a.call(e,this.sparkScanView),this.timeoutManager.restartCurrentTimeout();}async onCameraSwitchButtonTap(){if(this.feedbackManager.emitTapFeedback(),this.timeoutManager.restartCurrentTimeout(),!this.camera||this.stateManager.state==="error")return;let e=await this.cameraManager.onCameraSwitchButtonTap();e&&(this.sparkScanView.cameraSwitchButtonTapped(e.isTorchAvailable,e.cameraPosition),this.analyticsManager.setCameraPosition(e.cameraPosition));}async onTorchButtonTap(e,a=this.feedbackManager.tapFeedback,t=true){a.emit(),this.stateManager.torchState=e?TorchState.On:TorchState.Off,await this.cameraManager.onTorchButtonTap(this.stateManager.torchState),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.torchButtonTapped(e,t),this.analyticsManager.setTorchState(this.stateManager.torchState);}async onTriggerButtonCollapseTimeout(){this.stateManager.state!=="idle"&&this._preparationPromise&&await this.switchToIdleState({sessionStopReason:"timeout"});}async onInactiveStateTimeout(){this.stateManager.state!=="inactive"&&!this.stateManager.holdingToScan&&this._preparationPromise&&await this.switchToInactiveState({sessionStopReason:"timeout"});}async onResumeCapturingTimeout(){this.stateManager.state!=="active"&&this._preparationPromise&&await this.switchToActiveState();}async onMiniPreviewCloseButtonTap(){await this.switchToIdleState({sessionStopReason:"user",emitTapFeedback:true});}onMiniPreviewResizeButtonTap(){(this.stateManager.state==="active"||this.stateManager.state==="inactive")&&(this.feedbackManager.emitTapFeedback(),this.timeoutManager.restartCurrentTimeout());}async onMiniPreviewZoomButtonTap(e){this.feedbackManager.emitTapFeedback(),this.stateManager.zoomFactor=e,await this.cameraManager.onMiniPreviewZoomButtonTap(e),this.timeoutManager.restartCurrentTimeout();}async onMiniPreviewDrag(e,a){switch(this.stateManager.state==="active"&&await this.sparkScan$.setEnabled(false),a){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.timeoutManager.restartCurrentTimeout();}onMiniPreviewPointerMove(){this.timeoutManager.restartCurrentTimeout();}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,a){switch(a){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.timeoutManager.restartCurrentTimeout();return}this.stateManager.state==="error"&&await this.switchToInactiveState({sessionStopReason:"user"});}async didScan(e,a){if(!a.newlyRecognizedBarcode)return;let t=this.sparkScanView.feedbackDelegate.getFeedbackForBarcode(a.newlyRecognizedBarcode);if(t){if(t instanceof b$1){await this.switchToErrorState({barcodeFeedback:t}),this.timeoutManager.restartCurrentTimeout();return}if(t instanceof c){if(this.stateManager.continuousModeEnabled){await this.switchToActiveState({barcodeFeedback:t}),this.timeoutManager.restartCurrentTimeout();return}let i=true,n="user";await this.switchToInactiveState({barcodeFeedback:t,emitSuccessFeedback:i,sessionStopReason:n}),this.timeoutManager.restartCurrentTimeout();}}}setListener(e){this.listener=e;}async onSwitchedToSmartScanSelection(){this.overlayManager.isReady&&(this.stateManager.inSmartScanSelection=true,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=this.sparkScanView.miniPreviewSize,this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection=this.sparkScanView.previewSizeControlVisible,await this.overlayManager.onSwitchedToSmartScanSelection(this._dataCaptureView),this.stateManager.targetModeEnabled||(this.sparkScanView.miniPreviewSize="expanded"),this.updateSizeControlVisibility());}async onSwitchedAwayFromSmartScanSelection(){this.overlayManager.isReady&&this.stateManager.miniPreviewSizeBeforeSmartScanSelection&&(this.stateManager.inSmartScanSelection=false,await this.overlayManager.onSwitchedAwayFromSmartScanSelection(this._dataCaptureView),this.sparkScanView.miniPreviewSize=this.stateManager.miniPreviewSizeBeforeSmartScanSelection,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=void 0,this.updateSizeControlVisibility());}get tapBarcodeFeedback(){return new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)}get silentBarcodeFeedback(){return new c(Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.noFeedback)}get silentErrorBarcodeFeedback(){return new b$1("",0,Color.fromRGBA(0,0,0,0),this.defaultErrorBrush,this.feedbackManager.noFeedback)}async switchToIdleState(e={}){await this.sparkScan$.setEnabled(false),await this.cameraManager.onSwitchToIdleState(),e.emitTapFeedback===true&&this.feedbackManager.emitTapFeedback(),await this.overlayManager.onSwitchToIdleState(),this.setState("idle"),this.timeoutManager.onSwitchToIdleState(),this.stateManager.triggerButtonPressed=false,this.sparkScanView.switchToIdleState(),e.sessionStopReason!=null&&this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async switchToActiveState(e={}){var t;let a=this.stateManager.state;await this.cameraManager.onSwitchToActiveState(this.stateManager.torchState),await this.overlayManager.onSwitchToActiveState(a,this.stateManager.continuousModeEnabled,e.barcodeFeedback),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),this.timeoutManager.onSwitchToActiveState(this.stateManager.holdingToScan),await this.sparkScanView.switchToActiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c,this.stateManager.scanningBehavior,(t=e.barcodeFeedback)==null?void 0:t.visualFeedbackColor,this.stateManager.zoomedIn&&a!=="active"),await this.sparkScan$.setEnabled(true),this.setState("active");}async switchToInactiveState(e){var t;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 this.overlayManager.setShouldRemoveLocationsAfterScan(true),await this.cameraManager.onSwitchToInactiveState(this.stateManager.scanningMode.previewBehavior),(e.emitSuccessFeedback)!=null||(e.emitSuccessFeedback=true),this.setState("inactive"),e.barcodeFeedback&&await this.overlayManager.setBrushForFeedback(e.barcodeFeedback),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await this.overlayManager.overlayReadyForDraw(),this.timeoutManager.onSwitchToInactiveState(),await this.sparkScanView.switchToInactiveState(this.sparkScanViewSettings.visualFeedbackEnabled&&e.barcodeFeedback instanceof c&&e.emitSuccessFeedback,this.stateManager.scanningBehavior,this.stateManager.previewBehavior,(t=e.barcodeFeedback)==null?void 0:t.visualFeedbackColor),this.analyticsManager.setSessionStopReason(e.sessionStopReason);}async switchToErrorState(e){let a=e.barcodeFeedback.resumeCapturingDelay>0;a&&(await this.sparkScan$.setEnabled(false),await this.cameraManager.onSwitchToErrorState(),this.setState("error"),this.stateManager.scanningBehavior="single"),this.timeoutManager.onSwitchToErrorState(a,e.barcodeFeedback.resumeCapturingDelay),await this.overlayManager.onSwitchToErrorState(e.barcodeFeedback),await this.sparkScan$.workerCommand("sparkScanEmitErrorFeedback",{shouldRemoveBrush:!a}),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await this.sparkScanView.switchToErrorState(e.barcodeFeedback,this.sparkScanViewSettings.visualFeedbackEnabled);}enableTargetModeLocationSelection(e){let a=e?a$8.SparkScanSettings.targetModeLocationSelection.radius:a$8.SparkScanSettings.locationSelection.radius,t=e?a$8.SparkScanSettings.targetModeLocationSelection.unit:a$8.SparkScanSettings.locationSelection.unit,i=new NumberWithUnit(a,t);this.sparkScan$.settings.locationSelection=new RadiusLocationSelection(i),this.overlayManager.setRadius(i);}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 a,t;e!==this.stateManager.state&&(this.stateManager.state=e,(t=(a=this.listener)==null?void 0:a.didChangeViewState)==null||t.call(a,e));}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,a=this.sparkScanView.previewSizeControlVisible;this.sparkScanView.previewSizeControlVisible=a&&!e;}};a([d],s.prototype,"switchToActiveState",1),a([d],s.prototype,"switchToInactiveState",1),a([d],s.prototype,"switchToErrorState",1);var V=s;export{V as a};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=(r,d,t,s)=>{for(var a=s>1?void 0:s?i(d,t):d,e=r.length-1,c;e>=0;e--)(c=r[e])&&(a=(s?c(d,t,a):c(a))||a);return s&&a&&b(d,t,a),a};var o={"scandit-datacapture-sdk-barcode-pthreads.wasm":{bytes:7335085},"scandit-datacapture-sdk-barcode-simd-pthreads.wasm":{bytes:7221376},"scandit-datacapture-sdk-barcode-simd.wasm":{bytes:7268882},"scandit-datacapture-sdk-barcode.wasm":{bytes:7397999}};export{p as a,o as b};
1
+ var b=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=(r,d,t,s)=>{for(var a=s>1?void 0:s?i(d,t):d,e=r.length-1,c;e>=0;e--)(c=r[e])&&(a=(s?c(d,t,a):c(a))||a);return s&&a&&b(d,t,a),a};var o={"scandit-datacapture-sdk-barcode-pthreads.wasm":{bytes:7335439},"scandit-datacapture-sdk-barcode-simd.wasm":{bytes:7269290},"scandit-datacapture-sdk-barcode-simd-pthreads.wasm":{bytes:7221730},"scandit-datacapture-sdk-barcode.wasm":{bytes:7398407}};export{p as a,o as b};
@@ -1 +1 @@
1
- import {a}from'./chunk-HDLJOQJY.js';import {a as a$6}from'./chunk-ZPCWOA3Y.js';import {b}from'./chunk-OH47PSIL.js';import {a as a$8}from'./chunk-KMEGIFKL.js';import {a as a$5}from'./chunk-QRG4J3CL.js';import {b as b$1}from'./chunk-33EFB3RJ.js';import {a as a$1}from'./chunk-I53W7VSB.js';import {a as a$7}from'./chunk-O5SUMSOC.js';import {a as a$2}from'./chunk-D5LYCS2I.js';import {a as a$4}from'./chunk-RHTWCMPD.js';import {a as a$3}from'./chunk-LJR2DH2E.js';import {Anchor,DataCaptureView,ZoomSwitchControl,Direction,Point,Size}from'@scandit/web-datacapture-core';import {Backdrop}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';import {ScanditHTMLElement}from'@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';import {css}from'@scandit/web-datacapture-core/build/js/private/utils/css.js';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';import {calculateArea,calculateWidth,calculateHeight}from'@scandit/web-datacapture-core/build/js/private/utils/quadrilateralUtils.js';import {Timeout}from'@scandit/web-datacapture-core/build/js/private/utils/timeout.js';import {TorchSwitchIconButton}from'@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js';var W={async highlightForBarcode(k,y){let t=a$8.create(k);y(t);}},d=class d extends ScanditHTMLElement{constructor(){super(...arguments);this.torchSwitchIconButton=null;this.cameraSwitchButton=null;this.zoomSwitchControl=null;this._shouldShowTorchControl=false;this._isTorchAvailable=false;this.onTorchButtonClickHandler=this.onTorchButtonClick.bind(this);this.onCameraSwitchButtonHandler=this.onCameraSwitchButtonClick.bind(this);this.onLayoutPointerDownHandler=this.onLayoutPointerDown.bind(this);this.onInfoAnnotationTapHandler=this.onInfoAnnotationTap.bind(this);this.pendingDeletionTimeout=null;}set shouldShowZoomControl(t){var o;let e=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill;e&&(e.hidden=!t);}get shouldShowZoomControl(){var e;let t=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill;return t?!t.hidden:false}set shouldShowCameraSwitchControl(t){this.cameraSwitchButton&&(this.cameraSwitchButton.hidden=!t);}get shouldShowCameraSwitchControl(){return this.cameraSwitchButton===null?false:!this.cameraSwitchButton.hidden}set shouldShowTorchControl(t){this.torchSwitchIconButton!==null&&(this._shouldShowTorchControl=t,this.torchSwitchIconButton.hidden=!(t&&this._isTorchAvailable));}get shouldShowTorchControl(){return this._shouldShowTorchControl}set torchControlPosition(t){var e;(e=this.torchSwitchIconButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopLeft:t}`);}get torchControlPosition(){var e,o;let t=(o=(e=this.torchSwitchIconButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopLeft:t.replace("controls-","")}set zoomControlPosition(t){var o;let e=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill;e==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.BottomRight:t}`);}get zoomControlPosition(){var o,i;let t=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill,e=(i=t==null?void 0:t.getAttribute("slot"))!=null?i:"";return e===""?Anchor.BottomRight:e.replace("controls-","")}set cameraSwitchControlPosition(t){var e;(e=this.cameraSwitchButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopRight:t}`);}get cameraSwitchControlPosition(){var e,o;let t=(o=(e=this.cameraSwitchButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopRight:t.replace("controls-","")}static async createWithSettings(t,e,o,i,n){d.register();let r=document.createElement(d.tag);return r.barcodeArViewSettings=i,r.layout=a.create(),r.append(r.layout),a$1(t)?(r.dataCaptureView=t,r.dataCaptureView.containerElement.prepend(r),await t.setContext(e)):(r.dataCaptureView=await DataCaptureView.forContext(e),r.dataCaptureView.connectToElement(t),r.dataCaptureView.containerElement.prepend(r)),r.presenter=new a$2(r,e,o,i,n!=null?n:a$3.createRecommendedCameraSettings()),await r.presenter.prepare(),await r.installZoomControl(),r}static async create(t,e,o){return d.createWithSettings(t,e,o,new a$4)}static register(){defineCustomElements({[a.tag]:a,[a$6.tag]:a$6,[TorchSwitchIconButton.tag]:TorchSwitchIconButton,[d.tag]:d,[Backdrop.tag]:Backdrop,[a$5.tag]:a$5});}static createStyleElement(){return css`[data-could-be-deleted=true]{display:none!important}[data-on-foreground=true]{z-index:3}${d.tag}{inset:0;position:absolute;z-index:1}`}getHighlightForBarcode(t){return this.queryHighlightByDataId(a$7(t))}getAnnotationForBarcode(t){return this.queryAnnotationByDataId(a$7(t))}async start(){return this.presenter.startSearching()}async stop(){return this.presenter.stopSearching()}async pause(){return this.presenter.pauseSearching()}reset(){this.deletePendingViews(),this.deleteAllViews();}getNotificationPresenter(){return this.dataCaptureView.getNotificationPresenter()}setTorchAvailable(t){this._isTorchAvailable=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable));}toggleTorchIcon(t){this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.state=t);}onTorchButtonClick(){this.presenter.onTorchButtonClicked();}onCameraSwitchButtonClick(){this.presenter.onCameraSwitchButtonClicked();}async installZoomControl(){this.zoomSwitchControl=new ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let t=this.zoomSwitchControl.zoomSwitchPill;t&&(t.setAttribute("slot",`controls-${Anchor.BottomRight}`),t.hidden=true,this.layout.append(t));}connectedCallback(){this.torchSwitchIconButton=TorchSwitchIconButton.create(),this.torchSwitchIconButton.shadow=true,this.torchSwitchIconButton.size=36,this.torchSwitchIconButton.slot=`controls-${this.torchControlPosition}`,this.torchSwitchIconButton.hidden=true,this.torchSwitchIconButton.addEventListener("pointerdown",this.onTorchButtonClickHandler),this.cameraSwitchButton=a$6.create(),this.cameraSwitchButton.slot=`controls-${this.cameraSwitchControlPosition}`,this.cameraSwitchButton.hidden=true,this.cameraSwitchButton.addEventListener("pointerdown",this.onCameraSwitchButtonHandler),this.layout.append(this.torchSwitchIconButton,this.cameraSwitchButton),this.layout.addEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.addEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler),this.backdrop=Backdrop.create(),this.layout.append(this.backdrop),this.pendingDeletionTimeout=new Timeout(1e3,()=>{this.deletePendingViews();}),this.prepend(d.createStyleElement());}disconnectedCallback(){var t,e,o;this.deleteAllViews(),(t=this.torchSwitchIconButton)==null||t.removeEventListener("pointerdown",this.onTorchButtonClickHandler),(e=this.cameraSwitchButton)==null||e.removeEventListener("pointerdown",this.onCameraSwitchButtonHandler),(o=this.zoomSwitchControl)==null||o.remove(),this.layout.removeEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.removeEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler);}isPopoverAnnotation(t){return t instanceof b}isAnnotation(t){var e;return ((e=t.dataset)==null?void 0:e.identifier)==null?false:t.dataset.identifier.endsWith("-annotation")}areMultiplePopoverAllowed(){for(let t of this.layout.querySelectorAll("[data-identifier$='-annotation']"))if(t&&this.isPopoverAnnotation(t)&&t.annotationTrigger==="highlightTapAndBarcodeScan")return true;return false}async onLayoutPointerDown(t){let e=t.target,o=e==null?void 0:e.closest("[data-identifier$='-highlight']"),i=e==null?void 0:e.closest(b.tag);if((o==null?void 0:o.dataset.id)!=null){await this.handleHighlightClick(o);return}if((i==null?void 0:i.dataset.id)!=null){await this.handleAnnotationClick(i);return}await this.handleClickOutside();}async handleHighlightClick(t){var o;this.presenter.emitTappedFeedback(),(o=this.listener)==null||o.didTapHighlightForBarcode(this.presenter.barcodeAr,t.barcode,t);let e=this.queryAnnotationByDataIdentifier(t.dataset.identifier.replace("-highlight",""));!e||e.annotationTrigger==="barcodeScan"||(this.isPopoverAnnotation(e)?await this.handlePopoverHighlightClick(e,t):e.hidden=!e.hidden);}async handlePopoverHighlightClick(t,e){var o;if(!this.areMultiplePopoverAllowed()){let i=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`),n=(o=i==null?void 0:i.dataset.identifier)==null?void 0:o.replace("-annotation","-highlight"),r=this.layout.querySelector(`[data-identifier="${n}"]`);i!=null&&r!=null&&await this.hideBarcodeArPopover(i,r,false);}await this.toggleBarcodeArPopover(t,e);}async handleAnnotationClick(t){var i;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.toggleBarcodeArPopover(t,o);}async handleClickOutside(){var i;if(this.areMultiplePopoverAllowed())return;let t=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`);if(!t)return;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.hideBarcodeArPopover(t,o);}onInfoAnnotationTap(){this.presenter.emitTappedFeedback();}async showBarcodeArPopover(t,e){t.dataset.onForeground="true",t.hidden=false,e.dataset.onForeground="true",this.backdrop.open=true;}async hideBarcodeArPopover(t,e,o=true){t.dataset.onForeground="false",t.hidden=true,e&&(e.dataset.onForeground="false"),o&&this.hideBackdropIfNoPopovers();}hideBackdropIfNoPopovers(){[...this.layout.querySelectorAll(`${b.tag}`)].every(e=>e.hidden)&&(this.backdrop.open=false);}async toggleBarcodeArPopover(t,e){t.hidden?await this.showBarcodeArPopover(t,e):await this.hideBarcodeArPopover(t,e);}deleteAllViews(){for(let t of this.layout.querySelectorAll("[data-identifier]"))t.remove();}deletePendingViews(){for(let t of this.layout.querySelectorAll("[data-could-be-deleted='true']"))t.remove();this.hideBackdropIfNoPopovers();}identifierForHighlight(t){return `${t}-highlight`}identifierForAnnotation(t){return `${t}-annotation`}async onHighlightsOrAnnotationForTrackedBarcode(t){var e,o,i;await((o=(e=this.highlightProvider)!=null?e:W)==null?void 0:o.highlightForBarcode(t.barcode,async n=>this.onHighlight(t,n))),await((i=this.annotationProvider)==null?void 0:i.annotationForBarcode(t.barcode,async n=>this.onAnnotation(t,n)));}async onAnnotation(t,e){let o=e,i=a$7(t.barcode);this.updateExistingAnnotation(i)||(await this.setupNewAnnotation(o,i,t),this.updateAnnotationPosition(t,o));}updateExistingAnnotation(t){let e=this.queryAnnotationByDataId(t);return e?(e.dataset.couldBeDeleted="false",true):false}async setupNewAnnotation(t,e,o){if(t.dataset.id=e,t.dataset.identifier=this.identifierForAnnotation(o.identifier),t.hidden=true,this.layout.append(t),this.isPopoverAnnotation(t)){if(t.direction=Direction.Vertical,t.anchor==null&&(t.anchor="bottom-center"),this.areMultiplePopoverAllowed()||t.annotationTrigger==="highlightTapAndBarcodeScan"){let i=this.queryHighlightByDataId(e);i&&await this.showBarcodeArPopover(t,i);}}else t.hidden=t.annotationTrigger==="highlightTap";}getAnnotationVariationForQuad(t,e){let o=Math.max(0,Math.min(1,e)),i=t.anchorPositions,n=calculateArea(i),r=this.dataCaptureView.width,l=this.dataCaptureView.height,h=r*l;if(n<=0||h<=0)return 0;let u=n/h;return Math.max(0,Math.min(1,u))<=o?2:1}async onHighlight(t,e){let o=a$7(t.barcode),i=this.queryHighlightByDataId(o);i?i.dataset.couldBeDeleted="false":(e.dataset.id=o,e.dataset.identifier=this.identifierForHighlight(t.identifier),this.updateHighlightPosition(t,e),this.layout.append(e));}queryHighlightByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-highlight"]`)}queryAnnotationByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-annotation"]`)}queryHighlightByDataId(t){return this.layout.querySelector(`[data-identifier$="-highlight"][data-id="${t}"]`)}queryAnnotationByDataId(t){return this.layout.querySelector(`[data-identifier$="-annotation"][data-id="${t}"]`)}updateRemovedTrackedBarcodes(t){var i,n,r,l,h;let e=this.querySelectorAll("[data-identifier]");if(Object.keys(t.allTrackedBarcodes).length===0){for(let u of e)u.dataset.couldBeDeleted="true";(i=this.pendingDeletionTimeout)!=null&&i.running||(n=this.pendingDeletionTimeout)==null||n.start();return}let o=new Set(t.removedTrackedBarcodes);for(let u of e){let p=(r=u.dataset.identifier)==null?void 0:r.replace("-highlight","").replace("-annotation","");p!=null&&o.has(p)&&(u.dataset.couldBeDeleted="true");}(l=this.pendingDeletionTimeout)!=null&&l.running||(h=this.pendingDeletionTimeout)==null||h.start();}render(t){for(let[e,o]of Object.entries(t.allTrackedBarcodes)){t.addedTrackedBarcodes[e]!=null&&this.onHighlightsOrAnnotationForTrackedBarcode(o);let i=a$7(o.barcode),n=this.queryAnnotationByDataId(i),r=this.queryHighlightByDataId(i);r&&(this.updateBrushSize(r,o),this.updateHighlightPosition(o,r)),n&&this.updateAnnotationPosition(o,n,r);}this.updateRemovedTrackedBarcodes(t);}updateHighlightPosition(t,e,o="center"){if(e.hidden)return;let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),n=this.normalizedViewPointFromFrameAnchorPositions(i,o);e.updatePosition(n,new Point(-50,-50),this.calculateRotationAngle(i.topLeft,i.topRight));}updateBrushSize(t,e){if(t.width==null||t.height==null)return;let o=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions),i=Math.round(calculateWidth(o)),n=Math.round(calculateHeight(o));t.width!==i&&(t.width=i),t.height!==n&&(t.height=n);}getTransformOrigin(t){return {"top-center":new Point(-50,0),"bottom-center":new Point(-50,-100),"left-center":new Point(0,-50),"right-center":new Point(-100,-50)}[t]}calculateAnnotationPosition(t,e,o){var p,P;let n=t.orderVerticesByPosition(),r=this.normalizedViewPointFromFrameAnchorPositions(t,"center"),h={"bottom-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"topCenter");return new Point(s.x,s.y-7)},"top-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"bottomCenter");return new Point(s.x,s.y+7)},"right-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerLeft");return new Point(s.x-7,s.y)},"left-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerRight");return new Point(s.x+7,s.y)}}[e]();return o?o instanceof b$1?(p={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?p:h:(P={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?P:h:h}updateAnnotationPosition(t,e,o){let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions);if(e.anchor||(e.anchor="top-center"),e.annotationVariation!=null){let l=this.getAnnotationVariationForQuad(t,a$5.threshold);e.annotationVariation=l;}let n=this.getTransformOrigin(e.anchor),r=this.calculateAnnotationPosition(i,e.anchor,o);e.updatePosition(r,n,this.calculateRotationAngle(i.topLeft,i.topRight));}normalizedViewPointFromFrameAnchorPositions(t,e="center"){let o=this.presenter.currentCamera.getMirrorImageEnabled(),i=new Size(this.dataCaptureView.width,this.dataCaptureView.height);if(o){let r=t[{centerLeft:"centerRight",centerRight:"centerLeft",center:"center",topCenter:"topCenter",bottomCenter:"bottomCenter"}[e]];return Point.mirrorX(r,i)}return t[e]}calculateRotationAngle(t,e){let o=e.x-t.x,n=this.presenter.isCameraMirrored()?-(e.y-t.y):e.y-t.y,r=Math.atan2(n,o);return Math.round(r*(180/Math.PI))}};d.tag="scandit-barcode-ar-view";var R=d;export{R as a};
1
+ import {a}from'./chunk-HDLJOQJY.js';import {a as a$6}from'./chunk-ZPCWOA3Y.js';import {b}from'./chunk-OH47PSIL.js';import {a as a$8}from'./chunk-KMEGIFKL.js';import {a as a$5}from'./chunk-QRG4J3CL.js';import {b as b$1}from'./chunk-33EFB3RJ.js';import {a as a$1}from'./chunk-I53W7VSB.js';import {a as a$7}from'./chunk-O5SUMSOC.js';import {a as a$2}from'./chunk-G7I3PA74.js';import {a as a$4}from'./chunk-RHTWCMPD.js';import {a as a$3}from'./chunk-FC5AUHVA.js';import {Anchor,DataCaptureView,ZoomSwitchControl,Direction,Point,Size}from'@scandit/web-datacapture-core';import {Backdrop}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';import {ScanditHTMLElement}from'@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';import {css}from'@scandit/web-datacapture-core/build/js/private/utils/css.js';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';import {calculateArea,calculateWidth,calculateHeight}from'@scandit/web-datacapture-core/build/js/private/utils/quadrilateralUtils.js';import {Timeout}from'@scandit/web-datacapture-core/build/js/private/utils/timeout.js';import {TorchSwitchIconButton}from'@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js';var W={async highlightForBarcode(k,y){let t=a$8.create(k);y(t);}},d=class d extends ScanditHTMLElement{constructor(){super(...arguments);this.torchSwitchIconButton=null;this.cameraSwitchButton=null;this.zoomSwitchControl=null;this._shouldShowTorchControl=false;this._isTorchAvailable=false;this.onTorchButtonClickHandler=this.onTorchButtonClick.bind(this);this.onCameraSwitchButtonHandler=this.onCameraSwitchButtonClick.bind(this);this.onLayoutPointerDownHandler=this.onLayoutPointerDown.bind(this);this.onInfoAnnotationTapHandler=this.onInfoAnnotationTap.bind(this);this.pendingDeletionTimeout=null;}set shouldShowZoomControl(t){var o;let e=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill;e&&(e.hidden=!t);}get shouldShowZoomControl(){var e;let t=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill;return t?!t.hidden:false}set shouldShowCameraSwitchControl(t){this.cameraSwitchButton&&(this.cameraSwitchButton.hidden=!t);}get shouldShowCameraSwitchControl(){return this.cameraSwitchButton===null?false:!this.cameraSwitchButton.hidden}set shouldShowTorchControl(t){this.torchSwitchIconButton!==null&&(this._shouldShowTorchControl=t,this.torchSwitchIconButton.hidden=!(t&&this._isTorchAvailable));}get shouldShowTorchControl(){return this._shouldShowTorchControl}set torchControlPosition(t){var e;(e=this.torchSwitchIconButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopLeft:t}`);}get torchControlPosition(){var e,o;let t=(o=(e=this.torchSwitchIconButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopLeft:t.replace("controls-","")}set zoomControlPosition(t){var o;let e=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill;e==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.BottomRight:t}`);}get zoomControlPosition(){var o,i;let t=(o=this.zoomSwitchControl)==null?void 0:o.zoomSwitchPill,e=(i=t==null?void 0:t.getAttribute("slot"))!=null?i:"";return e===""?Anchor.BottomRight:e.replace("controls-","")}set cameraSwitchControlPosition(t){var e;(e=this.cameraSwitchButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopRight:t}`);}get cameraSwitchControlPosition(){var e,o;let t=(o=(e=this.cameraSwitchButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopRight:t.replace("controls-","")}static async createWithSettings(t,e,o,i,n){d.register();let r=document.createElement(d.tag);return r.barcodeArViewSettings=i,r.layout=a.create(),r.append(r.layout),a$1(t)?(r.dataCaptureView=t,r.dataCaptureView.containerElement.prepend(r),await t.setContext(e)):(r.dataCaptureView=await DataCaptureView.forContext(e),r.dataCaptureView.connectToElement(t),r.dataCaptureView.containerElement.prepend(r)),r.presenter=new a$2(r,e,o,i,n!=null?n:a$3.createRecommendedCameraSettings()),await r.presenter.prepare(),await r.installZoomControl(),r}static async create(t,e,o){return d.createWithSettings(t,e,o,new a$4)}static register(){defineCustomElements({[a.tag]:a,[a$6.tag]:a$6,[TorchSwitchIconButton.tag]:TorchSwitchIconButton,[d.tag]:d,[Backdrop.tag]:Backdrop,[a$5.tag]:a$5});}static createStyleElement(){return css`[data-could-be-deleted=true]{display:none!important}[data-on-foreground=true]{z-index:3}${d.tag}{inset:0;position:absolute;z-index:1}`}getHighlightForBarcode(t){return this.queryHighlightByDataId(a$7(t))}getAnnotationForBarcode(t){return this.queryAnnotationByDataId(a$7(t))}async start(){return this.presenter.startSearching()}async stop(){return this.presenter.stopSearching()}async pause(){return this.presenter.pauseSearching()}reset(){this.deletePendingViews(),this.deleteAllViews();}getNotificationPresenter(){return this.dataCaptureView.getNotificationPresenter()}setTorchAvailable(t){this._isTorchAvailable=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable));}toggleTorchIcon(t){this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.state=t);}onTorchButtonClick(){this.presenter.onTorchButtonClicked();}onCameraSwitchButtonClick(){this.presenter.onCameraSwitchButtonClicked();}async installZoomControl(){this.zoomSwitchControl=new ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let t=this.zoomSwitchControl.zoomSwitchPill;t&&(t.setAttribute("slot",`controls-${Anchor.BottomRight}`),t.hidden=true,this.layout.append(t));}connectedCallback(){this.torchSwitchIconButton=TorchSwitchIconButton.create(),this.torchSwitchIconButton.shadow=true,this.torchSwitchIconButton.size=36,this.torchSwitchIconButton.slot=`controls-${this.torchControlPosition}`,this.torchSwitchIconButton.hidden=true,this.torchSwitchIconButton.addEventListener("pointerdown",this.onTorchButtonClickHandler),this.cameraSwitchButton=a$6.create(),this.cameraSwitchButton.slot=`controls-${this.cameraSwitchControlPosition}`,this.cameraSwitchButton.hidden=true,this.cameraSwitchButton.addEventListener("pointerdown",this.onCameraSwitchButtonHandler),this.layout.append(this.torchSwitchIconButton,this.cameraSwitchButton),this.layout.addEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.addEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler),this.backdrop=Backdrop.create(),this.layout.append(this.backdrop),this.pendingDeletionTimeout=new Timeout(1e3,()=>{this.deletePendingViews();}),this.prepend(d.createStyleElement());}disconnectedCallback(){var t,e,o;this.deleteAllViews(),(t=this.torchSwitchIconButton)==null||t.removeEventListener("pointerdown",this.onTorchButtonClickHandler),(e=this.cameraSwitchButton)==null||e.removeEventListener("pointerdown",this.onCameraSwitchButtonHandler),(o=this.zoomSwitchControl)==null||o.remove(),this.layout.removeEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.removeEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler);}isPopoverAnnotation(t){return t instanceof b}isAnnotation(t){var e;return ((e=t.dataset)==null?void 0:e.identifier)==null?false:t.dataset.identifier.endsWith("-annotation")}areMultiplePopoverAllowed(){for(let t of this.layout.querySelectorAll("[data-identifier$='-annotation']"))if(t&&this.isPopoverAnnotation(t)&&t.annotationTrigger==="highlightTapAndBarcodeScan")return true;return false}async onLayoutPointerDown(t){let e=t.target,o=e==null?void 0:e.closest("[data-identifier$='-highlight']"),i=e==null?void 0:e.closest(b.tag);if((o==null?void 0:o.dataset.id)!=null){await this.handleHighlightClick(o);return}if((i==null?void 0:i.dataset.id)!=null){await this.handleAnnotationClick(i);return}await this.handleClickOutside();}async handleHighlightClick(t){var o;this.presenter.emitTappedFeedback(),(o=this.listener)==null||o.didTapHighlightForBarcode(this.presenter.barcodeAr,t.barcode,t);let e=this.queryAnnotationByDataIdentifier(t.dataset.identifier.replace("-highlight",""));!e||e.annotationTrigger==="barcodeScan"||(this.isPopoverAnnotation(e)?await this.handlePopoverHighlightClick(e,t):e.hidden=!e.hidden);}async handlePopoverHighlightClick(t,e){var o;if(!this.areMultiplePopoverAllowed()){let i=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`),n=(o=i==null?void 0:i.dataset.identifier)==null?void 0:o.replace("-annotation","-highlight"),r=this.layout.querySelector(`[data-identifier="${n}"]`);i!=null&&r!=null&&await this.hideBarcodeArPopover(i,r,false);}await this.toggleBarcodeArPopover(t,e);}async handleAnnotationClick(t){var i;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.toggleBarcodeArPopover(t,o);}async handleClickOutside(){var i;if(this.areMultiplePopoverAllowed())return;let t=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`);if(!t)return;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.hideBarcodeArPopover(t,o);}onInfoAnnotationTap(){this.presenter.emitTappedFeedback();}async showBarcodeArPopover(t,e){t.dataset.onForeground="true",t.hidden=false,e.dataset.onForeground="true",this.backdrop.open=true;}async hideBarcodeArPopover(t,e,o=true){t.dataset.onForeground="false",t.hidden=true,e&&(e.dataset.onForeground="false"),o&&this.hideBackdropIfNoPopovers();}hideBackdropIfNoPopovers(){[...this.layout.querySelectorAll(`${b.tag}`)].every(e=>e.hidden)&&(this.backdrop.open=false);}async toggleBarcodeArPopover(t,e){t.hidden?await this.showBarcodeArPopover(t,e):await this.hideBarcodeArPopover(t,e);}deleteAllViews(){for(let t of this.layout.querySelectorAll("[data-identifier]"))t.remove();}deletePendingViews(){for(let t of this.layout.querySelectorAll("[data-could-be-deleted='true']"))t.remove();this.hideBackdropIfNoPopovers();}identifierForHighlight(t){return `${t}-highlight`}identifierForAnnotation(t){return `${t}-annotation`}async onHighlightsOrAnnotationForTrackedBarcode(t){var e,o,i;await((o=(e=this.highlightProvider)!=null?e:W)==null?void 0:o.highlightForBarcode(t.barcode,async n=>this.onHighlight(t,n))),await((i=this.annotationProvider)==null?void 0:i.annotationForBarcode(t.barcode,async n=>this.onAnnotation(t,n)));}async onAnnotation(t,e){let o=e,i=a$7(t.barcode);this.updateExistingAnnotation(i)||(await this.setupNewAnnotation(o,i,t),this.updateAnnotationPosition(t,o));}updateExistingAnnotation(t){let e=this.queryAnnotationByDataId(t);return e?(e.dataset.couldBeDeleted="false",true):false}async setupNewAnnotation(t,e,o){if(t.dataset.id=e,t.dataset.identifier=this.identifierForAnnotation(o.identifier),t.hidden=true,this.layout.append(t),this.isPopoverAnnotation(t)){if(t.direction=Direction.Vertical,t.anchor==null&&(t.anchor="bottom-center"),this.areMultiplePopoverAllowed()||t.annotationTrigger==="highlightTapAndBarcodeScan"){let i=this.queryHighlightByDataId(e);i&&await this.showBarcodeArPopover(t,i);}}else t.hidden=t.annotationTrigger==="highlightTap";}getAnnotationVariationForQuad(t,e){let o=Math.max(0,Math.min(1,e)),i=t.anchorPositions,n=calculateArea(i),r=this.dataCaptureView.width,l=this.dataCaptureView.height,h=r*l;if(n<=0||h<=0)return 0;let u=n/h;return Math.max(0,Math.min(1,u))<=o?2:1}async onHighlight(t,e){let o=a$7(t.barcode),i=this.queryHighlightByDataId(o);i?i.dataset.couldBeDeleted="false":(e.dataset.id=o,e.dataset.identifier=this.identifierForHighlight(t.identifier),this.updateHighlightPosition(t,e),this.layout.append(e));}queryHighlightByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-highlight"]`)}queryAnnotationByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-annotation"]`)}queryHighlightByDataId(t){return this.layout.querySelector(`[data-identifier$="-highlight"][data-id="${t}"]`)}queryAnnotationByDataId(t){return this.layout.querySelector(`[data-identifier$="-annotation"][data-id="${t}"]`)}updateRemovedTrackedBarcodes(t){var i,n,r,l,h;let e=this.querySelectorAll("[data-identifier]");if(Object.keys(t.allTrackedBarcodes).length===0){for(let u of e)u.dataset.couldBeDeleted="true";(i=this.pendingDeletionTimeout)!=null&&i.running||(n=this.pendingDeletionTimeout)==null||n.start();return}let o=new Set(t.removedTrackedBarcodes);for(let u of e){let p=(r=u.dataset.identifier)==null?void 0:r.replace("-highlight","").replace("-annotation","");p!=null&&o.has(p)&&(u.dataset.couldBeDeleted="true");}(l=this.pendingDeletionTimeout)!=null&&l.running||(h=this.pendingDeletionTimeout)==null||h.start();}render(t){for(let[e,o]of Object.entries(t.allTrackedBarcodes)){t.addedTrackedBarcodes[e]!=null&&this.onHighlightsOrAnnotationForTrackedBarcode(o);let i=a$7(o.barcode),n=this.queryAnnotationByDataId(i),r=this.queryHighlightByDataId(i);r&&(this.updateBrushSize(r,o),this.updateHighlightPosition(o,r)),n&&this.updateAnnotationPosition(o,n,r);}this.updateRemovedTrackedBarcodes(t);}updateHighlightPosition(t,e,o="center"){if(e.hidden)return;let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),n=this.normalizedViewPointFromFrameAnchorPositions(i,o);e.updatePosition(n,new Point(-50,-50),this.calculateRotationAngle(i.topLeft,i.topRight));}updateBrushSize(t,e){if(t.width==null||t.height==null)return;let o=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions),i=Math.round(calculateWidth(o)),n=Math.round(calculateHeight(o));t.width!==i&&(t.width=i),t.height!==n&&(t.height=n);}getTransformOrigin(t){return {"top-center":new Point(-50,0),"bottom-center":new Point(-50,-100),"left-center":new Point(0,-50),"right-center":new Point(-100,-50)}[t]}calculateAnnotationPosition(t,e,o){var p,P;let n=t.orderVerticesByPosition(),r=this.normalizedViewPointFromFrameAnchorPositions(t,"center"),h={"bottom-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"topCenter");return new Point(s.x,s.y-7)},"top-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"bottomCenter");return new Point(s.x,s.y+7)},"right-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerLeft");return new Point(s.x-7,s.y)},"left-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerRight");return new Point(s.x+7,s.y)}}[e]();return o?o instanceof b$1?(p={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?p:h:(P={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?P:h:h}updateAnnotationPosition(t,e,o){let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions);if(e.anchor||(e.anchor="top-center"),e.annotationVariation!=null){let l=this.getAnnotationVariationForQuad(t,a$5.threshold);e.annotationVariation=l;}let n=this.getTransformOrigin(e.anchor),r=this.calculateAnnotationPosition(i,e.anchor,o);e.updatePosition(r,n,this.calculateRotationAngle(i.topLeft,i.topRight));}normalizedViewPointFromFrameAnchorPositions(t,e="center"){let o=this.presenter.currentCamera.getMirrorImageEnabled(),i=new Size(this.dataCaptureView.width,this.dataCaptureView.height);if(o){let r=t[{centerLeft:"centerRight",centerRight:"centerLeft",center:"center",topCenter:"topCenter",bottomCenter:"bottomCenter"}[e]];return Point.mirrorX(r,i)}return t[e]}calculateRotationAngle(t,e){let o=e.x-t.x,n=this.presenter.isCameraMirrored()?-(e.y-t.y):e.y-t.y,r=Math.atan2(n,o);return Math.round(r*(180/Math.PI))}};d.tag="scandit-barcode-ar-view";var R=d;export{R as a};
@@ -1 +1 @@
1
- import {b as b$1}from'./chunk-3N7HH72O.js';import {a as a$6}from'./chunk-TKSABJXC.js';import {a}from'./chunk-HHYYL23G.js';import {b}from'./chunk-5V3FWMGO.js';import {a as a$8}from'./chunk-RZWYP24A.js';import {a as a$9}from'./chunk-5A3VQBKX.js';import {a as a$1}from'./chunk-DDLFCE34.js';import {a as a$7}from'./chunk-ZPKXVCG3.js';import {a as a$3}from'./chunk-67T3NHWA.js';import {a as a$4}from'./chunk-POONUNDO.js';import {b as b$2}from'./chunk-M7SLG4OU.js';import {a as a$5}from'./chunk-DHKABHFE.js';import {a as a$2}from'./chunk-I53W7VSB.js';import {Anchor,Localization,DataCaptureView,ZoomSwitchControl,Size,Point}from'@scandit/web-datacapture-core';import {ShutterButton}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/ShutterButton.js';import {ScanditHTMLElement}from'@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';import {html}from'@scandit/web-datacapture-core/build/js/private/utils/html.js';import {Card}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js';import {TorchSwitchIconButton}from'@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js';var c={FinishButton:a$1.tag,ShutterButton:ShutterButton.tag,ProgressBarWithLabel:a.tag,CardListContainer:b$1.tag,TorchSwitchIconButton:TorchSwitchIconButton.tag},h=class h extends ScanditHTMLElement{constructor(){super(...arguments);this.shouldShowCarousel=true;this.shouldShowPauseButton=true;this.shouldShowFinishButton=true;this.shouldShowProgressBar=true;this.torchControlPosition=Anchor.TopLeft;this.zoomControlPosition=Anchor.TopRight;this.textForItemListUpdatedWhenPausedHint=null;this.textForItemListUpdatedHint=null;this.textForTapShutterToResumeSearchHint=null;this.textForTapShutterToPauseScreenHint=null;this.textForMoveCloserToBarcodesHint=null;this.textForPointAtBarcodesToSearchHint=null;this.textForAllItemsFoundSuccessfullyHint=null;this.textForCollapseCardsButton=Localization.getInstance().get("barcode.find.view.textForCollapseCardsButton");this.barcodeFindViewUiListener=null;this.shutterButton=null;this.finishButton=null;this.progressBar=null;this.cardList=null;this.onShutterButtonClickedHandler=this.onShutterButtonClicked.bind(this);this.onFinishButtonClickedHandler=this.onFinishButtonClicked.bind(this);this.onTorchButtonClickedHandler=this.onTorchButtonClicked.bind(this);this.torchSwitchIconButton=null;this._shouldShowTorchControl=false;this._isTorchAvailable=false;this.zoomSwitchControl=null;this._shouldShowZoomControl=false;this.onDotClickHandler=this.onDotClick.bind(this);}set shouldShowTorchControl(t){this._shouldShowTorchControl=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(t&&this._isTorchAvailable));}get shouldShowTorchControl(){return this._shouldShowTorchControl}set shouldShowZoomControl(t){var e;this._shouldShowZoomControl=t;let o=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill;o!=null&&(o.hidden=!t);}get shouldShowZoomControl(){return this._shouldShowZoomControl}get camera(){return this.presenter.context.frameSource}static async createWithSettings(t,o,e,n,s){let i=document.createElement(h.tag);i.barcodeFindViewSettings=n,i.layout=b.create(),i.layout.innerHTML=html`<${a.tag} slot="progress" value="0" max="1" ${i.shouldShowProgressBar?"":"hidden"}></${a.tag}><${TorchSwitchIconButton.tag} slot="top-controls-left" ${i.shouldShowTorchControl?"":"hidden"}></${TorchSwitchIconButton.tag}><${b$1.tag} slot="card-list" hidden text-for-collapse-cards-button=${i.textForCollapseCardsButton}></${b$1.tag}><${ShutterButton.tag} slot="bottom-controls-center" variant="play" ${i.shouldShowPauseButton?"":"hidden"}></${ShutterButton.tag}><${a$1.tag} slot="bottom-controls-right" ${i.shouldShowFinishButton?"":"hidden"}></${a$1.tag}>`,i.append(i.layout),a$2(t)?(i.dataCaptureView=t,t.htmlElement.prepend(i),await o.setMode(e),await t.setContext(o)):(i.dataCaptureView=await DataCaptureView.forContext(o),i.dataCaptureView.connectToElement(t),t.prepend(i));let a$5=s!=null?s:a$3.recommendedCameraSettings;return a$5.zoomLevels=[.5,1],i.presenter=new b$2(i,o,e,n,a$5),await i.presenter.prepare(),await i.installZoomControl(),i.barcodeFindBasicOverlay=await a$4.withBarcodeFind(e,i.dataCaptureView),i}static async create(t,o,e){return h.register(),h.createWithSettings(t,o,e,a$5.BarcodeFindViewSettings.settings,a$3.recommendedCameraSettings)}static register(){defineCustomElements({[h.tag]:h,[TorchSwitchIconButton.tag]:TorchSwitchIconButton,[ShutterButton.tag]:ShutterButton,[a.tag]:a,[b$1.tag]:b$1,[a$1.tag]:a$1,[b.tag]:b});}async startSearching(){return this.onShutterButtonClickedHandler()}async stopSearching(){return this.presenter.stopSearching()}async pauseSearching(){return this.onShutterButtonClickedHandler()}setListener(t){this.barcodeFindViewUiListener=t,this.presenter.barcodeFindViewUiListener=this.barcodeFindViewUiListener;}async setShouldShowUserGuidanceView(t){return this.shouldShowUserGuidance=t,this.barcodeFindBasicOverlay.setUserGuidanceEnabled(this.shouldShowUserGuidance)}async setShouldShowHints(t){return this.shouldShowHints=t,this.barcodeFindBasicOverlay.setShouldShowHint(this.shouldShowHints)}setShouldShowCarousel(t){this.shouldShowCarousel=t,this.layout.toggleVisibility(c.CardListContainer,t);}setShouldShowPauseButton(t){this.shouldShowPauseButton=t,this.layout.toggleVisibility(c.ShutterButton,t);}setShouldShowFinishButton(t){this.shouldShowFinishButton=t,this.layout.toggleVisibility(c.FinishButton,t);}setShouldShowProgressBar(t){this.shouldShowProgressBar=t,this.layout.toggleVisibility(c.ProgressBarWithLabel,t);}setShouldShowTorchControl(t){this.shouldShowTorchControl=t;}setShouldShowZoomControl(t){this.shouldShowZoomControl=t;}setTorchAvailable(t){this._isTorchAvailable=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable));}setTorchControlPosition(t){var e;this.torchControlPosition=t,[Anchor.TopCenter,Anchor.TopLeft,Anchor.TopRight,Anchor.BottomLeft].includes(t)||(this.torchControlPosition=Anchor.TopLeft);let o={[Anchor.TopCenter]:"top-controls-center",[Anchor.TopLeft]:"top-controls-left",[Anchor.TopRight]:"top-controls-right",[Anchor.BottomLeft]:"bottom-controls-left"}[this.torchControlPosition];(e=this.torchSwitchIconButton)==null||e.setAttribute("slot",o);}setZoomControlPosition(t){var n;this.zoomControlPosition=t,[Anchor.TopCenter,Anchor.TopLeft,Anchor.TopRight,Anchor.BottomLeft].includes(t)||(this.zoomControlPosition=Anchor.TopRight);let o={[Anchor.TopCenter]:"top-controls-center",[Anchor.TopLeft]:"top-controls-left",[Anchor.TopRight]:"top-controls-right",[Anchor.BottomLeft]:"bottom-controls-left"}[this.zoomControlPosition],e=(n=this.zoomSwitchControl)==null?void 0:n.zoomSwitchPill;e==null||e.setAttribute("slot",o);}setTextForCollapseCardsButton(t){this.textForCollapseCardsButton=t,this.cardList!=null&&(this.cardList["text-for-collapse-cards-button"]=t);}async setTextForAllItemsFoundSuccessfullyHint(t){return this.textForAllItemsFoundSuccessfullyHint=t,this.barcodeFindBasicOverlay.setTextForAllItemsFoundSuccessfullyHint(this.textForAllItemsFoundSuccessfullyHint)}async setTextForPointAtBarcodesToSearchHint(t){return this.textForPointAtBarcodesToSearchHint=t,this.barcodeFindBasicOverlay.setTextForPointAtBarcodesToSearchHint(this.textForPointAtBarcodesToSearchHint)}async setTextForMoveCloserToBarcodesHint(t){return this.textForMoveCloserToBarcodesHint=t,this.barcodeFindBasicOverlay.setTextForMoveCloserToBarcodesHint(this.textForMoveCloserToBarcodesHint)}async setTextForTapShutterToPauseScreenHint(t){return this.textForTapShutterToPauseScreenHint=t,this.barcodeFindBasicOverlay.setTextForTapShutterToPauseScreenHint(this.textForTapShutterToPauseScreenHint)}async setTextForTapShutterToResumeSearchHint(t){return this.textForTapShutterToResumeSearchHint=t,this.barcodeFindBasicOverlay.setTextForTapShutterToResumeScreenHint(this.textForTapShutterToResumeSearchHint)}async setTextForItemListUpdatedWhenPausedHint(t){return this.textForItemListUpdatedWhenPausedHint=t,this.barcodeFindBasicOverlay.setTextForItemListUpdatedWhenPausedHint(this.textForItemListUpdatedWhenPausedHint)}async setTextForItemListUpdatedHint(t){return this.textForItemListUpdatedHint=t,this.barcodeFindBasicOverlay.setTextForItemListUpdatedHint(this.textForItemListUpdatedHint)}connectedCallback(){var t,o,e;this.shutterButton=this.layout.querySelector(c.ShutterButton),this.finishButton=this.layout.querySelector(c.FinishButton),this.progressBar=this.layout.querySelector(c.ProgressBarWithLabel),this.cardList=this.layout.querySelector(c.CardListContainer),this.torchSwitchIconButton=this.layout.querySelector(c.TorchSwitchIconButton),(t=this.torchSwitchIconButton)==null||t.addEventListener("pointerdown",this.onTorchButtonClickedHandler),(o=this.shutterButton)==null||o.addEventListener("pointerdown",this.onShutterButtonClickedHandler),(e=this.finishButton)==null||e.addEventListener("pointerdown",this.onFinishButtonClickedHandler),this.layout.addEventListener("onlayouttap",this.onDotClickHandler);}disconnectedCallback(){var t,o,e,n;(t=this.shutterButton)==null||t.removeEventListener("pointerdown",this.onShutterButtonClickedHandler),(o=this.torchSwitchIconButton)==null||o.addEventListener("pointerdown",this.onTorchButtonClickedHandler),(e=this.finishButton)==null||e.removeEventListener("pointerdown",this.onFinishButtonClickedHandler),this.layout.removeEventListener("onlayouttap",this.onDotClickHandler),(n=this.zoomSwitchControl)==null||n.remove(),this.presenter.dispose();}async installZoomControl(){this.zoomSwitchControl=new ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let t=this.zoomSwitchControl.zoomSwitchPill;t!=null&&(t.setAttribute("slot","top-controls-right"),t.hidden=!this._shouldShowZoomControl,this.layout.append(t));}async onShutterButtonClicked(){this.presenter.onShutterButtonClicked();}async onTorchButtonClicked(){this.presenter.onTorchButtonClicked();}updateProgressBar(t,o){this.progressBar&&(this.progressBar.value!==t&&(this.progressBar.value=t),o!=null&&this.progressBar.max!==o&&(this.progressBar.max=o));}setShutterButtonPulse(t){this.shutterButton!=null&&(this.shutterButton.pulse=t);}switchToPaused(t,o){var n,s,i,a,u,p,m,y,L,P,H,x;let e=[];for(let d of t){let w=Card.create();w.id=`${String(d.uid)}`;let B=a$6.create();if(w.append(B),B.title=(s=(n=d.content)==null?void 0:n.info)!=null?s:d.searchOptions.barcodeData,((i=d.content)==null?void 0:i.additionalInfo)!=null&&(B.subtitle=(u=(a=d.content)==null?void 0:a.additionalInfo)!=null?u:""),o.find(l=>l.searchOptions.barcodeData===d.searchOptions.barcodeData)!=null){let l=a$7.create();l.slot="right",B.append(l);}if(((p=d.content)==null?void 0:p.image)==null){let l=a$8.create();l.slot="image-left",B.append(l);}else {let l=document.createElement("img");l.slot="image-left",l.src=(y=(m=d.content)==null?void 0:m.image)!=null?y:"",l.alt=(P=(L=d.content)==null?void 0:L.additionalInfo)!=null?P:"",B.append(l);}e.push(w);}(H=this.cardList)==null||H.renderCards(e),(x=this.cardList)==null||x.removeAttribute("hidden"),this.shutterButton.variant="play",this.shutterButton.pulse=false,this.toggleDotPulse(false);}moveCardOnTheFront(t){var e,n;if(!t)return;let o=(e=this.cardList)==null?void 0:e.getCardBySelector(`${Card.tag}#${t.uid}`);o!=null&&((n=this.cardList)==null||n.unshiftCard(o));}switchToStarted(){var t;this.clearDots(),(t=this.cardList)==null||t.setAttribute("hidden",""),this.shutterButton.variant="pause";}toggleTorchIcon(t){this.torchSwitchIconButton&&(this.torchSwitchIconButton.state=t);}onFinishButtonClicked(){this.presenter.onFinishButtonClicked();}clearDots(){let t=this.layout.querySelectorAll("[data-identifier]");for(let o of t)o.remove();}toggleDotPulse(t){let o=[...this.layout.querySelectorAll("[data-identifier]")];for(let e of o)e.pulse=t;}pointTransformation(t){return `translate3d(calc(${t.x}px - 50%), calc(${t.y}px - 50%), 0px)`}onDotClick(t){let o=t.detail.target;if(o.dataset.identifier!=null){for(let e of this.layout.querySelectorAll(a$9.tag))e.pulse=false,o===e&&o.variant==="target"&&(o.pulse=true);this.presenter.onDotClick(o.dataset.identifier);}}createDotForTrackedBarcode(t,o,e){var u,p,m;let n=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),s=t.barcode.data!=null&&((u=o.foundTrackedBarcodesInLastProcessedFrame[`${t.identifier}`])==null?void 0:u.barcode.data)===t.barcode.data,i=s?(m=e==null?void 0:e[(p=t.barcode.data)!=null?p:""])==null?void 0:m.searchOptions.brush:void 0,a=i?a$9.createWithBrush(i,this.barcodeFindViewSettings.notInListItemColor):a$9.createWithColors(this.barcodeFindViewSettings.inListItemColor,this.barcodeFindViewSettings.notInListItemColor);return a.style.setProperty("position","absolute"),a.style.setProperty("transform",this.pointTransformation(n.center)),a.dataset.identifier=`${t.identifier}`,s&&(a.setAttribute("variant","target"),a.pulse=true),a}renderDots(t,o){var e,n;for(let s of t.removedTrackedBarcodes){let i=this.layout.querySelector(`[data-identifier="${s}"]`);i==null||i.remove();}if(t.addedTrackedBarcodes.length>0){let s=document.createDocumentFragment();for(let i of t.addedTrackedBarcodes)s.append(this.createDotForTrackedBarcode(i,t,o));this.layout.append(s);}for(let s of t.updatedTrackedBarcodes){let i=this.layout.querySelector(`[data-identifier="${s.identifier}"]`),{center:a}=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(s.anchorPositions);if(i){let u=(n=(e=this.camera)==null?void 0:e.getMirrorImageEnabled())!=null?n:false,p=new Size(this.dataCaptureView.width,this.dataCaptureView.height);i.style.setProperty("position","absolute");let m=u?Point.mirrorX(a,p):a;i.style.setProperty("transform",this.pointTransformation(m));}}}};h.tag="scandit-barcode-find-view";var M=h;export{M as a};
1
+ import {a as a$7}from'./chunk-ZPKXVCG3.js';import {b as b$1}from'./chunk-3N7HH72O.js';import {a as a$6}from'./chunk-TKSABJXC.js';import {a}from'./chunk-HHYYL23G.js';import {b}from'./chunk-5V3FWMGO.js';import {a as a$8}from'./chunk-RZWYP24A.js';import {a as a$9}from'./chunk-5A3VQBKX.js';import {a as a$1}from'./chunk-DDLFCE34.js';import {a as a$3}from'./chunk-67T3NHWA.js';import {a as a$4}from'./chunk-POONUNDO.js';import {b as b$2}from'./chunk-M7SLG4OU.js';import {a as a$5}from'./chunk-DHKABHFE.js';import {a as a$2}from'./chunk-I53W7VSB.js';import {Anchor,Localization,DataCaptureView,ZoomSwitchControl,Size,Point}from'@scandit/web-datacapture-core';import {ShutterButton}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/ShutterButton.js';import {ScanditHTMLElement}from'@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';import {html}from'@scandit/web-datacapture-core/build/js/private/utils/html.js';import {Card}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js';import {TorchSwitchIconButton}from'@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js';var c={FinishButton:a$1.tag,ShutterButton:ShutterButton.tag,ProgressBarWithLabel:a.tag,CardListContainer:b$1.tag,TorchSwitchIconButton:TorchSwitchIconButton.tag},h=class h extends ScanditHTMLElement{constructor(){super(...arguments);this.shouldShowCarousel=true;this.shouldShowPauseButton=true;this.shouldShowFinishButton=true;this.shouldShowProgressBar=true;this.torchControlPosition=Anchor.TopLeft;this.zoomControlPosition=Anchor.TopRight;this.textForItemListUpdatedWhenPausedHint=null;this.textForItemListUpdatedHint=null;this.textForTapShutterToResumeSearchHint=null;this.textForTapShutterToPauseScreenHint=null;this.textForMoveCloserToBarcodesHint=null;this.textForPointAtBarcodesToSearchHint=null;this.textForAllItemsFoundSuccessfullyHint=null;this.textForCollapseCardsButton=Localization.getInstance().get("barcode.find.view.textForCollapseCardsButton");this.barcodeFindViewUiListener=null;this.shutterButton=null;this.finishButton=null;this.progressBar=null;this.cardList=null;this.onShutterButtonClickedHandler=this.onShutterButtonClicked.bind(this);this.onFinishButtonClickedHandler=this.onFinishButtonClicked.bind(this);this.onTorchButtonClickedHandler=this.onTorchButtonClicked.bind(this);this.torchSwitchIconButton=null;this._shouldShowTorchControl=false;this._isTorchAvailable=false;this.zoomSwitchControl=null;this._shouldShowZoomControl=false;this.onDotClickHandler=this.onDotClick.bind(this);}set shouldShowTorchControl(t){this._shouldShowTorchControl=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(t&&this._isTorchAvailable));}get shouldShowTorchControl(){return this._shouldShowTorchControl}set shouldShowZoomControl(t){var e;this._shouldShowZoomControl=t;let o=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill;o!=null&&(o.hidden=!t);}get shouldShowZoomControl(){return this._shouldShowZoomControl}get camera(){return this.presenter.context.frameSource}static async createWithSettings(t,o,e,n,s){let i=document.createElement(h.tag);i.barcodeFindViewSettings=n,i.layout=b.create(),i.layout.innerHTML=html`<${a.tag} slot="progress" value="0" max="1" ${i.shouldShowProgressBar?"":"hidden"}></${a.tag}><${TorchSwitchIconButton.tag} slot="top-controls-left" ${i.shouldShowTorchControl?"":"hidden"}></${TorchSwitchIconButton.tag}><${b$1.tag} slot="card-list" hidden text-for-collapse-cards-button=${i.textForCollapseCardsButton}></${b$1.tag}><${ShutterButton.tag} slot="bottom-controls-center" variant="play" ${i.shouldShowPauseButton?"":"hidden"}></${ShutterButton.tag}><${a$1.tag} slot="bottom-controls-right" ${i.shouldShowFinishButton?"":"hidden"}></${a$1.tag}>`,i.append(i.layout),a$2(t)?(i.dataCaptureView=t,t.htmlElement.prepend(i),await o.setMode(e),await t.setContext(o)):(i.dataCaptureView=await DataCaptureView.forContext(o),i.dataCaptureView.connectToElement(t),t.prepend(i));let a$5=s!=null?s:a$3.recommendedCameraSettings;return a$5.zoomLevels=[.5,1],i.presenter=new b$2(i,o,e,n,a$5),await i.presenter.prepare(),await i.installZoomControl(),i.barcodeFindBasicOverlay=await a$4.withBarcodeFind(e,i.dataCaptureView),i}static async create(t,o,e){return h.register(),h.createWithSettings(t,o,e,a$5.BarcodeFindViewSettings.settings,a$3.recommendedCameraSettings)}static register(){defineCustomElements({[h.tag]:h,[TorchSwitchIconButton.tag]:TorchSwitchIconButton,[ShutterButton.tag]:ShutterButton,[a.tag]:a,[b$1.tag]:b$1,[a$1.tag]:a$1,[b.tag]:b});}async startSearching(){return this.onShutterButtonClickedHandler()}async stopSearching(){return this.presenter.stopSearching()}async pauseSearching(){return this.onShutterButtonClickedHandler()}setListener(t){this.barcodeFindViewUiListener=t,this.presenter.barcodeFindViewUiListener=this.barcodeFindViewUiListener;}async setShouldShowUserGuidanceView(t){return this.shouldShowUserGuidance=t,this.barcodeFindBasicOverlay.setUserGuidanceEnabled(this.shouldShowUserGuidance)}async setShouldShowHints(t){return this.shouldShowHints=t,this.barcodeFindBasicOverlay.setShouldShowHint(this.shouldShowHints)}setShouldShowCarousel(t){this.shouldShowCarousel=t,this.layout.toggleVisibility(c.CardListContainer,t);}setShouldShowPauseButton(t){this.shouldShowPauseButton=t,this.layout.toggleVisibility(c.ShutterButton,t);}setShouldShowFinishButton(t){this.shouldShowFinishButton=t,this.layout.toggleVisibility(c.FinishButton,t);}setShouldShowProgressBar(t){this.shouldShowProgressBar=t,this.layout.toggleVisibility(c.ProgressBarWithLabel,t);}setShouldShowTorchControl(t){this.shouldShowTorchControl=t;}setShouldShowZoomControl(t){this.shouldShowZoomControl=t;}setTorchAvailable(t){this._isTorchAvailable=t,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable));}setTorchControlPosition(t){var e;this.torchControlPosition=t,[Anchor.TopCenter,Anchor.TopLeft,Anchor.TopRight,Anchor.BottomLeft].includes(t)||(this.torchControlPosition=Anchor.TopLeft);let o={[Anchor.TopCenter]:"top-controls-center",[Anchor.TopLeft]:"top-controls-left",[Anchor.TopRight]:"top-controls-right",[Anchor.BottomLeft]:"bottom-controls-left"}[this.torchControlPosition];(e=this.torchSwitchIconButton)==null||e.setAttribute("slot",o);}setZoomControlPosition(t){var n;this.zoomControlPosition=t,[Anchor.TopCenter,Anchor.TopLeft,Anchor.TopRight,Anchor.BottomLeft].includes(t)||(this.zoomControlPosition=Anchor.TopRight);let o={[Anchor.TopCenter]:"top-controls-center",[Anchor.TopLeft]:"top-controls-left",[Anchor.TopRight]:"top-controls-right",[Anchor.BottomLeft]:"bottom-controls-left"}[this.zoomControlPosition],e=(n=this.zoomSwitchControl)==null?void 0:n.zoomSwitchPill;e==null||e.setAttribute("slot",o);}setTextForCollapseCardsButton(t){this.textForCollapseCardsButton=t,this.cardList!=null&&(this.cardList["text-for-collapse-cards-button"]=t);}async setTextForAllItemsFoundSuccessfullyHint(t){return this.textForAllItemsFoundSuccessfullyHint=t,this.barcodeFindBasicOverlay.setTextForAllItemsFoundSuccessfullyHint(this.textForAllItemsFoundSuccessfullyHint)}async setTextForPointAtBarcodesToSearchHint(t){return this.textForPointAtBarcodesToSearchHint=t,this.barcodeFindBasicOverlay.setTextForPointAtBarcodesToSearchHint(this.textForPointAtBarcodesToSearchHint)}async setTextForMoveCloserToBarcodesHint(t){return this.textForMoveCloserToBarcodesHint=t,this.barcodeFindBasicOverlay.setTextForMoveCloserToBarcodesHint(this.textForMoveCloserToBarcodesHint)}async setTextForTapShutterToPauseScreenHint(t){return this.textForTapShutterToPauseScreenHint=t,this.barcodeFindBasicOverlay.setTextForTapShutterToPauseScreenHint(this.textForTapShutterToPauseScreenHint)}async setTextForTapShutterToResumeSearchHint(t){return this.textForTapShutterToResumeSearchHint=t,this.barcodeFindBasicOverlay.setTextForTapShutterToResumeScreenHint(this.textForTapShutterToResumeSearchHint)}async setTextForItemListUpdatedWhenPausedHint(t){return this.textForItemListUpdatedWhenPausedHint=t,this.barcodeFindBasicOverlay.setTextForItemListUpdatedWhenPausedHint(this.textForItemListUpdatedWhenPausedHint)}async setTextForItemListUpdatedHint(t){return this.textForItemListUpdatedHint=t,this.barcodeFindBasicOverlay.setTextForItemListUpdatedHint(this.textForItemListUpdatedHint)}connectedCallback(){var t,o,e;this.shutterButton=this.layout.querySelector(c.ShutterButton),this.finishButton=this.layout.querySelector(c.FinishButton),this.progressBar=this.layout.querySelector(c.ProgressBarWithLabel),this.cardList=this.layout.querySelector(c.CardListContainer),this.torchSwitchIconButton=this.layout.querySelector(c.TorchSwitchIconButton),(t=this.torchSwitchIconButton)==null||t.addEventListener("pointerdown",this.onTorchButtonClickedHandler),(o=this.shutterButton)==null||o.addEventListener("pointerdown",this.onShutterButtonClickedHandler),(e=this.finishButton)==null||e.addEventListener("pointerdown",this.onFinishButtonClickedHandler),this.layout.addEventListener("onlayouttap",this.onDotClickHandler);}disconnectedCallback(){var t,o,e,n;(t=this.shutterButton)==null||t.removeEventListener("pointerdown",this.onShutterButtonClickedHandler),(o=this.torchSwitchIconButton)==null||o.addEventListener("pointerdown",this.onTorchButtonClickedHandler),(e=this.finishButton)==null||e.removeEventListener("pointerdown",this.onFinishButtonClickedHandler),this.layout.removeEventListener("onlayouttap",this.onDotClickHandler),(n=this.zoomSwitchControl)==null||n.remove(),this.presenter.dispose();}async installZoomControl(){this.zoomSwitchControl=new ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let t=this.zoomSwitchControl.zoomSwitchPill;t!=null&&(t.setAttribute("slot","top-controls-right"),t.hidden=!this._shouldShowZoomControl,this.layout.append(t));}async onShutterButtonClicked(){this.presenter.onShutterButtonClicked();}async onTorchButtonClicked(){this.presenter.onTorchButtonClicked();}updateProgressBar(t,o){this.progressBar&&(this.progressBar.value!==t&&(this.progressBar.value=t),o!=null&&this.progressBar.max!==o&&(this.progressBar.max=o));}setShutterButtonPulse(t){this.shutterButton!=null&&(this.shutterButton.pulse=t);}switchToPaused(t,o){var n,s,i,a,u,p,m,y,L,P,H,x;let e=[];for(let d of t){let w=Card.create();w.id=`${String(d.uid)}`;let B=a$6.create();if(w.append(B),B.title=(s=(n=d.content)==null?void 0:n.info)!=null?s:d.searchOptions.barcodeData,((i=d.content)==null?void 0:i.additionalInfo)!=null&&(B.subtitle=(u=(a=d.content)==null?void 0:a.additionalInfo)!=null?u:""),o.find(l=>l.searchOptions.barcodeData===d.searchOptions.barcodeData)!=null){let l=a$7.create();l.slot="right",B.append(l);}if(((p=d.content)==null?void 0:p.image)==null){let l=a$8.create();l.slot="image-left",B.append(l);}else {let l=document.createElement("img");l.slot="image-left",l.src=(y=(m=d.content)==null?void 0:m.image)!=null?y:"",l.alt=(P=(L=d.content)==null?void 0:L.additionalInfo)!=null?P:"",B.append(l);}e.push(w);}(H=this.cardList)==null||H.renderCards(e),(x=this.cardList)==null||x.removeAttribute("hidden"),this.shutterButton.variant="play",this.shutterButton.pulse=false,this.toggleDotPulse(false);}moveCardOnTheFront(t){var e,n;if(!t)return;let o=(e=this.cardList)==null?void 0:e.getCardBySelector(`${Card.tag}#${t.uid}`);o!=null&&((n=this.cardList)==null||n.unshiftCard(o));}switchToStarted(){var t;this.clearDots(),(t=this.cardList)==null||t.setAttribute("hidden",""),this.shutterButton.variant="pause";}toggleTorchIcon(t){this.torchSwitchIconButton&&(this.torchSwitchIconButton.state=t);}onFinishButtonClicked(){this.presenter.onFinishButtonClicked();}clearDots(){let t=this.layout.querySelectorAll("[data-identifier]");for(let o of t)o.remove();}toggleDotPulse(t){let o=[...this.layout.querySelectorAll("[data-identifier]")];for(let e of o)e.pulse=t;}pointTransformation(t){return `translate3d(calc(${t.x}px - 50%), calc(${t.y}px - 50%), 0px)`}onDotClick(t){let o=t.detail.target;if(o.dataset.identifier!=null){for(let e of this.layout.querySelectorAll(a$9.tag))e.pulse=false,o===e&&o.variant==="target"&&(o.pulse=true);this.presenter.onDotClick(o.dataset.identifier);}}createDotForTrackedBarcode(t,o,e){var u,p,m;let n=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),s=t.barcode.data!=null&&((u=o.foundTrackedBarcodesInLastProcessedFrame[`${t.identifier}`])==null?void 0:u.barcode.data)===t.barcode.data,i=s?(m=e==null?void 0:e[(p=t.barcode.data)!=null?p:""])==null?void 0:m.searchOptions.brush:void 0,a=i?a$9.createWithBrush(i,this.barcodeFindViewSettings.notInListItemColor):a$9.createWithColors(this.barcodeFindViewSettings.inListItemColor,this.barcodeFindViewSettings.notInListItemColor);return a.style.setProperty("position","absolute"),a.style.setProperty("transform",this.pointTransformation(n.center)),a.dataset.identifier=`${t.identifier}`,s&&(a.setAttribute("variant","target"),a.pulse=true),a}renderDots(t,o){var e,n;for(let s of t.removedTrackedBarcodes){let i=this.layout.querySelector(`[data-identifier="${s}"]`);i==null||i.remove();}if(t.addedTrackedBarcodes.length>0){let s=document.createDocumentFragment();for(let i of t.addedTrackedBarcodes)s.append(this.createDotForTrackedBarcode(i,t,o));this.layout.append(s);}for(let s of t.updatedTrackedBarcodes){let i=this.layout.querySelector(`[data-identifier="${s.identifier}"]`),{center:a}=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(s.anchorPositions);if(i){let u=(n=(e=this.camera)==null?void 0:e.getMirrorImageEnabled())!=null?n:false,p=new Size(this.dataCaptureView.width,this.dataCaptureView.height);i.style.setProperty("position","absolute");let m=u?Point.mirrorX(a,p):a;i.style.setProperty("transform",this.pointTransformation(m));}}}};h.tag="scandit-barcode-find-view";var M=h;export{M as a};