@scandit/web-datacapture-barcode
Version:
Scandit Data Capture SDK for the Web
1 lines • 288 kB
JavaScript
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@scandit/web-datacapture-core"),require("@scandit/web-datacapture-core/build/js/private/utils/fromEntries.js"),require("@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js"),require("@scandit/web-datacapture-core/build/js/private/utils/deferred.js"),require("@scandit/web-datacapture-core/build/js/private/utils/replaceImagesInViewUtils.js"),require("@scandit/web-datacapture-core/build/js/private/Helper.js"),require("@scandit/web-datacapture-core/build/js/private/OrientationObserver.js"),require("@scandit/web-datacapture-core/build/js/private/utils/index.js"),require("@scandit/web-datacapture-core/build/js/private/utils/clamp.js"),require("@scandit/web-datacapture-core/build/js/private/utils/safeCancelAnimation.js"),require("@scandit/web-datacapture-core/build/js/private/utils/timeout.js"),require("@scandit/web-datacapture-core/build/js/private/ui/colors.js"),require("@scandit/web-datacapture-core/build/js/private/utils/safeStorage.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/ShutterButton.js"),require("@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js"),require("@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js"),require("@scandit/web-datacapture-core/build/js/private/utils/html.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js"),require("@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/SvgIcon.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/CardList.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/ProgressBar.js"),require("@scandit/web-datacapture-core/build/js/private/GestureRecognizer/index.js"),require("@scandit/web-datacapture-core/build/js/private/utils/throttle.js"),require("@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js"),require("@scandit/web-datacapture-core/build/js/private/utils/css.js"),require("@scandit/web-datacapture-core/build/js/private/utils/quadrilateralUtils.js")):typeof define==`function`&&define.amd?define(`exports,@scandit/web-datacapture-core,@scandit/web-datacapture-core/build/js/private/utils/fromEntries.js,@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js,@scandit/web-datacapture-core/build/js/private/utils/deferred.js,@scandit/web-datacapture-core/build/js/private/utils/replaceImagesInViewUtils.js,@scandit/web-datacapture-core/build/js/private/Helper.js,@scandit/web-datacapture-core/build/js/private/OrientationObserver.js,@scandit/web-datacapture-core/build/js/private/utils/index.js,@scandit/web-datacapture-core/build/js/private/utils/clamp.js,@scandit/web-datacapture-core/build/js/private/utils/safeCancelAnimation.js,@scandit/web-datacapture-core/build/js/private/utils/timeout.js,@scandit/web-datacapture-core/build/js/private/ui/colors.js,@scandit/web-datacapture-core/build/js/private/utils/safeStorage.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/ShutterButton.js,@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js,@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js,@scandit/web-datacapture-core/build/js/private/utils/html.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js,@scandit/web-datacapture-core/build/js/private/ui/molecules/TorchSwitchIconButton.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/SvgIcon.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/CardList.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/ProgressBar.js,@scandit/web-datacapture-core/build/js/private/GestureRecognizer/index.js,@scandit/web-datacapture-core/build/js/private/utils/throttle.js,@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js,@scandit/web-datacapture-core/build/js/private/utils/css.js,@scandit/web-datacapture-core/build/js/private/utils/quadrilateralUtils.js`.split(`,`),t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SDCBarcode={},e.SDCCore,e.SDCCore.Internal.private_utils_fromEntries,e.SDCCore.Internal.private_utils_warnMultithreadingUnavailable,e.SDCCore.Internal.private_utils_deferred,e.SDCCore.Internal.private_utils_replaceImagesInViewUtils,e.SDCCore.Internal.private_Helper,e.SDCCore.Internal.private_OrientationObserver,e.SDCCore.Internal.private_utils_index,e.SDCCore.Internal.private_utils_clamp,e.SDCCore.Internal.private_utils_safeCancelAnimation,e.SDCCore.Internal.private_utils_timeout,e.SDCCore.Internal.private_ui_colors,e.SDCCore.Internal.private_utils_safeStorage,e.SDCCore.Internal.private_ui_atoms_ShutterButton,e.SDCCore.Internal.private_utils_ScanditHTMLElement,e.SDCCore.Internal.private_utils_defineCustomElements,e.SDCCore.Internal.private_utils_html,e.SDCCore.Internal.private_ui_atoms_Card,e.SDCCore.Internal.private_ui_molecules_TorchSwitchIconButton,e.SDCCore.Internal.private_ui_atoms_SvgIcon,e.SDCCore.Internal.private_ui_atoms_CardList,e.SDCCore.Internal.private_ui_atoms_ProgressBar,e.SDCCore.Internal.private_GestureRecognizer_index,e.SDCCore.Internal.private_utils_throttle,e.SDCCore.Internal.private_ui_atoms_Backdrop,e.SDCCore.Internal.private_utils_css,e.SDCCore.Internal.private_utils_quadrilateralUtils))})(this,function(e,t,n,r,i,a,o,s,c,l,ee,u,d,te,f,p,m,h,g,_,ne,v,re,ie,ae,oe,se,ce){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var le=Object.defineProperty,ue=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},de=(e,t)=>{let n={};for(var r in e)le(n,r,{get:e[r],enumerable:!0});return t||le(n,Symbol.toStringTag,{value:`Module`}),n},fe=class e{get endIndex(){return this._endIndex}get ianaName(){return this._ianaName}get startIndex(){return this._startIndex}static fromJSON(t){let n=new e;return n._ianaName=t.ianaName,n._startIndex=t.startIndex,n._endIndex=t.endIndex,n}toJSONObject(){return{endIndex:this.endIndex,ianaName:this.ianaName,startIndex:this.startIndex}}},pe=class e{get barcodeSetId(){return this._barcodeSetId}get completeData(){return this._completeData}get encodingRanges(){return this._encodingRanges}get isComplete(){return this._complete}get rawCompleteData(){return this._rawCompleteData}get scannedSegmentCount(){return this._scannedSegmentCount}get totalSegmentCount(){return this._totalSegmentCount}static fromJSON(t){if(t==null)return null;let n=new e;return n._complete=t.complete,n._barcodeSetId=t.barcodeSetId,n._scannedSegmentCount=t.scannedSegmentCount,n._totalSegmentCount=t.totalSegmentCount,n._encodingRanges=t.completeDataEncodings.map(e=>fe.fromJSON(e)),n._completeData=t.completeDataUtf8String,n._rawCompleteData=t.completeDataRaw,n}toJSONObject(){return{complete:this._complete,barcodeSetId:this.barcodeSetId,scannedSegmentCount:this.scannedSegmentCount,totalSegmentCount:this.totalSegmentCount,completeDataEncodings:this._encodingRanges.map(e=>e.toJSONObject()),completeDataUtf8String:this.completeData,completeDataRaw:this.rawCompleteData}}};let me=function(e){return e.EAN13UPCA=`ean13Upca`,e.UPCE=`upce`,e.EAN8=`ean8`,e.Code39=`code39`,e.Code93=`code93`,e.Code128=`code128`,e.Code11=`code11`,e.Code25=`code25`,e.Codabar=`codabar`,e.InterleavedTwoOfFive=`interleavedTwoOfFive`,e.MSIPlessey=`msiPlessey`,e.QR=`qr`,e.DataMatrix=`dataMatrix`,e.Aztec=`aztec`,e.MaxiCode=`maxicode`,e.DotCode=`dotcode`,e.KIX=`kix`,e.RoyalMail4state=`royal-mail-4state`,e.GS1Databar=`databar`,e.GS1DatabarExpanded=`databarExpanded`,e.GS1DatabarLimited=`databarLimited`,e.PDF417=`pdf417`,e.MicroPDF417=`microPdf417`,e.MicroQR=`microQr`,e.Code32=`code32`,e.Lapa4SC=`lapa4sc`,e.IATATwoOfFive=`iata2of5`,e.MatrixTwoOfFive=`matrix2of5`,e.USPSIntelligentMail=`uspsIntelligentMail`,e.ArUco=`aruco`,e}({}),he=function(e){return e.A=`A`,e.B=`B`,e.C=`C`,e}({}),ge=function(e){return e.Mod10=`mod10`,e.Mod11=`mod11`,e.Mod16=`mod16`,e.Mod43=`mod43`,e.Mod47=`mod47`,e.Mod103=`mod103`,e.Mod10AndMod11=`mod1110`,e.Mod10AndMod10=`mod1010`,e}({}),_e=function(e){return e.None=`none`,e.Unknown=`unknown`,e.Linked=`linked`,e.GS1TypeA=`gs1TypeA`,e.GS1TypeB=`gs1TypeB`,e.GS1TypeC=`gs1TypeC`,e}({});var ve=class e{get isStructuredAppend(){return this._structuredAppendData!=null}get structuredAppendData(){return this._structuredAppendData}get addOnData(){return this._addOnData}get compositeData(){return this._compositeData}get compositeFlag(){return this._compositeFlag}get compositeRawData(){return this._compositeRawData}get data(){return this._data}get encodingRanges(){return this._encodingRanges}get frameID(){return this._frameID}get isColorInverted(){return this._isColorInverted}get isGS1DataCarrier(){return this._isGS1DataCarrier}get location(){return this._location}get rawData(){return this._rawData}get symbolCount(){return this._symbolCount}get symbology(){return this._symbology}static fromJSON(n){let r=new e;return r._symbology=n.symbology,r._data=n.data,r._rawData=n.rawData,r._compositeData=n.compositeData,r._compositeRawData=n.compositeRawData,r._addOnData=n.addOnData??null,r._isGS1DataCarrier=n.isGS1DataCarrier,r._compositeFlag=n.compositeFlag,r._isColorInverted=n.isColorInverted,r._symbolCount=n.symbolCount,r._frameID=n.frameId,r._encodingRanges=n.encodingRanges.map(e=>fe.fromJSON(e)),r._location=t.Quadrilateral.fromJSON(n.location),r._structuredAppendData=pe.fromJSON(n.structuredAppendData),r}toJSONObject(){var e;return{symbology:this.symbology.toString(),data:this.data,rawData:this.rawData,compositeData:this.compositeData,compositeRawData:this.compositeRawData,addOnData:this.addOnData??null,isGS1DataCarrier:this.isGS1DataCarrier,compositeFlag:this.compositeFlag.toString(),isColorInverted:this.isColorInverted,symbolCount:this.symbolCount,frameId:this.frameID,encodingRanges:this.encodingRanges.map(e=>e.toJSONObject()),location:this.location.toJSONObject(),structuredAppendData:((e=this.structuredAppendData)==null?void 0:e.toJSONObject())??null}}},y=class e{get barcode(){return this._barcode}get identifier(){return this._identifier}get location(){return this._location}get shouldAnimateFromPreviousToNextState(){return this._shouldAnimateFromPreviousToNextState}get anchorPositions(){return this._anchorPositions}static fromJSON(n){let r=new e;return r._identifier=Number.parseInt(n.identifier,10),r._shouldAnimateFromPreviousToNextState=n.shouldAnimateFromPreviousToNextState,r._barcode=ve.fromJSON(n.barcode),r._anchorPositions=t.AnchorPositions.fromJSON(n.anchorPositions),r._location=t.Quadrilateral.fromJSON(n.location),r}getAnchorPosition(e){return this._anchorPositions[e]}},ye=class e{get addedTrackedBarcodes(){return this._addedTrackedBarcodes}get removedTrackedBarcodes(){return this._removedTrackedBarcodes}get updatedTrackedBarcodes(){return this._updatedTrackedBarcodes}get trackedBarcodes(){return this._trackedBarcodes}get frameSequenceID(){return this._frameSequenceID}static fromJSON(t){let n=new e;n._addedTrackedBarcodes=t.addedTrackedBarcodes.map(e=>y.fromJSON(e));for(let e of n._addedTrackedBarcodes)e.sessionFrameSequenceID=`${t.frameSequenceId}`;n._removedTrackedBarcodes=t.removedTrackedBarcodes,n._updatedTrackedBarcodes=t.updatedTrackedBarcodes.map(e=>y.fromJSON(e));for(let e of n._updatedTrackedBarcodes)e.sessionFrameSequenceID=`${t.frameSequenceId}`;return n._trackedBarcodes=Object.keys(t.trackedBarcodes).reduce((e,n)=>{let r=y.fromJSON(t.trackedBarcodes[n]);return r.sessionFrameSequenceID=`${t.frameSequenceId}`,e[n]=r,e},{}),n._frameSequenceID=t.frameSequenceId,n}};let be={BarcodeBatchBasicOverlay:{defaultStyle:`frame`,DefaultBrush:new t.Brush(t.Color.fromJSON(`#00000000`),t.Color.fromJSON(`#FFFFFFFF`),3),styles:(0,n.fromEntries)([[`frame`,{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00FFFF73`),t.Color.fromJSON(`#00FFFF`),3)}],[`dot`,{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00FFFF73`),t.Color.fromJSON(`#00FFFF`),1)}],[`legacy`,{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00000000`),t.Color.fromJSON(`#FFFFFFFF`),1)}]])},RecommendedCameraSettings:t.CameraSettings.fromJSON({zoomFactor:1,zoomGestureZoomFactor:2,focusGestureStrategy:t.FocusGestureStrategy.ManualUntilCapture,preferredResolution:t.VideoResolution.FullHD})};var xe=class e{constructor(){this.type=`barcodeTracking`,this._isEnabled=!0,this._context=null,this.listeners=[],this.privateListeners=new Set,this.workerMessageListener=this.onWorkerMessage.bind(this)}static get recommendedCameraSettings(){return new t.CameraSettings(be.RecommendedCameraSettings)}get context(){return this._context}set context(e){this._context=e}static async forContext(t,n){(0,r.warnMultithreadingUnavailable)();let i=new e;return i.settings=n,t!=null&&await t.setMode(i),i}isEnabled(){return this._isEnabled}async setEnabled(e){this._isEnabled=e,await this.notifyContext()}async applySettings(e){return this.settings=e,this.notifyContext()}addListener(e){this.listeners.includes(e)||this.listeners.push(e)}removeListener(e){this.listeners.includes(e)&&this.listeners.splice(this.listeners.indexOf(e),1)}toJSONObject(){return{type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()}}attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener)}detachedFromContext(){var e;(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null}addPrivateListener(e){this.privateListeners.add(e)}removePrivateListener(e){this.privateListeners.delete(e)}async onWorkerMessage(e){switch(e.type){case`barcodeBatchDidUpdateSession`:{let t=ye.fromJSON(e.payload);if(!this._isEnabled)return;for(let e of[...this.privateListeners,...this.listeners])e.didUpdateSession&&e.didUpdateSession(this,t)}break;case`didTapTrackedBarcode`:for(let n of this.privateListeners){var t;(t=n.didTapTrackedBarcode)==null||t.call(n,e.payload)}break;default:break}}async notifyContext(){if(this.context)return this.context.update()}},Se=class{constructor(e){this.advancedOverlay=e}didUpdateSession(e,t){this.advancedOverlay.update(t)}};let Ce=new t.NumberWithUnit(0,t.MeasureUnit.Pixel),we=new t.PointWithUnit(Ce,Ce),Te=t.Anchor.Center;var Ee=class e{constructor(){this.listener=null,this.type=`barcodeTrackingAdvanced`,this._shouldShowScanAreaGuides=!1,this._viewForBarcode=new Map,this._anchorForBarcode=new Map,this._offsetForBarcode=new Map,this._viewForBarcodeFromListener=new Map,this._anchorForBarcodeFromListener=new Map,this._offsetForBarcodeFromListener=new Map,this._anchorPositions=new Map,this._barcodeForId=new Map}get shouldShowScanAreaGuides(){return this._shouldShowScanAreaGuides}set shouldShowScanAreaGuides(e){this._shouldShowScanAreaGuides=e,this.barcodeBatch.notifyContext()}static async withBarcodeBatchForView(t,n){let r=new e;return r.barcodeBatch=t,n&&(await n.addOverlay(r),r.view=n,r.privateListener=new Se(r),t.addPrivateListener(r.privateListener),r.view.setDidTapCustomLocationsViewListener({didTapView:e=>{let t=r.getTrackedBarcodeForIdentifier(e);if(t){var n,i;(n=r.listener)==null||(i=n.didTapViewForTrackedBarcode)==null||i.call(n,r,t)}}})),r}async setViewForTrackedBarcode(e,t){if(e==null){this._viewForBarcode.set(t.identifier,null);return}let n=await e;n!=null&&this._viewForBarcode.set(t.identifier,n),this.barcodeBatch.isEnabled()||this.update()}setAnchorForTrackedBarcode(e,t){this._anchorForBarcode.set(t.identifier,e),this.barcodeBatch.isEnabled()||this.update()}setOffsetForTrackedBarcode(e,t){this._offsetForBarcode.set(t.identifier,e),this.barcodeBatch.isEnabled()||this.update()}clearTrackedBarcodeViews(){this._viewForBarcode.clear(),this.barcodeBatch.isEnabled()||this.update()}toJSONObject(){return{type:this.type,shouldShowScanAreaGuides:this._shouldShowScanAreaGuides}}getTrackedBarcodeForIdentifier(e){return this._barcodeForId.get(e)}async setViewForTrackedBarcodeFromListener(e,t){if(e==null){this._viewForBarcodeFromListener.set(t.identifier,null);return}let n=await e;n!=null&&this._viewForBarcodeFromListener.set(t.identifier,n)}processRemovedBarcodes(e){for(let t of e){let e=Number.parseInt(t,10);this._viewForBarcode.delete(e),this._anchorForBarcode.delete(e),this._offsetForBarcode.delete(e),this._anchorPositions.delete(e),this._viewForBarcodeFromListener.delete(e),this._anchorForBarcodeFromListener.delete(e),this._offsetForBarcodeFromListener.delete(e)}}processAddedBarcodes(e){for(let s of e){if(this._anchorPositions.set(s.identifier,s.anchorPositions),this._barcodeForId.set(s.identifier,s),!this._viewForBarcodeFromListener.has(s.identifier)){var t,n;let e=((t=this.listener)==null||(n=t.viewForTrackedBarcode)==null?void 0:n.call(t,this,s))??Promise.resolve(null);this.setViewForTrackedBarcodeFromListener(e,s)}if(!this._offsetForBarcodeFromListener.has(s.identifier)){var r,i;let e=(r=this.listener)==null||(i=r.offsetForTrackedBarcode)==null?void 0:i.call(r,this,s);e!=null&&this._offsetForBarcodeFromListener.set(s.identifier,e)}if(!this._anchorForBarcodeFromListener.has(s.identifier)){var a,o;let e=(a=this.listener)==null||(o=a.anchorForTrackedBarcode)==null?void 0:o.call(a,this,s);e!=null&&this._anchorForBarcodeFromListener.set(s.identifier,e)}}}processUpdatedTrackedBarcodes(e){for(let t of e)this._anchorPositions.set(t.identifier,t.anchorPositions),this._barcodeForId.set(t.identifier,t)}update(e){e!=null&&(this.lastSession=e);let t=this.view;if(t===null)return;this.processRemovedBarcodes(this.lastSession.removedTrackedBarcodes),this.processAddedBarcodes(this.lastSession.addedTrackedBarcodes),this.processUpdatedTrackedBarcodes(this.lastSession.updatedTrackedBarcodes);let n={removedIds:this.lastSession.removedTrackedBarcodes,elements:[]};for(let e of Object.keys(this.lastSession.trackedBarcodes)){var r;let t=Number.parseInt(e,10),i=(r=this._viewForBarcode.get(t)??this._viewForBarcodeFromListener.get(t))==null?void 0:r.toJSONObject();i!=null&&n.elements.push({view:i,identifier:t,anchor:this._anchorForBarcode.get(t)??this._anchorForBarcodeFromListener.get(t)??Te,offset:this._offsetForBarcode.get(t)??this._offsetForBarcodeFromListener.get(t)??we,anchorPositions:this._anchorPositions.get(t)})}t.renderCustomLocationsView(n)}},De=class{constructor(e){this.basicOverlay=e}didTapTrackedBarcode(e){var t,n;this.basicOverlay.listener!=null&&((t=(n=this.basicOverlay.listener).didTapTrackedBarcode)==null||t.call(n,this.basicOverlay,y.fromJSON(e)))}didUpdateSession(e,n){if(this.basicOverlay.listener==null)return;let r=!1;for(let e of Object.values(n.trackedBarcodes)){var i,a;let n=((i=(a=this.basicOverlay.listener).brushForTrackedBarcode)==null?void 0:i.call(a,this.basicOverlay,e))??null;if(n!=null){let i=this.basicOverlay._brushesForBarcodes.get(e.identifier)??null;t.Brush.areEquals(n,i)||(this.basicOverlay._brushesForBarcodes.set(e.identifier,n),r=!0)}}r&&this.basicOverlay.barcodeBatch.notifyContext()}};let Oe=function(e){return e.Frame=`frame`,e.Dot=`dot`,e}({});var ke=class e{constructor(){this.type=`barcodeTrackingBasic`,this._style=be.BarcodeBatchBasicOverlay.defaultStyle,this._shouldShowScanAreaGuides=!1,this._brushesForBarcodes=new Map}get style(){return this._style}get listener(){return this._listener}set listener(e){this._listener=e}get brush(){return this._brush}static async withBarcodeBatch(t){return e.withBarcodeBatchForView(t,null)}static async withBarcodeBatchForView(t,n){return e.withBarcodeBatchForViewWithStyle(t,n,be.BarcodeBatchBasicOverlay.defaultStyle)}static async withBarcodeBatchForViewWithStyle(t,n,r){let i=new e;return i.barcodeBatch=t,i._style=r,i._brush=be.BarcodeBatchBasicOverlay.styles[i.style].DefaultBrush.clone(),n&&await n.addOverlay(i),i.privateListener=new De(i),t.addPrivateListener(i.privateListener),i}async setBrush(e){this._brush=e,await this.barcodeBatch.notifyContext()}shouldShowScanAreaGuides(){return this._shouldShowScanAreaGuides}async setShouldShowScanAreaGuides(e){this._shouldShowScanAreaGuides=e,await this.barcodeBatch.notifyContext()}async setBrushForTrackedBarcode(e,t){this._brushesForBarcodes.set(t.identifier,e),await this.barcodeBatch.notifyContext()}async clearTrackedBarcodeBrushes(){this._brushesForBarcodes.clear(),await this.barcodeBatch.notifyContext()}toJSONObject(){return{type:this.type,brush:this._brush.toJSONObject(),shouldShowScanAreaGuides:this._shouldShowScanAreaGuides,style:this._style,brushesForBarcodes:[...this._brushesForBarcodes.entries()].reduce((e,[t,n])=>(e[t]=n.toJSONObject(),e),{})}}},Ae=class e{constructor(){this.preset=null,this.markers=null,this.markerSize=null}static fromPreset(t){let n=new e;return n.preset=t,n}static createWithMarkers(t,n){let r=new e;return r.markerSize=t,r.markers=n,r}toJSONObject(){var e;return{preset:this.preset,markers:((e=this.markers)==null?void 0:e.map(e=>e.toJSONObject()))??null,markerSize:this.markerSize}}};let je=function(e){return e.ArucoDictionaryPreset_5X5_50=`5X5_50`,e.ArucoDictionaryPreset_5X5_100=`5X5_100`,e.ArucoDictionaryPreset_5X5_250=`5X5_250`,e.ArucoDictionaryPreset_5X5_1000=`5X5_1000`,e.ArucoDictionaryPreset_5X5_1023=`5X5_1023`,e.ArucoDictionaryPreset_4X4_250=`4X4_250`,e.ArucoDictionaryPreset_6X6_250=`6X6_250`,e}({});var Me=class e{get isFixed(){return this.minimum===this.maximum||this.step<=0}get maximum(){return this._maximum}get minimum(){return this._minimum}get step(){return this._step}static fromJSON(t){let n=new e;return n._minimum=t.minimum,n._maximum=t.maximum,n._step=t.step,n}toJSONObject(){return{maximum:this.maximum,minimum:this.minimum,step:this.step}}},b=class e{constructor(t){if(t!=null)return e.all[e.all.findIndex(e=>e.identifier===t)]}static get all(){return e.defaults().SymbologyDescriptions}get activeSymbolCountRange(){return this._activeSymbolCountRange}get defaultSymbolCountRange(){return this._defaultSymbolCountRange}get identifier(){return this._identifier}get isAvailable(){return this._isAvailable}get isColorInvertible(){return this._isColorInvertible}get readableName(){return this._readableName}get supportedExtensions(){return[...this._supportedExtensions]}get symbology(){return this.identifier}static forIdentifier(t){return e.all.findIndex(e=>e.identifier===t)===-1?null:new e(t)}static fromJSON(t){let n=new e;return n._identifier=t.identifier,n._readableName=t.readableName,n._isAvailable=t.isAvailable,n._isColorInvertible=t.isColorInvertible,n._activeSymbolCountRange=Me.fromJSON(t.activeSymbolCountRange),n._defaultSymbolCountRange=Me.fromJSON(t.defaultSymbolCountRange),n._supportedExtensions=new Set(t.supportedExtensions),n}},x=class e{get enabledExtensions(){return[...this.extensions]}get symbology(){return this._symbology}static fromJSON(t){let n=new e;return n.extensions=new Set(t.extensions),n.isEnabled=t.enabled,n.isColorInvertedEnabled=t.colorInvertedEnabled,n.checksums=new Set(t.checksums),n.activeSymbolCounts=t.activeSymbolCounts,n.ocrFallbackRegex=t.ocrFallbackRegex??null,n}setExtensionEnabled(e,t){t?this.extensions.add(e):this.extensions.delete(e)}toJSONObject(){return{activeSymbolCounts:[...this.activeSymbolCounts],checksums:[...this.checksums],colorInvertedEnabled:this.isColorInvertedEnabled,enabled:this.isEnabled,extensions:[...this.extensions],...this.ocrFallbackRegex!=null&&this.ocrFallbackRegex!==``&&{ocrFallbackRegex:this.ocrFallbackRegex}}}};let S={SymbologySettings:{ean13Upca:x.fromJSON({activeSymbolCounts:[12],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),ean8:x.fromJSON({activeSymbolCounts:[8],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),upce:x.fromJSON({activeSymbolCounts:[6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),code128:x.fromJSON({activeSymbolCounts:[40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[`strip_leading_fnc1`]}),code39:x.fromJSON({activeSymbolCounts:[40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),code93:x.fromJSON({activeSymbolCounts:[40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),interleavedTwoOfFive:x.fromJSON({activeSymbolCounts:[40,38,36,34,32,30,28,26,24,22,20,18,16,14,12,10,8,6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),qr:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),dataMatrix:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[`strip_leading_fnc1`]}),pdf417:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),msiPlessey:x.fromJSON({activeSymbolCounts:[32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),databar:x.fromJSON({activeSymbolCounts:[2],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),databarExpanded:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),codabar:x.fromJSON({activeSymbolCounts:[20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),aztec:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),maxicode:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),code11:x.fromJSON({activeSymbolCounts:[20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[`mod11`],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),databarLimited:x.fromJSON({activeSymbolCounts:[1],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),code25:x.fromJSON({activeSymbolCounts:[20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),microPdf417:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),"royal-mail-4state":x.fromJSON({activeSymbolCounts:[24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),kix:x.fromJSON({activeSymbolCounts:[24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),dotcode:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),microQr:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),code32:x.fromJSON({activeSymbolCounts:[8],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),lapa4sc:x.fromJSON({activeSymbolCounts:[16],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),iata2of5:x.fromJSON({activeSymbolCounts:[20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),matrix2of5:x.fromJSON({activeSymbolCounts:[20,19,18,17,16,15,14,13,12,11,10,9,8,7],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),uspsIntelligentMail:x.fromJSON({activeSymbolCounts:[65],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]}),aruco:x.fromJSON({activeSymbolCounts:[],checksums:[],colorInvertedEnabled:!1,enabled:!1,extensions:[]})},CompositeTypeDescriptions:[{symbologies:[`ean8`,`ean13Upca`,`microPdf417`,`databarLimited`,`upce`,`databar`,`databarExpanded`],types:[`A`]},{symbologies:[`ean8`,`ean13Upca`,`microPdf417`,`databarLimited`,`upce`,`databar`,`databarExpanded`],types:[`B`]},{symbologies:[`code128`,`pdf417`],types:[`C`]}],SymbologyDescriptions:[b.fromJSON({activeSymbolCountRange:{maximum:12,minimum:12,step:1},defaultSymbolCountRange:{maximum:12,minimum:12,step:1},identifier:`ean13Upca`,isAvailable:!0,isColorInvertible:!0,readableName:`EAN-13/UPC-A`,supportedExtensions:[`two_digit_add_on`,`strict`,`remove_leading_upca_zero`,`relaxed_sharp_quiet_zone_check`,`five_digit_add_on`]}),b.fromJSON({activeSymbolCountRange:{maximum:8,minimum:8,step:1},defaultSymbolCountRange:{maximum:8,minimum:8,step:1},identifier:`ean8`,isAvailable:!0,isColorInvertible:!0,readableName:`EAN-8`,supportedExtensions:[`two_digit_add_on`,`strict`,`relaxed_sharp_quiet_zone_check`,`five_digit_add_on`]}),b.fromJSON({activeSymbolCountRange:{maximum:6,minimum:6,step:1},defaultSymbolCountRange:{maximum:6,minimum:6,step:1},identifier:`upce`,isAvailable:!0,isColorInvertible:!0,readableName:`UPC-E`,supportedExtensions:[`two_digit_add_on`,`strict`,`return_as_upca`,`remove_leading_upca_zero`,`five_digit_add_on`]}),b.fromJSON({activeSymbolCountRange:{maximum:50,minimum:4,step:1},defaultSymbolCountRange:{maximum:40,minimum:6,step:1},identifier:`code128`,isAvailable:!0,isColorInvertible:!0,readableName:`Code 128`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:50,minimum:3,step:1},defaultSymbolCountRange:{maximum:40,minimum:6,step:1},identifier:`code39`,isAvailable:!0,isColorInvertible:!0,readableName:`Code 39`,supportedExtensions:[`strict`,`relaxed_sharp_quiet_zone_check`,`full_ascii`]}),b.fromJSON({activeSymbolCountRange:{maximum:60,minimum:5,step:1},defaultSymbolCountRange:{maximum:40,minimum:6,step:1},identifier:`code93`,isAvailable:!0,isColorInvertible:!1,readableName:`Code 93`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:50,minimum:4,step:2},defaultSymbolCountRange:{maximum:40,minimum:6,step:2},identifier:`interleavedTwoOfFive`,isAvailable:!0,isColorInvertible:!1,readableName:`Interleaved Two of Five`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`qr`,isAvailable:!0,isColorInvertible:!0,readableName:`QR Code`,supportedExtensions:[`guess_encoding`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`dataMatrix`,isAvailable:!0,isColorInvertible:!0,readableName:`Data Matrix`,supportedExtensions:[`direct_part_marking_mode`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`pdf417`,isAvailable:!0,isColorInvertible:!1,readableName:`PDF417`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:32,minimum:3,step:1},defaultSymbolCountRange:{maximum:32,minimum:6,step:1},identifier:`msiPlessey`,isAvailable:!0,isColorInvertible:!1,readableName:`MSI Plessey`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:2,minimum:2,step:1},defaultSymbolCountRange:{maximum:2,minimum:2,step:1},identifier:`databar`,isAvailable:!0,isColorInvertible:!1,readableName:`GS1 DataBar 14`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`databarExpanded`,isAvailable:!0,isColorInvertible:!1,readableName:`GS1 DataBar Expanded`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:34,minimum:3,step:1},defaultSymbolCountRange:{maximum:20,minimum:7,step:1},identifier:`codabar`,isAvailable:!0,isColorInvertible:!1,readableName:`Codabar`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`aztec`,isAvailable:!0,isColorInvertible:!1,readableName:`Aztec`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`maxicode`,isAvailable:!0,isColorInvertible:!1,readableName:`MaxiCode`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:34,minimum:5,step:1},defaultSymbolCountRange:{maximum:20,minimum:7,step:1},identifier:`code11`,isAvailable:!0,isColorInvertible:!1,readableName:`Code 11`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:1,minimum:1,step:1},defaultSymbolCountRange:{maximum:1,minimum:1,step:1},identifier:`databarLimited`,isAvailable:!0,isColorInvertible:!1,readableName:`GS1 DataBar Limited`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:32,minimum:3,step:1},defaultSymbolCountRange:{maximum:20,minimum:7,step:1},identifier:`code25`,isAvailable:!0,isColorInvertible:!1,readableName:`Code 25`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`microPdf417`,isAvailable:!0,isColorInvertible:!1,readableName:`MicroPDF417`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:50,minimum:4,step:1},defaultSymbolCountRange:{maximum:24,minimum:7,step:1},identifier:`royal-mail-4state`,isAvailable:!0,isColorInvertible:!1,readableName:`Royal Mail 4 State`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:50,minimum:4,step:1},defaultSymbolCountRange:{maximum:24,minimum:7,step:1},identifier:`kix`,isAvailable:!0,isColorInvertible:!1,readableName:`KIX`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`dotcode`,isAvailable:!0,isColorInvertible:!0,readableName:`DotCode`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`microQr`,isAvailable:!0,isColorInvertible:!0,readableName:`Micro QR`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:8,minimum:8,step:1},defaultSymbolCountRange:{maximum:8,minimum:8,step:1},identifier:`code32`,isAvailable:!0,isColorInvertible:!1,readableName:`Code 32`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:16,minimum:16,step:1},defaultSymbolCountRange:{maximum:16,minimum:16,step:1},identifier:`lapa4sc`,isAvailable:!0,isColorInvertible:!1,readableName:`LAPA4SC`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:32,minimum:3,step:1},defaultSymbolCountRange:{maximum:20,minimum:7,step:1},identifier:`iata2of5`,isAvailable:!0,isColorInvertible:!1,readableName:`IATA 2 of 5`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:32,minimum:3,step:1},defaultSymbolCountRange:{maximum:20,minimum:7,step:1},identifier:`matrix2of5`,isAvailable:!0,isColorInvertible:!1,readableName:`Matrix 2 of 5`,supportedExtensions:[`strict`]}),b.fromJSON({activeSymbolCountRange:{maximum:65,minimum:65,step:1},defaultSymbolCountRange:{maximum:65,minimum:65,step:1},identifier:`uspsIntelligentMail`,isAvailable:!0,isColorInvertible:!1,readableName:`USPS Intelligent Mail`,supportedExtensions:[]}),b.fromJSON({activeSymbolCountRange:{maximum:0,minimum:0,step:0},defaultSymbolCountRange:{maximum:0,minimum:0,step:0},identifier:`aruco`,isAvailable:!0,isColorInvertible:!1,readableName:`ArUco`,supportedExtensions:[]})]};b.defaults=()=>({SymbologyDescriptions:S.SymbologyDescriptions});var Ne=class{constructor(){this.properties={},this.symbologies={},this._arucoDictionary=null}get enabledSymbologies(){return Object.keys(this.symbologies).filter(e=>this.symbologies[e].isEnabled)}settingsForSymbology(e){if(!this.symbologies[e]){let t=S.SymbologySettings[e];t._symbology=e,this.symbologies[e]=t}return this.symbologies[e]}setProperty(e,t){this.properties[e]=t}getProperty(e){return this.properties[e]}enableSymbologies(e){for(let t of e)this.enableSymbology(t,!0)}enableSymbology(e,t){this.settingsForSymbology(e).isEnabled=t,e===`aruco`&&(this._arucoDictionary=Ae.fromPreset(`5X5_50`))}setArucoDictionary(e){this._arucoDictionary=e}toJSONObject(){var e;return{properties:this.properties,symbologies:Object.keys(this.symbologies).reduce((e,t)=>(e[t]=this.symbologies[t].toJSONObject(),e),{}),arucoDictionary:((e=this._arucoDictionary)==null?void 0:e.toJSONObject())??null}}},Pe=class e{constructor(){this.success=t.Feedback.defaultFeedback}static get default(){return new e}toJSONObject(){return{success:this.success.toJSONObject()}}},Fe=class e{get frameID(){return this._frameID}get location(){return this._location}static fromJSON(n){let r=new e;return r._location=t.Quadrilateral.fromJSON(n.location),r._frameID=n.frameId,r}toJSONObject(){return{frameId:this.frameID,location:this.location.toJSONObject()}}},Ie=class e{get newlyRecognizedBarcode(){return this._newlyRecognizedBarcode}get newlyLocalizedBarcodes(){return this._newlyLocalizedBarcodes}get frameSequenceID(){return this._frameSequenceID}static fromJSON(t){let n=new e;return t.newlyRecognizedBarcode&&(n._newlyRecognizedBarcode=ve.fromJSON(t.newlyRecognizedBarcode)),n._newlyLocalizedBarcodes=t.newlyLocalizedBarcodes.map(e=>Fe.fromJSON(e)),n._frameSequenceID=t.frameSequenceId,n}toJSON(){var e;return JSON.stringify({newlyLocalizedBarcodes:this.newlyLocalizedBarcodes.map(e=>e.toJSONObject()),newlyRecognizedBarcode:((e=this.newlyRecognizedBarcode)==null?void 0:e.toJSONObject())??null,frameSequenceId:this.frameSequenceID})}};let Le={BarcodeCaptureSettings:{codeDuplicateFilter:-2},BarcodeCaptureOverlay:{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00FFFF66`),t.Color.fromJSON(`#00FFFF66`),3),styles:(0,n.fromEntries)([[`frame`,{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00FFFF66`),t.Color.fromJSON(`#00FFFF66`),3)}]])},RecommendedCameraSettings:t.CameraSettings.fromJSON({zoomFactor:1,zoomGestureZoomFactor:2,focusGestureStrategy:t.FocusGestureStrategy.ManualUntilCapture,preferredResolution:t.VideoResolution.FullHD})},Re=function(e){return e.Manual=`manual`,e.Smart=`smart`,e.SmartSelection=`smartSelection`,e}({});function ze(e,n){if(e.scanIntention!==`smart`)return e;if(!(n!=null&&n.simdSupport)||!(n!=null&&n.threadsSupport)){let r=e.scanIntention;e.scanIntention=`manual`,t.Logger.warn(`Force scanIntention to manual due to device limitations (threads: ${n==null?void 0:n.threadsSupport}, SIMD: ${n==null?void 0:n.simdSupport}). Original scanIntention: ${r}`)}return e}var Be=class e{constructor(){this.type=`barcodeCapture`,this._isEnabled=!0,this._feedback=Pe.default,this._context=null,this.listeners=new Set,this.allowedRemainingWorkerMessages=new Set,this.workerMessageListener=this.onWorkerMessage.bind(this)}static get recommendedCameraSettings(){return new t.CameraSettings(Le.RecommendedCameraSettings)}get context(){return this._context}get feedback(){return this._feedback}static async forContext(t,n){let r=new e;return r.settings=n,t&&await t.setMode(r),r}async setFeedback(e){return this._feedback=e,this.notifyContext()}isEnabled(){return this._isEnabled}async setEnabled(e){this._isEnabled=e,await this.notifyContext()}async applySettings(e){return this.settings=e,this.notifyContext()}addListener(e){this.listeners.has(e)||this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}toJSONObject(){return{type:this.type,enabled:this._isEnabled,feedback:this.feedback.toJSONObject(),settings:this.settings.toJSONObject()}}attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener)}async detachedFromContext(){var e;(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null}sendClearFrameDataRequest(e){setTimeout(()=>{var t;(t=this.context)==null||t.workerCommand(`deleteFrameData`,{frameId:e})},0)}async onDidScan(e){if(this.context==null)return;let n=Ie.fromJSON(e.payload.session),{frameData:r}=e.payload;if(!this._isEnabled){this.sendClearFrameDataRequest(r.frameId),this.allowedRemainingWorkerMessages.clear();return}this.allowedRemainingWorkerMessages.add(`successFeedback`);let i=[];for(let e of this.listeners)if(e.didScan)try{let i=e.didScan(this,n,(0,t.convertToPublicFrameData)(r,this.context));i instanceof Promise&&await i}catch(e){i.push(e)}this.sendClearFrameDataRequest(r.frameId),this.allowedRemainingWorkerMessages.add(`barcodeCaptureDidUpdateSession`);for(let e of i)t.Logger.log(t.Logger.Level.Error,e)}onDidUpdateSession(e){let t=Ie.fromJSON(e.payload);if(!(!this._isEnabled&&!this.allowedRemainingWorkerMessages.has(e.type))){this.allowedRemainingWorkerMessages.delete(e.type);for(let e of this.listeners)e.didUpdateSession&&e.didUpdateSession(this,t)}}onSuccessFeedback(e){!this._isEnabled&&!this.allowedRemainingWorkerMessages.has(e.type)||(this.allowedRemainingWorkerMessages.delete(e.type),this.feedback.success.emit())}async onWorkerMessage(e){switch(e.type){case`barcodeCaptureDidScan`:this.onDidScan(e);break;case`barcodeCaptureDidUpdateSession`:this.onDidUpdateSession(e);break;case`successFeedback`:this.onSuccessFeedback(e);break;default:}}async notifyContext(){this.context!=null&&(this.settings=ze(this.settings,t.DataCaptureContext.capabilityInfo),await this.context.update())}},Ve=class e{constructor(){this.type=`barcodeCapture`,this._brush=Le.BarcodeCaptureOverlay.DefaultBrush.clone(),this._selectionBrush=Le.BarcodeCaptureOverlay.DefaultBrush.clone(),this._shouldShowScanAreaGuides=!1,this._shouldRemoveLocationsAfterScan=!0,this._viewfinder=null}static async withBarcodeCapture(t){return e.withBarcodeCaptureForView(t,null)}static async withBarcodeCaptureForView(t,n){let r=new e;return r.barcodeCapture=t,await r.setBrush(r._brush),await(n==null?void 0:n.addOverlay(r)),r}getBrush(){return this._brush}getSelectionBrush(){return this._selectionBrush}getViewfinder(){return this._viewfinder}async setBrush(e){this._brush=e,await this.barcodeCapture.notifyContext()}async setSelectionBrush(e){this._selectionBrush=e,await this.barcodeCapture.notifyContext()}async setShouldShowScanAreaGuides(e){this._shouldShowScanAreaGuides=e,await this.barcodeCapture.notifyContext()}async setShouldRemoveLocationsAfterScan(e){this._shouldRemoveLocationsAfterScan=e,await this.barcodeCapture.notifyContext()}async setViewfinder(e){this._viewfinder=e,await this.barcodeCapture.notifyContext()}shouldShowScanAreaGuides(){return this._shouldShowScanAreaGuides}shouldRemoveLocationsAfterScan(){return this._shouldRemoveLocationsAfterScan}toJSONObject(){var e;return{type:this.type,brush:this._brush.toJSONObject(),selectionBrush:this._selectionBrush.toJSONObject(),drawLocalizedOnlyBarcodes:!1,shouldShowScanAreaGuides:this._shouldShowScanAreaGuides,shouldRemoveLocationsAfterScan:this._shouldRemoveLocationsAfterScan,viewfinder:((e=this._viewfinder)==null?void 0:e.toJSONObject())??t.NoViewfinder.toJSONObject()}}};let He=function(e){return e.Off=`off`,e.On=`on`,e.Auto=`auto`,e}({});var Ue=class{constructor(){this.codeDuplicateFilter=Le.BarcodeCaptureSettings.codeDuplicateFilter,this.locationSelection=null,this.enabledCompositeTypes=[],this.scanIntention=`manual`,this.selectionMode=`off`,this.properties={},this.symbologies={},this._arucoDictionary=null}get enabledSymbologies(){return Object.keys(this.symbologies).filter(e=>{var t;return(t=this.symbologies[e])==null?void 0:t.isEnabled})}get compositeTypeDescriptions(){return S.CompositeTypeDescriptions.reduce((e,t)=>(e[t.types[0]]=t,e),{})}settingsForSymbology(e){if(!this.symbologies[e]){let t=S.SymbologySettings[e];t._symbology=e,this.symbologies[e]=t}return this.symbologies[e]}setProperty(e,t){this.properties[e]=t}getProperty(e){return this.properties[e]}enableSymbologies(e){for(let t of e)this.enableSymbology(t,!0)}enableSymbology(e,t){this.settingsForSymbology(e).isEnabled=t,e===`aruco`&&(this._arucoDictionary=Ae.fromPreset(`5X5_50`))}enableSymbologiesForCompositeTypes(e){for(let t of e)this.enableSymbologies(this.compositeTypeDescriptions[t].symbologies)}setArucoDictionary(e){this._arucoDictionary=e}toJSONObject(){var e,n;let r={};return{codeDuplicateFilter:this.codeDuplicateFilter,enabledCompositeTypes:[...this.enabledCompositeTypes],locationSelection:((e=this.locationSelection)==null?void 0:e.toJSONObject())??t.PrivateNoneLocationSelection,properties:{...this.properties},symbologies:Object.keys(this.symbologies).reduce((e,t)=>{var n;let r=(n=this.symbologies[t])==null?void 0:n.toJSONObject();return r&&(e[t]=r),e},r),scanIntention:this.scanIntention??null,selectionMode:this.selectionMode??null,arucoDictionary:((n=this._arucoDictionary)==null?void 0:n.toJSONObject())??null}}},We=class e{constructor(e,t){this.options={scale:t.scale??1,size:t.size},this.data=e}static async withHTMLElement(t,n){let r=t.cloneNode(!0);return e.getEncodedImageData(r).then(({data:t,size:r})=>new e(t,{size:r,...n}))}static async withBase64EncodedData(t,n){let r=new i.Deferred,a=new Image;a.addEventListener(`error`,r.reject,{once:!0}),a.src=t,await a.decode();let o=e.getSize(a);return r.resolve(new e(t,{size:o,...n})),r.promise}static async getEncodedImageData(t){let n=await e.getSVGDataForElement(t);return e.getBase64DataFromDataURL(n)}static getSize(e){let n=document.body.contains(e);n||document.body.append(e);let r=e.getBoundingClientRect();return n||e.remove(),new t.Size(r.width,r.height)}static async getSVGDataForElement(t){`customElements`in window&&customElements.get(t.tagName.toLowerCase())!==void 0&&await customElements.whenDefined(t.tagName.toLowerCase());let n=e.getSize(t),r=`http://www.w3.org/2000/svg`,i=document.createElementNS(r,`svg`),o=document.createElementNS(r,`foreignObject`);return i.setAttribute(`width`,`${n.width}`),i.setAttribute(`height`,`${n.height}`),i.setAttribute(`viewBox`,`0 0 ${n.width} ${n.height}`),o.setAttribute(`width`,`100%`),o.setAttribute(`height`,`100%`),o.setAttribute(`x`,`0`),o.setAttribute(`y`,`0`),o.setAttribute(`externalResourcesRequired`,`true`),i.append(o),o.append(t),{data:await(0,a.svgToDataURL)(i),size:n}}static getCanvasWithSize(e){let t=document.createElement(`canvas`);return t.width=e.width,t.height=e.height,t}static async getBase64DataFromDataURL(t){var n;let r=new i.Deferred,a=new Image;a.addEventListener(`error`,r.reject,{once:!0}),a.src=t.data,await a.decode();let o=e.getCanvasWithSize(t.size);return(n=o.getContext(`2d`))==null||n.drawImage(a,0,0),r.resolve({data:o.toDataURL(`image/png`,1),size:t.size}),r.promise}toJSONObject(){return{data:this.data,options:{size:this.options.size.toJSONObject(),scale:this.options.scale}}}};let Ge={};var Ke=`barcode-worker-8.6.0.js`;function qe(e){try{var t=e.endsWith(`/`)?e:e+`/`;return new URL(Ke,t).href}catch(t){var n=t instanceof Error?t.message:String(t);throw Error(`Invalid worker URL: `+e+`/`+Ke+` (`+n+`)`)}}function Je(e){try{return new URL(e).origin===location.origin}catch(n){var t=n instanceof Error?n.message:String(n);return console.warn(`Could not determine origin for worker URL "`+e+`": `+t+`. Defaulting to cross-origin path.`),!1}}function Ye(e,t){/javascript|ecmascript/i.test(e.type)||(e=new Blob([e],{type:`application/javascript`}));var n=URL.createObjectURL(e),r=new Worker(n,{name:t});return setTimeout(function(){URL.revokeObjectURL(n)},0),r}async function Xe(e){if(!e||!e.libraryLocation)throw Error(`ExternalWorker requires options.libraryLocation`);var t=qe(e.libraryLocation);try{var n=await fetch(t,Je(t)?{}:{mode:`cors`});if(!n.ok)throw Error(`Failed to load worker script: `+t+` (status `+n.status+`)`);var r=await n.blob();return Je(t)?new Worker(t,{name:e.name}):Ye(r,e.name)}catch(e){throw e instanceof Error&&e.message.startsWith(`Failed to load worker script:`)?e:Error(`Failed to load worker script: `+t+` (`+(e instanceof Error?e.message:e)+`)`)}}var Ze=class e extends t.DataCaptureLoader{constructor(...e){super(...e),this._name=`BarcodeCapture`}get dataCaptureWorker(){if(!this._dataCaptureWorker)throw Error(`Worker not initialized. Use BarcodeCaptureWorkerManager.create() to instantiate.`);return this._dataCaptureWorker}get name(){return this._name}async createDataCaptureWorker(){return await Xe({name:this.name,libraryLocation:this.libraryLocation})}static async create(t){let n=new e(t);return n._dataCaptureWorker=await n.createDataCaptureWorker(),n.addWorkerMessageListener(),await n.workerCommand(`setLogLevel`,{level:n.logLevel}),await n.load(),n}async workerCommand(e,t,n){return new Promise((r,i)=>{let a=this.workerCommandId++;this.workerTasks.set(a,{resolve:r,reject:i,command:e});let o={...t,command:e,id:a};this.dataCaptureWorker.postMessage(o,n)})}};function Qe(e){return t.Localization.getInstance().updateIfMissing({...Ge}),e!=null&&e.libraryLocation&&(e.libraryLocation=(0,o.normalizeLibraryLocation)(e.libraryLocation)),{moduleName:`BarcodeCapture`,load:async t=>{let n=t;return await Ze.create({...n,libraryLocation:(e==null?void 0:e.libraryLocation)??n.libraryLocation,highEndBlurryRecognition:(e==null?void 0:e.highEndBlurryRecognition)??!1})}}}let $e=function(e){return e.Regular=`regular`,e.Expanded=`expanded`,e}({}),C={SparkScanFeedback:{errorVibrationPattern:[600]},SparkScanSettings:{codeDuplicateFilter:-2,locationSelection:{radius:.5,unit:t.MeasureUnit.Fraction},targetModeLocationSelection:{radius:.07,unit:t.MeasureUnit.Fraction}},SparkScanOverlay:{DefaultBrush:new t.Brush(t.Color.fromJSON(`#00FFFF66`),t.Color.fromJSON(`#00FFFF66`),3),defaultStyle:`frame`},CameraSettings:{settings:t.CameraSettings.fromJSON({focus:{focusGestureStrategy:t.FocusGestureStrategy.None},preferredResolution:t.VideoResolution.FullHD,zoomFactor:1,zoomGestureZoomFactor:2,exposureTargetBias:-1,grayScaleFrameReader:!0,repeatedTriggerInterval:1})},SparkScanViewSettings:{defaultTorchState:t.TorchState.Off,defaultMiniPreviewSize:`regular`,defaultCameraPosition:t.CameraPosition.WorldFacing,hapticEnabled:!0,holdToScanEnabled:!0,soundEnabled:!0,triggerButtonCollapseTimeout:5e3,visualFeedbackEnabled:!0,inactiveStateTimeout:1e4,zoomFactorOut:1,zoomFactorIn:2}};var et=class e{static fromJSON(t){let n=new e;return t.newlyRecognizedBarcode&&(n.newlyRecognizedBarcode=ve.fromJSON(t.newlyRecognizedBarcode)),n.frameSequenceID=t.frameSequenceId,n}},tt=class e{constructor(){this.type=`sparkScan`,this._synchronousFrameFlow=!1,this._isEnabled=!0,this._isSuppressed=null,this._context=null,this.listeners=new Set,this.__modeViewListener=null,this.allowedRemainingWorkerMessages=new Set,this.workerMessageListener=this.onWorkerMessage.bind(this)}static get recommendedCameraSettings(){return t.CameraSettings.fromJSON(C.CameraSettings.settings)}get context(){return this._context}static forSettings(t){let n=new e;return n.settings=t,n}isEnabled(){return this._isEnabled}async setEnabled(e){this._isSuppressed=null,this._isEnabled=e,await this.notifyContext()}isSuppressed(){return this._isSuppressed===!0}async setResultSuppressionEnabled(e){this._isSuppressed=e,await this.notifyContext()}async applySettings(e){var t;return this.settings=e,(t=this.__modeViewListener)==null||t.call(this,e),this.notifyContext()}_setModeViewListener(e){this.__modeViewListener=e,e&&e(this.settings)}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}toJSONObject(){let e={type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()};return this._isSuppressed!==null&&(e.isSuppressed=this._isSuppressed),e}async selectItemWithSmartScanSelection(){await this.workerCommand(`sparkScanSelectItemWithSmartScanSelection`,{})}setDelegate(e){this.delegate=e}async workerCommand(e,t){this.context&&await this.context.workerCommand(e,t)}attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener)}async detachedFromContext(){var e;await this.workerCommand(`sparkScanModeRemove`,{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null}sendClearFrameDataRequest(e){queueMicrotask(()=>{var t;(t=this.context)==null||t.workerCommand(`deleteFrameData`,{frameId:e})})}async onDidScan(e){if(this.context==null)return;let{frameData:n}=e.payload;if(this._isSuppressed){this.sendClearFrameDataRequest(n.frameId),this.allowedRemainingWorkerMessages.clear();return}if(!this._isEnabled){this.sendClearFrameDataRequest(n.frameId),this.allowedRemainingWorkerMessages.clear();return}this.allowedRemainingWorkerMessages.add(`successFeedback`);let r=[],i=et.fromJSON(e.payload.session);for(let e of this.listeners)if(e.didScan)try{let r=e.didScan(this,i,(0,t.convertToPublicFrameData)(n,this.context));r instanceof Promise&&await r}catch(e){r.push(e)}this.sendClearFrameDataRequest(n.frameId),this.allowedRemainingWorkerMessages.add(`sparkScanDidUpdateSession`);for(let e of r)t.Logger.error(e)}onDidUpdateSession(e){if(!this._isEnabled&&!this.allowedRemainingWorkerMessages.has(e.type))return;this.allowedRemainingWorkerMessages.delete(e.type);let t=et.fromJSON(e.payload);for(let e of this.listeners){var n;(n=e.didUpdateSession)==null||n.call(e,this,t)}}async onWorkerMessage(e){switch(e.type){case`sparkScanDidScan`:await this.onDidScan(e);break;case`sparkScanDidUpdateSession`:this.onDidUpdateSession(e);break;case`sparkScanSwitchedToSmartScanSelection`:var t;(t=this.delegate)==null||t.onSwitchedToSmartScanSelection();break;case`sparkScanSwitchedAwayFromSmartScanSelection`:var n;(n=this.delegate)==null||n.onSwitchedAwayFromSmartScanSelection();break;default:}}async notifyContext(){this.context&&(this.settings._resolveScanIntention(t.DataCaptureContext.capabilityInfo),await this.context.update())}};let nt=function(e){return e.Default=`default`,e.Persistent=`persistent`,e}({}),rt=function(e){return e.Single=`single`,e.Continuous=`continuous`,e}({});var it=class{constructor(e,t){this.type=this instanceof w?`default`:`target`,this.scanningBehavior=e,this.previewBehavior=t}toJSONObject(){return{type:this.type,scanningBehavior:this.scanningBehavior,previewBehavior:this.previewBehavior}}toAnalyticsJSONObject(){return{type:this.type,settings:{scanning_behavior:this.scanningBehavior,preview_behavior:this.previewBehavior}}}},w=class e extends it{copyWith(t,n){return new e(t??this.scanningBehavior,n??this.previewBehavior)}changeMode(){return new T(this.scanningBehavior,this.previewBehavior)}},T=class e extends it{copyWith(t,n){return new e(t??this.scanningBehavior,n??this.previewBehavior)}changeMode(){return new w(this.scanningBehavior,this.previewBehavior)}};let at=`manual`;var ot=class{constructor(){this.codeDuplicateFilter=C.SparkScanSettings.codeDuplicateFilter,this.enabledCompositeTypes=[],this.selectionMode=`off`,this._scanIntention=at,this._scanIntentionExplicitlySet=!1,this.locationSelection=new t.RadiusLocationSelection(new t.NumberWithUnit(C.SparkScanSettings.locationSelection.radius,C.SparkScanSettings.locationSelection.unit)),this.properties={},this.symbologies={}}get scanIntention(){return this._scanIntention}set scanIntention(e){this._scanIntention=e??void 0,this._scanIntentionExplicitlySet=e!=null}_resolveScanIntention(e){this._scanIntentionExplicitlySet||(this._scanIntention=this.selectionMode===`auto`?`smart`:at),this._scanIntention=ze({scanIntention:this._scanIntention},e).scanIntention}get enabledSymbologies(){return Object.keys(this.symbologies).filter(e=>{var t;return(t=this.symbologies[e])==null?void 0:t.isEnabled})}get compositeTypeDescriptions(){return S.CompositeTypeDescriptions.reduce((e,t)=>(e[t.types[0]]=t,e),{})}settingsForSymbology(e){if(!this.symbologies[e]){let t=S.SymbologySettings[e];t._symbology=e,this.symbologies[e]=t}return this.symbologies[e]}setProperty(e,t){this.properties[e]=t}getProperty(e){return this.properties[e]}enableSymbologies(e){for(let t of e)this.enableSymbology(t,!0)}enableSymbology(e,t){this.settingsForSymbology(e).isEnabled=t}enableSymbologiesForCompositeTypes(e){for(let t of e)this.enableSymbologies(this.compositeTypeDescriptions[t].symbologies)}toJSONObject(){let e={},t=Object.keys(this.symbologies);return{codeDuplicateFilter:this.codeDuplicateFilter,enabledCompositeTypes:[...this.enabledCompositeTypes],locationSelection:this.locationSelection.toJSONObject(),properties:{...this.properties},symbologies:t.reduce((e,t)=>{var n;let r=(n=this.symbologies[t])==null?void 0:n.toJSONObject();return r&&(e[t]=r),e},e),scanIntention:this.scanIntention??null,selectionMode:this.selectionMode??null}}},st=class{constructor(){this.continuousModeDisabledMessage=null,this.continuousModeEnabledMessage=null,this.scanPausedMessage=null,this.selectionModeOffMessage=null,this.selectionModeOnMessage=null,this.targetModeDisabledMessage=null,this.targetModeEnabledMessage=null,this.toastBackgroundColor=null,this.toastEnabled=!0,this.toastTextColor=null,this.torchDisabledMessage=null,this.torchEnabledMessage=null,this.zoomedInMessage=null,this.zoomedOutMessage=null}toJSONObject(){var e,t;let n=this.selectionModeOnMessage??this.targetModeEnabledMessage,r=this.selectionModeOffMessage??this.targetModeDisabledMessage;return{continuousModeDisabledMessage:this.continuousModeDisabledMessage,continuousModeEnabledMessage:this.continuousModeEnabledMessage,scanPausedMessage:this.scanPausedMessage,selectionModeOffMessage:r,selectionModeOnMessage:n,targetModeDisabledMessage:r,targetModeEnabledMessage:n,toastBackgroundColor:((e=this.toastBackgroundColor)==null?void 0:e.toJSON())??null,toastEnabled:this.toastEnabled,toastTextColor:((t=this.toastTextColor)==null?void 0:t.toJSON())??null,torchDisabledMessage:this.torchDisabledMessage,torchEnabledMessage:this.torchEnabledMessage,zoomedInMessage:this.zoomedInMessage,zoomedOutMessage:this.zoomedOutMessage}}},ct=class e{constructor(e){this.context=e}static forContext(t){return new e(t)}startSession(e){this.setTorchState(e.torchState),this.setScanningMode(e.scanningMode),this.setSoundEnabled(e.soundEnabled),this.setHapticEnabled(e.hapticEnabled),this.setCameraPosition(e.cameraPosition)}setTorchState(e){this.setProperty({key:`torch_state`,value:e})}setScanningMode(e){this.setProperty({key:`scanning_mode`,value:(e==null?void 0:e.toAnalyticsJSONObject())??null})}setSoundEnabled(e){this.setProperty({key:`sound_enabled`,value:e??null})}setHapticEnabled(e){this.setProperty({key:`haptic_enabled`,value:e??null})}setSessionStopReason(e){this.setProperty({key:`session_stop_reason`,value:e})}setCameraPosition(e){this.setProperty({key:`camera_position`,value:e})}setProperty(e){this.context.workerCommand(`sparkScanAnalyticsManagerPropertyChanged`,{property:e})}};function lt(e,t){let n=Math.abs(e.clientX-t.clientX),r=Math.abs(e.clientY-t.clientY);return n>=10||r>=10}var E=class extends Event{constructor(e,t){super(e),this.point=t}},ut=class{constructor(e,n){this.translate=new t.Point(0,0),this.draggable=!1,this.pointerDownListener=this.onPointerDown.bind(this),this.pointerMoveListener=this.onPointerMove.bind(this),this.pointerUpListener=this.onPointerUp.bind(this),this.touchStartListener=this.onTouchStart.bind(this),this.resizeListener=this.onResize.bind(this),this.repositioningTimeout=new u.Timeout(500,this.repositionIfOutOfBounds.bind(this)),this.margin=new t.Point(0,0),this.useViewportBounds=!1,this.element=e,this.boundaryElement=n!=null&&n.clientWidth&&n!=null&&n.clientHeight?n:document.body}get translateWithMargin(){return new t.Point(this.translate.x+this.margin.x,this.translate.y+this.margin.y)}connect(){this.render(),this.element.addEventListener(`pointerdown`,this.pointerDownListener),this.element.addEventListener(`pointermove`,this.pointerMoveListener),this.element.addEventListener(`pointerup`,this.pointerUpListener),this.element.addEventListener(`touchstart`,this.touchStartListener),window.addEventListener(`resize`,this.resizeListener)}disconnect(){this.element.removeEventListener(`pointerdown`,this.pointerDownListener),this.element.removeEventListener(`pointermove`,this.pointerMoveListener),this.element.removeEventListener(`pointerup`,this.pointerUpListener),this.element.removeEventListener(`touchstart`,this.touchStartListener),window.removeEventListener(`resize`,this.resizeListener),this.repositioningTimeout.stop()}getBoundedTranslate(){var e,n;let{width:r,height:i}=this.element.getBoundingClientRect();if(r===0||i===0)return;let a=this.useViewportBounds?((e=window.visualViewport)==null?void 0:e.width)??window.innerWidth:this.boundaryElement.clientWidth,o=this.useViewportBounds?((n=window.visualViewport)==null?void 0:n.height)??window.innerHeight:this.boundaryElement.clientHeight,s=(0,l.clamp)(this.translate.x,Math.abs(this.margin.x),a-r-this.margin.x),c=(0,l.clamp)(this.translate.y,Math.abs(this.margin.y),o-i-this.margin.y);if(this.translate.x!==s||this.translate.y!==c)return new t.Point(s,c)}async translateTo(e,n,r=!1){if(!t.Point.areEquals(this.translate,e)){if(this.translate=e,n){let e=this.element.animate([{transform:`translate(${this.translate.x}px, ${this.translate.y}px)`}],{duration:200,easing:`ease`});e.play(),await(0,ee.safeAwaitAnimation)(e)}this.render(),this.element.dispatchEvent(new E(`drag`,e)),r||this.element.dispatchEvent(new E(`dragend`,e))}}render(){this.element.style.setProperty(`transform`,`translate(${this.translate.x}px, ${this.translate.y}px)`)}async repositionIfOutOfBounds(){let e=this.getBoundedTranslate();e&&await this.translateTo(e,!0)}onPointerDown(e){e instanceof PointerEvent&&(this.offset=new t.Point(this.translate.x-e.clientX,this.translate.y-e.clientY),this.pointerDownEvent=e)}onPointerMove(e){e instanceof PointerEvent&&this.offset&&this.draggable&&this.translateTo(new t.Point(this.offset.x+e.clientX,this.offset.y+e.clientY),!1,!0)}async onPointerUp(e){e instanceof PointerEvent&&(this.pointerDownEvent&<(this.pointerDownEvent,e)&&(await this.repositionIfOutOfBounds(),this.element.dispatchEvent(new E(`dragend`,this.translate))),this.offset=void 0,this.draggable=!1)}onTouchStart(e){e.returnValue=!1}onResize(){this.repositioningTimeout.start()}};let dt=new t.Sound(`data:audio/mpeg;base64,SUQzBAAAAAACGFRFTkMAAAALAAADUHJvIFRvb2xzAFRYWFgAAAAjAAADb3JpZ2luYXRvcl9yZWZlcmVuY2UAYWE0RVEzWlo0Qk9rAFRJVDIAAAAeAAADMDhfU2NhbmRpdF9TcGFya1NjYW5fU3VjY2VzcwBUWFhYAAAASQAAA3VtaWQAMHgwNjBBMkIzNDAxMDEwMTA1MDEwMTBGMTAxMzAwMDAwMDg2RjhDRjNERUE3QjgwMDBFOEY5QzVERDdBNzc5ODE0AFRYWFgAAAAYAAADdGltZV9yZWZlcmVuY2UAMzEyOTE2NQBURFJDAAAADAAAAzIwMjMtMDMtMjQAVFNTRQAAAA8AAANMYXZmNTkuMTcuMTAxAAAAAAAAAAAAAAD/+1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAABMAAAfgACQkJCQkMDAwMDA8PDw8PElJSUlJSVVVVVVVYWFhYWFtbW1tbXl5eXl5eYaGhoaGkpKSkpKenp6enqqqqqqqqra2tra2w8PDw8PPz8/Pz9vb29vb2+fn5+fn8/Pz8/P//////wAAAABMYXZjNTkuMjAAAAAAAAAAAAAAAAAkA4sAAAAAAAAH4Pz6QyH/+xRkAAAAYABVrQAAAAAADSCgAAEDxCNqGYEAAAAANIMAAAA0AAagwo5/EYfghBDVXFW+6QFh98moYw/8vpNwnRNcoHTa4ut+RUr3KvUqlRgDTAVglINLSy9knqE/17r/+xRkCIAA5AlYBmQgAAAADSDAAAAD7JVsGPKAAAAANIMAAADtT5CzDSpGdTr2/pyLLYmFC/M/afE1/9yMnjBv5hIV/HmX/0RwIf/9DuUfyQEHzWuFS9h2RQBK5xa1lpb/+xRkCIHw8BvZLz1AAAAADSDgAAEDhG1gAGFCwAAANIAAAAT/9AlGf//nCLFk49+SoJfyk+uZ3UiuYejGK//UDJL+Yrmf6iBN/icECCr0epokgARNPBcGJQ9VZLa//pP/+xRkCQHwziVagUBGEAAADSAAAAEENJFpoL1IiAAANIAAAARIBX/8qAeoLFroFtENA6JmA0xfimFPTSNLMrf879dwPOxE62yn//qIThUAaES0M2kAAI8IFwoNHsZtf+X/+xRkCQHw6yRe6AIpLAAADSAAAAEDgJFpoDyk0AAANIAAAAT/jSTMZm5m//6APSAKiHAKKDBiWhPt89iKByOf/9P/FZzoby///GUKAA0C2AOAAAEqs4wNvDwX/6j58BP/+xRkCgHwtghcaABALAAADSAAAAECRJFMBoBYQAAANIAAAAT/9qf/okwDKAFY+k////zIln+YCdEjgFuEae4//Jf/xKoAQAIAdHVVTEFNRTMuOTkuNVVVVVVVVVVVVVX/+xRkE4/wWwjMgAF6AAAADSAAAAEAAAEyAABAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkK4/wMQBHICEYDAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkRg/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkZA/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkgg/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkoA/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRkvg/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk3A/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=`),ft=new t.Sound(`data:audio/mpeg;base64,SUQzBAAAAAACGFRFTkMAAAALAAADUHJvIFRvb2xzAFRYWFgAAAAjAAADb3JpZ2luYXRvcl9yZWZlcmVuY2UAYWE0RVFOcW9VQk9rAFRJVDIAAAAeAAADMDdfU2NhbmRpdF9TY2FubmVkLVdyb25nSXRlbQBUWFhYAAAASQAAA3VtaWQAMHgwNjBBMkIzNDAxMDEwMTA1MDEwMTBGMTAxMzAwMDAwMDg2RUUzOTA5RUE3QjgwMDBGNjZGQzVERDdBNzc5ODE0AFRYWFgAAAAYAAADdGltZV9yZWZlcmVuY2UAMjY3MDU5MABURFJDAAAADAAAAzIwMjMtMDMtMjQAVFNTRQAAAA8AAANMYXZmNTkuMTcuMTAxAAAAAAAAAAAAAAD/+1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAABQAAAhAACIiIiIuLi4uLjo6Ojo6RUVFRUVRUVFRUV1dXV1daGhoaGh0dHR0dICAgICAi4uLi4uXl5eXl6KioqKirq6urq66urq6usXFxcXF0dHR0dHd3d3d3ejo6Ojo9PT09PT//////wAAAABMYXZjNTkuMjAAAAAAAAAAAAAAAAAkAsAAAAAAAAAIQBl5jwn/+xRkAAAAVgDUjQBgAAAADSCgAAEDiBduGIGACAAANIMAAAAgP8plFgg7znL+Q4k4B5uo2Rk9c+LQuOexRB4iCTT6t24x+9f7f/ve/OAAwiE0lTn2XHl6PVZxCA5GsdT/+xRkCoPwcwJexxhAAAAADSDgAAEBiAl0oJxAEAAANIAAAAQLpHM6PLpQzOOJP9g5lhihlyb2dlebf8JCDTyRW9i0P7qaz/+QAFBoW4NDEqQuutHr41//tAlwcSVBnm3/+xRkGwPwdwHbgCsQAAAADSAAAAEBlAd5AIhAAAAANIAAAATHiGz+Vc+PkABIAc4KvoFaqtnriqAiChQ15lfsMNqJ+6pCWSiwWiCplZ48GhwdztADJY5zm8nAqeDYITz/+xRkKwPweAReQCYQAAAADSAAAAEB5BF+gYhgKAAANIAAAARCDP8WxCCX+BeBTH3/iEEQWPLf/j9xbSKUgEEVL1p+0zaZlevKU5jbmwnBfkrWVYFOA8ttpVTjnZNQTAj/+xRkOYHwcAJeQCIYAAAADSAAAAEBwAd1AJhAAAAANIAAAAQh4cpNFFitO6uKSSRkaPEOmFCjhCufYvSYAMRykUrsTqSNnkFv2JqLbTWsOJFsnYRXo/r1z8r/7+mDiwH/+xRkSYAAdwLcJSQACAAADSCgAAEEeJFKGKUACAAANIMAAABxOtc6Jp53xlXP35AAcoV0pquMq1q/64ds9sxEh5Gt1gF6lGuqIWmtoDBY0qSi+FDRUEFIX0BPlJEDhYT/+xRkTgPxAxRZhzDAAAAADSDgAAEBlAl5AJhAAAAANIAAAATqelYAwIlAy0/IoV/EKh5Gw6UEDpn9pqpMQU1FqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkVYPweQJfIMkQCAAADSAAAAEBzAlyAJwAAAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkZIPwdAdgoEEYigAADSAAAAEB1AuEgQhAKAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkc4PwcAdewMEQoAAADSAAAAEBrAmCgQhgKAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkg4fwcgHcIMYICgAADSAAAAEBcA8wrGHgKAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRklI/wTgLEAwkACgAADSAAAAEBWBTkBIxiaAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkqA/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRkxg/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xRk4Y/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=`);var D=class{constructor(e,t){this.visualFeedbackColor=e,this.feedback=t}static defaultSuccessFeedback(){return new t.Feedback(t.Vibration.withPattern([300]),dt)}static defaultErrorFeedback(){return new t.Feedback(t.Vibration.withPattern(C.SparkScanFeedback.errorVibrationPattern),ft)}static defaultSuccessBrush(){return new t.Brush((0,d.scanditBlue)(.4),(0,d.scanditBlue)(.4),3)}static defaultErrorBrush(){return new t.Brush(t.Color.fromRGBA(0,0,0,0),t.Color.fromRGBA(250,68,70,1),1)}static success(){return new O}},pt=class extends D{constructor(e,n,r,i,a){super(r??t.Color.fromRGBA(250,68,70,1),a??D.defaultErrorFeedback()),this.message=e,this.resumeCapturingDelay=n,this.brush=i??D.defaultErrorBrush()}toJSONObject(){return{type:`error`,barcodeFeedback:{feedback:this.feedback.toJSONObject(),message:this.message,resumeCapturingDelay:this.resumeCapturingDelay,visualFeedbackColor:this.visualFeedbackColor.toJSON(),brush:this.brush.toJSONObject()}}}},O=class extends D{constructor(e,t,n){super(e??(0,d.scanditBlue)(),n??D.defaultSuccessFeedback()),this.brush=t??D.defaultSuccessBrush()}toJSONObject(){return{type:`success`,barcodeFeedback:{visualFeedbackColor:this.visualFeedbackColor.toJSON(),feedback:this.feedback.toJSONObject(),brush:this.brush.toJSONObject()}}}};let mt=d.gray900.withAlpha(.15),ht=d.gray900.withAlpha(.3),gt=`--trigger-button-collapsed-color`,_t=`--trigger-button-collapsed-pressed-color`,vt=`--trigger-button-expanded-color`,yt=`--trigger-button-expanded-pressed-color`,bt=`--trigger-button-animation-color`,k=`--trigger-button-tint-color`,xt=`--toolbar-background-color`,A=`--toolbar-icon-active-tint-color`,j=`--toolbar-icon-inactive-tint-color`,St=`--visual-feedback-success-color`,Ct=`--visual-feedback-error-color`,wt=`toolbarbuttontap`,Tt=`minipreviewbuttontap`,Et=`minipreviewvisibilitychange`;var Dt=class extends Event{constructor(e){super(e)}},Ot=class{constructor(e){this.elementsAllowedToTriggerLongPressEvents=new Set,this.isLongPressing=!1,this.longPressTimeout=new u.Timeout(400,this.onLongPressTimeoutFinished.bind(this)),this.pointerDownListener=this.onPointerDown.bind(this),this.pointerMoveListener=this.onPointerMove.bind(this),this.pointerUpListener=this.onPointerUp.bind(this),this.element=e}connect(){this.element.addEventListener(`pointerdown`,this.pointerDownListener),this.element.addEventListener(`pointermove`,this.pointerMoveListener),this.element.addEventListener(`pointerup`,this.pointerUpListener)}disconnect(){this.element.removeEventListener(`pointerdown`,this.pointerDownListener),this.element.removeEventListener(`pointermove`,this.pointerMoveListener),this.element.removeEventListener(`pointerup`,this.pointerUpListener)}onPointerDown(e){let t=this.elementsAllowedToTriggerLongPressEvents.has(e.target),n=this.elementsAllowedToTriggerLongPressEvents.has(this.element);e instanceof PointerEvent&&(n||t)&&(this.isLongPressing=!1,this.pointerDownEvent=e,this.longPressTimeout.start())}onPointerMove(e){e instanceof PointerEvent&&this.pointerDownEvent&<(this.pointerDownEvent,e)&&this.longPressTimeout.stop()}onPointerUp(){this.longPressTimeout.stop(),this.isLongPressing&&this.element.dispatchEvent(new Dt(`longpressend`)),this.isLongPressing=!1,this.pointerDownEvent=void 0}onLongPressTimeoutFinished(){this.isLongPressing=!0,this.element.dispatchEvent(new Dt(`longpressstart`))}};let M=`zoom-factor`,N=`scanning-behavior`,P=`scanning-behavior-button-visible`,F=`target-mode-button-visible`,I=`target-mode-enabled`,kt=`selection-mode-auto`,L=`torch-control-visible`,R=`torch-enabled`,At=`inline-style`,z=`zoom-switch-control-visible`,B=`preview-size-control-visible`,V=`barcode-find-button-visible`,H=`label-capture-button-visible`,U=`camera-switch-button-visible-attribute`,jt=`preview-close-control-visible`,W=`spark-scan-view-icon`,G=`spark-scan-view-mini-preview`,K=`spark-scan-view-toolbar`,Mt=`spark-scan-view`,q=`spark-scan-view-toast`,J=`spark-scan-view-trigger-button`,Nt=`spark-scan-view-visual-feedback`;var Pt=class e extends c.ScanditHTMLElement{constructor(...e){super(...e),this.icons={scanner:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(32,32)}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.69858 5.22983C3.69858 4.55065 4.263 4.00006 4.95924 4.00006H10.055C10.7512 4.00006 11.3156 4.55065 11.3156 5.22983C11.3156 5.90902 10.7512 6.45961 10.055 6.45961H6.2199V10.2007C6.2199 10.8799 5.65549 11.4305 4.95924 11.4305C4.263 11.4305 3.69858 10.8799 3.69858 10.2007V5.22983ZM20.6844 5.22983C20.6844 4.55065 21.2488 4.00006 21.945 4.00006H27.0408C27.737 4.00006 28.3014 4.55065 28.3014 5.22983V10.2007C28.3014 10.8799 27.737 11.4305 27.0408 11.4305C26.3445 11.4305 25.7801 10.8799 25.7801 10.2007V6.45961H21.945C21.2488 6.45961 20.6844 5.90902 20.6844 5.22983ZM2 16.0001C2 15.3209 2.56442 14.7703 3.26066 14.7703H28.7393C29.4356 14.7703 30 15.3209 30 16.0001C30 16.6792 29.4356 17.2298 28.7393 17.2298H3.26066C2.56442 17.2298 2 16.6792 2 16.0001ZM4.95924 20.5696C5.65549 20.5696 6.2199 21.1202 6.2199 21.7994V25.5405H10.055C10.7512 25.5405 11.3156 26.0911 11.3156 26.7703C11.3156 27.4495 10.7512 28.0001 10.055 28.0001H4.95924C4.263 28.0001 3.69858 27.4495 3.69858 26.7703V21.7994C3.69858 21.1202 4.263 20.5696 4.95924 20.5696ZM27.0408 20.5696C27.737 20.5696 28.3014 21.1202 28.3014 21.7994V26.7703C28.3014 27.4495 27.737 28.0001 27.0408 28.0001H21.945C21.2488 28.0001 20.6844 27.4495 20.6844 26.7703C20.6844 26.0911 21.2488 25.5405 21.945 25.5405H25.7801V21.7994C25.7801 21.1202 26.3445 20.5696 27.0408 20.5696Z" fill="${this.fill}" style=""/></svg>`,expand:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(14,14)}" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.46232 7.53028C5.75521 7.23738 6.23008 7.23738 6.52298 7.53028C6.81587 7.82317 6.81587 8.29804 6.52298 8.59094L2.86397 12.2499H5.5C5.91421 12.2499 6.25 12.5857 6.25 12.9999C6.25 13.4142 5.91421 13.7499 5.5 13.7499H1C0.948223 13.7499 0.897672 13.7447 0.848849 13.7347C0.507086 13.6648 0.25 13.3624 0.25 12.9999V8.49995C0.25 8.08573 0.585786 7.74995 1 7.74995C1.41421 7.74995 1.75 8.08573 1.75 8.49995V11.2426L5.46232 7.53028Z" fill="${this.fill}" style=""/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.84283 6.08313C8.54994 6.37602 8.07506 6.37602 7.78217 6.08313C7.48928 5.79023 7.48928 5.31536 7.78217 5.02246L11.0545 1.75017L8.5 1.75017C8.08579 1.75017 7.75 1.41439 7.75 1.00017C7.75 0.58596 8.08579 0.250174 8.5 0.250174L13 0.250174C13.4142 0.250174 13.75 0.58596 13.75 1.00017L13.75 5.50017C13.75 5.91439 13.4142 6.25017 13 6.25017C12.5858 6.25017 12.25 5.91439 12.25 5.50017L12.25 2.67596L8.84283 6.08313Z" fill="${this.fill}" style=""/></svg>`,shrink:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(18,18)}" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" style=""><path fill-rule="evenodd" clip-rule="evenodd" d="M1.70694 17.7096C1.31642 18.1002 0.683255 18.1002 0.29273 17.7096C-0.0977935 17.3191 -0.0977935 16.6859 0.29273 16.2954L5.17662 11.4115L1.65674 11.4115C1.10445 11.4115 0.656738 10.9638 0.656738 10.4115C0.656738 9.85925 1.10445 9.41154 1.65674 9.41154L7.65674 9.41154C8.20902 9.41154 8.65674 9.85925 8.65674 10.4115C8.65674 10.4124 8.65674 10.4133 8.65674 10.4141C8.65674 10.415 8.65674 10.4159 8.65674 10.4167L8.65674 16.4167C8.65674 16.969 8.20902 17.4167 7.65674 17.4167C7.10445 17.4167 6.65674 16.969 6.65674 16.4167L6.65674 12.7598L1.70694 17.7096Z" fill="${this.fill}" style=""/><path fill-rule="evenodd" clip-rule="evenodd" d="M16.2929 0.290513C16.6834 -0.100011 17.3166 -0.100012 17.7071 0.290513C18.0976 0.681037 18.0976 1.3142 17.7071 1.70473L13.3388 6.07299L16.75 6.07299C17.3023 6.07299 17.75 6.5207 17.75 7.07299C17.75 7.62527 17.3023 8.07299 16.75 8.07299H10.75C10.1977 8.07299 9.75 7.62527 9.75 7.07299V1.07299C9.75 0.520705 10.1977 0.0729893 10.75 0.0729893C11.3023 0.0729893 11.75 0.520705 11.75 1.07299V4.83341L16.2929 0.290513Z" fill="${this.fill}" style=""/></svg>`,aimer:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(24,24)}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 6.10352e-05C11.1716 6.10352e-05 10.5 0.671634 10.5 1.50006V6.50006C10.5 7.32849 11.1716 8.00006 12 8.00006C12.8284 8.00006 13.5 7.32849 13.5 6.50006V1.50006C13.5 0.671634 12.8284 6.10352e-05 12 6.10352e-05ZM16 11.5001C16 12.3285 16.6716 13.0001 17.5 13.0001H22.5C23.3284 13.0001 24 12.3285 24 11.5001C24 10.6716 23.3284 10.0001 22.5 10.0001H17.5C16.6716 10.0001 16 10.6716 16 11.5001ZM10.5 17.5001C10.5 16.6716 11.1716 16.0001 12 16.0001C12.8284 16.0001 13.5 16.6716 13.5 17.5001V22.5001C13.5 23.3285 12.8284 24.0001 12 24.0001C11.1716 24.0001 10.5 23.3285 10.5 22.5001V17.5001ZM0 11.5001C0 12.3285 0.671573 13.0001 1.5 13.0001H6.5C7.32843 13.0001 8 12.3285 8 11.5001C8 10.6716 7.32843 10.0001 6.5 10.0001H1.5C0.671573 10.0001 0 10.6716 0 11.5001Z" fill="${this.fill}" style=""/></svg>`,torchOff:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(18,25)}" viewBox="0 0 18 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.99965 24.5001C5.85357 24.4995 5.70938 24.467 5.57725 24.4046C5.44513 24.3423 5.32828 24.2518 5.23496 24.1394C5.14164 24.027 5.07411 23.8955 5.03714 23.7541C5.00017 23.6128 4.99466 23.4651 5.02099 23.3214L6.80765 13.4987H2.00765C1.85299 13.5004 1.70007 13.4659 1.56102 13.3982C1.42197 13.3305 1.3006 13.2313 1.20654 13.1085C1.11248 12.9857 1.0483 12.8427 1.01911 12.6908C0.989907 12.5389 0.996486 12.3823 1.03832 12.2334L2.61432 6.45739L0.292987 4.13739C0.105391 3.9498 -2.7954e-09 3.69536 0 3.43006C2.79541e-09 3.16476 0.105391 2.91032 0.292987 2.72273C0.480584 2.53513 0.735019 2.42974 1.00032 2.42974C1.26562 2.42974 1.52006 2.53513 1.70765 2.72273L17.2637 18.2774C17.3619 18.3689 17.4407 18.4793 17.4954 18.602C17.55 18.7247 17.5794 18.8571 17.5818 18.9914C17.5841 19.1256 17.5594 19.259 17.5092 19.3835C17.4589 19.508 17.384 19.6212 17.289 19.7161C17.1941 19.8111 17.081 19.8859 16.9565 19.9362C16.8319 19.9865 16.6986 20.0112 16.5643 20.0089C16.43 20.0065 16.2976 19.9771 16.1749 19.9224C16.0523 19.8678 15.9419 19.789 15.8503 19.6907L12.1863 16.0281L6.83565 24.0534C6.74421 24.1913 6.61994 24.3043 6.47402 24.3822C6.3281 24.4602 6.1651 24.5007 5.99965 24.5001ZM14.4503 12.6334L3.82899 2.01206L4.04099 1.23873C4.0984 1.02666 4.22406 0.839402 4.39854 0.70589C4.57302 0.572378 4.78662 0.500042 5.00632 0.500061L11.9997 0.500061C12.1547 0.501379 12.3073 0.538102 12.446 0.607427C12.5846 0.676752 12.7056 0.776844 12.7997 0.900061C12.893 1.02388 12.9564 1.16772 12.9846 1.32021C13.0128 1.47271 13.0052 1.62968 12.9623 1.77873L11.333 7.50006H15.9997C16.1807 7.50033 16.3583 7.54963 16.5136 7.64271C16.6689 7.7358 16.7961 7.8692 16.8817 8.02876C16.9673 8.18832 17.0081 8.36808 16.9998 8.54895C16.9914 8.72983 16.9342 8.90506 16.8343 9.05606L14.453 12.6334H14.4503Z" fill="${this.fill}" style=""/></svg>`,torchOn:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(16,25)}" viewBox="0 0 16 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.0072 7.00265H10.3321L11.9687 1.27515C12.0113 1.12618 12.0187 0.969359 11.9903 0.817052C11.9619 0.664746 11.8985 0.521115 11.8051 0.397482C11.7118 0.273849 11.5909 0.173593 11.4522 0.104616C11.3135 0.0356387 11.1606 -0.000174023 11.0057 6.35801e-07H4.00306C3.78345 -9.74579e-05 3.5699 0.0720732 3.39538 0.205378C3.22085 0.338682 3.09504 0.525713 3.03736 0.737613L0.0362252 11.7378C-0.00491183 11.8864 -0.0111074 12.0426 0.0181227 12.1941C0.0473529 12.3456 0.111217 12.4882 0.204723 12.6109C0.298228 12.7336 0.418842 12.833 0.557137 12.9014C0.695432 12.9697 0.84766 13.0052 1.00192 13.0049H5.80374L4.01906 22.83C3.97674 23.0569 4.01421 23.2915 4.12511 23.494C4.23602 23.6964 4.41353 23.8543 4.62756 23.9408C4.84158 24.0273 5.07894 24.0372 5.29939 23.9687C5.51984 23.9002 5.70981 23.7575 5.83708 23.5649L15.8409 8.55924C15.9417 8.40847 15.9997 8.23313 16.0085 8.05196C16.0174 7.87079 15.9769 7.69062 15.8912 7.53073C15.8056 7.37083 15.6781 7.23723 15.5224 7.14421C15.3667 7.05119 15.1886 7.00226 15.0072 7.00265Z" fill="${this.fill}" style=""/></svg>`,handle:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(14,6)}" viewBox="0 0 14 6" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="1" cy="1" r="1" fill="${this.fill}" style=""/><circle cx="5" cy="1" r="1" fill="${this.fill}" style=""/><circle cx="9" cy="1" r="1" fill="${this.fill}" style=""/><circle cx="13" cy="1" r="1" fill="${this.fill}" style=""/><circle cx="1" cy="5" r="1" fill="${this.fill}" style=""/><circle cx="5" cy="5" r="1" fill="${this.fill}" style=""/><circle cx="9" cy="5" r="1" fill="${this.fill}" style=""/><circle cx="13" cy="5" r="1" fill="${this.fill}" style=""/></svg>`,continuous:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(32,32)}" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.42499 3.93896C5.21585 3.93896 3.42499 5.72983 3.42499 7.93896V11.2723C3.42499 12.0087 4.02194 12.6056 4.75832 12.6056C5.4947 12.6056 6.09165 12.0087 6.09165 11.2723V7.93896C6.09165 7.20259 6.68861 6.60563 7.42499 6.60563H23.425C24.1614 6.60563 24.7583 7.20259 24.7583 7.93896V11.7876H22.8274C22.2742 11.7876 21.9617 12.4225 22.2991 12.8609L25.5634 17.1013C25.8303 17.448 26.3531 17.448 26.62 17.1013L29.8843 12.8609C30.2217 12.4225 29.9092 11.7876 29.356 11.7876H27.425V7.93896C27.425 5.72983 25.6341 3.93896 23.425 3.93896H7.42499Z" fill="${this.fill}" style=""/><path d="M23.5988 28.0001C25.808 28.0001 27.5988 26.2093 27.5988 24.0001V20.6668C27.5988 19.9304 27.0019 19.3335 26.2655 19.3335C25.5291 19.3335 24.9321 19.9304 24.9321 20.6668V24.0001C24.9321 24.7365 24.3352 25.3335 23.5988 25.3335L7.59882 25.3335C6.86244 25.3335 6.26548 24.7365 6.26548 24.0001L6.26548 19.3335H8.19646C8.74969 19.3335 9.06219 18.6985 8.72473 18.2601L5.46045 14.0197C5.19358 13.673 4.67078 13.673 4.40391 14.0197L1.13962 18.2601C0.802159 18.6985 1.11467 19.3335 1.66789 19.3335H3.59882L3.59882 24.0001C3.59882 26.2093 5.38968 28.0001 7.59882 28.0001L23.5988 28.0001Z" fill="${this.fill}" style=""/><path d="M12.6468 18.728C13.669 18.728 14.4697 18.2723 15.3942 17.133L15.4854 17.0288L15.5765 17.133C16.501 18.2723 17.3018 18.728 18.3239 18.728C19.9059 18.728 21.0843 17.5561 21.0843 16.0067V15.9936C21.0843 14.4442 19.9059 13.2723 18.3239 13.2723C17.3018 13.2723 16.501 13.7345 15.5765 14.8673L15.4854 14.978L15.3942 14.8673C14.4697 13.7345 13.669 13.2723 12.6468 13.2723C11.0648 13.2723 9.88641 14.4442 9.88641 15.9936V16.0067C9.88641 17.5561 11.0648 18.728 12.6468 18.728ZM12.738 17.3804C11.9242 17.3804 11.3447 16.8009 11.3447 16.0067V15.9936C11.3447 15.2059 11.9242 14.6199 12.738 14.6199C13.376 14.6199 13.8382 14.9585 14.5934 15.896L14.6781 16.0001L14.5934 16.1043C13.8382 17.0418 13.376 17.3804 12.738 17.3804ZM18.2328 17.3804C17.5947 17.3804 17.1325 17.0418 16.3773 16.1043L16.2927 16.0001L16.3773 15.896C17.1325 14.9585 17.5947 14.6199 18.2328 14.6199C19.0466 14.6199 19.626 15.2059 19.626 15.9936V16.0067C19.626 16.8009 19.0466 17.3804 18.2328 17.3804Z" fill="${this.fill}" style=""/></svg>`,close:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(10,10)}" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L5 5L9 9" stroke="${this.fill}" stroke-width="2" stroke-linecap="round" style=""/><path d="M1 9L5 5L9 1" stroke="${this.fill}" stroke-width="2" stroke-linecap="round" style=""/></svg>`,find:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(22,22)}" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 2C3.34315 2 2 3.34315 2 5V8H4V5C4 4.44772 4.44772 4 5 4H8V2H5Z" fill="${this.fill}" style=""/><path d="M14 2V4H17C17.5523 4 18 4.44772 18 5V8H20V5C20 3.34315 18.6569 2 17 2H14Z" fill="${this.fill}" style=""/><path d="M8 18H5C4.44772 18 4 17.5523 4 17V14H2V17C2 18.6569 3.34315 20 5 20H8V18Z" fill="${this.fill}" style=""/><path d="M14 20H17C18.6569 20 20 18.6569 20 17V14H18V17C18 17.5523 17.5523 18 17 18H14V20Z" fill="${this.fill}" style=""/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.5215 14.5215C11.9137 14.8276 11.227 15 10.5 15C8.01472 15 6 12.9853 6 10.5C6 8.01472 8.01472 6 10.5 6C11.1815 6 11.8276 6.1515 12.4066 6.42266C13.9387 7.14034 15 8.69623 15 10.5C15 11.5315 14.653 12.4819 14.0693 13.2409L15.6426 14.8142C16.0332 15.2047 16.0332 15.8379 15.6426 16.2284C15.2521 16.6189 14.6189 16.6189 14.2284 16.2284L12.5215 14.5215ZM13 10.5C13 11.8807 11.8807 13 10.5 13C9.11929 13 8 11.8807 8 10.5C8 9.11929 9.11929 8 10.5 8C10.8823 8 11.2393 8.08445 11.5582 8.23382C12.414 8.63468 13 9.50094 13 10.5Z" fill="${this.fill}" style=""/></svg>`,camera:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(25,25)}" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0397 10.8609C11.3009 10.8609 10.7019 11.4687 10.7019 12.2185C10.7019 12.9683 11.3009 13.5761 12.0397 13.5761C12.7785 13.5761 13.3775 12.9683 13.3775 12.2185C13.3775 11.4687 12.7785 10.8609 12.0397 10.8609ZM8.02637 12.2185C8.02637 9.9691 9.8232 8.14563 12.0397 8.14563C14.2562 8.14563 16.053 9.9691 16.053 12.2185C16.053 14.4678 14.2562 16.2913 12.0397 16.2913C9.8232 16.2913 8.02637 14.4678 8.02637 12.2185Z" fill="${this.fill}" style=""/><path fill-rule="evenodd" clip-rule="evenodd" d="M18.0166 8.84792C18.4042 9.24131 19.0374 9.24596 19.4308 8.85832C19.8242 8.47068 19.8288 7.83754 19.4412 7.44415L18.7949 6.78827H20.0666C20.8054 6.78827 21.4044 7.39609 21.4044 8.14588V17.6492C21.4044 18.399 20.8054 19.0068 20.0666 19.0068H12.0399C11.3011 19.0068 10.7021 19.6146 10.7021 20.3644C10.7021 21.1142 11.3011 21.722 12.0399 21.722H20.0666C22.2831 21.722 24.08 19.8985 24.08 17.6492V8.14588C24.08 5.89651 22.2831 4.07304 20.0666 4.07304H18.7952L19.4412 3.41746C19.8288 3.02407 19.8242 2.39093 19.4308 2.00329C19.0374 1.61565 18.4042 1.6203 18.0166 2.01369L15.341 4.72892C14.9574 5.11822 14.9574 5.74339 15.341 6.13269L18.0166 8.84792Z" fill="${this.fill}" style=""/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.02668 3.39404C8.02668 3.01914 8.32615 2.71523 8.69557 2.71523H14.7156C15.4544 2.71523 16.0534 2.1074 16.0534 1.35761C16.0534 0.607825 15.4544 0 14.7156 0H8.69557C6.84848 0 5.35112 1.51956 5.35112 3.39404C5.35112 3.76893 5.05165 4.07284 4.68223 4.07284H4.01334C1.79683 4.07284 0 5.89632 0 8.14569V17.649C0 19.8984 1.79683 21.7218 4.01334 21.7218H5.28453L4.63866 22.3773C4.25102 22.7707 4.25568 23.4038 4.64907 23.7915C5.04245 24.1791 5.6756 24.1744 6.06324 23.781L8.7388 21.0658C9.12242 20.6765 9.12242 20.0513 8.7388 19.662L6.06324 16.9468C5.6756 16.5534 5.04245 16.5488 4.64907 16.9364C4.25568 17.3241 4.25102 17.9572 4.63866 18.3506L5.28509 19.0066H4.01334C3.2745 19.0066 2.67556 18.3988 2.67556 17.649V8.14569C2.67556 7.3959 3.2745 6.78807 4.01334 6.78807H4.68223C6.52932 6.78807 8.02668 5.26851 8.02668 3.39404Z" fill="${this.fill}" style=""/></svg>`,label:()=>c.html`<svg width="${this.size}" height="${this.heightForViewbox(24,24)}" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 3C4.34315 3 3 4.34315 3 6V9H5V6C5 5.44772 5.44772 5 6 5H9V3H6Z" fill="${this.fill}" style=""/><path d="M15 3V5H18C18.5523 5 19 5.44772 19 6V9H21V6C21 4.34315 19.6569 3 18 3H15Z" fill="${this.fill}" style=""/><path d="M9 19H6C5.44772 19 5 18.5523 5 18V15H3V18C3 19.6569 4.34315 21 6 21H9V19Z" fill="${this.fill}" style=""/><path d="M15 21H18C19.6569 21 21 19.6569 21 18V15H19V18C19 18.5523 18.5523 19 18 19H15V21Z" fill="${this.fill}" style=""/><path d="M13.1538 17H9C7.89543 17 7 16.1046 7 15V9C7 7.89543 7.89543 7 9 7H15C16.1046 7 17 7.89543 17 9V13.6667V14.9999C17 16.1045 16.1046 16.9999 15.0001 16.9999L13.1538 17Z" stroke="${this.fill}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.1426 11H13.1426" stroke="#3D4852" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 14H11.4286" stroke="#3D4852" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`}}get styleElement(){return this._styleElement??=c.css`${W}{display:flex}`,this._styleElement}get icon(){return this.getAttribute(`icon`)??`scanner`}set icon(e){this.setAttribute(`icon`,e)}get fill(){return this.getAttribute(`fill`)??`black`}set fill(e){this.setAttribute(`fill`,e)}get size(){return Number(this.getAttribute(`size`)??`32`)}set size(e){this.setAttribute(`size`,e.toString())}get[At](){return this.getAttribute(At)}set[At](e){e==null?this.removeAttribute(At):this.setAttribute(At,e)}static create(){return(0,c.defineCustomElements)({[W]:e}),document.createElement(W)}render(){this.innerHTML=c.html`${this.icons[this.icon]()}`}aspectRatioForViewbox(e,t){return t/e}heightForViewbox(e,t){return this.size*this.aspectRatioForViewbox(e,t)}connectedCallback(){this.render(),this.append(this.styleElement)}attributeChangedCallback(e,t,n){n!==t&&(this.render(),this.append(this.styleElement))}};Pt.observedAttributes=[`icon`,`fill`,`size`,At];var Ft=class e extends c.ScanditHTMLElement{get styleElement(){return this._styleElement??=c.css`${q}{min-width:calc(100% - 32px);opacity:0;pointer-events:none;transition:.3s ease;user-select:none;width:fit-content}${q}[visible]{opacity:1}.${q}{border-radius:4px;font-family:sans-serif;font-size:14px;font-weight:500;margin:0 auto;padding:8px 12px;width:fit-content}.${q}--${`info`}{background:#fff}.${q}--${`warning`}{background:#fbc02c}.${q}--${`error`}{background:#fa4446;color:#fff}`,this._styleElement}get type(){return this.getAttribute(`type`)??`info`}set type(e){this.setAttribute(`type`,e)}get message(){return this.getAttribute(`message`)??``}set message(e){this.setAttribute(`message`,e)}get visible(){return this.hasAttribute(`visible`)}set visible(e){this.toggleAttribute(`visible`,e)}static create(){return(0,c.defineCustomElements)({[q]:e}),document.createElement(q)}show(e,t,n){this.hide(),this.type=e,this.message=t,this.visible=!0,this.timeout=new c.Timeout(n,this.hide.bind(this)),this.timeout.start()}hide(){var e;(e=this.timeout)==null||e.stop(),this.visible=!1}render(){this.innerHTML=c.html`<div class="${q} ${q}--${this.type}">${this.message}</div>`}connectedCallback(){this.render(),this.append(this.styleElement)}disconnectedCallback(){this.hide()}attributeChangedCallback(e,t,n){n!==t&&(this.render(),this.append(this.styleElement))}};Ft.observedAttributes=[`type`,`message`];var It=class e extends c.ScanditHTMLElement{constructor(...e){super(...e),this.targetModeButtonTapListener=this.onTargetModeButtonTap.bind(this),this.scanningBehaviorButtonTapListener=this.onScanningBehaviorButtonTap.bind(this),this.barcodeFindButtonTapListener=this.onBarcodeFindButtonTap.bind(this),this.labelCaptureButtonTapListener=this.onLabelCaptureButtonTap.bind(this),this.cameraSwitchButtonTapListener=this.onCameraSwitchButtonTap.bind(this),this.computedStyle=getComputedStyle(this)}get styleElement(){return this._styleElement??=c.css`.${K}{align-items:center;box-sizing:border-box;display:flex;gap:12px;height:48px;padding:6.75px 12px;position:relative;width:100%}${K} .container{border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.${K}::-webkit-scrollbar{display:none}.${K}__button{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.${K}__separator{background:var(${j});flex-shrink:0;height:32px;width:1px}.${K}__button--mode{background:#f1f5f8;border-radius:50%}`,this._styleElement}get[F](){return this.hasAttribute(F)}set[F](e){this.toggleAttribute(F,e)}get[kt](){return this.hasAttribute(kt)}set[kt](e){this.toggleAttribute(kt,e)}get[P](){return this.hasAttribute(P)}set[P](e){this.toggleAttribute(P,e)}get[V](){return this.hasAttribute(V)}set[V](e){this.toggleAttribute(V,e)}get[H](){return this.hasAttribute(H)}set[H](e){this.toggleAttribute(H,e)}get[U](){return this.hasAttribute(U)}set[U](e){this.toggleAttribute(U,e)}get[I](){return this.hasAttribute(I)}set[I](e){this.toggleAttribute(I,e),this.targetModeButtonIcon&&(this.targetModeButtonIcon.fill=e?this.computedStyle.getPropertyValue(A):this.computedStyle.getPropertyValue(j))}get[N](){return this.getAttribute(`scanning-behavior`)??`single`}set[N](e){this.setAttribute(N,e),this.scanningBehaviorButtonIcon&&(this.scanningBehaviorButtonIcon.fill=e===`continuous`?this.computedStyle.getPropertyValue(A):this.computedStyle.getPropertyValue(j))}get effectiveTargetModeButtonVisible(){return this[`target-mode-button-visible`]&&!this[`selection-mode-auto`]}get visibleButtonCount(){let e=0;return this[`scanning-behavior-button-visible`]&&(e+=1),this.effectiveTargetModeButtonVisible&&(e+=1),this[`camera-switch-button-visible-attribute`]&&(e+=1),e}get visibleModeButtonCount(){return[V,H].filter(e=>this[e]===!0).length}get allVisibleButtonsCount(){return this.visibleButtonCount+this.visibleModeButtonCount}static create(){return(0,c.defineCustomElements)({[K]:e,[W]:Pt}),document.createElement(K)}enableCameraSwitchButton(e){this.cameraSwitchButtonIcon&&(this.cameraSwitchButtonIcon.fill=e?this.computedStyle.getPropertyValue(A):this.computedStyle.getPropertyValue(j))}render(){var e,t,n,r,i,a,o,s;let l=this[`target-mode-enabled`]?this.computedStyle.getPropertyValue(A):this.computedStyle.getPropertyValue(j),ee=this[`scanning-behavior`]===`continuous`?this.computedStyle.getPropertyValue(A):this.computedStyle.getPropertyValue(j),u=(0,c.renderIf)(this[V],c.html`<button id="barcodeFindButton" class="${K}__button ${K}__button--mode"><spark-scan-view-icon icon="find" fill="#3D4852" size="21.6"></spark-scan-view-icon></button>`),d=(0,c.renderIf)(this[H],c.html`<button id="labelCaptureButton" class="${K}__button ${K}__button--mode"><spark-scan-view-icon icon="label" fill="#3D4852" size="21.6"></spark-scan-view-icon></button>`),te=(0,c.renderIf)(this.visibleButtonCount>0&&this.visibleModeButtonCount>0,c.html`<div class="${K}__separator"></div>`),f=(0,c.renderIf)(this.effectiveTargetModeButtonVisible,c.html`<button id="targetModeButton" class="${K}__button"><spark-scan-view-icon icon="aimer" fill="${l}" size="18"></spark-scan-view-icon></button>`),p=(0,c.renderIf)(this[U],c.html`<button id="cameraSwitchButton" class="${K}__button"><spark-scan-view-icon icon="camera" fill="white" size="24.08"></spark-scan-view-icon></button>`),m=(0,c.renderIf)(this[P],c.html`<button id="scanningBehaviorButton" class="${K}__button"><spark-scan-view-icon icon="continuous" fill="${ee}" size="24"></spark-scan-view-icon></button>`),h=this.allVisibleButtonsCount<=3?`center`:`flex-start`;this.innerHTML=c.html`<div class="container"><div class="${K}">${u} ${d} ${te} ${f} ${p} ${m}</div></div>`;let g=this.querySelector(`.${K}`);g&&(g.style.justifyContent=h),this.targetModeButton=this.querySelector(`#targetModeButton`),(e=this.targetModeButton)==null||e.addEventListener(`pointerup`,this.targetModeButtonTapListener),this.targetModeButtonIcon=(t=this.targetModeButton)==null?void 0:t.querySelector(W),this.scanningBehaviorButton=this.querySelector(`#scanningBehaviorButton`),(n=this.scanningBehaviorButton)==null||n.addEventListener(`pointerup`,this.scanningBehaviorButtonTapListener),this.scanningBehaviorButtonIcon=(r=this.scanningBehaviorButton)==null?void 0:r.querySelector(W),this.barcodeFindButton=this.querySelector(`#barcodeFindButton`),(i=this.barcodeFindButton)==null||i.addEventListener(`pointerup`,this.barcodeFindButtonTapListener),this.labelCaptureButton=this.querySelector(`#labelCaptureButton`),(a=this.labelCaptureButton)==null||a.addEventListener(`pointerup`,this.labelCaptureButtonTapListener),this.cameraSwitchButton=this.querySelector(`#cameraSwitchButton`),(o=this.cameraSwitchButton)==null||o.addEventListener(`pointerup`,this.cameraSwitchButtonTapListener),this.cameraSwitchButtonIcon=(s=this.cameraSwitchButton)==null?void 0:s.querySelector(W)}connectedCallback(){this[F]=!0,this[U]=!0,this.render(),this.append(this.styleElement)}disconnectedCallback(){var e,t,n,r,i;(e=this.targetModeButton)==null||e.removeEventListener(`pointerup`,this.targetModeButtonTapListener),(t=this.scanningBehaviorButton)==null||t.removeEventListener(`pointerup`,this.scanningBehaviorButtonTapListener),(n=this.barcodeFindButton)==null||n.removeEventListener(`pointerup`,this.barcodeFindButtonTapListener),(r=this.labelCaptureButton)==null||r.removeEventListener(`pointerup`,this.labelCaptureButtonTapListener),(i=this.cameraSwitchButton)==null||i.removeEventListener(`pointerup`,this.cameraSwitchButtonTapListener)}attributeChangedCallback(e,t,n){if(n!==t){this.render(),this.append(this.styleElement);let e=this.hidden;this.hidden=this.visibleModeButtonCount+this.allVisibleButtonsCount===0,this.hidden!==e&&this.dispatchEvent(new CustomEvent(`toolbarvisibilitychange`))}}onTargetModeButtonTap(e){e.stopPropagation(),this[I]=!this[I],this.dispatchEvent(new CustomEvent(wt,{bubbles:!0,detail:{tapped:`targetModeButton`,enabled:this[I]}}))}onScanningBehaviorButtonTap(e){e.stopPropagation(),this[N]=this[`scanning-behavior`]===`continuous`?`single`:`continuous`,this.dispatchEvent(new CustomEvent(wt,{bubbles:!0,detail:{tapped:`scanningBehaviorButton`,enabled:this[N]===`continuous`}}))}onBarcodeFindButtonTap(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(wt,{bubbles:!0,detail:{tapped:`barcodeFindButton`}}))}onLabelCaptureButtonTap(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(wt,{bubbles:!0,detail:{tapped:`labelCaptureButton`}}))}onCameraSwitchButtonTap(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(wt,{bubbles:!0,detail:{tapped:`cameraSwitchButton`}}))}};It.observedAttributes=[F,kt,P,V,H,U];var Lt=class e extends c.ScanditHTMLElement{constructor(...e){super(...e),this.resizeButtonTapListener=this.onResizeButtonTap.bind(this),this.zoomButtonTapListener=this.onZoomButtonTap.bind(this),this.torchButtonTapListener=this.onTorchButtonTap.bind(this),this.closeButtonTapListener=this.onCloseButtonTap.bind(this),this.pointerDownListener=this.onPointerDown.bind(this),this.longPressStartListener=this.onLongPressStart.bind(this),this.toolbarVisibilityChangeListener=this.onToolbarVisibilityChange.bind(this),this.longPressEndListener=this.onLongPressEnd.bind(this),this.dragEndListener=this.onDragEnd.bind(this),this.fadeOutAnimation=new Animation(new KeyframeEffect(this,[{opacity:1},{opacity:0}],{duration:500,fill:`both`})),this.replayFadeOutTimeout=null,this.longPressController=new Ot(this)}get styleElement(){return this._styleElement??=c.css`${G}{background:var(${xt});border-radius:16px;display:none;filter:drop-shadow(0 2px 6px #${mt.toJSON()}) drop-shadow(0 1px 2px #${ht.toJSON()});left:0;position:absolute;top:0;transition:filter .3s ease;z-index:100}${G}[unconstrained]{position:fixed;z-index:10000}${G},${G} #overlay{height:var(--dvw-half);max-height:min(250px,var(--dvw-half));max-width:min(250px,var(--dvw-half));min-height:192px;min-width:192px;width:var(--dvw-half)}@media (orientation:landscape){${G},${G} #overlay{height:var(--dvh-half);max-height:min(250px,var(--dvh-half));max-width:min(250px,var(--dvh-half));width:var(--dvh-half)}}@media screen (min-width:768px) and (orientation:portrait){${G} #overlay,${G}{max-height:min(375px,var(--dvw-half));max-width:min(375px,var(--dvw-half))}}@media screen (min-width:768px) and (orientation:landscape){${G},${G} #overlay{max-height:min(375px,var(--dvh-half));max-width:min(375px,var(--dvh-half))}}${G}[visible]{display:flex;flex-flow:column}${G}[expanded],${G}[expanded] #overlay{height:calc(var(--dvh-half) - ${32}px);max-height:min(400px,calc(var(--dvh-half) - ${32}px));max-width:min(400px,calc(var(--dvw) - ${32}px));width:calc(var(--dvw) - ${32}px)}${G}[pressed]{filter:drop-shadow(0 4px 4px #${ht.toJSON()}) drop-shadow(0 8px 12px #${mt.toJSON()})}@media (orientation:landscape){${G}[expanded],${G}[expanded] #overlay{height:calc(var(--dvh) - ${32}px);max-height:min(400px,calc(var(--dvh) - ${32}px));max-width:min(400px,calc(var(--dvw-half) - ${32}px));width:calc(var(--dvw-half) - ${32}px)}}spark-scan-view-toast{left:50%;position:absolute;top:16px;transform:translateX(-50%);z-index:20}${G} #host,${G} #host *{border-radius:16px;width:100%}${G} #host{height:calc(100% - 48px);z-index:-10}${G}[cover] #host{height:100%}${G} #controls{box-sizing:border-box;display:grid;grid-template-rows:auto max-content;height:100%;pointer-events:none;position:absolute;top:0;width:100%}${G} #controls button{pointer-events:auto}${G} #button-container-list{display:flex;flex-flow:column;height:calc(100% - 48px);justify-content:space-between;pointer-events:none;width:100%}${G}[cover] #button-container-list{height:100%}${G} .button-container{align-items:center;display:flex;justify-content:flex-end;padding:12px;pointer-events:none}${G}[${L}] .button-container:first-of-type,${G}[${B}] .button-container:nth-of-type(2){justify-content:space-between}.${G}__button{align-items:center;background:#12161980;border:none;border-radius:50%;color:#fff;display:flex;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;height:24px;justify-content:center;width:24px}${G} #torchButton,${G} #closeButton,${G} #resizeButton,${G} #zoomButton{display:none}${G}[${L}] #torchButton,${G}[${B}] #resizeButton{display:flex}${G}[${jt}] #closeButton,${G}[${z}] #zoomButton{align-self:end;display:flex}${G} #overlay{background:#000;border-radius:16px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;z-index:10}${G}[darkened] #overlay{opacity:.3}`,this._styleElement}get visible(){return this.hasAttribute(`visible`)}set visible(e){this.toggleAttribute(`visible`,e),this.dispatchEvent(new CustomEvent(Et,{detail:{visible:e}}))}get size(){return this.expanded?`expanded`:`regular`}set size(e){var t;this.toggleAttribute(`expanded`,e===`expanded`);let n=this.getNextTranslate();(t=this.dragController)==null||t.translateTo(n,!1).then(()=>{var e;return(e=this.dragController)==null?void 0:e.repositionIfOutOfBounds()})}get expanded(){return this.hasAttribute(`expanded`)}set useViewportBounds(e){this.dragController&&(this.dragController.useViewportBounds=e)}get[M](){return Number(this.getAttribute(`zoom-factor`)??`1`)}set[M](e){this.setAttribute(M,String(e))}get darkened(){return this.hasAttribute(`darkened`)}set darkened(e){this.toggleAttribute(`darkened`,e)}get orientation(){return this.getAttribute(`orientation`)??`portrait-primary`}set orientation(e){this.setAttribute(`orientation`,e)}get[R](){return this.hasAttribute(R)}set[R](e){this.toggleAttribute(R,e)}get[B](){return this.hasAttribute(B)}set[B](e){this.toggleAttribute(B,e)}get[z](){return this.hasAttribute(z)}set[z](e){this.toggleAttribute(z,e)}get[L](){return this.hasAttribute(L)}set[L](e){this.toggleAttribute(L,e)}get[jt](){return this.hasAttribute(jt)}set[jt](e){this.toggleAttribute(jt,e)}get cover(){return this.hasAttribute(`cover`)}set cover(e){this.toggleAttribute(`cover`,e)}get pressed(){return this.hasAttribute(`pressed`)}set pressed(e){this.toggleAttribute(`pressed`,e)}static create(){return(0,c.defineCustomElements)({[G]:e,[W]:Pt,[q]:Ft,[K]:It}),document.createElement(G)}repositionIfOutOfBounds(){var e;(e=this.dragController)==null||e.repositionIfOutOfBounds()}showToast(e,t,n){this.toast.show(e,t,n)}hideToast(){this.toast.hide()}zoomIn(){this.zoomButton&&(this[M]=2,this.zoomButton.textContent=`2x`,this.showToast(`warning`,`2x zoom`,1e3))}zoomOut(){this.zoomButton&&(this[M]=1,this.zoomButton.textContent=`1x`,this.showToast(`info`,`1x zoom`,1e3))}async fadeOut(){this.fadeOutAnimation.play(),await(0,c.safeAwaitAnimation)(this.fadeOutAnimation),this.visible=!1}cancelFadeOut(){var e;(e=this.replayFadeOutTimeout)==null||e.stop(),(0,c.safeCancelAnimation)(this.fadeOutAnimation)}async rewindAnimation(){var e;if(((e=this.replayFadeOutTimeout)==null?void 0:e.running)===!0||this.fadeOutAnimation.playState!==`idle`){var t;this.cancelFadeOut(),(t=this.replayFadeOutTimeout)==null||t.start()}}translateTo(e){var t;(t=this.dragController)==null||t.translateTo(e,!1)}render(){var e,t,n,r,i,a,o;this.innerHTML=c.html`<spark-scan-view-toast></spark-scan-view-toast><div id="host"></div><div id="controls"><div id="button-container-list"><div class="button-container"><button id="torchButton" class="${G}__button"><spark-scan-view-icon icon="torchOff" fill="white" size="9"></spark-scan-view-icon></button><button id="closeButton" class="${G}__button"><spark-scan-view-icon icon="close" fill="white" size="9"></spark-scan-view-icon></button></div><div class="button-container"><button id="resizeButton" class="${G}__button"><spark-scan-view-icon icon="expand" fill="white" size="14"></spark-scan-view-icon></button><button id="zoomButton" class="${G}__button">${this[M]}x</button></div></div></div><spark-scan-view-toolbar></spark-scan-view-toolbar><div id="overlay"></div>`,this.toast=this.querySelector(`spark-scan-view-toast`),this.host=this.querySelector(`#host`),this.resizeButton=this.querySelector(`#resizeButton`),(e=this.resizeButton)==null||e.addEventListener(`pointerup`,this.resizeButtonTapListener),this.resizeButtonIcon=(t=this.resizeButton)==null?void 0:t.querySelector(`spark-scan-view-icon`),this.zoomButton=this.querySelector(`#zoomButton`),(n=this.zoomButton)==null||n.addEventListener(`pointerup`,this.zoomButtonTapListener),this.torchButton=this.querySelector(`#torchButton`),(r=this.torchButton)==null||r.addEventListener(`pointerup`,this.torchButtonTapListener),this.torchButtonIcon=(i=this.torchButton)==null?void 0:i.querySelector(`spark-scan-view-icon`),this.closeButton=this.querySelector(`#closeButton`),(a=this.closeButton)==null||a.addEventListener(`pointerup`,this.closeButtonTapListener),this.toolbar=this.querySelector(K),(o=this.toolbar)==null||o.addEventListener(`toolbarvisibilitychange`,this.toolbarVisibilityChangeListener),this.buttonContainerList=this.querySelector(`#button-container-list`)}onResizeButtonTap(e){e.stopPropagation(),this.size={regular:`expanded`,expanded:`regular`}[this.size],this.resizeButtonIcon&&(this.resizeButtonIcon.icon=this.expanded?`shrink`:`expand`),this.dispatchEvent(new CustomEvent(Tt,{detail:{tapped:`resizeButton`,expanded:this.expanded}}))}onZoomButtonTap(e){switch(e.stopPropagation(),this[M]){case 1:this.zoomIn();break;case 2:this.zoomOut();break}this.dispatchEvent(new CustomEvent(Tt,{detail:{tapped:`zoomButton`,zoomFactor:this[M]}}))}onTorchButtonTap(e){e.stopPropagation(),this[R]=!this[R],this.torchButtonIcon&&(this.torchButtonIcon.icon=this[`torch-enabled`]?`torchOn`:`torchOff`),this.dispatchEvent(new CustomEvent(Tt,{detail:{tapped:`torchButton`,enabled:this[R]}}))}onCloseButtonTap(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(Tt,{detail:{tapped:`closeButton`}}))}onPointerDown(){this.dragController&&(this.dragController.draggable=!1),this.rewindAnimation()}onLongPressStart(){this.dragController&&(this.dragController.draggable=!0),this.pressed=!0}onLongPressEnd(){this.pressed=!1}onDragEnd(e){e instanceof E&&(this.lastKnownTranslate=e.point)}onToolbarVisibilityChange(){this.cover=!this.toolbar||!!this.toolbar.hidden}connectedCallback(){var e,n;this.rootElement=(e=this.parentElement)==null?void 0:e.parentElement,this.dragController=new ut(this,this.rootElement),this.replayFadeOutTimeout=new c.Timeout(1200,async()=>{await this.fadeOut()}),this.render(),this.append(this.styleElement),this.addEventListener(`pointerdown`,this.pointerDownListener),this.addEventListener(`longpressstart`,this.longPressStartListener),this.addEventListener(`longpressend`,this.longPressEndListener),this.addEventListener(`dragend`,this.dragEndListener),this.dragController.connect(),this.longPressController.connect(),this.buttonContainerList&&(n=this.toolbar)!=null&&n.firstElementChild&&(this.longPressController.elementsAllowedToTriggerLongPressEvents.add(this.buttonContainerList),this.longPressController.elementsAllowedToTriggerLongPressEvents.add(this.toolbar.firstElementChild)),this.dragController.margin=new t.Point(16,16)}disconnectedCallback(){var e,t,n,r,i,a,o;(e=this.resizeButton)==null||e.removeEventListener(`pointerup`,this.resizeButtonTapListener),(t=this.zoomButton)==null||t.removeEventListener(`pointerup`,this.zoomButtonTapListener),(n=this.torchButton)==null||n.removeEventListener(`pointerup`,this.torchButtonTapListener),(r=this.closeButton)==null||r.removeEventListener(`pointerup`,this.closeButtonTapListener),(i=this.toolbar)==null||i.removeEventListener(`toolbarvisibilitychange`,this.toolbarVisibilityChangeListener),this.removeEventListener(`pointerdown`,this.pointerDownListener),this.removeEventListener(`longpressstart`,this.longPressStartListener),this.removeEventListener(`longpressend`,this.longPressEndListener),this.removeEventListener(`dragend`,this.dragEndListener),(0,c.safeCancelAnimation)(this.fadeOutAnimation),(a=this.replayFadeOutTimeout)==null||a.stop(),(o=this.dragController)==null||o.disconnect(),this.longPressController.disconnect()}getNextTranslate(){var e,n;let r=((e=this.rootElement)==null?void 0:e.clientWidth)||document.body.clientWidth,i=((n=this.rootElement)==null?void 0:n.clientHeight)||document.body.clientHeight;if(!this.dragController)return new t.Point(0,0);if(this.size===`regular`)return this.lastKnownTranslate??this.dragController.translate;this.lastKnownTranslate=this.dragController.translate;let a=this.dragController.translate;return(this.orientation===`portrait-primary`||this.orientation===`portrait-secondary`)&&this.dragController.translate.x>16&&(a=new t.Point(16,a.y)),(this.orientation===`landscape-primary`||this.orientation===`landscape-secondary`)&&this.dragController.translate.x>r-this.clientWidth-16&&(a=new t.Point(r-this.clientWidth-16,a.y)),this.dragController.translate.y>i-this.clientHeight-16&&(a=new t.Point(a.x,i-this.clientHeight-16)),a}};Lt.observedAttributes=[B,z,L];var Rt=class{constructor(){this.toggleCameraPosition={[t.CameraPosition.WorldFacing]:t.CameraPosition.UserFacing,[t.CameraPosition.UserFacing]:t.CameraPosition.WorldFacing}}get camera(){var e;return(e=this.context)==null?void 0:e.frameSource}async prepareScanning(e,n){this.context=e;let r=(0,t.isCameraFrameSource)(e.frameSource)?e.frameSource:t.Camera.pickBestGuessForPosition(n.defaultCameraPosition);return await e.setFrameSource(r),await r.applySettings(tt.recommendedCameraSettings),await r.switchToDesiredState(t.FrameSourceState.Standby),{isTorchAvailable:await r.isTorchAvailable(),isZoomAvailable:r.isZoomAvailable(),cameraPosition:r.position}}async onSwitchToActiveState(e){var n,r;await((n=this.camera)==null?void 0:n.switchToDesiredState(t.FrameSourceState.On)),await((r=this.camera)==null?void 0:r.setDesiredTorchState(e))}async onSwitchToInactiveState(e){if(e!==`persistent`){var n;await((n=this.camera)==null?void 0:n.switchToDesiredState(t.FrameSourceState.Standby))}}async onSwitchToIdleState(){var e;await((e=this.camera)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Standby))}async onSwitchToErrorState(){var e;await((e=this.camera)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Standby))}async stopScanning(){var e;await((e=this.camera)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Off))}async onTorchButtonTap(e){var n;if(((n=this.camera)==null?void 0:n.getCurrentState())===t.FrameSourceState.On){var r;await((r=this.camera)==null?void 0:r.setDesiredTorchState(e))}}async onCameraSwitchButtonTap(){var e;if(!this.camera)return;let n=this.camera,r=n.settings,i=this.toggleCameraPosition[this.camera.position],a=t.Camera.pickBestGuessForPosition(i);return await n.switchToDesiredState(t.FrameSourceState.Off),await a.applySettings(r),await((e=this.context)==null?void 0:e.setFrameSource(a)),await a.switchToDesiredState(t.FrameSourceState.On),{isTorchAvailable:await a.isTorchAvailable(),isZoomAvailable:a.isZoomAvailable(),cameraPosition:i}}async onMiniPreviewZoomButtonTap(e){this.camera&&(this.camera.settings.zoomFactor=e,await this.camera.applySettings(this.camera.settings))}};let zt={barcodeCapture:`smartScanSelection`,sparkScan:`smartScanSelectionForSparkScan`};var Bt=class e{constructor(e){this.type=e}static forMode(t){let n=t,r=zt[n.type];if(r)return new e(r);let i=n.type.charAt(0).toUpperCase()+n.type.slice(1);throw Error(`SmartScanSelection overlay is not supported for ${i} mode.`)}setBrush(e){this.brush=e}setSelectedBrush(e){this.selectedBrush=e}setErrorBrush(e){this.errorBrush=e}toJSONObject(){var e,t,n;return{type:this.type,brush:(e=this.brush)==null?void 0:e.toJSONObject(),selectedBrush:(t=this.selectedBrush)==null?void 0:t.toJSONObject(),errorBrush:(n=this.errorBrush)==null?void 0:n.toJSONObject()}}},Vt=class{constructor(){this.radius=new t.NumberWithUnit(C.SparkScanSettings.locationSelection.radius,C.SparkScanSettings.locationSelection.unit),this.type=`targetAimer`}toJSONObject(){return{type:this.type,radius:this.radius.toJSONObject()}}},Ht=class e{constructor(){this.type=`sparkScan`,this._shouldShowScanAreaGuides=!1,this._shouldRemoveLocationsAfterScan=!0,this._shouldDrawViewfinder=!1,this._style=C.SparkScanOverlay.defaultStyle,this._viewfinder=new Vt}get style(){return this._style}static async withSparkScanForView(t,n){let r=new e;return r.sparkScan=t,await r.setBrush(C.SparkScanOverlay.DefaultBrush.clone()),n&&await n.addOverlay(r),r}setRadius(e){this._viewfinder.radius=e}getBrush(){return this._brush}async setBrush(e){this._brush=e,await this.sparkScan.notifyContext()}async overlayReadyForDraw(){await this.sparkScan.workerCommand(`sparkScanOverlayReadyForDraw`,{})}async discardEnqueuedData(){await this.sparkScan.workerCommand(`sparkScanOverlayDiscardEnqueuedData`,{})}async setErrorBrush(e){this._errorBrush=e,await this.sparkScan.notifyContext()}getErrorBrush(){return this._errorBrush??this._brush}async setShouldShowScanAreaGuides(e){this._shouldShowScanAreaGuides=e,await this.sparkScan.notifyContext()}async setShouldRemoveLocationsAfterScan(e){this._shouldRemoveLocationsAfterScan=e,await this.sparkScan.notifyContext()}async setShouldDrawViewfinder(e){this._shouldDrawViewfinder=e,await this.sparkScan.notifyContext()}shouldShowScanAreaGuides(){return this._shouldShowScanAreaGuides}shouldRemoveLocationsAfterScan(){return this._shouldRemoveLocationsAfterScan}toJSONObject(){var e;return{type:this.type,brush:this._brush.toJSONObject(),errorBrush:((e=this._errorBrush)==null?void 0:e.toJSONObject())??this._brush.toJSONObject(),shouldShowScanAreaGuides:this._shouldShowScanAreaGuides,shouldRemoveLocationsAfterScan:this._shouldRemoveLocationsAfterScan,viewfinder:this._viewfinder.toJSONObject(),style:this.style,shouldDrawViewfinder:this._shouldDrawViewfinder}}};let Ut=function(e){return e.Initial=`Initial`,e.Idle=`idle`,e.Active=`active`,e.Inactive=`inactive`,e.Error=`error`,e}({});var Wt=class e{constructor(e){this.settings=e}setViewSettings(e){var n,r;this.settings=e,(n=this.smartScanSelectionOverlay)==null||n.setBrush(this.selectionCandidateBrush()),(r=this.sparkScan)==null||r.notifyContext().catch(e=>{t.Logger.warn(`SparkScanOverlayManager setViewSettings context sync failed:`,e)})}get isReady(){return this.sparkScanOverlay!=null&&this.smartScanSelectionOverlay!=null}async prepareScanning(e,t,n){this.lastSelectedBrushFromFeedback=void 0,this.sparkScan=e,this.sparkScanOverlay=await Ht.withSparkScanForView(e,t),await this.sparkScanOverlay.setShouldRemoveLocationsAfterScan(n===`continuous`),this.smartScanSelectionOverlay=Bt.forMode(e),this.smartScanSelectionOverlay.setBrush(this.selectionCandidateBrush()),this.smartScanSelectionOverlay.setSelectedBrush(D.defaultSuccessBrush()),this.smartScanSelectionOverlay.setErrorBrush(this.sparkScanOverlay.getErrorBrush())}async onSwitchToActiveState(e,t,n){var r;if(n&&await this.setBrushToOverlays(this.brushForFeedback(n)),await((r=this.sparkScanOverlay)==null?void 0:r.setShouldRemoveLocationsAfterScan(t)),e===`active`){var i;await((i=this.sparkScanOverlay)==null?void 0:i.overlayReadyForDraw())}else{var a;await((a=this.sparkScanOverlay)==null?void 0:a.discardEnqueuedData())}}async onSwitchToIdleState(){var e;await((e=this.sparkScanOverlay)==null?void 0:e.overlayReadyForDraw())}async setBrushForFeedback(e){let t=this.brushForFeedback(e);this.lastSelectedBrushFromFeedback=t,await this.setBrushToOverlays(t)}async overlayReadyForDraw(){var e;await((e=this.sparkScanOverlay)==null?void 0:e.overlayReadyForDraw())}async onSwitchToErrorState(e){var t,n,r,i;(t=this.smartScanSelectionOverlay)==null||t.setErrorBrush(e.brush),await((n=this.sparkScanOverlay)==null?void 0:n.setErrorBrush(e.brush)),await((r=this.sparkScanOverlay)==null?void 0:r.overlayReadyForDraw()),await((i=this.sparkScanOverlay)==null?void 0:i.setShouldRemoveLocationsAfterScan(e.resumeCapturingDelay===0))}async onSwitchedToSmartScanSelection(e){this.sparkScanOverlay&&this.smartScanSelectionOverlay&&(this.lastSelectedBrushFromFeedback&&this.smartScanSelectionOverlay.setSelectedBrush(this.lastSelectedBrushFromFeedback),await(e==null?void 0:e.removeOverlay(this.sparkScanOverlay)),await(e==null?void 0:e.removeOverlay(this.smartScanSelectionOverlay)),await(e==null?void 0:e.addOverlay(this.smartScanSelectionOverlay)))}async onSwitchedAwayFromSmartScanSelection(e){this.sparkScanOverlay&&this.smartScanSelectionOverlay&&(await(e==null?void 0:e.removeOverlay(this.smartScanSelectionOverlay)),await(e==null?void 0:e.addOverlay(this.sparkScanOverlay)))}async setShouldRemoveLocationsAfterScan(e){var t;await((t=this.sparkScanOverlay)==null?void 0:t.setShouldRemoveLocationsAfterScan(e))}async setShouldDrawViewfinder(e){var t;await((t=this.sparkScanOverlay)==null?void 0:t.setShouldDrawViewfinder(e))}setRadius(e){var t;(t=this.sparkScanOverlay)==null||t.setRadius(e)}async setBrushToOverlays(e){var t,n,r;(t=this.smartScanSelectionOverlay)==null||t.setBrush(this.selectionCandidateBrush()),(n=this.smartScanSelectionOverlay)==null||n.setSelectedBrush(e),await((r=this.sparkScanOverlay)==null?void 0:r.setBrush(e))}selectionCandidateBrush(){return this.settings.selectionModeCandidateBrush??e.defaultSelectionModeCandidateBrush()}static defaultSelectionModeCandidateBrush(){return new t.Brush(t.Color.fromRGBA(0,0,0,0),t.Color.fromRGBA(0,255,255,1),3)}brushForFeedback(e){return e instanceof O,e.brush}},Gt=class{constructor(e,t){this.delegate=t,this.triggerButtonCollapseTimeout=new u.Timeout(e.triggerButtonCollapseTimeout,()=>this.delegate.onTriggerButtonCollapseTimeout()),this.inactiveStateTimeout=new u.Timeout(e.inactiveStateTimeout,()=>this.delegate.onInactiveStateTimeout())}onSwitchToActiveState(e){e?this.stopCurrentTimeout():this.startTimeout(this.inactiveStateTimeout)}onSwitchToInactiveState(){this.startTimeout(this.triggerButtonCollapseTimeout)}onSwitchToIdleState(){this.stopCurrentTimeout()}onSwitchToErrorState(e,t){this.stopCurrentTimeout(),e&&(this.resumeCapturingTimeout=new u.Timeout(t,()=>this.delegate.onResumeCapturingTimeout()),this.startTimeout(this.resumeCapturingTimeout))}startTimeout(e){this.stopCurrentTimeout(),this.currentTimeout=e,e.start()}restartCurrentTimeout(){var e;(e=this.currentTimeout)==null||e.start()}stopCurrentTimeout(){var e;(e=this.currentTimeout)==null||e.stop(),this.currentTimeout=void 0}};let Kt=t.Vibration.withPattern([40]);var qt=class e{constructor(e,n){this.soundEnabled=!0,this.hapticEnabled=!0,this.tapVibration=this.hapticEnabled?Kt:null,this.tapFeedback=new t.Feedback(this.tapVibration,null),this.successSound=this.soundEnabled?dt:null,this.successVibration=this.hapticEnabled?Kt:null,this.successFeedback=new t.Feedback(this.successVibration,this.successSound),this.errorSound=this.soundEnabled?ft:null,this.noFeedback=new t.Feedback(null,null),this.errorVibration=this.hapticEnabled?t.Vibration.withPattern(C.SparkScanFeedback.errorVibrationPattern):null,this.errorFeedback=new t.Feedback(this.errorVibration,this.errorSound),this.soundEnabled=e,this.hapticEnabled=n}static withDefaults(t,n){return new e(t,n)}setSoundEnabled(e){this.soundEnabled=e,this.successSound=e?dt:null,this.successFeedback=new t.Feedback(this.successVibration,this.successSound),this.errorSound=e?ft:null,this.errorFeedback=new t.Feedback(this.errorVibration,this.errorSound)}setHapticEnabled(e){this.hapticEnabled=e,this.tapVibration=e?Kt:null,this.tapFeedback=new t.Feedback(this.tapVibration,null),this.successVibration=e?t.Vibration.defaultVibration:null,this.successFeedback=new t.Feedback(this.successVibration,this.successSound),this.errorVibration=e?t.Vibration.withPattern(C.SparkScanFeedback.errorVibrationPattern):null,this.errorFeedback=new t.Feedback(this.errorVibration,this.errorSound)}emitTapFeedback(){this.tapFeedback.emit()}emitBarcodeFeedback(e){new t.Feedback(this.hapticEnabled?(e==null?void 0:e.feedback.vibration)??null:null,this.soundEnabled?(e==null?void 0:e.feedback.sound)??null:null).emit()}},Jt=class{constructor(e){this.storage=e}get scanningBehavior(){return this.getItem(`scanningBehavior`)}set scanningBehavior(e){this.setOrRemoveItem(`scanningBehavior`,e)}get portraitOrientationTriggerButtonTranslateX(){return this.getItem(`portraitOrientationTriggerButtonTranslateX`)}set portraitOrientationTriggerButtonTranslateX(e){this.setOrRemoveItem(`portraitOrientationTriggerButtonTranslateX`,e)}get portraitOrientationTriggerButtonTranslateY(){return this.getItem(`portraitOrientationTriggerButtonTranslateY`)}set portraitOrientationTriggerButtonTranslateY(e){this.setOrRemoveItem(`portraitOrientationTriggerButtonTranslateY`,e)}get landscapeOrientationTriggerButtonTranslateX(){return this.getItem(`landscapeOrientationTriggerButtonTranslateX`)}set landscapeOrientationTriggerButtonTranslateX(e){this.setOrRemoveItem(`landscapeOrientationTriggerButtonTranslateX`,e)}get landscapeOrientationTriggerButtonTranslateY(){return this.getItem(`landscapeOrientationTriggerButtonTranslateY`)}set landscapeOrientationTriggerButtonTranslateY(e){this.setOrRemoveItem(`landscapeOrientationTriggerButtonTranslateY`,e)}get portraitOrientationMiniPreviewTranslateX(){return this.getItem(`portraitOrientationMiniPreviewTranslateX`)}set portraitOrientationMiniPreviewTranslateX(e){this.setOrRemoveItem(`portraitOrientationMiniPreviewTranslateX`,e)}get portraitOrientationMiniPreviewTranslateY(){return this.getItem(`portraitOrientationMiniPreviewTranslateY`)}set portraitOrientationMiniPreviewTranslateY(e){this.setOrRemoveItem(`portraitOrientationMiniPreviewTranslateY`,e)}get landscapeOrientationMiniPreviewTranslateX(){return this.getItem(`landscapeOrientationMiniPreviewTranslateX`)}set landscapeOrientationMiniPreviewTranslateX(e){this.setOrRemoveItem(`landscapeOrientationMiniPreviewTranslateX`,e)}get landscapeOrientationMiniPreviewTranslateY(){return this.getItem(`landscapeOrientationMiniPreviewTranslateY`)}set landscapeOrientationMiniPreviewTranslateY(e){this.setOrRemoveItem(`landscapeOrientationMiniPreviewTranslateY`,e)}getItem(e){let t=this.storage.getItem(e);if(t!=null)return JSON.parse(t)}setOrRemoveItem(e,t){t===void 0?this.storage.removeItem(e):this.storage.setItem(e,JSON.stringify(t))}},Yt=class{constructor(e,t){this.triggerButtonPressed=!1,this.inSmartScanSelection=!1,this.selectionModeOn=!1,this.viewSettings=e,this.preferenceManager=t,this.state=`Initial`,this.scanningMode=e.defaultScanningMode.copyWith(t.scanningBehavior),this.zoomFactor=e.zoomFactorOut,this.holdingToScan=!1,this.torchState=e.defaultTorchState}setViewSettings(e){this.viewSettings=e,this.scanningMode=e.defaultScanningMode.copyWith(this.preferenceManager.scanningBehavior)}get targetModeEnabled(){return this.scanningMode instanceof T}get scanningBehavior(){return this.scanningMode.scanningBehavior}set scanningBehavior(e){this.scanningMode=this.scanningMode.copyWith(e)}get previewBehavior(){return this.scanningMode.previewBehavior}set previewBehavior(e){this.scanningMode=this.scanningMode.copyWith(this.scanningBehavior,e)}get zoomedIn(){return this.zoomFactor===this.viewSettings.zoomFactorIn}get zoomedOut(){return this.zoomFactor===this.viewSettings.zoomFactorOut}get idleState(){return this.state===`idle`}get torchEnabled(){return this.torchState===t.TorchState.On}get continuousModeEnabled(){return this.scanningBehavior===`continuous`}get isSingleScanning(){return this.scanningBehavior===`single`}get shouldEnableSuppression(){return this.triggerButtonPressed&&this.isSingleScanning&&!this.holdingToScan}get portraitOrientationTriggerButtonTranslateX(){return this.preferenceManager.portraitOrientationTriggerButtonTranslateX}set portraitOrientationTriggerButtonTranslateX(e){this.preferenceManager.portraitOrientationTriggerButtonTranslateX=e}get portraitOrientationTriggerButtonTranslateY(){return this.preferenceManager.portraitOrientationTriggerButtonTranslateY}set portraitOrientationTriggerButtonTranslateY(e){this.preferenceManager.portraitOrientationTriggerButtonTranslateY=e}get landscapeOrientationTriggerButtonTranslateX(){return this.preferenceManager.landscapeOrientationTriggerButtonTranslateX}set landscapeOrientationTriggerButtonTranslateX(e){this.preferenceManager.landscapeOrientationTriggerButtonTranslateX=e}get landscapeOrientationTriggerButtonTranslateY(){return this.preferenceManager.landscapeOrientationTriggerButtonTranslateY}set landscapeOrientationTriggerButtonTranslateY(e){this.preferenceManager.landscapeOrientationTriggerButtonTranslateY=e}get portraitOrientationMiniPreviewTranslateX(){return this.preferenceManager.portraitOrientationMiniPreviewTranslateX}set portraitOrientationMiniPreviewTranslateX(e){this.preferenceManager.portraitOrientationMiniPreviewTranslateX=e}get portraitOrientationMiniPreviewTranslateY(){return this.preferenceManager.portraitOrientationMiniPreviewTranslateY}set portraitOrientationMiniPreviewTranslateY(e){this.preferenceManager.portraitOrientationMiniPreviewTranslateY=e}get landscapeOrientationMiniPreviewTranslateX(){return this.preferenceManager.landscapeOrientationMiniPreviewTranslateX}set landscapeOrientationMiniPreviewTranslateX(e){this.preferenceManager.landscapeOrientationMiniPreviewTranslateX=e}get landscapeOrientationMiniPreviewTranslateY(){return this.preferenceManager.landscapeOrientationMiniPreviewTranslateY}set landscapeOrientationMiniPreviewTranslateY(e){this.preferenceManager.landscapeOrientationMiniPreviewTranslateY=e}};function Xt(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Zt(e,n,r){let i=r.value;return typeof i==`function`?i.constructor.name!==`AsyncFunction`&&i.constructor!==(async()=>{}).constructor?(t.Logger.warn(`@afterPrepareScanning applied to non-async method: ${n}`),r):(r.value=function(...e){return this._preparationPromise?this._preparationPromise.then(()=>i.apply(this,e)):Promise.reject(Error(`prepare should be called before calling ${n} method`))},r):(t.Logger.warn(`@afterPrepareScanning applied to non-function: ${n}`),r)}var Qt=class e{get camera(){return this.cameraManager.camera}constructor(e,t){this._context=null,this._sparkScan=null,this._preparationPromise=null,this._stopScanningPromise=null,this._dataCaptureView=null,this.preferenceManager=new Jt(te.SafeStorage.getInstanceFor(`localStorage`)),this.defaultSuccessBrush=D.defaultSuccessBrush(),this.defaultErrorBrush=D.defaultErrorBrush(),this.sparkScanView=e,this.cameraManager=new Rt,this.setSparkScanViewSettings(t)}set context(e){this._context!==e&&(this._preparationPromise=null,this._context=e,e&&(this.analyticsManager=ct.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 Error(`SparkScan mode is required to be set before calling this method`);return this._sparkScan}get context$(){if(!this._context)throw Error(`Context is required to be set before calling this method`);return this._context}setSparkScanViewSettings(e){this.sparkScanViewSettings=e,this.overlayManager?this.overlayManager.setViewSettings(this.sparkScanViewSettings):this.overlayManager=new Wt(this.sparkScanViewSettings),this.stateManager?this.stateManager.setViewSettings(this.sparkScanViewSettings):this.stateManager=new Yt(this.sparkScanViewSettings,this.preferenceManager),this.feedbackManager=qt.withDefaults(this.sparkScanViewSettings.soundEnabled,this.sparkScanViewSettings.hapticEnabled),this.timeoutManager=new Gt(this.sparkScanViewSettings,this)}get portraitOrientationTriggerButtonTranslateX(){return this.stateManager.portraitOrientationTriggerButtonTranslateX??this.defaultTriggerButtonTranslateX}get portraitOrientationTriggerButtonTranslateY(){return this.stateManager.portraitOrientationTriggerButtonTranslateY??this.defaultTriggerButtonTranslateY}get landscapeOrientationTriggerButtonTranslateX(){return this.stateManager.landscapeOrientationTriggerButtonTranslateX??this.defaultTriggerButtonTranslateX}get landscapeOrientationTriggerButtonTranslateY(){return this.stateManager.landscapeOrientationTriggerButtonTranslateY??this.defaultTriggerButtonTranslateY}get portraitOrientationMiniPreviewTranslateX(){return this.stateManager.portraitOrientationMiniPreviewTranslateX??this.defaultMiniPreviewTranslateX}get portraitOrientationMiniPreviewTranslateY(){return this.stateManager.portraitOrientationMiniPreviewTranslateY??this.defaultMiniPreviewTranslateY}get landscapeOrientationMiniPreviewTranslateX(){return this.stateManager.landscapeOrientationMiniPreviewTranslateX??this.defaultMiniPreviewTranslateX}get landscapeOrientationMiniPreviewTranslateY(){return this.stateManager.landscapeOrientationMiniPreviewTranslateY??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(){return{width:this.sparkScanView.parentElement.clientWidth??window.innerWidth,height:this.sparkScanView.parentElement.clientHeight??window.innerHeight}}get defaultMiniPreviewTranslateY(){return 16}static forView(t,n){return new e(t,n)}async prepareScanning(e){if(this._preparationPromise)return this._preparationPromise;this._stopScanningPromise&&await this._stopScanningPromise,this._preparationPromise=this._internalPrepareScanning(e);try{await this._preparationPromise}catch(e){throw this._preparationPromise=null,e}return this._preparationPromise}async _internalPrepareScanning(e){var n;let r=this.context$,i=this.sparkScan$;(n=this._dataCaptureView)==null||n.detachFromElement(),this._dataCaptureView=await t.DataCaptureView.forContext(r),this._dataCaptureView.logoAnchor=t.Anchor.BottomCenter,this._dataCaptureView.logoStyle=t.LogoStyle.Minimal,this._dataCaptureView.setProperty(`stopVideoTracksOnVisibilityChange`,!1),this._dataCaptureView.setProperty(`freezeFrameWhenStoppingFrameSource`,!1),this._dataCaptureView.connectToElement(e);let a=await this.cameraManager.prepareScanning(r,this.sparkScanViewSettings);this.sparkScanView.setTorchAvailable(a.isTorchAvailable),this.sparkScanView.setZoomAvailable(a.isZoomAvailable),this.sparkScanView.cameraSwitchButtonTapped(a.isTorchAvailable,a.cameraPosition),await r.setMode(i),i.addListener(this),i.setDelegate(this),await this.overlayManager.prepareScanning(i,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 t;this.timeoutManager.stopCurrentTimeout();let n=this.context$,r=this.sparkScan$;await r.setEnabled(!1),r.removeListener(this),r.setDelegate(void 0),await n.removeMode(r),await this.cameraManager.stopScanning(),(t=this._dataCaptureView)==null||t.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=!0}async onTriggerButtonTap(){switch(this.stateManager.state){case`Initial`:this.stateManager.triggerButtonPressed=!1;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=!0,this.sparkScanViewSettings.holdToScanEnabled&&!this.isSelectionModeOn()&&(this.scanningBehaviorCache=this.stateManager.scanningBehavior,this.stateManager.scanningBehavior=`continuous`,this.stateManager.holdingToScan=!0,await this.overlayManager.setShouldRemoveLocationsAfterScan(!0),await this.switchToActiveState({barcodeFeedback:this.tapBarcodeFeedback}))}isSelectionModeOn(){return this.sparkScan$.settings.selectionMode===`on`}async onTriggerButtonLongPressEnd(){this.stateManager.holdingToScan&&this.stateManager.state!==`error`?(await this.cancelInProgressLongPress(),await this.switchToInactiveState({sessionStopReason:`user`,barcodeFeedback:this.silentErrorBarcodeFeedback})):this.stateManager.triggerButtonPressed=!1}async cancelInProgressLongPress(){this.stateManager.scanningBehavior=this.scanningBehaviorCache??`single`,this.stateManager.holdingToScan=!1,await this.overlayManager.setShouldRemoveLocationsAfterScan(this.stateManager.continuousModeEnabled)}async onClickOutside(){this.stateManager.idleState||await this.switchToIdleState({emitTapFeedback:!0})}async onVisibilityChange(){await this.switchToIdleState()}async onTargetModeButtonTap(e,t=this.feedbackManager.tapFeedback,n=!0){t.emit(),e&&this.stateManager.holdingToScan&&await this.cancelInProgressLongPress();let r=String(e),i={true:e&&this.stateManager.scanningMode instanceof w,false:!e&&this.stateManager.scanningMode instanceof T}[r];if(!this._sparkScan&&i&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode()),this.enableTargetModeLocationSelection(e),this._sparkScan&&(this._sparkScan.settings.selectionMode!==`auto`&&(this._sparkScan.settings.selectionMode=e?`on`:`off`),await this._sparkScan.applySettings(this._sparkScan.settings)),await this.overlayManager.setShouldDrawViewfinder(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.targetModeButtonTapped(e,n),i){var a,o;(a=this.listener)==null||(o=a.didChangeScanningMode)==null||o.call(a,this.stateManager.scanningMode),this.analyticsManager.setScanningMode(this.stateManager.scanningMode)}this.updateSizeControlVisibility()}async onScanningBehaviorButtonTap(e,t=this.feedbackManager.tapFeedback,n=!0){t.emit(),this.stateManager.scanningMode=this.stateManager.scanningMode.copyWith(e?`continuous`:`single`),await this.overlayManager.setShouldRemoveLocationsAfterScan(e),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.scanningBehaviorButtonTapped(e,n),this.analyticsManager.setScanningMode(this.stateManager.scanningMode)}async onBarcodeFindButtonTap(){var e,t;await this.switchToIdleState({sessionStopReason:`user`,emitTapFeedback:!0}),(e=this.listener)==null||(t=e.didTapBarcodeFindButton)==null||t.call(e,this.sparkScanView),this.timeoutManager.restartCurrentTimeout()}async onLabelCaptureButtonTap(){var e,t;await this.switchToIdleState({sessionStopReason:`user`,emitTapFeedback:!0}),(e=this.listener)==null||(t=e.didTapLabelCaptureButton)==null||t.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,n=this.feedbackManager.tapFeedback,r=!0){n.emit(),this.stateManager.torchState=e?t.TorchState.On:t.TorchState.Off,await this.cameraManager.onTorchButtonTap(this.stateManager.torchState),this.timeoutManager.restartCurrentTimeout(),this.sparkScanView.torchButtonTapped(e,r),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:!0})}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,t){switch(this.stateManager.state===`active`&&await this.sparkScan$.setEnabled(!1),t){case`landscape-primary`:case`landscape-secondary`:this.stateManager.landscapeOrientationMiniPreviewTranslateX=e.x,this.stateManager.landscapeOrientationMiniPreviewTranslateY=e.y;break;case`portrait-primary`:case`portrait-secondary`:this.stateManager.portraitOrientationMiniPreviewTranslateX=e.x,this.stateManager.portraitOrientationMiniPreviewTranslateY=e.y;break}this.timeoutManager.restartCurrentTimeout()}onMiniPreviewPointerMove(){this.timeoutManager.restartCurrentTimeout()}async onMiniPreviewPointerUp(){this.stateManager.inSmartScanSelection||await this.switchToActiveState()}async onMiniPreviewDragEnd(){this.stateManager.state===`active`&&await this.sparkScan$.setEnabled(!0)}async onMiniPreviewVisibilityChange(e){e&&this.sparkScanView.repositionMiniPreviewIfOutOfBounds(),this.stateManager.inSmartScanSelection&&!e&&await this.onSwitchedAwayFromSmartScanSelection()}onTriggerButtonDrag(e,t){switch(t){case`landscape-primary`:case`landscape-secondary`:this.stateManager.landscapeOrientationTriggerButtonTranslateX=e.x,this.stateManager.landscapeOrientationTriggerButtonTranslateY=e.y;break;case`portrait-primary`:case`portrait-secondary`:this.stateManager.portraitOrientationTriggerButtonTranslateX=e.x,this.stateManager.portraitOrientationTriggerButtonTranslateY=e.y;break}}async onOrientationChange(){if(this.stateManager.state===`active`&&this.stateManager.holdingToScan){this.timeoutManager.restartCurrentTimeout();return}this.stateManager.state===`error`&&await this.switchToInactiveState({sessionStopReason:`user`})}async didScan(e,t){if(!t.newlyRecognizedBarcode)return;let n=this.sparkScanView.feedbackDelegate.getFeedbackForBarcode(t.newlyRecognizedBarcode);if(n){if(n instanceof pt){await this.switchToErrorState({barcodeFeedback:n}),this.timeoutManager.restartCurrentTimeout();return}if(n instanceof O){if(this.stateManager.continuousModeEnabled){await this.switchToActiveState({barcodeFeedback:n}),this.timeoutManager.restartCurrentTimeout();return}await this.switchToInactiveState({barcodeFeedback:n,emitSuccessFeedback:!0,sessionStopReason:`user`}),this.timeoutManager.restartCurrentTimeout()}}}setListener(e){this.listener=e}async onSwitchedToSmartScanSelection(){if(this.overlayManager.isReady){this.stateManager.inSmartScanSelection=!0,this.stateManager.previewSizeControlVisibleBeforeSmartScanSelection=this.sparkScanView.previewSizeControlVisible,await this.overlayManager.onSwitchedToSmartScanSelection(this._dataCaptureView);let e=this.sparkScan$.settings.selectionMode,t=e===`on`;this.stateManager.selectionModeOn=t,(e===`auto`||!this.stateManager.targetModeEnabled&&!t)&&(this.stateManager.miniPreviewSizeBeforeSmartScanSelection=this.sparkScanView.miniPreviewSize,this.sparkScanView.miniPreviewSize=`expanded`),this.updateSizeControlVisibility()}}async onSwitchedAwayFromSmartScanSelection(){this.overlayManager.isReady&&this.stateManager.inSmartScanSelection&&(this.stateManager.inSmartScanSelection=!1,this.stateManager.selectionModeOn=!1,await this.overlayManager.onSwitchedAwayFromSmartScanSelection(this._dataCaptureView),this.stateManager.miniPreviewSizeBeforeSmartScanSelection!=null&&(this.sparkScanView.miniPreviewSize=this.stateManager.miniPreviewSizeBeforeSmartScanSelection,this.stateManager.miniPreviewSizeBeforeSmartScanSelection=void 0),this.updateSizeControlVisibility())}get tapBarcodeFeedback(){return new O(t.Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.tapFeedback)}get silentBarcodeFeedback(){return new O(t.Color.fromRGBA(0,0,0,0),this.defaultSuccessBrush,this.feedbackManager.noFeedback)}get silentErrorBarcodeFeedback(){return new pt(``,0,t.Color.fromRGBA(0,0,0,0),this.defaultErrorBrush,this.feedbackManager.noFeedback)}async switchToIdleState(e={}){await this.sparkScan$.setEnabled(!1),await this.cameraManager.onSwitchToIdleState(),e.emitTapFeedback===!0&&this.feedbackManager.emitTapFeedback(),await this.overlayManager.onSwitchToIdleState(),this.setState(`idle`),this.timeoutManager.onSwitchToIdleState(),this.stateManager.triggerButtonPressed=!1,this.sparkScanView.switchToIdleState(),e.sessionStopReason!=null&&this.analyticsManager.setSessionStopReason(e.sessionStopReason)}async switchToActiveState(e={}){var t;let n=this.stateManager.state;await this.cameraManager.onSwitchToActiveState(this.stateManager.torchState),await this.overlayManager.onSwitchToActiveState(n,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 O,this.stateManager.scanningBehavior,(t=e.barcodeFeedback)==null?void 0:t.visualFeedbackColor,this.stateManager.zoomedIn&&n!==`active`),await this.sparkScan$.setEnabled(!0),this.setState(`active`)}async switchToInactiveState(e){var t;this.stateManager.inSmartScanSelection?await this.sparkScan$.setEnabled(!1):this.stateManager.shouldEnableSuppression?await this.sparkScan$.setResultSuppressionEnabled(!0):await this.sparkScan$.setEnabled(!1),this.stateManager.triggerButtonPressed=!1,this.stateManager.scanningMode.previewBehavior===`persistent`&&e.barcodeFeedback instanceof O&&await this.overlayManager.setShouldRemoveLocationsAfterScan(!0),await this.cameraManager.onSwitchToInactiveState(this.stateManager.scanningMode.previewBehavior),e.emitSuccessFeedback??=!0,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 O&&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 t=e.barcodeFeedback.resumeCapturingDelay>0;t&&(await this.sparkScan$.setEnabled(!1),await this.cameraManager.onSwitchToErrorState(),this.setState(`error`),this.stateManager.scanningBehavior=`single`),this.timeoutManager.onSwitchToErrorState(t,e.barcodeFeedback.resumeCapturingDelay),await this.overlayManager.onSwitchToErrorState(e.barcodeFeedback),await this.sparkScan$.workerCommand(`sparkScanEmitErrorFeedback`,{shouldRemoveBrush:!t}),this.feedbackManager.emitBarcodeFeedback(e.barcodeFeedback),await this.sparkScanView.switchToErrorState(e.barcodeFeedback,this.sparkScanViewSettings.visualFeedbackEnabled)}applySelectionModeToScanningMode(e){if(e==null)return;if(e===`auto`){this.stateManager.scanningMode instanceof T&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode());return}let t=e===`on`;this.stateManager.scanningMode instanceof T!==t&&(this.stateManager.scanningMode=this.stateManager.scanningMode.changeMode())}enableTargetModeLocationSelection(e){let n=new t.NumberWithUnit(e?C.SparkScanSettings.targetModeLocationSelection.radius:C.SparkScanSettings.locationSelection.radius,e?C.SparkScanSettings.targetModeLocationSelection.unit:C.SparkScanSettings.locationSelection.unit);this.sparkScan$.settings.locationSelection=new t.RadiusLocationSelection(n),this.overlayManager.setRadius(n)}async applyPreferences(){await this.onTargetModeButtonTap(this.stateManager.targetModeEnabled,this.feedbackManager.noFeedback,!1),await this.onScanningBehaviorButtonTap(this.stateManager.continuousModeEnabled,this.feedbackManager.noFeedback,!1),await this.onTorchButtonTap(this.stateManager.torchEnabled,this.feedbackManager.noFeedback,!1),this.sparkScanView.repositionElementsIfOutOfBounds()}setState(e){if(e!==this.stateManager.state){var t,n;this.stateManager.state=e,(t=this.listener)==null||(n=t.didChangeViewState)==null||n.call(t,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&&!this.stateManager.selectionModeOn,t=this.sparkScanView.previewSizeControlVisible;this.sparkScanView.previewSizeControlVisible=t&&!e}};Xt([Zt],Qt.prototype,`switchToActiveState`,null),Xt([Zt],Qt.prototype,`switchToInactiveState`,null),Xt([Zt],Qt.prototype,`switchToErrorState`,null);var $t=class{get scanningBehavior(){return this.defaultScanningMode.scanningBehavior}set scanningBehavior(e){let t=this.defaultScanningMode;t instanceof T?this.defaultScanningMode=new T(e,t.previewBehavior):this.defaultScanningMode=new w(e,t.previewBehavior)}get previewBehavior(){return this.defaultScanningMode.previewBehavior}set previewBehavior(e){let t=this.defaultScanningMode;t instanceof T?this.defaultScanningMode=new T(t.scanningBehavior,e):this.defaultScanningMode=new w(t.scanningBehavior,e)}get smartSelectionCandidateBrush(){return this.selectionModeCandidateBrush}set smartSelectionCandidateBrush(e){this.selectionModeCandidateBrush=e}constructor(){this.defaultScanningMode=new w(`single`,`default`),this.defaultTorchState=C.SparkScanViewSettings.defaultTorchState,this.defaultMiniPreviewSize=C.SparkScanViewSettings.defaultMiniPreviewSize,this.defaultCameraPosition=C.SparkScanViewSettings.defaultCameraPosition,this.hapticEnabled=C.SparkScanViewSettings.hapticEnabled,this.holdToScanEnabled=C.SparkScanViewSettings.holdToScanEnabled,this.inactiveStateTimeout=C.SparkScanViewSettings.inactiveStateTimeout,this.soundEnabled=C.SparkScanViewSettings.soundEnabled,this.toastSettings=new st,this.triggerButtonCollapseTimeout=C.SparkScanViewSettings.triggerButtonCollapseTimeout,this.visualFeedbackEnabled=C.SparkScanViewSettings.visualFeedbackEnabled,this.zoomFactorIn=C.SparkScanViewSettings.zoomFactorIn,this.zoomFactorOut=C.SparkScanViewSettings.zoomFactorOut,this.selectionModeCandidateBrush=null}toJSONObject(){var e;return{defaultScanningMode:this.defaultScanningMode.toJSONObject(),defaultTorchState:this.defaultTorchState,defaultMiniPreviewSize:this.defaultMiniPreviewSize,defaultCameraPosition:this.defaultCameraPosition,hapticEnabled:this.hapticEnabled,holdToScanEnabled:this.holdToScanEnabled,inactiveStateTimeout:this.inactiveStateTimeout,previewBehavior:this.previewBehavior,scanningBehavior:this.scanningBehavior,soundEnabled:this.soundEnabled,toastSettings:this.toastSettings.toJSONObject(),triggerButtonCollapseTimeout:this.triggerButtonCollapseTimeout,visualFeedbackEnabled:this.visualFeedbackEnabled,zoomFactorIn:this.zoomFactorIn,zoomFactorOut:this.zoomFactorOut,selectionModeCandidateBrush:((e=this.selectionModeCandidateBrush)==null?void 0:e.toJSONObject())??null}}},en=class e extends c.ScanditHTMLElement{constructor(...e){super(...e),this._pointerDownListener=this.onPointerDown.bind(this),this._pointerUpListener=this.onPointerUp.bind(this),this._longPressController=new Ot(this),this._longPressStartListener=this.onLongPressStart.bind(this)}get styleElement(){return this._styleElement??=c.css`${J}{background:#0000;border-radius:50%;display:none;height:90px;left:0;position:absolute;top:0;width:90px;z-index:10}${J}[unconstrained]{position:fixed;z-index:9999}${J}[expanded]{height:220px;margin-left:-65px;margin-top:-65px;width:220px}${J}[visible]{align-items:center;display:flex;justify-content:center}${J} div{background:var(${gt});border-radius:50%;filter:drop-shadow(0 2px 6px #${mt.toJSON()}) drop-shadow(0 1px 2px #${ht.toJSON()});height:90px;position:relative;transition:filter .3s ease;width:90px}${J} div .pulse{background:#0000;height:100%;left:50%;opacity:.3;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:-1}${J}[pressed] div{background:var(${_t});filter:drop-shadow(0 4px 4px #${mt.toJSON()}) drop-shadow(0 8px 12px #${ht.toJSON()})}${J}[pressed][expanded] div{background:var(${yt})}${J}[expanded] div{background:var(${vt});height:200px;width:200px}${J} div img,${J} div svg{height:auto;left:50%;max-height:48px;max-width:48px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}${J}[expanded] div img,${J}[expanded] div svg{max-height:64px;max-width:64px}`,this._styleElement}get minimized(){return!this.hasAttribute(`expanded`)}set minimized(e){this.toggleAttribute(`minimized`,!e)}get expanded(){return this.hasAttribute(`expanded`)}set expanded(e){this.toggleAttribute(`expanded`,e),this._dragController&&(this._dragController.margin=e?new t.Point(-65,-65):new t.Point(0,0),this._dragController.repositionIfOutOfBounds())}get pressed(){return this.hasAttribute(`pressed`)}set pressed(e){this.toggleAttribute(`pressed`,e)}get visible(){return this.hasAttribute(`visible`)}set visible(e){this.toggleAttribute(`visible`,e)}set useViewportBounds(e){this._dragController&&(this._dragController.useViewportBounds=e)}static create(){return(0,c.defineCustomElements)({[J]:e}),document.createElement(J)}connectedCallback(){var e;this.render(),this.append(this.styleElement),this._dragController=new ut(this,(e=this.parentElement)==null?void 0:e.parentElement),this._dragController.connect(),this.addEventListener(`pointerdown`,this._pointerDownListener),this.addEventListener(`pointerup`,this._pointerUpListener),this.addEventListener(`longpressstart`,this._longPressStartListener),this._longPressController.connect(),this._longPressController.elementsAllowedToTriggerLongPressEvents.add(this),this._pulse=this.querySelector(`.pulse`),this._pulseAnimation=new Animation(new KeyframeEffect(this._pulse,[{background:`rgba(0, 0, 0, 0)`},{background:`var(${bt})`,transform:`translate(-50%, -50%) scale(1.1)`},{background:`rgba(0, 0, 0, 0)`}],{duration:1100,easing:`ease-out`,iterations:1/0}))}disconnectedCallback(){var e;this.removeEventListener(`pointerdown`,this._pointerDownListener),this.removeEventListener(`pointerup`,this._pointerUpListener),this.removeEventListener(`longpressstart`,this._longPressStartListener),(e=this._dragController)==null||e.disconnect(),this._longPressController.disconnect(),this.innerHTML=``}repositionIfOutOfBounds(){var e;(e=this._dragController)==null||e.repositionIfOutOfBounds()}translateTo(e){var t;(t=this._dragController)==null||t.translateTo(e,!1)}setImage(e){var t;let n=this.querySelector(`div`);(t=n.firstElementChild)==null||t.remove(),e&&n.append(e)}startPulsating(){var e;(e=this._pulseAnimation)==null||e.play()}stopPulsating(){this._pulseAnimation&&((0,c.safeCancelAnimation)(this._pulseAnimation),this._pulseAnimation.currentTime=0)}render(){this.innerHTML=c.html`<div><div class="pulse"></div><svg width="49" height="26" viewBox="0 0 49 26" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="7.57422" y="-0.00390625" width="3.20017" height="25.7171" rx="0.5" fill="white" style="fill:var(${k})"/><path d="M44.8418 0.496094C44.8418 0.219952 45.0657 -0.00390625 45.3418 -0.00390625H48.001C48.2771 -0.00390625 48.501 0.219951 48.501 0.496094V25.2132C48.501 25.4894 48.2771 25.7132 48.001 25.7132H45.3418C45.0657 25.7132 44.8418 25.4894 44.8418 25.2132V0.496094Z" fill="white" style="fill:var(${k})"/><path d="M33.8271 0.896094C33.8271 0.399038 34.2301 -0.00390625 34.7271 -0.00390625H39.1368C39.6338 -0.00390625 40.0368 0.399038 40.0368 0.896094V24.8132C40.0368 25.3103 39.6338 25.7132 39.1368 25.7132H34.7271C34.2301 25.7132 33.8271 25.3103 33.8271 24.8132V0.896094Z" fill="white" style="fill:var(${k})"/><path d="M16.3154 0.746095C16.3154 0.331881 16.6512 -0.00390625 17.0654 -0.00390625H20.1879C20.6021 -0.00390625 20.9379 0.33188 20.9379 0.746094V24.9632C20.9379 25.3774 20.6021 25.7132 20.1879 25.7132H17.0654C16.6512 25.7132 16.3154 25.3774 16.3154 24.9632V0.746095Z" fill="white" style="fill:var(${k})"/><path d="M0.5 0.246094C0.5 0.108023 0.611929 -0.00390625 0.75 -0.00390625H2.2897C2.42777 -0.00390625 2.5397 0.108023 2.5397 0.246094V25.4632C2.5397 25.6013 2.42777 25.7132 2.2897 25.7132H0.75C0.611929 25.7132 0.5 25.6013 0.5 25.4632V0.246094Z" fill="white" style="fill:var(${k})"/><rect x="25.9688" y="-0.00390625" width="3.05794" height="25.7171" rx="0.5" fill="white" style="fill:var(${k})"/></svg></div>`}onPointerDown(e){e instanceof PointerEvent&&(this._dragController&&(this._dragController.draggable=this.minimized),this._holdStart=Date.now(),this.setPointerCapture(e.pointerId))}onPointerUp(e){if(e instanceof PointerEvent){var t;let n=this._holdStart!=null&&Date.now()-this._holdStart<400,r=!((t=this._dragController)!=null&&t.pointerDownEvent)||!lt(this._dragController.pointerDownEvent,e);n&&r&&this.dispatchEvent(new CustomEvent(`tap`)),this.pressed=!1,this._holdStart=void 0,this.releasePointerCapture(e.pointerId)}}onLongPressStart(){this._dragController&&(this._dragController.draggable=!0),this.pressed=!0,this._holdStart=void 0}},tn=class e extends c.ScanditHTMLElement{get styleElement(){return this._styleElement??=c.css`${Nt}{height:var(--dvh);left:0;opacity:0;pointer-events:none;position:absolute;top:0;user-select:none;width:var(--dvw)}${Nt}[success]{background:var(${St})}${Nt}[error]{background:var(${Ct})}`,this._styleElement}get success(){return this.hasAttribute(`success`)}set success(e){this.toggleAttribute(`error`,!e),this.toggleAttribute(`success`,e)}get error(){return this.hasAttribute(`error`)}set error(e){this.toggleAttribute(`error`,e),this.toggleAttribute(`success`,!e)}static create(){return(0,c.defineCustomElements)({[Nt]:e}),document.createElement(Nt)}async fadeIn(e,t){await(0,c.safeAwaitAnimation)(this.animate([{opacity:`0`},{opacity:e}],{duration:t,easing:`linear`}))}async fadeOut(e,t){await(0,c.safeAwaitAnimation)(this.animate([{opacity:e},{opacity:`0`}],{duration:t,easing:`linear`}))}async emitSuccessFeedback(){this.success=!0,await this.fadeIn(`1`,200),await this.fadeOut(`1`,0)}async emitErrorFeedback(){this.error=!0,await this.fadeIn(`1`,100),await this.fadeOut(`1`,100),await this.fadeIn(`0.5`,100),await this.fadeOut(`0.5`,0)}connectedCallback(){this.append(this.styleElement)}},nn=class e extends c.ScanditHTMLElement{constructor(...e){super(...e),this._targetModeButtonVisible=!1,this._scanningBehaviorButtonVisible=!1,this._torchControlVisible=!0,this._zoomSwitchControlVisible=!0,this._previewSizeControlVisible=!0,this._barcodeFindButtonVisible=!1,this._labelCaptureButtonVisible=!1,this._cameraSwitchButtonVisible=!1,this._previewCloseControlVisible=!0,this._triggerButtonVisible=!0,this._isTorchAvailable=!0,this._isZoomAvailable=!0,this._isConnected=!1,this._sizingMode=`constrained`,this.feedbackDelegate={getFeedbackForBarcode:()=>D.success()},this.onSparkScanSettingsApplied=e=>{let t=e.selectionMode??null;this.applySelectionModeToToolbar(t),this.presenter.applySelectionModeToScanningMode(t),(t===`on`||t===`off`)&&this.targetModeButtonTapped(t===`on`,!1)},this.resizeObserver=null,this.onResizeHandler=this.onResize.bind(this),this.settings=new $t,this.presenter=Qt.forView(this,this.settings),this.miniPreview=Lt.create(),this.triggerButton=en.create(),this.visualFeedback=tn.create(),this.miniPreviewTimeout=new c.Timeout(500,this.onMiniPreviewTimeoutFinished.bind(this)),this.orientationObserver=new s.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=!1,this.miniPreviewListeners=[[`pointerup`,this.miniPreviewPointerUpListener],[`pointermove`,this.miniPreviewPointerMoveListener],[`minipreviewbuttontap`,this.miniPreviewButtonTapListener],[`toolbarbuttontap`,this.toolbarButtonTapListener],[`drag`,this.miniPreviewDragListener],[`dragend`,this.miniPreviewDragEndListener],[Et,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 t;this._targetModeButtonVisible=e,(t=this.miniPreview)!=null&&t.toolbar&&(this.miniPreview.toolbar[F]=e)}get selectionModeButtonVisible(){return this._targetModeButtonVisible}set selectionModeButtonVisible(e){this.targetModeButtonVisible=e}get scanningBehaviorButtonVisible(){return this._scanningBehaviorButtonVisible}set scanningBehaviorButtonVisible(e){var t;this._scanningBehaviorButtonVisible=e,(t=this.miniPreview)!=null&&t.toolbar&&(this.miniPreview.toolbar[P]=e)}get torchControlVisible(){return this._torchControlVisible}set torchControlVisible(e){this._torchControlVisible=e,this.miniPreview&&(this.miniPreview[L]=e&&this._isTorchAvailable)}get zoomSwitchControlVisible(){return this._zoomSwitchControlVisible}set zoomSwitchControlVisible(e){this._zoomSwitchControlVisible=e,this.miniPreview&&(this.miniPreview[z]=e&&this._isZoomAvailable)}get previewSizeControlVisible(){return this._previewSizeControlVisible}set previewSizeControlVisible(e){this._previewSizeControlVisible=e,this.miniPreview&&(this.miniPreview[B]=e)}get barcodeFindButtonVisible(){return this._barcodeFindButtonVisible}set barcodeFindButtonVisible(e){var t;this._barcodeFindButtonVisible=e,(t=this.miniPreview)!=null&&t.toolbar&&(this.miniPreview.toolbar[V]=e)}get labelCaptureButtonVisible(){return this._labelCaptureButtonVisible}set labelCaptureButtonVisible(e){var t;this._labelCaptureButtonVisible=e,(t=this.miniPreview)!=null&&t.toolbar&&(this.miniPreview.toolbar[H]=e)}get cameraSwitchButtonVisible(){return this._cameraSwitchButtonVisible}set cameraSwitchButtonVisible(e){var t;this._cameraSwitchButtonVisible=e,(t=this.miniPreview)!=null&&t.toolbar&&(this.miniPreview.toolbar[U]=e)}get previewCloseControlVisible(){return this._previewCloseControlVisible}set previewCloseControlVisible(e){this._previewCloseControlVisible=e,this.miniPreview&&(this.miniPreview[jt]=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){if(this.presenter.sparkScan!==e){let t=this.presenter.sparkScan;t&&t._setModeViewListener(null),this.presenter.sparkScan=e,e&&e._setModeViewListener(this.onSparkScanSettingsApplied),this._maybeAutoPrepareScanning()}}applySelectionModeToToolbar(e){this.miniPreview.toolbar&&(this.miniPreview.toolbar[kt]=e===`auto`)}get _targetModeEnabledMessage(){return this.settings.toastSettings.selectionModeOnMessage??this.settings.toastSettings.targetModeEnabledMessage??`Aimer on`}get _targetModeDisabledMessage(){return this.settings.toastSettings.selectionModeOffMessage??this.settings.toastSettings.targetModeDisabledMessage??`Aimer off`}get _continuousModeEnabledMessage(){return this.settings.toastSettings.continuousModeEnabledMessage??`Continuous mode on`}get _continuousModeDisabledMessage(){return this.settings.toastSettings.continuousModeDisabledMessage??`Continuous mode off`}get _scanPausedMessage(){return this.settings.toastSettings.scanPausedMessage??`Scan paused`}get _torchEnabledMessage(){return this.settings.toastSettings.torchEnabledMessage??`Torch on`}get _torchDisabledMessage(){return this.settings.toastSettings.torchDisabledMessage??`Torch off`}get _zoomedInMessage(){return this.settings.toastSettings.zoomedInMessage??`2x zoom`}get _zoomedOutMessage(){return this.settings.toastSettings.zoomedOutMessage??`1x zoom`}set sparkScanViewSettings(e){let t=e??new $t;this.settings=t,this.presenter.setSparkScanViewSettings(t)}get sparkScanViewSettings(){return this.settings}static forElement(t,n,r,i){let a=e.create();return i&&(a.sparkScanViewSettings=i),a.dataCaptureContext=n,a.sparkScan=r,t.append(a),a}static register(){(0,c.defineCustomElements)({[Mt]:e})}static create(){return e.register(),document.createElement(`spark-scan-view`)}static createStyleElement(){return c.css`:root{${gt}:#12161966;${vt}:#12161966;${bt}:#5b707f4d;${k}:#fff;${xt}:#121619cc;${A}:#fbc02c;${j}:#fff;${St}:#0ff;${Ct}:#fa4446}${Mt}{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(){let e,t;if(this._sizingMode===`unconstrained`){var n,r;e=((n=globalThis.window.visualViewport)==null?void 0:n.width)??globalThis.window.innerWidth,t=((r=globalThis.window.visualViewport)==null?void 0:r.height)??globalThis.window.innerHeight}else{var i,a;e=((i=this.parentElement)==null?void 0:i.clientWidth)||document.body.clientWidth,t=((a=this.parentElement)==null?void 0:a.clientHeight)||document.body.clientHeight}this.style.setProperty(`--dvw`,`${e}px`),this.style.setProperty(`--dvh`,`${t}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 e,t;let n=((e=this.parentElement)==null?void 0:e.clientWidth)??0,r=(((t=this.parentElement)==null?void 0:t.clientHeight)??0)<236||n<236?`unconstrained`:`constrained`;if(this._sizingMode!==r){this._sizingMode=r;let e=r===`unconstrained`;this.toggleAttribute(`unconstrained`,e),this.miniPreview.toggleAttribute(`unconstrained`,e),this.triggerButton.toggleAttribute(`unconstrained`,e),this.miniPreview.useViewportBounds=e,this.triggerButton.useViewportBounds=e,this.repositionElementsIfOutOfBounds()}}_maybeAutoPrepareScanning(){this._isConnected&&this.presenter.context&&this.presenter.sparkScan&&this.prepareScanning().catch(e=>{t.Logger.warn(`Auto prepareScanning failed:`,e)})}connectedCallback(){var t;this.append(e.createStyleElement().cloneNode(!0),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.sparkScan&&this.sparkScan._setModeViewListener(this.onSparkScanSettingsApplied),this.triggerButtonVisible=this._triggerButtonVisible;for(let[e,t]of[[this.triggerButtonCollapsedColor,gt],[this.triggerButtonExpandedColor,vt],[this.triggerButtonAnimationColor,bt],[this.triggerButtonTintColor,k],[this.toolbarBackgroundColor,xt],[this.toolbarIconActiveTintColor,A],[this.toolbarIconInactiveTintColor,j]])e&&this.style.setProperty(t,`#${e.toJSON()}`);this.setTriggerButtonPressedColor(`triggerButtonCollapsedColor`,gt,_t),this.setTriggerButtonPressedColor(`triggerButtonExpandedColor`,vt,yt),this.addMiniPreviewListeners(),this.addTriggerButtonListeners(),this.orientationObserver.register(),document.addEventListener(`pointerup`,this.clickOutsideListener),document.addEventListener(`visibilitychange`,this.visibilityChangeListener),this.orientationObserver.addEventListener(s.orientationChangeEvent,this.orientationChangeListener),this.orientationObserver.dispatchOrientationChangeEvent(this.orientationObserver.orientation),this.updateSizingMode(),this.setWidthAndHeightCssStyleProperties(),(t=window.visualViewport)==null||t.addEventListener(`resize`,this.onResizeHandler),this._isConnected=!0,this._maybeAutoPrepareScanning()}disconnectedCallback(){var e,t;this.miniPreviewTimeout.stop(),(e=this.resizeObserver)==null||e.disconnect(),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(s.orientationChangeEvent,this.orientationChangeListener),this.removeMiniPreviewListeners(),this.removeTriggerButtonListeners(),document.removeEventListener(`pointerup`,this.clickOutsideListener),document.removeEventListener(`visibilitychange`,this.visibilityChangeListener),(t=window.visualViewport)==null||t.removeEventListener(`resize`,this.onResizeHandler);for(let e of Array.from(this.children))e.remove();this._isConnected=!1}setTorchAvailable(e){this._isTorchAvailable=e,this.torchControlVisible=this._torchControlVisible}setZoomAvailable(e){this._isZoomAvailable=e,this.zoomSwitchControlVisible=this._zoomSwitchControlVisible}switchToIdleState(){this.miniPreview.darkened=!1,this.miniPreview.visible=!1,this.miniPreview.hideToast(),this.triggerButton.expanded=!1,this.triggerButton.stopPulsating()}async switchToActiveState(e,t,n,r){this.miniPreviewTimeout.stop(),this.miniPreview.hideToast(),this.miniPreview.cancelFadeOut(),this.miniPreview.darkened=!1,this.miniPreview.visible=!0,this.triggerButton.expanded=!0,this.triggerButton.startPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[N]=t),e&&(n&&this.style.setProperty(St,`#${n.toJSON()}`),await this.visualFeedback.emitSuccessFeedback()),r===!0&&this.miniPreview.showToast(`warning`,this._zoomedInMessage,1e3)}async switchToInactiveState(e,t,n,r){this.miniPreview.darkened=n===`persistent`||e,this.miniPreview.visible=n===`persistent`||e,this.triggerButton.expanded=!0,this.triggerButton.stopPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[N]=t),e&&(r&&this.style.setProperty(St,`#${r.toJSON()}`),await this.visualFeedback.emitSuccessFeedback(),n==="default"&&this.miniPreviewTimeout.start()),n===`persistent`&&this.miniPreview.showToast(`warning`,this._scanPausedMessage,1/0)}async switchToErrorState(e,t){e.resumeCapturingDelay>0&&(this.triggerButton.stopPulsating(),this.miniPreview.showToast(`error`,e.message,e.resumeCapturingDelay)),t&&(this.style.setProperty(Ct,`#${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 E&&await this.presenter.onMiniPreviewDrag(e.point,this.orientationObserver.orientation.type)}async onMiniPreviewDragEnd(e){e instanceof E&&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=!0,await this.presenter.onTriggerButtonLongPressStart())}async onTriggerButtonLongPressEnd(){this.holdingToScan&&(this.holdingToScan=!1,await this.presenter.onTriggerButtonLongPressEnd())}onTriggerButtonDrag(e){e instanceof E&&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=!1,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 n,r,i,a;switch(e.detail.type){case`landscape-primary`:case`landscape-secondary`:n=this.presenter.landscapeOrientationTriggerButtonTranslateX,r=this.presenter.landscapeOrientationTriggerButtonTranslateY,i=this.presenter.landscapeOrientationMiniPreviewTranslateX,a=this.presenter.landscapeOrientationMiniPreviewTranslateY;break;case`portrait-primary`:case`portrait-secondary`:n=this.presenter.portraitOrientationTriggerButtonTranslateX,r=this.presenter.portraitOrientationTriggerButtonTranslateY,i=this.presenter.portraitOrientationMiniPreviewTranslateX,a=this.presenter.portraitOrientationMiniPreviewTranslateY;break}this.triggerButton.translateTo(new t.Point(n,r)),this.miniPreview.translateTo(new t.Point(i,a)),await this.presenter.onOrientationChange()}targetModeButtonTapped(e,t=!0){if(t){let t=e?`warning`:`info`,n=e?this._targetModeEnabledMessage:this._targetModeDisabledMessage;this.miniPreview.showToast(t,n,1e3)}this.miniPreview.toolbar&&(this.miniPreview.toolbar[I]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start()}scanningBehaviorButtonTapped(e,t=!0){if(t){let t=e?`warning`:`info`,n=e?this._continuousModeEnabledMessage:this._continuousModeDisabledMessage;this.miniPreview.showToast(t,n,1e3)}this.miniPreview.toolbar&&(this.miniPreview.toolbar[N]=e?`continuous`:`single`),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start()}torchButtonTapped(e,t=!0){if(t){let t=e?`warning`:`info`,n=e?this._torchEnabledMessage:this._torchDisabledMessage;this.miniPreview.showToast(t,n,1e3)}this.miniPreview.toolbar&&(this.miniPreview[R]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start()}cameraSwitchButtonTapped(e,n){var r;this.torchControlVisible=e,(r=this.miniPreview.toolbar)==null||r.enableCameraSwitchButton(n===t.CameraPosition.UserFacing)}getDefaultCssVariableValue(e){return window.getComputedStyle(this).getPropertyValue(e)}setTriggerButtonPressedColor(e,n,r){let i=this[e]??t.Color.fromHex(this.getDefaultCssVariableValue(n)),a=(0,c.clamp)(i.alpha+i.alpha*.25,i.alpha,255),o=i.withAlpha(a);this.style.setProperty(r,`#${o.toJSON()}`)}addMiniPreviewListeners(){for(let[e,t]of this.miniPreviewListeners)this.miniPreview.addEventListener(e,t)}removeMiniPreviewListeners(){for(let[e,t]of this.miniPreviewListeners)this.miniPreview.removeEventListener(e,t)}addTriggerButtonListeners(){for(let[e,t]of this.triggerButtonListeners)this.triggerButton.addEventListener(e,t)}removeTriggerButtonListeners(){for(let[e,t]of this.triggerButtonListeners)this.triggerButton.removeEventListener(e,t)}repositionElementsIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds(),this.miniPreview.repositionIfOutOfBounds()}repositionMiniPreviewIfOutOfBounds(){this.miniPreview.repositionIfOutOfBounds()}repositionTriggerButtonIfOutOfBounds(){this.triggerButton.repositionIfOutOfBounds()}},rn=class e{constructor(e,t,n,r){this.inListItemColor=e,this.notInListItemColor=t,this.hapticEnabled=r,this.soundEnabled=n}static fromJSON(n){return new e(t.Color.fromJSON(n.inListItemColor),t.Color.fromJSON(n.notInListItemColor),n.soundEnabled,n.hapticEnabled)}toJSONObject(){return{inListItemColor:this.inListItemColor.toJSON(),notInListItemColor:this.notInListItemColor.toJSON(),soundEnabled:this.soundEnabled,hapticEnabled:this.hapticEnabled}}};let an={CameraSettings:{settings:t.CameraSettings.fromJSON({zoomFactor:1,zoomGestureZoomFactor:1,focusGestureStrategy:t.FocusGestureStrategy.ManualUntilCapture,preferredResolution:t.VideoResolution.FullHD,exposureTargetBias:-1,grayScaleFrameReader:!0})},BarcodeFindViewSettings:{settings:rn.fromJSON({inListItemColor:(0,d.scanditBlue)().toJSON(),notInListItemColor:`#FFFFFFFF`,hapticEnabled:!0,soundEnabled:!0})}};var on=class e{constructor(e,n){this.soundEnabled=e,this.hapticEnabled=n,this._itemListUpdated=new t.Feedback(n?t.Vibration.withPattern([300]):null,null),this._found=new t.Feedback(n?t.Vibration.withPattern([300]):null,e?new t.Sound(`data:audio/mpeg;base64,SUQzBAAAAAACJVRFTkMAAAALAAADUHJvIFRvb2xzAFRYWFgAAAAjAAADb3JpZ2luYXRvcl9yZWZlcmVuY2UAYWE0RVFCdXNHQ09rAFRJVDIAAAArAAADMTJfU2NhbmRpdF9NYXRyaXhTY2FuLUZhc3RGaW5kLUl0ZW1zRm91bmQAVFhYWAAAAEkAAAN1bWlkADB4MDYwQTJCMzQwMTAxMDEwNTAxMDEwRjEwMTMwMDAwMDA4NzIwNDk0NkVBN0I4MDAwN0Q5REM1REQ3QTc3OTgxNABUWFhYAAAAGAAAA3RpbWVfcmVmZXJlbmNlADYzNDAxMjcAVERSQwAAAAwAAAMyMDIzLTAzLTI0AFRTU0UAAAAPAAADTGF2ZjU5LjE3LjEwMQAAAAAAAAAAAAAA//tUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAzAAAT4AAOExMYGBwcISEmJisrMDA1NTk5Pj5DQ0hITU1SUlZWW1tgYGVlampvb3NzeHh9fYKCh4yMkJCVlZqan5+kpKmpra2ysre3vLzBwcbGysrPz9TU2dne3uPj5+fs7PHx9vb7+/8AAAAATGF2YzU5LjIwAAAAAAAAAAAAAAAAJALrAAAAAAAAE+Ax9hVQ//sUZAAAAGEANYUIYAIAAA0goAABA+xTQBmzgAAAADSDAAAA///AA6Hnh+DIfmeAf8dW1OAk170HBBiYCdi5mTDH+50siVNk3C4z//aUfoX/y3AKE0KdH9qbPrDsVxDG//sUZAgP8IQG1AdgQAgAAA0g4AABAjQtTADo4sAAADSAAAAEvnMsBKkkabuTPymcNQt8qGP0qus4yAMEHOTz9fVT0XFvkAHfyf6OigckkWbBo9EOOUZ/5gb/iSrXOJjO//sUZBSP8JwLUAA7ULAAAA0gAAABAhgtRALtZAAAADSAAAAEbqoroKMsdSUK2JgMQa5FGSCmB/0SxhxKZr5ESZ2U21HhosRFCasmcTX4LNNKURt98nYKwqsm34wWvlRi//sUZCAP8MMLU4A5GNAAAA0gAAABAoAhVgALAEAAADSAAAAECEbN62QGJk2M1KfiNfhg1UOQoO5q6ScZ6AP7/gpW1a6gt37pK4W2b1f6BirIYKVkmb32U3iPd/nxH9ah//sUZCeP8HcO2AAPEMgAAA0gAAABAhQjWAAHAiAAADSAAAAEsTafdrnIbJ9C7f/BqvhJqtqHw1AITAvxv3Yky1lWjo5Q4rWLCWTJ3ZIMIwAA0DLkgutFUoEvIJyrJBqm//sUZDWP8H4O1QA4ETgAAA0gAAABAcw7WABgpOAAADSAAAAErOEaHmPfIdQKRimOt2gwhkM/TBJ0paEm+oQnIThnfk2kJWkS2BETfTdSMBx3i07kCx1MO/zrMCkljbPJ//sUZEQP8G0I1oAIwJgAAA0gAAABAdQ7WgBgoyAAADSAAAAEKuoFDrsIFVdVxyAmGyHvuYVFl70Zd2z26S2THptGqiK2nHOBys9Uo6Yb/PJo7wKQxbWao8YvGQLx9ujV//sUZFOP8HAI1gAPkKgAAA0gAAABAcAfWAA/AuAAADSAAAAEAKhHrNLOp4VVuEsw3QBmX/oK6mRGsoO1gRE5e0SFVwCmv/wezlZJG31IYBcVkF9aJW0CiXQd8aM3KSXc//sUZGOD8GQH2UAIaKoAAA0gAAABAawfVgA+IqAAADSAAAAEoEaSYompB1HQMVAis1H+oqoBAASGe4PUrKFhprpJVuXo/43JaIoolkesWdRKE5O0UKih1akvlAkq/MRw//sUZHSP8F0H1oALaKgAAA0gAAABAaQfVgAJ4iAAADSAAAAEj6jcF6xq9g7imT1xekHZdLoGC6oYwkfqoKTrkk7ToeMQhibxW33EgakXA022UAAAAdrJupggyIIpD0q///sUZIYP8HEH1QAPwLgAAA0gAAABAcAjVgAHAiAAADSAAAAE46OiCFaJFC8ZktzGMRHTAevHrGBJfrFV2wHZQLCXUGVWrUVTnF98HznZJfwRYIBq0BuVSJxXvMo2Yp6g//sUZJWP8HYIVIAJwJgAAA0gAAABAdghUgAbAiAAADSAAAAEq2H9N/IMztX8HX30KgEgg3F+AAbiEAQjBJKLXcCwViUN0Fcax2KbjQNYiV9IDIYlktAGUI3A4MpxaJA8//sUZKSD8HgIVIABwIgAAA0gAAABAaAjdIAI4vAAADSAAAAEk56qhPUaGMF8tVUNkMKt2QAAAbLLEx0ycaicepQeIauCHGGf+grhxBEM98j/85QzY5GCoDEGOSpyZyXi//sUZLSP8JkO0oAYKMgAAA0gAAABAjQ7TgBgoyAAADSAAAAEIkOKG34lssaIVskKA67Nz7dAu+JqF/gpa+2DZSrkh6qaboovo3X9YmJtMprAYEEkkgAxlCEcBItLrD7a//sUZMAP8KIO0oAZKMgAAA0gAAABApg7SABkowAAADSAAAAEs6pM1/4RTEnlVPlNtQEAQnF4AAVJycIcCFyOS+fFvvf3Roq+GbShe9lIEUQtkkADRIZDBOVV2yyPgpOi//sUZMmD8I8O1iAPEMgAAA0gAAABAqw7QgBo4yAAADSAAAAEexDg74QRHcY97ZP/1uSXxFEoogYJ3kdmkBA4AwFmknlBy4Xf+yLAbfZ67EgEKotssAFWyV4ug0B4qLRO//sUZNOP8K8O0YAZENgAAA0gAAABAsQ9SADgpQAAADSAAAAEOThekr/Pfn90IRARZTlV3uRxOVOFR0EmY1LoBKqoBp2lUuBti3ZhOAZ6gEQxHD4HdN3bSkYFLqP54o01//sUZNuD8KYO3GgGEEwAAA0gAAABArQ7QgPkRSAAADSAAAAEt1bo1DACjJwWdhP0qgM1jv9sAAAA4Mg+HJgSQT50eBNi0bCyP5VSDxOVC9jaQKhTbZYALJi6UKlEOjWR//sUZOQB8KsO0AC6KUAAAA0gAAABA1g7RyBko2AAADSAAAAENLAMTit3N9A2IIu0VdcXCQ7lElKo9ipWm9D4IRjfxPCYtGnDKZ9PGSruuRltlgGFg7wIyZwbKm0OQ2Fj//sUZOmB8P0PVOAYKNwAAA0gAAABAzg9YaAso3AAADSAAAAER2grXJNYuY9+pDJC0tiqP2XZD3gYNMzamJVAZIuM+NAwPblY6I86c2o24CA02SyACM9ugXw3QqHLwhrB//sUZOqB8QkQVmgvQMwAAA0gAAABA7g7NgzsqIgAADSAAAAEuueZXfe5xQGopfdRz3YgZaAHiosnfaK6qwEKkzOkAPGDbbq8IeqIgbH32AQDDXfAAXbEgHYxBMnRH6RI//sUZOkB8PIPTYA5SNAAAA0gAAABA4RFV6ABIDAAADSAAAAEYhrjdWQn5hUJncaVxuEQMSsFxhfgJLq+tQ+igcwCyCBZcE6iW0gWo4SFAKdp8ABs5Ix6KhDgaEJihicK//sUZOmB8OUR0+AMOOwAAA0gAAABA6xDWaAwo7AAADSAAAAEMneMTRqt6BCRZdcAIAe5RMDYGFKAllzWs33v0ohRHlCg1ClHwZ95XXacrUA0GG3LRDZfaPhyv28VpT1s//sUZOqB8QcPzIMbSigAAA0gAAABA9Q7WaA9gvAAADSAAAAEiKvwYGyhEMNNsQMAAMvTwq1BIK6pFDQKGOIde3NW77CcNAoJVv8bJ/2YNp9guVIhiuTVnKN+YeEUU3wB//sUZOiB8NoPTgA6ONAAAA0gAAABA7xDTYBgo3AAADSAAAAE4YtkrKZ6mgQNoZLEckFAAAEurEk0DkdLLrto1T6clhskvdxGBB2t/SAAbIEA3JFDRoDpkUo1elaMgb1W//sUZOmB8QIO2egASAwAAA0gAAABA1w/XaAwo3AAADSAAAAEyrAlWhnX5QJ3/0IAAAgoADWzMF/yOF7AWBrkEkGxkik5M9VqTx1QrAO/rv/eAwaLNxQBjcE1GND11XTE//sUZOmP8OwOzAA6WNgAAA0gAAABA8w7LgDpA0AAADSAAAAENcElJrl67CEh+mrLHXGX+L4q5C6zvU8QEOZ8lAuIAuRhx6fpqIwGXUhAlOGd2hOGrFQ2T7HuLQy0yqm3//sUZOmB8OwPS4A6YMgAAA0gAAABA6w7U6A9YzAAADSAAAAEpj4K3+O/1uXVAAANACgADVNDzNZG0KJczUNI5Bge/3OA4HZr//13rwcphdxMQTjuN7YccQDhwwOyyfll//sUZOoB8PcOywAaSFAAAA0gAAABA4w7RaA842gAADSAAAAEJns2+4azX1fZ9jXDrvAw0SsF4yhDKKsRJLhqiLBXOGvqq/q9UTRGa92mrsgIMDDAWylXRtZL2+zUZQvx//sUZOoB8OkOSoBaKNIAAA0gAAABA7w9Q6C846gAADSAAAAE8Mf+iSIrHfT/+hXRRmCWDUFGwAIIMnnlVWH+655bRr1Ez4/bOAjWjt1Y8F0xVdE0RJsxytyKd6hCXOWU//sUZOqD8QMPSqk6STgAAA0gAAABArA9SIA8Q3AAADSAAAAEBtxHR1DvFxZUJr0qmR7ZSI4FBUHDzideFRAUycFLhytc3Ue9YiLbtKsAACCpLlRJxNlzhNntrFVQvyLa//sUZO2D8SMO0GgvONwAAA0gAAABA3A9KgDpQ2AAADSAAAAEwwO6n+v/9qm/clzvhUgDJda5ypm51I+oXGDLwl54bhJCx/ZnDZZn0L+uAABiJlcEZ0TSTENGorNXp4p///sUZOuB8PsPUmgvUNwAAA0gAAABA8g9M0BhA2AAADSAAAAEPz4+/ev5D+zAAAHZADlmIZw1JJowq/5NDpoPCheHcr/iFVPber6HaoIAAAAECTaTelHIeIBFP7BroYxl//sUZOqB8Q8Oykg5WMgAAA0gAAABAyw7Q6A84yAAADSAAAAEe4hVrfTr3sTrgAAAGgAn1m5CIDBCrjiE353aFB49oEgZrK9NAr+j0WfVIwSlsgoNUFS9D4U/ST5Zwncv//sUZOqB8O0OyIA5WMAAAA0gAAABA3A7OyA9o3AAADSAAAAElRyxVRGVcJAfT7/9qaAAAAAFAALugRGdK1rYL5OVpsqKCKsLto30B/9iczo5q4iCPUJ3nnDLp6DSGRBe//sUZOuJ8PEOy9AZOMgAAA0gAAABA/Q7IiDto6AAADSAAAAEOVbxmz9hCGnV3/6V3utBSphsBEQcmiE9KxUwfbf6W6zDbbC8Cy59FV/xTq6p0tobgVrNZ9xJfLHDE9nh//sUZOqB8PwOx4A6YMAAAA0gAAABA3g7OaC9pOAAADSAAAAEnMjrv8wBG/V5rXoV05RGBAcNspamqc60vjgyKPTQCilruetgwFm7f0o42+qAADP1ufYgxheroNHz7LNQ//sUZOqP8PMPR4A6SUAAAA0gAAABA9Q9HADpYwAAADSAAAAECCfovHt0Uo77fSoIPihkHYPHGlJUFHNMZUQDFdHtXZRYl9Ps/3yAAIPUpuKAfiTJhG13ddot6pi7Vuoq//sUZOoF8OYKxwA5wKAAAA0gAAABA2AlJYDlIyAAADSAAAAEemJXuck7Tpm6tAAAYDMgBfkBEiMa6XfEkNy408nubvRq6VPcTaTUgABV3cZQLHdKSV+1FZ1gFBVnboYE//sUZOwF8Q4OxYAbOGAAAA0gAAABA0gjI4CbAiAAADSAAAAEM+SVI95jZ2sqhgAAAVNLG2AACE8kx0Kb6Iwci7YtC2qvcv/HJVIAEAFyQj+s2k9D3mbdCbrJNRuuPetj//sUZOwB8QAOx8h5EUgAAA0gAAABA6AhK+C8BOAAADSAAAAEaO8eTTKXreiMAACQe+AFrIDOwd1IsBl1JzSlXf1+N3gVYugAEQSMsk8XYkHPrkrG6glY475WUGMl4065//sUZOuF8QcOxsg6KMAAAA0gAAABA+Q9FADoo0AAADSAAAAEtrO8Wyrf7dMrJcqQgMJBkIAEoJWOw+IxcF7aoW7sVbsynpIK5hVgIAAEv4yL7DZjLjUGY+8i9qfoSiTE//sUZOmN8PMOx2BYKTgAAA0gAAABA4Q9FADk40AAADSAAAAEPbmVu0v1cYbQEyWIAAAFJCABGWQjQVwUFJKVI6sWd9Z35ORrAVYBhTJo1YKCDA0dLAYQ/rFBb/1iospM//sUZOoP8PQPRQAZUGAAAA0gAAABA5g9EgDlQ0AAADSAAAAEQU1FMy45OS41qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOoB8QAPRAA5QMAAAA0gAAABA0w9HSC8QwAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOqB8NUOxQh4KTAAAA0gAAABA9whGSCZ4gAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOuB8O8IR+BvURgAAA0gAAABA6w7EKDgQwAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOuB8OMHyfgmWRgAAA0gAAABA9Q7FQFgROAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOwB8NMHyGAmWRgAAA0gAAABBIQ7DKDgZMgAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOqB8NIIRuApWQgAAA0gAAABBCyDE4M0SggAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZOqB8MgIRGAhMEAAAA0gAAABAswiwyCMYoAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq`):null),this._found.emit=(0,c.throttle)(this._found.emit.bind(this._found),500),this._itemListUpdated.emit=(0,c.throttle)(this._itemListUpdated.emit.bind(this._itemListUpdated),500)}get itemListUpdated(){return this._itemListUpdated}set itemListUpdated(e){this._itemListUpdated=new t.Feedback(this.hapticEnabled?e.vibration:null,this.soundEnabled?e.sound:null),this._itemListUpdated.emit=(0,c.throttle)(this._itemListUpdated.emit.bind(this._itemListUpdated),500)}get found(){return this._found}set found(e){this._found=new t.Feedback(this.hapticEnabled?e.vibration:null,this.soundEnabled?e.sound:null),this._found.emit=(0,c.throttle)(this._found.emit.bind(this._found),500)}static createDefaultFeedback(){return new e(an.BarcodeFindViewSettings.settings.soundEnabled,an.BarcodeFindViewSettings.settings.hapticEnabled)}static createWithOptions(t,n){return new e(t,n)}};let sn=0;var cn=class{constructor(e,t){this._content=null,this.uid=``,this._searchOptions=e,this._content=t,this.uid=`BarcodeFindItem-${sn++}`}get searchOptions(){return this._searchOptions}get content(){return this._content}toJSONObject(){let e={searchOptions:{barcodeData:this.searchOptions.barcodeData},content:null};return this.content!=null&&(e.content={info:this.content.info,additionalInfo:this.content.additionalInfo,image:this.content.image}),e}},ln=class e{constructor(e){this._brush=null,this._barcodeData=e}static withBrush(t,n){let r=new e(t);return r._brush=n,r}get barcodeData(){return this._barcodeData}get brush(){return this._brush}},un=class{constructor(e,t,n){this._info=null,this._additionalInfo=null,this._image=null,this._info=e??null,this._additionalInfo=t??null,this._image=n??null}get image(){return this._image}get additionalInfo(){return this._additionalInfo}get info(){return this._info}},dn=class e{constructor(){this._foundTrackedBarcodesInLastProcessedFrame={}}get foundTrackedBarcodesInLastProcessedFrame(){return this._foundTrackedBarcodesInLastProcessedFrame}get addedTrackedBarcodes(){return this._addedTrackedBarcodes}get allFoundItems(){return this._allFoundItems}get removedTrackedBarcodes(){return this._removedTrackedBarcodes}get updatedTrackedBarcodes(){return this._updatedTrackedBarcodes}get trackedBarcodes(){return this._trackedBarcodes}get frameSequenceID(){return this._frameSequenceID}static fromJSON(t){let n=new e;n._allFoundItems=t.allFoundItems,n._foundTrackedBarcodesInLastProcessedFrame=Object.entries(t.foundTrackedBarcodesInLastProcessedFrame).reduce((e,[t,n])=>(e[t]=y.fromJSON(n),e),{}),n._frameSequenceID=t.frameSequenceId,n._addedTrackedBarcodes=t.addedTrackedBarcodes.map(e=>y.fromJSON(e));for(let e of n._addedTrackedBarcodes)e.sessionFrameSequenceID=`${t.frameSequenceId}`;n._removedTrackedBarcodes=t.removedTrackedBarcodes,n._updatedTrackedBarcodes=t.updatedTrackedBarcodes.map(e=>y.fromJSON(e));for(let e of n._updatedTrackedBarcodes)e.sessionFrameSequenceID=`${t.frameSequenceId}`;return n._trackedBarcodes=Object.keys(t.trackedBarcodes).reduce((e,n)=>{let r=y.fromJSON(t.trackedBarcodes[n]);return r.sessionFrameSequenceID=`${t.frameSequenceId}`,e[n]=r,e},{}),n._frameSequenceID=t.frameSequenceId,n}},fn=class e{constructor(){this.feedback=on.createDefaultFeedback(),this.skipSerialization=!0,this.type=`barcodeFind`,this._isEnabled=!0,this._context=null,this.listeners=new Set,this.privateListeners=new Set,this.workerMessageListener=this.onWorkerMessage.bind(this),this._transformer=null}static get recommendedCameraSettings(){return new t.CameraSettings(an.CameraSettings.settings)}get context(){return this._context}get allListeners(){return[...this.privateListeners,...this.listeners]}static async forSettings(t){(0,r.warnMultithreadingUnavailable)();let n=new e;return n.settings=t,n}isEnabled(){return this._isEnabled}async setEnabled(e){var t;this._isEnabled=e,await this.workerCommand(`barcodeFindSetEnabled`,{enabled:e}),await((t=this.context)==null?void 0:t.update([{type:`modeEnabled`,newValue:e}],{updateContext:!1}))}async applySettings(e){this.settings=e,await this.workerCommand(`barcodeFindApplySettings`,{settings:e.toJSONObject()})}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}async setItemList(e){for(let n of this.privateListeners){var t;(t=n.onSetItemList)==null||t.call(n,e)}return this.workerCommand(`barcodeFindSetItemList`,{itemList:e.map(e=>e.toJSONObject())})}async setBarcodeTransformer(e){var t;return this._transformer=e,this.workerCommand(`barcodeFindSetTransformerFunction`,{functionAsString:(t=this._transformer)==null?void 0:t.transformBarcodeData.toString()})}async start(){return this.workerCommand(`barcodeFindSearchStart`,{})}async stop(){return this.workerCommand(`barcodeFindSearchStop`,{})}async pause(){return this.workerCommand(`barcodeFindSearchPause`,{})}toJSONObject(){return{type:this.type,enabled:this.isEnabled(),settings:this.settings.toJSONObject()}}async workerCommand(e,t){this.context!=null&&await this.context.workerCommand(e,t)}async attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener),await this.workerCommand(`barcodeFindForSettings`,{settings:this.settings.toJSONObject()})}async detachedFromContext(){var e;await this.workerCommand(`barcodeFindModeRemove`,{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null}async onWorkerMessage(e){switch(e.type){case`barcodeFindDidUpdateSession`:if(this._context==null)return;for(let r of this.allListeners){var n;(n=r.onDidUpdateSession)==null||n.call(r,this,dn.fromJSON(e.payload.session),(0,t.convertToPublicFrameData)(e.payload.frameData,this._context))}break;case`barcodeFindSearchPaused`:for(let t of this.allListeners){let n=e.payload.foundItems.map(e=>new cn(new ln(e),null));t.didPauseSearch(n)}break;case`barcodeFindSearchStarted`:for(let e of this.allListeners)e.didStartSearch();break;case`barcodeFindSearchStopped`:for(let t of this.allListeners){let n=e.payload.foundItems.map(e=>new cn(new ln(e),null));t.didStopSearch(n)}break;case`barcodeFindListUpdatedFeedback`:for(let e of this.allListeners){var r;(r=e.onFindListUpdatedFeedback)==null||r.call(e)}break;case`barcodeFindFeedback`:for(let e of this.allListeners){var i;(i=e.onFeedback)==null||i.call(e)}break;default:}}addPrivateListener(e){this.privateListeners.add(e)}removePrivateListener(e){this.privateListeners.delete(e)}},pn=class{constructor(){this.properties={},this.symbologies={}}get enabledSymbologies(){return Object.keys(this.symbologies).filter(e=>this.symbologies[e].isEnabled)}settingsForSymbology(e){if(!this.symbologies[e]){let t=S.SymbologySettings[e];t._symbology=e,this.symbologies[e]=t}return this.symbologies[e]}setProperty(e,t){this.properties[e]=t}getProperty(e){return this.properties[e]}enableSymbologies(e){for(let t of e)this.enableSymbology(t,!0)}enableSymbology(e,t){this.settingsForSymbology(e).isEnabled=t}toJSONObject(){return{properties:this.properties,symbologies:Object.keys(this.symbologies).reduce((e,t)=>(e[t]=this.symbologies[t].toJSONObject(),e),{})}}},mn=class e{constructor(){this.type=`barcodeFindBasicOverlay`,this.shouldShowScanAreaGuides=!1,this.userGuidanceEnabled=!0,this.textForAllItemsFoundSuccessfullyHint=null,this.textForPointAtBarcodesToSearchHint=null,this.textForMoveCloserToBarcodesHint=null,this.textForTapShutterToPauseScreenHint=null,this.textForTapShutterToResumeScreenHint=null,this.textForItemListUpdatedHint=null,this.textForItemListUpdatedWhenPausedHint=null,this.shouldShowHint=!0}static async withBarcodeFind(t,n){let r=new e;return r.barcodeFind=t,r.view=n,await t.workerCommand(`barcodeFindAddBasicOverlay`,{}),await r.notify(),r}async setShouldShowScanAreaGuides(e){return this.shouldShowScanAreaGuides=e,this.notify()}getShouldShowScanAreaGuides(){return this.shouldShowScanAreaGuides}async setUserGuidanceEnabled(e){return this.userGuidanceEnabled=e,this.notify()}async setTextForAllItemsFoundSuccessfullyHint(e){return this.textForAllItemsFoundSuccessfullyHint=e,this.notify()}async setTextForPointAtBarcodesToSearchHint(e){return this.textForPointAtBarcodesToSearchHint=e,this.notify()}async setTextForMoveCloserToBarcodesHint(e){return this.textForMoveCloserToBarcodesHint=e,this.notify()}async setTextForTapShutterToPauseScreenHint(e){return this.textForTapShutterToPauseScreenHint=e,this.notify()}async setTextForTapShutterToResumeScreenHint(e){return this.textForTapShutterToResumeScreenHint=e,this.notify()}async setTextForItemListUpdatedHint(e){return this.textForItemListUpdatedHint=e,this.notify()}async setTextForItemListUpdatedWhenPausedHint(e){return this.textForItemListUpdatedWhenPausedHint=e,this.notify()}async setShouldShowHint(e){return this.shouldShowHint=e,this.notify()}toJSONObject(){return{type:this.type,shouldShowScanAreaGuides:this.shouldShowScanAreaGuides,shouldShowHint:this.shouldShowHint,userGuidanceEnabled:this.userGuidanceEnabled,textForAllItemsFoundSuccessfullyHint:this.textForAllItemsFoundSuccessfullyHint,textForPointAtBarcodesToSearchHint:this.textForPointAtBarcodesToSearchHint,textForMoveCloserToBarcodesHint:this.textForMoveCloserToBarcodesHint,textForTapShutterToPauseScreenHint:this.textForTapShutterToPauseScreenHint,textForTapShutterToResumeScreenHint:this.textForTapShutterToResumeScreenHint,textForItemListUpdatedHint:this.textForItemListUpdatedHint,textForItemListUpdatedWhenPausedHint:this.textForItemListUpdatedWhenPausedHint}}async notify(){return this.barcodeFind.workerCommand(`barcodeFindUpdateBasicOverlay`,{jsonOverlay:this.toJSONObject()})}},hn=class{constructor(e,n,r,i,a){this.viewState=`paused`,this.barcodeFindViewUiListener=null,this.torchState=t.TorchState.Off,this.sessionState=null,this.barcodeFindView=e,this.barcodeFind=r,this.context=n,this.viewSettings=i,this.cameraSettings=a,r.feedback=on.createWithOptions(this.viewSettings.soundEnabled,this.viewSettings.hapticEnabled)}async prepare(){await this.barcodeFind.setEnabled(!1),this.barcodeFind.addPrivateListener(this);let e=await t.Camera.getAll(!1,(0,t.isCameraFrameSource)(this.context.frameSource)),n=(0,t.isCameraFrameSource)(this.context.frameSource)?this.context.frameSource:e[0]??t.Camera.pickBestGuess();await this.context.setFrameSource(n),await this.context.frameSource.applySettings(this.cameraSettings),this.isTorchAvailable=await n.isTorchAvailable(),this.barcodeFindView.setTorchAvailable(this.isTorchAvailable)}async dispose(){await this.context.removeMode(this.barcodeFind),this.barcodeFind.removePrivateListener(this)}async didPauseSearch(e){this.barcodeFindView.switchToPaused(Object.values(this.customerItemsListState),e)}async didStartSearch(){this.barcodeFindView.switchToStarted()}async didStopSearch(e){var t;(t=this.barcodeFindViewUiListener)==null||t.didTapFinishButton(e)}async onSetItemList(e){this.customerItemsListState=e.reduce((e,t)=>(e[t.searchOptions.barcodeData]=t,e),{}),this.barcodeFind.feedback.itemListUpdated.emit(),this.barcodeFindView.updateProgressBar(0,Object.values(this.customerItemsListState).length)}onDidUpdateSession(e,t,n){this.sessionState=t,this.barcodeFindView.updateProgressBar(this.sessionState.allFoundItems.length),this.barcodeFindView.renderDots(this.sessionState,this.customerItemsListState)}async onShutterButtonClicked(){this.viewState===`paused`||this.viewState===`stopped`?await this.startSearching():await this.pauseSearching()}async onTorchButtonClicked(){this.isTorchAvailable&&(await this.context.frameSource.setDesiredTorchState(this.torchState===t.TorchState.Off?t.TorchState.On:t.TorchState.Off),this.torchState=this.torchState===t.TorchState.Off?t.TorchState.On:t.TorchState.Off,this.barcodeFindView.toggleTorchIcon(this.torchState))}onDotClick(e){var t;let n=(t=this.sessionState)==null?void 0:t.trackedBarcodes[e];if(n!=null){let e=this.customerItemsListState[n.barcode.data??``];this.barcodeFindView.moveCardOnTheFront(e)}}onFinishButtonClicked(){this.stopSearching()}onFindListUpdatedFeedback(){this.barcodeFind.feedback.itemListUpdated.emit()}onFeedback(){this.barcodeFind.feedback.found.emit(),this.barcodeFindView.setShutterButtonPulse(!0)}async pauseSearching(){var e;this.viewState=`paused`,await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Standby)),await this.barcodeFind.setEnabled(!1),await this.barcodeFind.pause(),this.barcodeFindView.setShutterButtonPulse(!1)}async startSearching(){var e;this.viewState=`started`,await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.On)),await this.barcodeFind.setEnabled(!0),await this.barcodeFind.start()}async stopSearching(){var e;this.viewState=`stopped`,await this.barcodeFind.setEnabled(!1),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Off)),await this.barcodeFind.stop(),this.barcodeFindView.setShutterButtonPulse(!1),this.sessionState=null}},gn=class e extends c.ScanditHTMLElement{constructor(){var t;super();let n=this.attachShadow({mode:`open`});n.innerHTML=c.html`<div class="dot"><div class="inner-dot"></div></div>`,n.append(e.createStyleElement().cloneNode(!0)),this.dot=(t=this.shadowRoot)==null?void 0:t.querySelector(`.dot`)}set size(e){this.render({propChanged:`size`,value:String(e)})}get size(){return Number(this.getAttribute(`size`))}get variant(){return this.getAttribute(`variant`)}set variant(e){this.render({propChanged:`variant`,value:e})}get pulse(){return!!this.getAttribute(`pulse`)}set pulse(e){this.render({propChanged:`pulse`,value:e.toString()})}static create(){return e.createWithColors(d.primaryTeal100,t.Color.fromHex(`#ffff`))}static createWithColors(t,n){e.register();let r=document.createElement(e.tag);return r.setPrimaryColor(t),r.setSecondaryColor(n),r}static createWithBrush(t,n){e.register();let r=document.createElement(e.tag);return r.setPrimaryColor(t.fillColor),r.setSecondaryColor(n),r.setStrokeColor(t.strokeColor),r.setStrokeWidth(t.strokeWidth),r}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{display:block;--size:14px}.dot{--primary:#${d.primaryTeal100.toJSON()};--secondary:#${d.primaryTeal100.toJSON()};--primary-no-opacity:#${d.primaryTeal100.withAlpha(0).toJSON()};background-color:#fff;border-radius:50%;box-shadow:0 1px 2px 0 #${d.gray900.withAlpha(.3).toJSON()};height:var(--size);position:relative;width:var(--size)}.dot.pulse{animation:pulse 2s infinite}.dot.target{height:calc(var(--size) + var(--size)*1/1.285);width:calc(var(--size) + var(--size)*1/1.285)}.dot.target .inner-dot{background-color:var(--primary);height:calc(var(--size) + var(--size)*1/3);width:calc(var(--size) + var(--size)*1/3)}.inner-dot{background-color:var(--secondary);border-radius:50%;height:var(--size);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--size)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--primary)}70%{box-shadow:0 0 0 var(--size) var(--primary-no-opacity)}to{box-shadow:0 0 0 0 var(--primary-no-opacity)}}`}connectedCallback(){}setPrimaryColor(e){this.dot.style.setProperty(`--primary`,`#${e.toJSON()}`),this.dot.style.setProperty(`--primary-no-opacity`,`#${e.withAlpha(0).toJSON()}`)}setSecondaryColor(e){this.dot.style.setProperty(`--secondary`,`#${e.toJSON()}`)}setStrokeColor(e){this.dot.style.setProperty(`border-color`,`#${e.toJSON()}`),this.dot.style.setProperty(`border-style`,`solid`)}setStrokeWidth(e){this.dot.style.setProperty(`border-width`,`${e}px`)}render({propChanged:e,value:t}){switch(e){case`size`:this.dot.style.setProperty(`--size`,`${t}px`);break;case`variant`:this.dot.classList.toggle(`target`,t===`target`);break;case`pulse`:this.dot.classList.toggle(`pulse`,t===`true`||this.hasAttribute(`pulse`));break}}attributeChangedCallback(e,t,n){this.render({propChanged:e,value:n})}};gn.tag=`scandit-find-dot`,gn.observedAttributes=[`size`,`variant`,`pulse`];var _n=class e extends ne.SvgIcon{static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}render(){return c.html`<style>${e.tag}{display:flex}${e.tag}[hidden]{display:none}</style><svg width="${this.size}" height="${this.heightForViewbox(40,40)}" viewBox="0 0 40 40" fill="none"><circle cx="20" cy="20" r="20" fill="#F8FAFC"/><path d="M28.2782 19.1805C28.6687 19.571 28.6687 20.2042 28.2782 20.5947L25.3487 23.5241C25.014 23.8589 24.4713 23.8589 24.1365 23.5241C23.8018 23.1894 23.8018 22.6467 24.1365 22.312L25.4485 21L17.5 21C16.9477 21 16.5 20.5523 16.5 20C16.5 19.4477 16.9477 19 17.5 19L25.6733 19L24.1365 17.4632C23.8018 17.1285 23.8018 16.5858 24.1365 16.2511C24.4713 15.9163 25.014 15.9163 25.3487 16.2511L28.2782 19.1805Z" fill="${this.fill}"/><path d="M19.7308 13C20.2406 13 20.6538 13.4477 20.6538 14L20.6538 16H22.5V14C22.5 12.3431 21.2602 11 19.7308 11L13.2692 11C11.7398 11 10.5 12.3431 10.5 14L10.5 26C10.5 27.6569 11.7398 29 13.2692 29H19.7308C21.2602 29 22.5 27.6569 22.5 26V24H20.6538V26C20.6538 26.5523 20.2406 27 19.7308 27H13.2692C12.7594 27 12.3462 26.5523 12.3462 26L12.3462 14C12.3462 13.4477 12.7594 13 13.2692 13L19.7308 13Z" fill="${this.fill}"/></svg>`}};_n.tag=`scandit-exit-icon`;var vn=class e extends ne.SvgIcon{static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}render(){return c.html`<style>${e.tag}{display:flex}</style><svg width="${this.size}" height="${this.heightForViewbox(32,32)}" viewBox="0 0 32 32" fill="none"><circle cx="14" cy="14" r="9" stroke="black" stroke-width="2"/><line x1="20.4142" y1="21" x2="27" y2="27.5858" stroke="black" stroke-width="2" stroke-linecap="round"/><path d="M10 13.5L12.6667 16L18 11" stroke="#28D380" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`}};vn.tag=`scandit-item-found-icon`;var Y=class e extends c.ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<button><slot name="icon"></slot><slot></slot></button>`,t.append(e.createStyleElement().cloneNode(!0))}async connectedCallback(){let e=await new t.ScanditIconBuilder().withIcon(t.ScanditIconType.ChevronDown).withIconColor(t.Color.fromHex(`#3D4852`).withAlpha(.8)).withWidth(24).withHeight(24).withIconSize(20).build();e.setAttribute(`slot`,`icon`),this.append(e)}static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{display:inline-block;font-family:SF Pro Text,sans-serif}:host button{align-items:center;background-color:#ffffffe6;border:none;border-radius:1rem;color:#3d4852cc;display:flex;font-size:.688rem;font-weight:600;gap:.25rem;justify-content:center;min-width:140px;min-width:100px;padding:.25rem .5rem}`}};Y.tag=`scandit-find-card-list-button`;let yn=`cubic-bezier(0.4, 0, 0.2, 1)`;var X=class e extends c.ScanditHTMLElement{constructor(){super(),this.onCarListTapHandler=this.onCarListTap.bind(this),this.onCardListWillExpandHandler=this.onCardListWillExpand.bind(this),this.onCarouselButtonClickHandler=this.onCarouselButtonClick.bind(this),this.textNode=document.createTextNode(``);let t=this.attachShadow({mode:`open`});t.append(e.createStyleElement().cloneNode(!0));let n=document.createElement(`div`);n.id=`root`,n.innerHTML=c.html`<${Y.tag} class="hide"></${Y.tag}><${v.CardList.tag} collapsed></${v.CardList.tag}>`,t.append(n),this.carouselButton.append(this.textNode)}set"text-for-collapse-cards-button"(e){this.textNode.textContent=e}get"text-for-collapse-cards-button"(){return this.textNode.textContent}get cardsList(){return this.shadowRoot.querySelector(v.CardList.tag)}get carouselButton(){return this.shadowRoot.querySelector(Y.tag)}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e,[Y.tag]:Y,[v.CardList.tag]:v.CardList,[g.Card.tag]:g.Card})}static createStyleElement(){return c.css`:host #root{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%}:host #root ${Y.tag}{opacity:1;transform:translateY(0);transition:opacity ${yn} .5s,transform ${yn} .5s}:host #root ${Y.tag}.hide{opacity:0;transform:translateY(100%)}`}attributeChangeCallback(e,t,n){e===`text-for-collapse-cards-button`&&(this[`text-for-collapse-cards-button`]=n)}connectedCallback(){this.textNode.textContent=this.getAttribute(`text-for-collapse-cards-button`),this.carouselButton.addEventListener(`click`,this.onCarouselButtonClickHandler),this.cardsList.addEventListener(v.CardListEvents.Tap,this.onCarListTapHandler),this.cardsList.addEventListener(v.CardListEvents.WillExpand,this.onCardListWillExpandHandler)}disconnectedCallback(){this.carouselButton.removeEventListener(`click`,this.onCarouselButtonClickHandler),this.cardsList.removeEventListener(v.CardListEvents.Tap,this.onCarListTapHandler),this.cardsList.removeEventListener(v.CardListEvents.WillExpand,this.onCardListWillExpandHandler)}collapse(){this.carouselButton.classList.add(`hide`),this.cardsList.collapsed=!0}expand(){this.carouselButton.classList.remove(`hide`),this.cardsList.collapsed=!1}renderCards(e){this.cardsList.clearCards(),this.cardsList.renderCards(e)}async unshiftCard(e){return this.cardsList.unshift(e)}getCardBySelector(e){return this.cardsList.querySelector(e)}updateHeight(e){let t=this.carouselButton.clientHeight;e>0&&this.cardsList.style.setProperty(`--list-height`,`${e}px`),this.cardsList.style.setProperty(`--top-offset`,`calc(${t===0?32:t}px + 5rem)`)}onCardListWillExpand(){this.carouselButton.classList.remove(`hide`)}onCarListTap(){this.cardsList.collapsed=!1}onCarouselButtonClick(){this.carouselButton.classList.add(`hide`),this.cardsList.collapsed=!0}};X.tag=`scandit-find-card-list-container`,X.observedAttributes=[`text-for-collapse-cards-button`],X.register();let bn=c.html`<div class="progress-container"><${re.ProgressBar.tag} id="scandit-progress" variant="gradient" min="0" max="1" value="0"></${re.ProgressBar.tag}><label for="scandit-progress" class="message">0 / 0</label></div>`;var Z=class e extends c.ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:`open`});t.innerHTML=bn,t.append(e.createStyleElement().cloneNode(!0))}get value(){return Number(this.getAttribute(`value`))}set value(e){this.setAttribute(`value`,e.toString())}get max(){return Number(this.getAttribute(`max`))}set max(e){this.setAttribute(`max`,e.toString())}get progressBar(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector(re.ProgressBar.tag)}get label(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector(`label`)}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`.progress-container{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center}.progress-container label{color:#fff;font-family:SF Pro Display,sans-serif;font-weight:500;white-space:nowrap}`}connectedCallback(){this.render()}attributeChangedCallback(){this.render()}render(){this.progressBar!=null&&this.label!=null&&(this.progressBar.value=this.value,this.progressBar.max=this.max,this.label.textContent=`${this.progressBar.value} / ${this.progressBar.max}`)}};Z.tag=`scandit-find-progress-bar-with-label`,Z.observedAttributes=[`value`,`max`],Z.register();var xn=class e extends c.ScanditHTMLElement{constructor(){super(),this.orientationObserver=new s.OrientationObserver,this.onOrientationChangeHandler=(0,c.debounce)(this.onOrientationChange.bind(this),50);let t=this.attachShadow({mode:`open`});t.append(e.createStyleElement().cloneNode(!0));let n=document.createElement(`div`);n.id=`root`,this.absoluteContainer=document.createElement(`div`),this.absoluteContainer.classList.add(`absolute-container`),this.absoluteContainer.innerHTML=`<slot></slot>`,t.insertBefore(this.absoluteContainer,n.nextElementSibling),n.innerHTML=c.html`<div class="wrapper"><div class="header"><slot name="progress"></slot><div class="controls top"><div class="control left"><slot name="top-controls-left"></slot></div><div class="control center"><slot name="top-controls-center"></slot></div><div class="control right"><slot name="top-controls-right"></slot></div></div></div><div class="main"><slot name="card-list"></slot></div></div><div class="controls"><div class="control left"><slot name="bottom-controls-left"></slot></div><div class="control center"><slot name="bottom-controls-center"></slot></div><div class="control right"><slot name="bottom-controls-right"></slot></div></div>`,t.append(n),this.gestureRecognizer=new ie.GestureRecognizer(this.absoluteContainer,[new ie.TapGesturePlugin])}get cardListContainer(){return this.querySelector(`[slot="card-list"]`)}get main(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector(`.main`)}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{inset:0;overflow:hidden;position:absolute;z-index:1}:host #root{--padding:1rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;margin:0 auto;max-width:960px;padding:calc(var(--padding))}:host .absolute-container{height:100%;overflow:hidden;position:absolute;width:100%}.main{overflow:hidden}.main,.wrapper{display:flex;flex-direction:column}.wrapper{gap:.5rem;height:100%;justify-content:space-between}.controls{align-items:center;display:flex;flex-direction:row;justify-content:space-evenly;min-height:85px;z-index:1}@media (orientation:landscape){.controls{flex-direction:column}.wrapper{flex:0 70%;margin:0 auto}:host #root{flex-direction:row}}.controls .control{align-items:center;display:flex;flex:1 1 25%;flex-direction:row;justify-content:center}.controls .control.center{flex:1 1 50%;max-width:5rem}.controls.top{min-height:auto}.controls.top .control.left{justify-content:flex-start}.controls.top .control.right{justify-content:flex-end}.header{display:flex;flex-direction:column;gap:1.5rem;position:relative}::slotted([hidden]){display:none}`}connectedCallback(){this.orientationObserver.addEventListener(s.orientationChangeEvent,this.onOrientationChangeHandler),this.orientationObserver.register(),this.gestureRecognizer.addListener(this)}disconnectedCallback(){this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(s.orientationChangeEvent,this.onOrientationChangeHandler),this.gestureRecognizer.removeListener(this)}toggleVisibility(e,t){var n;(n=this.querySelector(e))==null||n.toggleAttribute(`hidden`,!t)}onTap(e,t){let n=new CustomEvent(`onlayouttap`,{detail:{point:e,target:t.target}});this.dispatchEvent(n)}onOrientationChange(e){let n=this.shadowRoot.querySelector(`.controls.top`);if(e.detail.value===t.Orientation.Portrait){var r;(r=this.shadowRoot)==null||(r=r.querySelector(`.header`))==null||r.append(n)}else{var i;(i=this.shadowRoot)==null||(i=i.querySelector(`#root`))==null||i.prepend(n)}(0,c.safeRequestAnimationFrame)(()=>{var e,t,n,r;(e=this.main)==null||e.style.setProperty(`height`,`100%`);let i=((t=this.main)==null?void 0:t.getBoundingClientRect().height)??0;(n=this.cardListContainer)==null||n.updateHeight(i),(r=this.main)==null||r.style.setProperty(`height`,`unset`)})}};xn.tag=`scandit-find-layout`,xn.register();function Sn(e){return e instanceof t.DataCaptureView}var Cn=class e extends ne.SvgIcon{static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}render(){return c.html`<style>${e.tag}{display:flex;align-items:center;justify-content:center}</style><svg width="${this.size}" height="${this.heightForViewbox(1080,1080)}" viewBox="0 0 1080 1080" fill="none"><path d="M227 227H410V318H318V410H227V227Z" fill="#1A1E23"/><path d="M683 227H866V410H775V318H683V227Z" fill="#1A1E23"/><path d="M182 500H908V590H182V500Z" fill="#1A1E23"/><path d="M227 683H318V775H410V866H227V683Z" fill="#1A1E23"/><path d="M683 775H775V683H866V866H683V775Z" fill="#1A1E23"/></svg>`}};Cn.tag=`scandit-barcode-find-icon`;let wn=c.html`<div id="container"><div class="left"><slot name="image-left"></slot></div><div class="middle"><div class="title overflow-text-mask"></div><div class="subtitle overflow-text-mask"></div></div><div class="right"><slot name="right"></slot></div></div>`;var Tn=class e extends c.ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:`open`});t.innerHTML=wn,t.append(e.createStyleElement().cloneNode(!0))}set title(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`.title`);n!=null&&(n.textContent=e)}set subtitle(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`.subtitle`);n!=null&&(n.textContent=e)}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`#container{align-items:center;display:flex;flex-direction:row;gap:.625rem;justify-content:center;padding:1rem}.overflow-text-mask{-webkit-mask-image:linear-gradient(90deg,#000 95%,#0000);mask-image:linear-gradient(90deg,#000 95%,#0000);overflow-x:auto;padding-right:.3rem}#container>div{display:flex;flex:1 1 17.5%;justify-content:center}#container>div.middle{flex:1 1 65%;flex-direction:column;overflow:hidden}#container>div ::slotted([slot=image-left]){height:50px;object-fit:cover;width:50px}#container .title{color:#121619;font-size:.938rem;font-weight:600}#container .subtitle{font-size:.75rem;font-weight:400;margin-top:.25rem}`}};Tn.tag=`scandit-image-and-text-card-layout`,Tn.register();let Q={FinishButton:_n.tag,ShutterButton:f.ShutterButton.tag,ProgressBarWithLabel:Z.tag,CardListContainer:X.tag,TorchSwitchIconButton:_.TorchSwitchIconButton.tag};var En=class e extends p.ScanditHTMLElement{constructor(...e){super(...e),this.shouldShowCarousel=!0,this.shouldShowPauseButton=!0,this.shouldShowFinishButton=!0,this.shouldShowProgressBar=!0,this.torchControlPosition=t.Anchor.TopLeft,this.zoomControlPosition=t.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=t.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=!1,this._isTorchAvailable=!1,this.zoomSwitchControl=null,this._shouldShowZoomControl=!1,this.onDotClickHandler=this.onDotClick.bind(this)}set shouldShowTorchControl(e){this._shouldShowTorchControl=e,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(e&&this._isTorchAvailable))}get shouldShowTorchControl(){return this._shouldShowTorchControl}set shouldShowZoomControl(e){var t;this._shouldShowZoomControl=e;let n=(t=this.zoomSwitchControl)==null?void 0:t.zoomSwitchPill;n!=null&&(n.hidden=!e)}get shouldShowZoomControl(){return this._shouldShowZoomControl}get camera(){return this.presenter.context.frameSource}get logoStyle(){return this.dataCaptureView.logoStyle}set logoStyle(e){this.dataCaptureView.logoStyle=e}get logoAnchor(){return this.dataCaptureView.logoAnchor}set logoAnchor(e){this.dataCaptureView.logoAnchor=e}static async createWithSettings(n,r,i,a,o){let s=document.createElement(e.tag);s.barcodeFindViewSettings=a,s.layout=xn.create(),s.layout.innerHTML=h.html`<${Z.tag} slot="progress" value="0" max="1" ${s.shouldShowProgressBar?``:`hidden`}></${Z.tag}><${_.TorchSwitchIconButton.tag} slot="top-controls-left" ${s.shouldShowTorchControl?``:`hidden`}></${_.TorchSwitchIconButton.tag}><${X.tag} slot="card-list" hidden text-for-collapse-cards-button=${s.textForCollapseCardsButton}></${X.tag}><${f.ShutterButton.tag} slot="bottom-controls-center" variant="play" ${s.shouldShowPauseButton?``:`hidden`}></${f.ShutterButton.tag}><${_n.tag} slot="bottom-controls-right" ${s.shouldShowFinishButton?``:`hidden`}></${_n.tag}>`,s.append(s.layout),Sn(n)?(s.dataCaptureView=n,n.htmlElement.prepend(s),await r.setMode(i),await n.setContext(r)):(s.dataCaptureView=await t.DataCaptureView.forContext(r),s.dataCaptureView.connectToElement(n),n.prepend(s));let c=o??fn.recommendedCameraSettings;return c.zoomLevels=[.5,1],s.presenter=new hn(s,r,i,a,c),await s.presenter.prepare(),await s.installZoomControl(),s.barcodeFindBasicOverlay=await mn.withBarcodeFind(i,s.dataCaptureView),s}static async create(t,n,r){return e.register(),e.createWithSettings(t,n,r,an.BarcodeFindViewSettings.settings,fn.recommendedCameraSettings)}static register(){(0,m.defineCustomElements)({[e.tag]:e,[_.TorchSwitchIconButton.tag]:_.TorchSwitchIconButton,[f.ShutterButton.tag]:f.ShutterButton,[Z.tag]:Z,[X.tag]:X,[_n.tag]:_n,[xn.tag]:xn})}async startSearching(){return this.onShutterButtonClickedHandler()}async stopSearching(){return this.presenter.stopSearching()}async pauseSearching(){return this.onShutterButtonClickedHandler()}setListener(e){this.barcodeFindViewUiListener=e,this.presenter.barcodeFindViewUiListener=this.barcodeFindViewUiListener}async setShouldShowUserGuidanceView(e){return this.shouldShowUserGuidance=e,this.barcodeFindBasicOverlay.setUserGuidanceEnabled(this.shouldShowUserGuidance)}async setShouldShowHints(e){return this.shouldShowHints=e,this.barcodeFindBasicOverlay.setShouldShowHint(this.shouldShowHints)}setShouldShowCarousel(e){this.shouldShowCarousel=e,this.layout.toggleVisibility(Q.CardListContainer,e)}setShouldShowPauseButton(e){this.shouldShowPauseButton=e,this.layout.toggleVisibility(Q.ShutterButton,e)}setShouldShowFinishButton(e){this.shouldShowFinishButton=e,this.layout.toggleVisibility(Q.FinishButton,e)}setShouldShowProgressBar(e){this.shouldShowProgressBar=e,this.layout.toggleVisibility(Q.ProgressBarWithLabel,e)}setShouldShowTorchControl(e){this.shouldShowTorchControl=e}setShouldShowZoomControl(e){this.shouldShowZoomControl=e}setTorchAvailable(e){this._isTorchAvailable=e,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable))}setTorchControlPosition(e){var n;this.torchControlPosition=e,[t.Anchor.TopCenter,t.Anchor.TopLeft,t.Anchor.TopRight,t.Anchor.BottomLeft].includes(e)||(this.torchControlPosition=t.Anchor.TopLeft);let r={[t.Anchor.TopCenter]:`top-controls-center`,[t.Anchor.TopLeft]:`top-controls-left`,[t.Anchor.TopRight]:`top-controls-right`,[t.Anchor.BottomLeft]:`bottom-controls-left`}[this.torchControlPosition];(n=this.torchSwitchIconButton)==null||n.setAttribute(`slot`,r)}setZoomControlPosition(e){var n;this.zoomControlPosition=e,[t.Anchor.TopCenter,t.Anchor.TopLeft,t.Anchor.TopRight,t.Anchor.BottomLeft].includes(e)||(this.zoomControlPosition=t.Anchor.TopRight);let r={[t.Anchor.TopCenter]:`top-controls-center`,[t.Anchor.TopLeft]:`top-controls-left`,[t.Anchor.TopRight]:`top-controls-right`,[t.Anchor.BottomLeft]:`bottom-controls-left`}[this.zoomControlPosition],i=(n=this.zoomSwitchControl)==null?void 0:n.zoomSwitchPill;i==null||i.setAttribute(`slot`,r)}setTextForCollapseCardsButton(e){this.textForCollapseCardsButton=e,this.cardList!=null&&(this.cardList[`text-for-collapse-cards-button`]=e)}async setTextForAllItemsFoundSuccessfullyHint(e){return this.textForAllItemsFoundSuccessfullyHint=e,this.barcodeFindBasicOverlay.setTextForAllItemsFoundSuccessfullyHint(this.textForAllItemsFoundSuccessfullyHint)}async setTextForPointAtBarcodesToSearchHint(e){return this.textForPointAtBarcodesToSearchHint=e,this.barcodeFindBasicOverlay.setTextForPointAtBarcodesToSearchHint(this.textForPointAtBarcodesToSearchHint)}async setTextForMoveCloserToBarcodesHint(e){return this.textForMoveCloserToBarcodesHint=e,this.barcodeFindBasicOverlay.setTextForMoveCloserToBarcodesHint(this.textForMoveCloserToBarcodesHint)}async setTextForTapShutterToPauseScreenHint(e){return this.textForTapShutterToPauseScreenHint=e,this.barcodeFindBasicOverlay.setTextForTapShutterToPauseScreenHint(this.textForTapShutterToPauseScreenHint)}async setTextForTapShutterToResumeSearchHint(e){return this.textForTapShutterToResumeSearchHint=e,this.barcodeFindBasicOverlay.setTextForTapShutterToResumeScreenHint(this.textForTapShutterToResumeSearchHint)}async setTextForItemListUpdatedWhenPausedHint(e){return this.textForItemListUpdatedWhenPausedHint=e,this.barcodeFindBasicOverlay.setTextForItemListUpdatedWhenPausedHint(this.textForItemListUpdatedWhenPausedHint)}async setTextForItemListUpdatedHint(e){return this.textForItemListUpdatedHint=e,this.barcodeFindBasicOverlay.setTextForItemListUpdatedHint(this.textForItemListUpdatedHint)}connectedCallback(){var e,t,n;this.shutterButton=this.layout.querySelector(Q.ShutterButton),this.finishButton=this.layout.querySelector(Q.FinishButton),this.progressBar=this.layout.querySelector(Q.ProgressBarWithLabel),this.cardList=this.layout.querySelector(Q.CardListContainer),this.torchSwitchIconButton=this.layout.querySelector(Q.TorchSwitchIconButton),(e=this.torchSwitchIconButton)==null||e.addEventListener(`pointerdown`,this.onTorchButtonClickedHandler),(t=this.shutterButton)==null||t.addEventListener(`pointerdown`,this.onShutterButtonClickedHandler),(n=this.finishButton)==null||n.addEventListener(`pointerdown`,this.onFinishButtonClickedHandler),this.layout.addEventListener(`onlayouttap`,this.onDotClickHandler)}disconnectedCallback(){var e,t,n,r;(e=this.shutterButton)==null||e.removeEventListener(`pointerdown`,this.onShutterButtonClickedHandler),(t=this.torchSwitchIconButton)==null||t.addEventListener(`pointerdown`,this.onTorchButtonClickedHandler),(n=this.finishButton)==null||n.removeEventListener(`pointerdown`,this.onFinishButtonClickedHandler),this.layout.removeEventListener(`onlayouttap`,this.onDotClickHandler),(r=this.zoomSwitchControl)==null||r.remove(),this.presenter.dispose()}async installZoomControl(){this.zoomSwitchControl=new t.ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let e=this.zoomSwitchControl.zoomSwitchPill;e!=null&&(e.setAttribute(`slot`,`top-controls-right`),e.hidden=!this._shouldShowZoomControl,this.layout.append(e))}async onShutterButtonClicked(){this.presenter.onShutterButtonClicked()}async onTorchButtonClicked(){this.presenter.onTorchButtonClicked()}updateProgressBar(e,t){this.progressBar&&(this.progressBar.value!==e&&(this.progressBar.value=e),t!=null&&this.progressBar.max!==t&&(this.progressBar.max=t))}setShutterButtonPulse(e){this.shutterButton!=null&&(this.shutterButton.pulse=e)}switchToPaused(e,t){var n,r;let i=[];for(let n of e){var a,o,s;let e=g.Card.create();e.id=`${String(n.uid)}`;let r=Tn.create();if(e.append(r),r.title=((a=n.content)==null?void 0:a.info)??n.searchOptions.barcodeData,((o=n.content)==null?void 0:o.additionalInfo)!=null){var c;r.subtitle=((c=n.content)==null?void 0:c.additionalInfo)??``}if(t.find(e=>e.searchOptions.barcodeData===n.searchOptions.barcodeData)!=null){let e=vn.create();e.slot=`right`,r.append(e)}if(((s=n.content)==null?void 0:s.image)==null){let e=Cn.create();e.slot=`image-left`,r.append(e)}else{var l,ee;let e=document.createElement(`img`);e.slot=`image-left`,e.src=((l=n.content)==null?void 0:l.image)??``,e.alt=((ee=n.content)==null?void 0:ee.additionalInfo)??``,r.append(e)}i.push(e)}(n=this.cardList)==null||n.renderCards(i),(r=this.cardList)==null||r.removeAttribute(`hidden`),this.shutterButton.variant=`play`,this.shutterButton.pulse=!1,this.toggleDotPulse(!1)}moveCardOnTheFront(e){var t;if(!e)return;let n=(t=this.cardList)==null?void 0:t.getCardBySelector(`${g.Card.tag}#${e.uid}`);if(n!=null){var r;(r=this.cardList)==null||r.unshiftCard(n)}}switchToStarted(){var e;this.clearDots(),(e=this.cardList)==null||e.setAttribute(`hidden`,``),this.shutterButton.variant=`pause`}toggleTorchIcon(e){this.torchSwitchIconButton&&(this.torchSwitchIconButton.state=e)}onFinishButtonClicked(){this.presenter.onFinishButtonClicked()}clearDots(){let e=this.layout.querySelectorAll(`[data-identifier]`);for(let t of e)t.remove()}toggleDotPulse(e){let t=[...this.layout.querySelectorAll(`[data-identifier]`)];for(let n of t)n.pulse=e}pointTransformation(e){return`translate3d(calc(${e.x}px - 50%), calc(${e.y}px - 50%), 0px)`}onDotClick(e){let t=e.detail.target;if(t.dataset.identifier!=null){for(let e of this.layout.querySelectorAll(gn.tag))e.pulse=!1,t===e&&t.variant===`target`&&(t.pulse=!0);this.presenter.onDotClick(t.dataset.identifier)}}createDotForTrackedBarcode(e,t,n){var r,i;let a=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions),o=e.barcode.data!=null&&((r=t.foundTrackedBarcodesInLastProcessedFrame[`${e.identifier}`])==null?void 0:r.barcode.data)===e.barcode.data,s=o?n==null||(i=n[e.barcode.data??``])==null?void 0:i.searchOptions.brush:void 0,c=s?gn.createWithBrush(s,this.barcodeFindViewSettings.notInListItemColor):gn.createWithColors(this.barcodeFindViewSettings.inListItemColor,this.barcodeFindViewSettings.notInListItemColor);return c.style.setProperty(`position`,`absolute`),c.style.setProperty(`transform`,this.pointTransformation(a.center)),c.dataset.identifier=`${e.identifier}`,o&&(c.setAttribute(`variant`,`target`),c.pulse=!0),c}renderDots(e,n){for(let t of e.removedTrackedBarcodes){let e=this.layout.querySelector(`[data-identifier="${t}"]`);e==null||e.remove()}if(e.addedTrackedBarcodes.length>0){let t=document.createDocumentFragment();for(let r of e.addedTrackedBarcodes)t.append(this.createDotForTrackedBarcode(r,e,n));this.layout.append(t)}for(let i of e.updatedTrackedBarcodes){var r;let a=this.layout.querySelector(`[data-identifier="${i.identifier}"]`);if(!a){a=this.createDotForTrackedBarcode(i,e,n),this.layout.append(a);continue}let{center:o}=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(i.anchorPositions),s=((r=this.camera)==null?void 0:r.getMirrorImageEnabled())??!1,c=new t.Size(this.dataCaptureView.width,this.dataCaptureView.height);a.style.setProperty(`position`,`absolute`);let l=s?t.Point.mirrorX(o,c):o;a.style.setProperty(`transform`,this.pointTransformation(l))}}};En.tag=`scandit-barcode-find-view`;let Dn={zoomFactor:1,zoomGestureZoomFactor:2,focusGestureStrategy:`manualUntilCapture`,preferredResolution:`fullHd`,grayScaleFrameReader:!0},On=t.CameraPosition.WorldFacing,kn=t.CameraSettings.fromJSON(Dn);var An=class e{get frameSequenceId(){return this._frameSequenceId}get addedTrackedBarcodes(){return this._addedTrackedBarcodes}get removedTrackedBarcodes(){return this._removedTrackedBarcodes}get allTrackedBarcodes(){return this._allTrackedBarcodes}static fromJSON(t){let n=new e;n._frameSequenceId=t.frameSequenceId;let r=(e,[t,n])=>{let r=y.fromJSON(n);return e[r.identifier]=r,e};return n._addedTrackedBarcodes=Object.entries(t.addedTrackedBarcodes).reduce((e,t)=>r(e,t),{}),n._allTrackedBarcodes=Object.entries(t.allTrackedBarcodes).reduce((e,t)=>r(e,t),{}),n._removedTrackedBarcodes=t.removedTrackedBarcodes,n}},jn=de({scanSound:()=>Mn}),Mn,Nn=ue((()=>{Mn=`data:audio/mp3;base64,SUQzBAAAAAACGVRFTkMAAAALAAADUHJvIFRvb2xzAFRYWFgAAAAjAAADb3JpZ2luYXRvcl9yZWZlcmVuY2UAYWFpOFNOeVZoWEtrAFRJVDIAAAAeAAADTXVsdGktQmFyY29kZS1TY2FubmluZ19DbGljawBUWFhYAAAASQAAA3VtaWQAMHgwNjBBMkIzNDAxMDEwMTA1MDEwMTBGMTAxMzAwMDAwMDRDNDdCRDg5RUNGMDgwMDA5OERGQzVERDdBNzc5ODE0AFRYWFgAAAAZAAADdGltZV9yZWZlcmVuY2UAMTA2MDcyMDAAVERSQwAAAAwAAAMyMDI0LTEyLTEyAFRTU0UAAAAPAAADTGF2ZjU5LjE3LjEwMQAAAAAAAAAAAAAA//tUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAGAAADAABgYGBgYGBgYGBgYGBgYGBggICAgICAgICAgICAgICAgICgoKCgoKCgoKCgoKCgoKCgwMDAwMDAwMDAwMDAwMDAwMDg4ODg4ODg4ODg4ODg4ODg4P////////////////////8AAAAATGF2YzU5LjIwAAAAAAAAAAAAAAAAJAYAAAAAAAAAAwCFl2SY//sUZAAAAAAAaQUAAAgAAA0goAABAZRtNBgCgAAAADSDAAAA+n7Mn4oCJ/5BRrvrSvtzcyHBkMHAHTEWmReEjMUnZmoD0Gx1b3+ky4GKAgAB/0MYETIIzgTmTo5qcoBL//sUZBeAAOoTWoZBgAAAAA0gwAAAAcgncLwgAAgAADSDgAAEmTgEEz6JEte/al87NoxM0Kk2HqaZEoFVXMCkjYSGzb5aqRbvLBQUYMKNmZhTBQUCgswAIAINGpZdZQyP//sUZB+P8GkM2gAAMDIAAA0gAAABAag5WAAExggAADSAAAAEbwAMBHlUnW/rDUlVwD//ULU1KkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZDAP8GUM0QAgMDIAAA0gAAABAagvOgAAYMgAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZEEF8FYOSygBGpoAAA0gAAABAUwBGyCMQAAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sUZFQP8DEAoogAAAwAAA0gAAABAAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq`}));let Pn=t.Vibration.withPattern([300]);var Fn=class e{constructor(e,n,r){this.scanned=new t.Feedback(n?Pn:null,e?r:null),this.tapped=new t.Feedback(n?Pn:null,null),this.scanned.emit=(0,ae.throttle)(this.scanned.emit.bind(this.scanned),500)}static async createWithOptions(n,r){let{scanSound:i}=await Promise.resolve().then(()=>(Nn(),jn));return new e(n,r,new t.Sound(i))}static async createDefaultBarcodeArFeedback(){let{scanSound:n}=await Promise.resolve().then(()=>(Nn(),jn));return new e(!0,!0,new t.Sound(n))}},In=class e{constructor(){this.skipSerialization=!0,this.type=`barcodeAr`,this._isEnabled=!0,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 t.CameraSettings(kn)}set context(e){this._context=e}get allListeners(){return[...this.privateListeners,...this.listeners]}static async forContext(t,n){(0,r.warnMultithreadingUnavailable)();let i=new e;return i.feedback=await Fn.createDefaultBarcodeArFeedback(),i.settings=n,await t.setMode(i),i}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:!1}))}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){switch(e.type){case`barcodeArDidUpdateSession`:if(!this._isEnabled||!this._context)return;for(let r of this.allListeners){var n;(n=r.didUpdateSession)==null||n.call(r,this,An.fromJSON(e.payload.session),(0,t.convertToPublicFrameData)(e.payload.frameData,this._context))}break;default:break}}},Ln=class{constructor(){this.properties={},this.symbologies={}}get enabledSymbologies(){return Object.keys(this.symbologies).filter(e=>this.symbologies[e].isEnabled)}settingsForSymbology(e){if(!this.symbologies[e]){let t=S.SymbologySettings[e];t._symbology=e,this.symbologies[e]=t}return this.symbologies[e]}setProperty(e,t){this.properties[e]=t}getProperty(e){return this.properties[e]}enableSymbologies(e){for(let t of e)this.enableSymbology(t,!0)}enableSymbology(e,t){this.settingsForSymbology(e).isEnabled=t}toJSONObject(){return{properties:this.properties,symbologies:Object.keys(this.symbologies).reduce((e,t)=>(e[t]=this.symbologies[t].toJSONObject(),e),{})}}},Rn=class{constructor(e,t,n,r,i){this.cameraSupportMap=new Map,this.cameras=[],this.view=e,this.context=t,this.barcodeAr=n,this.viewSettings=r,this.cameraSettings=i}get currentCamera(){if((0,t.isCameraFrameSource)(this.context.frameSource))return this.context.frameSource;throw Error(`The current frame source is not a Camera`)}isCameraMirrored(){return this.currentCamera.getMirrorImageEnabled()}async prepare(){await this.barcodeAr.setEnabled(!1),this.barcodeAr.feedback=await Fn.createWithOptions(this.viewSettings.soundEnabled,this.viewSettings.hapticEnabled),this.barcodeAr.addPrivateListener(this),this.cameras=await t.Camera.getAll(!1,(0,t.isCameraFrameSource)(this.context.frameSource));let e=(0,t.isCameraFrameSource)(this.context.frameSource)?this.context.frameSource:this.cameras.find(e=>e.position===this.viewSettings.defaultCameraPosition)??this.cameras.find(e=>e.position===(this.viewSettings.defaultCameraPosition===t.CameraPosition.WorldFacing?t.CameraPosition.UserFacing:t.CameraPosition.WorldFacing))??this.cameras[0]??t.Camera.pickBestGuess();await this.context.setFrameSource(e),await this.currentCamera.applySettings(this.cameraSettings),await this.currentCamera.switchToDesiredState(t.FrameSourceState.Standby);let n=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(n)}release(){this.barcodeAr.removePrivateListener(this)}async dispose(){var e;this.view.deleteAllViews(),await this.context.removeMode(this.barcodeAr),this.release(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Off))}async startSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.On)),await this.barcodeAr.setEnabled(!0),await this.barcodeAr.start()}async stopSearching(){var e;this.view.deleteAllViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Off)),await this.barcodeAr.setEnabled(!1),await this.barcodeAr.stop()}async pauseSearching(){var e;this.view.deletePendingViews(),await((e=this.context.frameSource)==null?void 0:e.switchToDesiredState(t.FrameSourceState.Standby)),await this.barcodeAr.setEnabled(!1),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 n=await this.currentCamera.isTorchAvailable();return this.cameraSupportMap.set(e,{torch:n}),n}async onTorchButtonClicked(){let e=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(e),e&&(await this.currentCamera.setDesiredTorchState(this.currentCamera.getDesiredTorchState()===t.TorchState.Off?t.TorchState.On:t.TorchState.Off),this.view.toggleTorchIcon(this.currentCamera.getDesiredTorchState()))}async onCameraSwitchButtonClicked(){let e=this.currentCamera,n=e.getCurrentState(),r=e.position===t.CameraPosition.UserFacing?t.CameraPosition.WorldFacing:t.CameraPosition.UserFacing,i=this.cameras.find(e=>e.position===r)??this.cameras.find(t=>t!==e)??t.Camera.pickBestGuessForPosition(r);await this.currentCamera.switchToDesiredState(t.FrameSourceState.Off),await this.context.setFrameSource(i),await this.currentCamera.switchToDesiredState(n);let a=await this.isTorchAvailableForCurrentCamera();this.view.setTorchAvailable(a)}},zn=class{constructor(){this.soundEnabled=!0,this.hapticEnabled=!0,this.defaultCameraPosition=On}};let Bn=new TextEncoder;function Vn(e){let t=e.data??e.rawData,n=e.symbology,r=`${t.length>64?t.substring(0,64):t}|${n}`,i=Bn.encode(r),a=``;for(let e of i)a+=String.fromCodePoint(e);return btoa(a).replace(/=+$/,`_`)}let Hn=t.Color.fromRGBA(255,255,255,1);var Un=class e extends c.ScanditHTMLElement{constructor(){super(),this.onPressedHandler=this.onPressed.bind(this),this.onReleasedHandler=this.onReleased.bind(this);let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<button type="button"><slot></slot></button>`,t.append(e.createStyleElement().cloneNode(!0))}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host[hidden]{display:none}:host button{background:none;border:none;display:flex;margin:0;outline:none;padding:0;-webkit-tap-highlight-color:transparent}`}async connectedCallback(){var e,n,r;let i=new t.ScanditIconBuilder;this.icon=await i.withIcon(t.ScanditIconType.CameraSwitch).withBackgroundShape(t.ScanditIconShape.Circle).withBackgroundColor(d.gray900.withAlpha(.3)).withBackgroundStrokeColor(d.gray900).withWidth(36).withHeight(36).withIconSize(28).build(),(e=this.shadowRoot)==null||e.append(this.icon),(n=this.shadowRoot)==null||n.addEventListener(`pointerdown`,this.onPressedHandler),(r=this.shadowRoot)==null||r.addEventListener(`pointerup`,this.onReleasedHandler)}disconnectedCallback(){var e,t;(e=this.shadowRoot)==null||e.removeEventListener(`pointerdown`,this.onPressedHandler),(t=this.shadowRoot)==null||t.removeEventListener(`pointerup`,this.onReleasedHandler)}onPressed(){this.icon.iconColor=Hn.withAlpha(.3)}onReleased(){this.icon.iconColor=Hn}};Un.tag=`scandit-check-switch-camera-button`;let Wn=function(e){return e.HighlightTap=`highlightTap`,e.HighlightTapAndBarcodeScan=`highlightTapAndBarcodeScan`,e.BarcodeScan=`barcodeScan`,e}({});var Gn=class e extends c.ScanditHTMLElement{constructor(){super(),this.isLeftIconTappable=!0,this.isRightIconTappable=!0;let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<div class="container"><slot name="left-barcode-icon"></slot><div class="text"></div><slot name="right-barcode-icon"></slot></div>`,t.append(e.createStyleElement().cloneNode(!0)),this.textElement=t.querySelector(`.text`),this.containerElement=t.querySelector(`.container`)}set rightIcon(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`[slot='right-barcode-icon']`);(n==null?void 0:n.assignedSlot)!==e&&(n&&e==null&&n.remove(),e&&(e.slot=`right-barcode-icon`,this.append(e)))}get rightIcon(){var e;return(((e=this.shadowRoot)==null||(e=e.querySelector(`slot[name='right-barcode-icon']`))==null?void 0:e.assignedElements())??[])[0]}set leftIcon(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`[slot='left-barcode-icon']`);(n==null?void 0:n.assignedSlot)!==e&&(n&&e==null&&n.remove(),e&&(e.slot=`left-barcode-icon`,this.append(e)))}get leftIcon(){var e;return(((e=this.shadowRoot)==null||(e=e.querySelector(`slot[name='left-barcode-icon']`))==null?void 0:e.assignedElements())??[])[0]}get text(){return this.textElement.textContent??``}set text(e){this.textElement.textContent=e}get textSize(){return Number.parseInt(this.style.getPropertyValue(`--text-size`),10)}set textSize(e){this.style.setProperty(`--text-size`,`${e}px`)}get textAlignment(){return this.containerElement.getAttribute(`text-alignment`)??`center`}set textAlignment(e){this.containerElement.setAttribute(`text-alignment`,e)}get textColor(){let e=this.style.getPropertyValue(`--text-color`);return e===``?t.Color.fromRGBA(0,0,0,1):t.Color.fromHex(e)}set textColor(e){this.style.setProperty(`--text-color`,`#${e.toJSON()}`)}static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{--text-color:#${d.gray900.toJSON()};--text-size:14px}.container{align-items:center;display:flex;font-size:var(--text-size);gap:.75rem;justify-content:center;padding:1rem 1rem 0}.container .text{color:var(--text-color)}.container[text-alignment=start]{justify-content:flex-start}.container[text-alignment=center]{justify-content:center}.container[text-alignment=end]{justify-content:flex-end}.container[text-alignment=start] .text{text-align:start}.container[text-alignment=center] .text{text-align:center}.container[text-alignment=end] .text{text-align:end}`}};Gn.tag=`scandit-barcode-ar-info-annotation-body`;let Kn=`.container`,qn=`.text`;function Jn(){return h.html`<div class="container"><div class="icon-text"><slot name="barcode-icon"></slot><div class="text">Text</div></div></div>`}function Yn(){return c.css`:host{--background-color:#0000;--text-color:#000;--top-left-corner-radius:0px;--top-right-corner-radius:0px;--bottom-left-corner-radius:0px;--bottom-right-corner-radius:0px;--text-size:16px}.container{align-items:center;background-color:var(--background-color);border-radius:var(--top-left-corner-radius) var(--top-right-corner-radius) var(--bottom-right-corner-radius) var(--bottom-left-corner-radius);display:flex;flex-direction:row;justify-content:center;overflow:hidden;padding:.75rem;transition:.3s ease}.container.highlighted{opacity:.75}.icon-text{align-items:center;display:flex;gap:.5rem}.text{color:var(--text-color);font-size:var(--text-size);font-weight:600;width:100%}`}function Xn(e){var t;return(t=e.shadowRoot)==null||(t=t.querySelector(`[slot='barcode-icon']`))==null?void 0:t.assignedElements()[0]}function Zn(e,t){let n=Xn(e);n!==t&&(n&&t==null&&n.remove(),t&&(t.slot=`barcode-icon`,e.append(t)))}function Qn(e,n){let r=e.style.getPropertyValue(`--background-color`);return r===``?n:t.Color.fromHex(r)}function $n(e,t){e.style.setProperty(`--background-color`,`#${t.toJSON()}`)}function er(e,n){let r=e.style.getPropertyValue(`--text-color`);return r===``?n:t.Color.fromHex(r)}function tr(e,t){e.style.setProperty(`--text-color`,`#${t.toJSON()}`)}function nr(e){return Number.parseFloat(e.style.getPropertyValue(`--text-size`))}function rr(e,t){e.style.setProperty(`--text-size`,`${t}px`)}function ir(e){return e.textContent??``}function ar(e,t){e.textContent=t}var or=class e extends c.ScanditHTMLElement{static create(){return e.register(),document.createElement(e.tag)}static register(){(0,m.defineCustomElements)({[e.tag]:e})}constructor(){super(),this._defaultBackgroundColor=t.Color.fromHex(`#000000`),this._defaultTextColor=t.Color.fromHex(`#FFFFFF`);let e=this.attachShadow({mode:`open`});e.innerHTML=Jn(),e.append(Yn()),this.containerElement=e.querySelector(Kn),this.textElement=e.querySelector(qn)}set icon(e){Zn(this,e)}get icon(){return Xn(this)}get backgroundColor(){return Qn(this,this._defaultBackgroundColor)}set backgroundColor(e){$n(this,e)}get text(){return ir(this.textElement)}set text(e){ar(this.textElement,e)}get textColor(){return er(this,this._defaultTextColor)}set textColor(e){tr(this,e)}get textSize(){return nr(this)}set textSize(e){rr(this,e)}connectedCallback(){this.backgroundColor=this.backgroundColor,this.textColor=this.textColor}};or.tag=`scandit-barcode-ar-info-annotation-footer`;var sr=class e extends c.ScanditHTMLElement{static create(){return e.register(),document.createElement(e.tag)}static register(){(0,m.defineCustomElements)({[e.tag]:e})}constructor(){super(),this._defaultBackgroundColor=t.Color.fromHex(`#00FFFF`),this._defaultTextColor=t.Color.fromHex(`#000000`);let e=this.attachShadow({mode:`open`});e.innerHTML=Jn(),e.append(Yn()),this.containerElement=e.querySelector(Kn),this.textElement=e.querySelector(qn)}set icon(e){Zn(this,e)}get icon(){return Xn(this)}get backgroundColor(){return Qn(this,this._defaultBackgroundColor)}set backgroundColor(e){$n(this,e)}get text(){return ir(this.textElement)}set text(e){ar(this.textElement,e)}get textColor(){return er(this,this._defaultTextColor)}set textColor(e){tr(this,e)}get textSize(){return nr(this)}set textSize(e){rr(this,e)}connectedCallback(){this.backgroundColor=this.backgroundColor,this.textColor=this.textColor}};sr.tag=`scandit-barcode-ar-info-annotation-header`;function cr(){return se.css`[class*=arw-]:after{border-color:#0000;border-style:solid;content:" ";height:0;pointer-events:none;position:absolute;width:0}.arw-bottom-center:after{border-top-color:var(--arrow-background-color);border-width:var(--arrow-size);left:50%;top:100%;transform:translate(-50%)}.arw-top-center:after{border-bottom-color:var(--arrow-background-color);border-width:var(--arrow-size);left:50%;top:0;transform:translate(-50%,-100%)}.arw-right-center:after{border-left-color:var(--arrow-background-color);border-width:var(--arrow-size);right:0;top:50%;transform:translate(100%,-50%)}.arw-left-center:after{border-right-color:var(--arrow-background-color);border-width:var(--arrow-size);left:0;top:50%;transform:translate(-100%,-50%)}`}function lr(e,t,n,r=0){e.style.position=`absolute`,e.style.willChange=`transform`,e.style.transform=`translate3d(calc(${Math.round(t.x)}px + ${n.x}%), calc(${Math.round(t.y)}px + ${n.y}%), 0px) rotate(${r}deg)`}let ur=function(e){return e[e.Top=`top-center`]=`Top`,e[e.Bottom=`bottom-center`]=`Bottom`,e[e.Left=`left-center`]=`Left`,e[e.Right=`right-center`]=`Right`,e}({}),dr=function(e){return e.Small=`small`,e.Medium=`medium`,e.Large=`large`,e}({}),fr=`slot[name='header']`,pr=`slot[name='footer']`,mr=`--arrow-background-color`;var hr=class e extends c.ScanditHTMLElement{get barcode(){return this._barcode}set barcode(e){this._barcode=e}constructor(){super(),this.isEntireAnnotationTappable=!1,this.annotationTrigger=`highlightTapAndBarcodeScan`,this._widthPreset=`small`,this.onPointerUpListener=this.onPointerUp.bind(this),this.onSlotChangeListener=this.onSlotChange.bind(this),this.highlightableElementListenerMap=new Map;let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<div class="container arw-${ur.Bottom} ${`small`}"><slot name="header"></slot><div class="body-container"><slot></slot></div><slot name="footer"></slot></div>`,this.containerElement=t.querySelector(`.container`),t.append(e.createStyleElement().cloneNode(!0)),t.append(cr())}updatePosition(e,t,n){lr(this,e,t,0)}set anchor(e){for(let e of Object.values(ur))this.containerElement.classList.remove(`arw-${e}`);this.containerElement.classList.add(`arw-${e}`),this.updateArrowColor()}get anchor(){for(let e of Object.values(ur))if(this.containerElement.classList.contains(`arw-${e}`))return e;return ur.Bottom}set widthPreset(e){this._widthPreset=e,this.containerElement.classList.remove(`small`,`medium`,`large`),this.containerElement.classList.add(e)}get widthPreset(){switch(!0){case this.containerElement.classList.contains(`small`):return`small`;case this.containerElement.classList.contains(`medium`):return`medium`;case this.containerElement.classList.contains(`large`):return`large`;default:return`small`}}get backgroundColor(){let e=this.containerElement.style.getPropertyValue(`--background-color`);return t.Color.fromHex(e)}set backgroundColor(e){this.containerElement.style.setProperty(`--background-color`,`#${e.toJSON()}`),this.updateArrowColor()}set body(e){this.append(...e)}get body(){var e;let t=(e=this.shadowRoot)==null?void 0:e.querySelector(`slot:not([name])`);return(t==null?void 0:t.assignedElements({flatten:!0}))??[]}set header(e){let t=this.querySelector(fr);e!=null&&(t==null?void 0:t.assignedElements()[0])!==e&&(t==null||t.remove(),e.setAttribute(`slot`,`header`),this.append(e))}get header(){var e;let t=(e=this.shadowRoot)==null?void 0:e.querySelector(fr);return((t==null?void 0:t.assignedElements())??[])[0]}set footer(e){let t=this.querySelector(pr);e!=null&&(t==null?void 0:t.assignedElements()[0])!==e&&(t==null||t.remove(),e.setAttribute(`slot`,`footer`),this.append(e))}get footer(){var e;let t=(e=this.shadowRoot)==null?void 0:e.querySelector(pr);return((t==null?void 0:t.assignedElements())??[])[0]}set hasTip(e){this.containerElement.classList.toggle(`arw-${this.anchor}`,e)}get hasTip(){return this.containerElement.classList.contains(`arw-${this.anchor}`)}static create(t){e.register();let n=document.createElement(e.tag);return n.barcode=t,n}static register(){(0,c.defineCustomElements)({[Gn.tag]:Gn,[sr.tag]:sr,[or.tag]:or,[e.tag]:e})}static createStyleElement(){return c.css`:host{--background-color:#fff;--arrow-size:7px;--arrow-background-color:var(--background-color);--arrow-offset:10px;font-family:SF Pro Display,sans-serif}.container{background-color:var(--background-color);border-radius:16px;display:flex;flex-direction:column;min-width:100px;position:relative;transition:opacity .3s ease;width:100%}.container.highlighted{opacity:.75}.container.${`small`}{width:180px}.container.${`medium`}{width:210px}.container.${`large`}{width:240px}.body-container{padding-bottom:1rem}`}connectedCallback(){var e,t;this.widthPreset=this._widthPreset,this.addEventListener(`pointerup`,this.onPointerUpListener);let n=(e=this.shadowRoot)==null?void 0:e.querySelector(fr),r=(t=this.shadowRoot)==null?void 0:t.querySelector(pr);n==null||n.addEventListener(`slotchange`,this.onSlotChangeListener),r==null||r.addEventListener(`slotchange`,this.onSlotChangeListener),this.onSlotChange(),this.isEntireAnnotationTappable&&this.makeHighlightable(this.containerElement)}disconnectedCallback(){var e,t;let n=(e=this.shadowRoot)==null?void 0:e.querySelector(fr),r=(t=this.shadowRoot)==null?void 0:t.querySelector(pr);n==null||n.removeEventListener(`slotchange`,this.onSlotChangeListener),r==null||r.removeEventListener(`slotchange`,this.onSlotChangeListener),this.removeEventListener(`pointerup`,this.onPointerUpListener);for(let[e,t]of this.highlightableElementListenerMap)e.removeEventListener(`pointerdown`,t.pointerdown),e.removeEventListener(`pointerup`,t.pointerup)}onSlotChange(){var e,t;let n=(e=this.shadowRoot)==null?void 0:e.querySelector(fr),r=(t=this.shadowRoot)==null?void 0:t.querySelector(pr),i=(n==null?void 0:n.assignedElements())??[],a=(r==null?void 0:r.assignedElements())??[];for(let e of i)e.style.setProperty(`--top-left-corner-radius`,`16px`),e.style.setProperty(`--top-right-corner-radius`,`16px`),this.isEntireAnnotationTappable||this.makeHighlightable(e);for(let e of a)e.style.setProperty(`--bottom-left-corner-radius`,`16px`),e.style.setProperty(`--bottom-right-corner-radius`,`16px`),this.isEntireAnnotationTappable||this.makeHighlightable(e);this.updateArrowColor()}updateArrowColor(){this.style.removeProperty(mr),this.header||this.footer?this.header&&this.anchor.startsWith(`top`)?this.style.setProperty(mr,`#${this.header.backgroundColor.toJSON()}`):this.footer&&this.anchor.startsWith(`bottom`)&&this.style.setProperty(mr,`#${this.footer.backgroundColor.toJSON()}`):this.body.length>0&&!this.header&&!this.footer&&this.style.setProperty(mr,`#${this.backgroundColor.toJSON()}`)}makeHighlightable(e){var t;let n=e.classList.contains(`container`)?e:(t=e.shadowRoot)==null?void 0:t.querySelector(`.container`);if(!n||this.highlightableElementListenerMap.has(n))return;let r=()=>{n.classList.add(`highlighted`)},i=()=>{n.classList.remove(`highlighted`)};n.addEventListener(`pointerdown`,r),n.addEventListener(`pointerup`,i),this.highlightableElementListenerMap.set(n,{pointerdown:r,pointerup:i})}onPointerUp(e){var n,r,i;let a=(n=e.target)==null?void 0:n.closest(sr.tag),o=(r=e.target)==null?void 0:r.closest(or.tag),s=(i=e.target)==null?void 0:i.closest(`${Gn.tag} ${t.ScanditIcon.tag}`),c=new CustomEvent(`BarcodeArInfoAnnotationEventTap`,{bubbles:!0});if(a){var l,ee;(l=this.listener)==null||(ee=l.onInfoAnnotationHeaderTapped)==null||ee.call(l,this),this.dispatchEvent(c)}if(o){var u,d;(u=this.listener)==null||(d=u.onInfoAnnotationFooterTapped)==null||d.call(u,this),this.dispatchEvent(c)}if((s==null?void 0:s.slot)===`left-barcode-icon`){let e=this.body.findIndex(e=>e.contains(s));if(this.body[e].isLeftIconTappable){var te,f;(te=this.listener)==null||(f=te.onInfoAnnotationLeftIconTapped)==null||f.call(te,this,this.body[e],e),this.dispatchEvent(c)}}if((s==null?void 0:s.slot)===`right-barcode-icon`){let e=this.body.findIndex(e=>e.contains(s));if(this.body[e].isRightIconTappable){var p,m;(p=this.listener)==null||(m=p.onInfoAnnotationRightIconTapped)==null||m.call(p,this,this.body[e],e),this.dispatchEvent(c)}}if(this.isEntireAnnotationTappable){var h,g;(h=this.listener)==null||(g=h.onInfoAnnotationTapped)==null||g.call(h,this),this.dispatchEvent(c)}}};hr.tag=`scandit-barcode-ar-info-annotation`;let gr=`--text-size`,_r=`--text-color`;var vr=class e extends c.ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<button type="button" role="button" class="container"><slot name="barcode-icon"></slot><slot name="text"></slot></button>`,t.append(e.createStyleElement().cloneNode(!0)),this.containerElement=t.querySelector(`.container`),this.containerElement.style.setProperty(gr,`10px`),this.containerElement.style.setProperty(_r,`#${d.gray900.toJSON()}`)}set textSize(e){this.containerElement.style.setProperty(gr,`${e}px`)}get textSize(){let e=this.containerElement.style.getPropertyValue(gr).replace(`px`,``);return Number.parseInt(e,10)}set textColor(e){this.containerElement.style.setProperty(_r,`#${e.toJSON()}`)}get textColor(){let e=this.containerElement.style.getPropertyValue(_r);return t.Color.fromHex(e)}get text(){var e;let t=(e=this.containerElement.querySelector(`slot[name='text']`))==null?void 0:e.assignedSlot;return(t==null?void 0:t.textContent)??``}set disabled(e){this.containerElement.disabled=e}get disabled(){return this.containerElement.disabled}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static create(t,n){e.register();let r=document.createElement(e.tag);if(t.slot=`barcode-icon`,t.width=24,t.height=24,n!=null){let e=document.createElement(`span`);e.slot=`text`,e.textContent=n,r.append(e)}return r.append(t),r}static createStyleElement(){return c.css`.container{align-items:center;-webkit-appearance:none;background-color:initial;border:none;color:var(--text-color);display:flex;flex-direction:column;font-family:SF Pro Text,sans-serif;font-size:var(--text-size);gap:6px;justify-content:center;margin:0;padding:10px;transition:background-color .1s ease-in-out}.container:hover{background-color:#e0e0e0}.container:active{background-color:#ccc}`}};vr.tag=`scandit-barcode-ar-popover-button-annotation`;let yr=function(e){return e[e.Top=`top-center`]=`Top`,e[e.Bottom=`bottom-center`]=`Bottom`,e[e.Left=`left-center`]=`Left`,e[e.Right=`right-center`]=`Right`,e}({});var br=class e extends c.ScanditHTMLElement{constructor(){super(),this.isEntirePopoverTappable=!1,this.annotationTrigger=`highlightTap`,this.onPointerUpListener=this.onPointerUp.bind(this),this.anchor=yr.Bottom;let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<div class="container" role="group"><slot></slot></div>`,t.append(e.createStyleElement().cloneNode(!0))}updatePosition(e,t,n){lr(this,e,t,0)}get barcode(){return this._barcode}set barcode(e){this._barcode=e}set direction(e){this.setAttribute(`direction`,e)}get direction(){return this.getAttribute(`direction`)??`horizontal`}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static create(t){e.register();let n=document.createElement(e.tag);return n.barcode=t,n}static createStyleElement(){return c.css`:host{background-color:unset;border:none;border-radius:14px;margin:0;overflow:hidden;padding:0}:host([direction=horizontal]) .container{flex-direction:row}:host([direction=vertical]) .container{flex-direction:column}.container{backdrop-filter:blur(16px);background:#ffffffb3;box-shadow:0 6px 10px 4px #12161926;display:flex;gap:14px}`}connectedCallback(){let e=Array.from(this.querySelectorAll(vr.tag));for(let[t,n]of Object.entries(e))n.setAttribute(`data-position`,t);this.addEventListener(`pointerup`,this.onPointerUpListener)}disconnectedCallback(){this.removeEventListener(`pointerup`,this.onPointerUpListener)}onPointerUp(e){var t,n,r;if(this.isEntirePopoverTappable){var i,a;(i=this.listener)==null||(a=i.onPopoverTapped)==null||a.call(i,this);return}let o=(t=e.target)==null?void 0:t.closest(vr.tag);o&&((n=this.listener)==null||(r=n.onPopoverButtonTapped)==null||r.call(n,this,o,Number(o.getAttribute(`data-position`))))}};br.tag=`scandit-barcode-ar-popover-annotation`;var xr=class e extends c.ScanditHTMLElement{constructor(){super();let n=this.attachShadow({mode:`open`});n.append(e.createStyleElement().cloneNode(!0));let r=document.createElement(`div`);r.id=`root`,r.innerHTML=c.html`<slot></slot><div class="controls-wrapper"><div class="controls top"><div class="control left"><slot name="controls-${t.Anchor.TopLeft}"></slot></div><div class="control center"><slot name="controls-${t.Anchor.TopCenter}"></slot></div><div class="control right"><slot name="controls-${t.Anchor.TopRight}"></slot></div></div><div class="controls center"><div class="control left"><slot name="controls-${t.Anchor.CenterLeft}"></slot></div><div class="control right"><slot name="controls-${t.Anchor.CenterRight}"></slot></div></div><div class="controls bottom"><div class="control left"><slot name="controls-${t.Anchor.BottomLeft}"></slot></div><div class="control center"><slot name="controls-${t.Anchor.BottomCenter}"></slot></div><div class="control right"><slot name="controls-${t.Anchor.BottomRight}"></slot></div></div></div>`,n.append(r)}static create(){return e.register(),document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{position:relative}:host #root{height:100%}.controls-wrapper{box-sizing:border-box;flex-direction:column;gap:.5rem;height:100%;margin:0 auto;max-width:960px;padding:1rem}.controls,.controls-wrapper{display:flex;justify-content:space-between}.controls{align-items:center;flex-direction:row}.controls.top{align-items:start}.controls.center{align-items:center}.controls.bottom{align-items:end}.control{display:flex;flex-direction:column}::slotted([hidden]){display:none}`}};xr.tag=`scandit-check-layout`;let Sr=function(e){return e.Dot=`dot`,e.Icon=`icon`,e}({}),Cr=t.Color.fromHex(`#00FFFF`),wr=Cr.withAlpha(0);var Tr=class e extends p.ScanditHTMLElement{set isPulsing(e){this._isPulsing=e,this.toggleAttribute(`pulse`,e)}get isPulsing(){return this._isPulsing}set icon(e){var n;(n=this._icon)==null||n.remove(),this._icon=e,e&&this.preset===`icon`&&(e.backgroundShape=t.ScanditIconShape.Circle,this.append(e),this.updateBrush(),this.updateSize())}get icon(){return this._icon}constructor(){super(),this._isPulsing=!1,this._icon=null,this.dot=null,this._brush=new t.Brush(Cr.withAlpha(.45),t.Color.fromHex(`#00FFFF`),2);let n=this.attachShadow({mode:`open`});n.innerHTML=h.html`<slot></slot>`,n.append(e.createStyleElement().cloneNode(!0))}set barcode(e){this._barcode=e}get barcode(){return this._barcode}set brush(e){this._brush=e,this.updateBrush()}get brush(){return this._brush}set size(e){this._size=e,this.updateSize()}get size(){return this._size===void 0?this.preset===`dot`?26:32:this._size}static create(t,n){e.register();let r=document.createElement(e.tag);return r.barcode=t,r.preset=n,r}static register(){(0,m.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return se.css`:host{border-radius:50%;display:inline-flex;--fill:#${Cr.toJSON()};--fill-no-opacity:#${wr.toJSON()};--size:20px}:host([pulse]){animation:pulse 1.5s infinite}:host(:not([pulse])){animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--fill)}70%{box-shadow:0 0 0 var(--size) var(--fill-no-opacity)}to{box-shadow:0 0 0 0 var(--fill-no-opacity)}}`}async connectedCallback(){this.brushBuilder=new t.ScanditIconBuilder().withBackgroundShape(t.ScanditIconShape.Circle).withBackgroundColor(this.brush.fillColor).withBackgroundStrokeColor(this.brush.strokeColor).withBackgroundStrokeWidth(this.brush.strokeWidth),this.dot=await this.brushBuilder.build(),this.preset===`dot`?this.append(this.dot):this.preset===`icon`&&this._icon!=null&&(this._icon.backgroundShape=t.ScanditIconShape.Circle,this.append(this._icon)),this.updateBrush(),this.updateSize()}updateSize(){this.dot&&(this.dot.width=this.size,this.dot.height=this.size),this.icon&&(this.icon.width=this.size,this.icon.height=this.size),this.style.setProperty(`--size`,`${this.size*9/10}px`)}updateBrush(){this.dot&&(this.dot.backgroundColor=this._brush.fillColor,this.dot.backgroundStrokeColor=this._brush.strokeColor,this.dot.backgroundStrokeWidth=this._brush.strokeWidth),this.icon&&(this.icon.backgroundColor=this._brush.fillColor,this.icon.backgroundStrokeColor=this._brush.strokeColor,this.icon.backgroundStrokeWidth=this._brush.strokeWidth),this.style.setProperty(`--fill`,`#${this._brush.fillColor.toJSON()}`),this.style.setProperty(`--fill-no-opacity`,`#${this._brush.fillColor.withAlpha(0).toJSON()}`)}updatePosition(e,t,n){lr(this,e,t,0)}};Tr.tag=`scandit-barcode-ar-circle-highlight`;var $=class e extends p.ScanditHTMLElement{constructor(){super(),this._brush=new t.Brush(t.Color.fromHex(`#00FFFF`).withAlpha(.45),t.Color.fromHex(`#00FFFF`),2),this._icon=null;let n=this.attachShadow({mode:`open`});n.innerHTML=c.html`<div class="container"><slot></slot></div>`,n.append(e.createStyleElement().cloneNode(!0))}connectedCallback(){this.setStylePropertyValue(e.widthCssVariable,`32px`),this.setStylePropertyValue(e.heightCssVariable,`32px`),this.setStylePropertyValue(e.backgroundColorCssVariable,`#${this._brush.fillColor.toJSON()}`),this.setStylePropertyValue(e.strokeColorCssVariable,`#${this._brush.strokeColor.toJSON()}`),this.setStylePropertyValue(e.strokeWidthCssVariable,`${this._brush.strokeWidth}px`)}set barcode(e){this._barcode=e}get barcode(){return this._barcode}set brush(e){this._brush=e,this.updateBrushColor()}get brush(){return this._brush}set icon(e){var t;(t=this._icon)==null||t.remove(),this._icon=null,e!=null&&(this._icon=e,this.append(this._icon))}get icon(){return this._icon}set width(t){this.setStylePropertyValue(e.widthCssVariable,`${t}px`)}set height(t){this.setStylePropertyValue(e.heightCssVariable,`${t}px`)}get height(){let t=this.getStylePropertyValue(e.heightCssVariable).replace(`px`,``);return Number.parseInt(t,10)}get width(){let t=this.getStylePropertyValue(e.widthCssVariable).replace(`px`,``);return Number.parseInt(t,10)}static create(t){e.register();let n=document.createElement(e.tag);return n.barcode=t,n}static register(){(0,m.defineCustomElements)({[e.tag]:e})}updateBrushColor(){this.setStylePropertyValue(e.backgroundColorCssVariable,`#${this._brush.fillColor.toJSON()}`),this.setStylePropertyValue(e.strokeColorCssVariable,`#${this._brush.strokeColor.toJSON()}`),this.setStylePropertyValue(e.strokeWidthCssVariable,`${this._brush.strokeWidth}px`)}setStylePropertyValue(e,t){this.style.setProperty(e,t)}getStylePropertyValue(e){return this.style.getPropertyValue(e)}static createStyleElement(){return c.css`:host{--width:32px;--height:32px;--background-color:#00ffff73;--stroke-color:#0ff;--stroke-width:2px}:host([hidden]){display:none}.container{align-items:center;background-color:var(--background-color);border:var(--stroke-width) solid var(--stroke-color);display:flex;height:calc(var(--height) - var(--stroke-width));justify-content:center;position:relative;width:calc(var(--width) - var(--stroke-width))}::slotted(*){left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}`}updatePosition(e,t,n){lr(this,e,t,n)}};$.tag=`scandit-barcode-ar-rectangle-highlight`,$.widthCssVariable=`--width`,$.heightCssVariable=`--height`,$.backgroundColorCssVariable=`--background-color`,$.strokeColorCssVariable=`--stroke-color`,$.strokeWidthCssVariable=`--stroke-width`;var Er=class e extends t.ScanditHTMLElement{constructor(...e){super(...e),this._annotationsWithThreshold=[],this._currentAnnotation=null}static register(){(0,m.defineCustomElements)({[e.tag]:e})}static create(t,n,r){let i=document.createElement(e.tag);i._barcode=t;let a=n===null||n instanceof hr?{[e.threshold]:r??null,1:n}:n;i._annotationsWithThreshold=e.dropOutOfBoundThresholds(a);let o=i._annotationsWithThreshold.length-1,s=i._annotationsWithThreshold[o];i._currentAnnotation=s?s.annotation:null;for(let e of i.getChildAnnotations())e.hidden=!0;return i}static isValidThreshold(e){return Number.isFinite(e)&&e>0&&e<=1}static dropOutOfBoundThresholds(n){let r=[],i=[];for(let t of Object.keys(n)){let a=Number(t);e.isValidThreshold(a)?i.push({threshold:a,annotation:n[a]}):r.push(a)}if(r.length>0&&t.Logger.warn(`BarcodeArResponsiveAnnotation: ignoring thresholds outside (0, 1]: ${r.join(`, `)}.`),i.sort((e,t)=>e.threshold-t.threshold),i.length>0){let e=i.length-1;i[e].threshold=1}return i}get barcode(){return this._barcode}get annotationTrigger(){var e;return((e=this._currentAnnotation)==null?void 0:e.annotationTrigger)??`highlightTapAndBarcodeScan`}set annotationTrigger(e){for(let t of this.getChildAnnotations())t.annotationTrigger=e}set anchor(e){for(let t of this.getChildAnnotations())t.anchor=e}get anchor(){var e;return((e=this._currentAnnotation)==null?void 0:e.anchor)??void 0}updatePosition(e,t,n){this.updateAnnotationVisibility(),lr(this,e,t)}updateForAreaRatio(e){if(!Number.isFinite(e))return;let t=(0,l.clamp)(e,0,1),n=this.selectAnnotation(t);n!==this._currentAnnotation&&(this._currentAnnotation=n,this.updateAnnotationVisibility())}selectAnnotation(e){for(let t of this._annotationsWithThreshold)if(t.threshold>=e)return t.annotation;let t=this._annotationsWithThreshold.length-1,n=this._annotationsWithThreshold[t];return n?n.annotation:null}getChildAnnotations(){let e=new Set;for(let t of this._annotationsWithThreshold)t.annotation!=null&&e.add(t.annotation);return Array.from(e)}updateAnnotationVisibility(){for(let e of this.getChildAnnotations())e.hidden=e!==this._currentAnnotation}static get threshold(){return e._threshold}static set threshold(t){e._threshold=t}connectedCallback(){this.append(...this.getChildAnnotations()),this.updateAnnotationVisibility()}disconnectedCallback(){for(let e of this.getChildAnnotations())e.remove()}};Er.tag=`scandit-barcode-ar-responsive-annotation`,Er._threshold=.1;let Dr={async highlightForBarcode(e,t){t($.create(e))}};var Or=class e extends p.ScanditHTMLElement{constructor(...e){super(...e),this.torchSwitchIconButton=null,this.cameraSwitchButton=null,this.zoomSwitchControl=null,this._shouldShowTorchControl=!1,this._isTorchAvailable=!1,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(e){var t;let n=(t=this.zoomSwitchControl)==null?void 0:t.zoomSwitchPill;n&&(n.hidden=!e)}get shouldShowZoomControl(){var e;let t=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill;return t?!t.hidden:!1}set shouldShowCameraSwitchControl(e){this.cameraSwitchButton&&(this.cameraSwitchButton.hidden=!e)}get shouldShowCameraSwitchControl(){return this.cameraSwitchButton!==null&&!this.cameraSwitchButton.hidden}set shouldShowTorchControl(e){this.torchSwitchIconButton!==null&&(this._shouldShowTorchControl=e,this.torchSwitchIconButton.hidden=!(e&&this._isTorchAvailable))}get shouldShowTorchControl(){return this._shouldShowTorchControl}set torchControlPosition(e){var n;(n=this.torchSwitchIconButton)==null||n.setAttribute(`slot`,`controls-${e===t.Anchor.Center?t.Anchor.TopLeft:e}`)}get torchControlPosition(){var e;let n=((e=this.torchSwitchIconButton)==null?void 0:e.getAttribute(`slot`))??``;return n===``?t.Anchor.TopLeft:n.replace(`controls-`,``)}set zoomControlPosition(e){var n;let r=(n=this.zoomSwitchControl)==null?void 0:n.zoomSwitchPill;r==null||r.setAttribute(`slot`,`controls-${e===t.Anchor.Center?t.Anchor.BottomRight:e}`)}get zoomControlPosition(){var e;let n=(e=this.zoomSwitchControl)==null?void 0:e.zoomSwitchPill,r=(n==null?void 0:n.getAttribute(`slot`))??``;return r===``?t.Anchor.BottomRight:r.replace(`controls-`,``)}set cameraSwitchControlPosition(e){var n;(n=this.cameraSwitchButton)==null||n.setAttribute(`slot`,`controls-${e===t.Anchor.Center?t.Anchor.TopRight:e}`)}get cameraSwitchControlPosition(){var e;let n=((e=this.cameraSwitchButton)==null?void 0:e.getAttribute(`slot`))??``;return n===``?t.Anchor.TopRight:n.replace(`controls-`,``)}get logoStyle(){return this.dataCaptureView.logoStyle}set logoStyle(e){this.dataCaptureView.logoStyle=e}get logoAnchor(){return this.dataCaptureView.logoAnchor}set logoAnchor(e){this.dataCaptureView.logoAnchor=e}get logoOffset(){return this.dataCaptureView.logoOffset}set logoOffset(e){this.dataCaptureView.logoOffset=e}static async createWithSettings(n,r,i,a,o){e.register();let s=document.createElement(e.tag);return s.barcodeArViewSettings=a,s.layout=xr.create(),s.append(s.layout),Sn(n)?(s.dataCaptureView=n,s.dataCaptureView.containerElement.prepend(s),await n.setContext(r)):(s.dataCaptureView=await t.DataCaptureView.forContext(r),s.dataCaptureView.connectToElement(n),s.dataCaptureView.containerElement.prepend(s)),s.presenter=new Rn(s,r,i,a,o??In.createRecommendedCameraSettings()),await s.presenter.prepare(),await s.installZoomControl(),s}static async create(t,n,r){return e.createWithSettings(t,n,r,new zn)}static register(){(0,m.defineCustomElements)({[xr.tag]:xr,[Un.tag]:Un,[_.TorchSwitchIconButton.tag]:_.TorchSwitchIconButton,[e.tag]:e,[oe.Backdrop.tag]:oe.Backdrop,[Er.tag]:Er})}static createStyleElement(){return se.css`[data-could-be-deleted=true]{display:none!important}[data-on-foreground=true]{z-index:3}${e.tag}{inset:0;position:absolute;z-index:1}`}getHighlightForBarcode(e){return this.queryHighlightByDataId(Vn(e))}getAnnotationForBarcode(e){return this.queryAnnotationByDataId(Vn(e))}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(e){this._isTorchAvailable=e,this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.hidden=!(this._shouldShowTorchControl&&this._isTorchAvailable))}toggleTorchIcon(e){this.torchSwitchIconButton!==null&&(this.torchSwitchIconButton.state=e)}onTorchButtonClick(){this.presenter.onTorchButtonClicked()}onCameraSwitchButtonClick(){this.presenter.onCameraSwitchButtonClicked()}async installZoomControl(){this.zoomSwitchControl=new t.ZoomSwitchControl,await this.zoomSwitchControl.install(this.dataCaptureView);let e=this.zoomSwitchControl.zoomSwitchPill;e&&(e.setAttribute(`slot`,`controls-${t.Anchor.BottomRight}`),e.hidden=!0,this.layout.append(e))}connectedCallback(){this.torchSwitchIconButton=_.TorchSwitchIconButton.create(),this.torchSwitchIconButton.shadow=!0,this.torchSwitchIconButton.size=36,this.torchSwitchIconButton.slot=`controls-${this.torchControlPosition}`,this.torchSwitchIconButton.hidden=!0,this.torchSwitchIconButton.addEventListener(`pointerdown`,this.onTorchButtonClickHandler),this.cameraSwitchButton=Un.create(),this.cameraSwitchButton.slot=`controls-${this.cameraSwitchControlPosition}`,this.cameraSwitchButton.hidden=!0,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=oe.Backdrop.create(),this.layout.append(this.backdrop),this.pendingDeletionTimeout=new u.Timeout(1e3,()=>{this.deletePendingViews()}),this.prepend(e.createStyleElement())}disconnectedCallback(){var e,t,n;this.deleteAllViews(),this.presenter.release(),(e=this.torchSwitchIconButton)==null||e.removeEventListener(`pointerdown`,this.onTorchButtonClickHandler),(t=this.cameraSwitchButton)==null||t.removeEventListener(`pointerdown`,this.onCameraSwitchButtonHandler),(n=this.zoomSwitchControl)==null||n.remove(),this.layout.removeEventListener(`pointerdown`,this.onLayoutPointerDownHandler),this.layout.removeEventListener(`BarcodeArInfoAnnotationEventTap`,this.onInfoAnnotationTapHandler)}isPopoverAnnotation(e){return e instanceof br}isAnnotation(e){var t;return((t=e.dataset)==null?void 0:t.identifier)!=null&&e.dataset.identifier.endsWith(`-annotation`)}areMultiplePopoverAllowed(){for(let e of this.layout.querySelectorAll(`[data-identifier$='-annotation']`))if(e&&this.isPopoverAnnotation(e)&&e.annotationTrigger===`highlightTapAndBarcodeScan`)return!0;return!1}async onLayoutPointerDown(e){let t=e.target,n=t==null?void 0:t.closest(`[data-identifier$='-highlight']`),r=t==null?void 0:t.closest(br.tag);if((n==null?void 0:n.dataset.id)!=null){await this.handleHighlightClick(n);return}if((r==null?void 0:r.dataset.id)!=null){await this.handleAnnotationClick(r);return}await this.handleClickOutside()}async handleHighlightClick(e){var t;this.presenter.emitTappedFeedback(),(t=this.listener)==null||t.didTapHighlightForBarcode(this.presenter.barcodeAr,e.barcode,e);let n=this.queryAnnotationByDataIdentifier(e.dataset.identifier.replace(`-highlight`,``));!n||n.annotationTrigger===`barcodeScan`||(this.isPopoverAnnotation(n)?await this.handlePopoverHighlightClick(n,e):n.hidden=!n.hidden)}async handlePopoverHighlightClick(e,t){if(!this.areMultiplePopoverAllowed()){var n;let e=this.layout.querySelector(`${br.tag}[data-on-foreground="true"]`),t=e==null||(n=e.dataset.identifier)==null?void 0:n.replace(`-annotation`,`-highlight`),r=this.layout.querySelector(`[data-identifier="${t}"]`);e!=null&&r!=null&&await this.hideBarcodeArPopover(e,r,!1)}await this.toggleBarcodeArPopover(e,t)}async handleAnnotationClick(e){var t;let n=(t=e.dataset.identifier)==null?void 0:t.replace(`-annotation`,`-highlight`),r=this.layout.querySelector(`[data-identifier="${n}"]`);r&&await this.toggleBarcodeArPopover(e,r)}async handleClickOutside(){var e;if(this.areMultiplePopoverAllowed())return;let t=this.layout.querySelector(`${br.tag}[data-on-foreground="true"]`);if(!t)return;let n=(e=t.dataset.identifier)==null?void 0:e.replace(`-annotation`,`-highlight`),r=this.layout.querySelector(`[data-identifier="${n}"]`);r&&await this.hideBarcodeArPopover(t,r)}onInfoAnnotationTap(){this.presenter.emitTappedFeedback()}async showBarcodeArPopover(e,t){e.dataset.onForeground=`true`,e.hidden=!1,t.dataset.onForeground=`true`,this.backdrop.open=!0}async hideBarcodeArPopover(e,t,n=!0){e.dataset.onForeground=`false`,e.hidden=!0,t&&(t.dataset.onForeground=`false`),n&&this.hideBackdropIfNoPopovers()}hideBackdropIfNoPopovers(){[...this.layout.querySelectorAll(`${br.tag}`)].every(e=>e.hidden)&&(this.backdrop.open=!1)}async toggleBarcodeArPopover(e,t){e.hidden?await this.showBarcodeArPopover(e,t):await this.hideBarcodeArPopover(e,t)}deleteAllViews(){for(let e of this.layout.querySelectorAll(`[data-identifier]`))e.remove()}deletePendingViews(){for(let e of this.layout.querySelectorAll(`[data-could-be-deleted='true']`))e.remove();this.hideBackdropIfNoPopovers()}identifierForHighlight(e){return`${e}-highlight`}identifierForAnnotation(e){return`${e}-annotation`}async onHighlightsOrAnnotationForTrackedBarcode(e){var t,n;await((t=this.highlightProvider??Dr)==null?void 0:t.highlightForBarcode(e.barcode,async t=>this.onHighlight(e,t))),await((n=this.annotationProvider)==null?void 0:n.annotationForBarcode(e.barcode,async t=>this.onAnnotation(e,t)))}async onAnnotation(e,t){let n=t,r=Vn(e.barcode);this.updateExistingAnnotation(r)||(await this.setupNewAnnotation(n,r,e),this.updateAnnotationPosition(e,n))}updateExistingAnnotation(e){let t=this.queryAnnotationByDataId(e);return t?(t.dataset.couldBeDeleted=`false`,!0):!1}async setupNewAnnotation(e,n,r){if(e.dataset.id=n,e.dataset.identifier=this.identifierForAnnotation(r.identifier),e.hidden=!0,this.layout.append(e),this.isPopoverAnnotation(e)){if(e.direction=t.Direction.Vertical,e.anchor??=`bottom-center`,this.areMultiplePopoverAllowed()||e.annotationTrigger===`highlightTapAndBarcodeScan`){let t=this.queryHighlightByDataId(n);t&&await this.showBarcodeArPopover(e,t)}}else e.hidden=e.annotationTrigger===`highlightTap`}getAreaRatioForQuad(e){let t=e.anchorPositions,n=(0,ce.calculateArea)(t),r=this.dataCaptureView.width*this.dataCaptureView.height;return n<=0||r<=0?NaN:(0,l.clamp)(n/r,0,1)}async onHighlight(e,t){let n=Vn(e.barcode),r=this.queryHighlightByDataId(n);r?r.dataset.couldBeDeleted=`false`:(t.dataset.id=n,t.dataset.identifier=this.identifierForHighlight(e.identifier),this.updateHighlightPosition(e,t),this.layout.append(t))}queryHighlightByDataIdentifier(e){return this.layout.querySelector(`[data-identifier$="${e}-highlight"]`)}queryAnnotationByDataIdentifier(e){return this.layout.querySelector(`[data-identifier$="${e}-annotation"]`)}queryHighlightByDataId(e){return this.layout.querySelector(`[data-identifier$="-highlight"][data-id="${e}"]`)}queryAnnotationByDataId(e){return this.layout.querySelector(`[data-identifier$="-annotation"][data-id="${e}"]`)}updateRemovedTrackedBarcodes(e){var t;let n=this.querySelectorAll(`[data-identifier]`);if(Object.keys(e.allTrackedBarcodes).length===0){var r;for(let e of n)e.dataset.couldBeDeleted=`true`;if(!((r=this.pendingDeletionTimeout)!=null&&r.running)){var i;(i=this.pendingDeletionTimeout)==null||i.start()}return}let a=new Set(e.removedTrackedBarcodes);for(let e of n){var o;let t=(o=e.dataset.identifier)==null?void 0:o.replace(`-highlight`,``).replace(`-annotation`,``);t!=null&&a.has(t)&&(e.dataset.couldBeDeleted=`true`)}if(!((t=this.pendingDeletionTimeout)!=null&&t.running)){var s;(s=this.pendingDeletionTimeout)==null||s.start()}}render(e){for(let[t,n]of Object.entries(e.allTrackedBarcodes)){e.addedTrackedBarcodes[t]!=null&&this.onHighlightsOrAnnotationForTrackedBarcode(n);let r=Vn(n.barcode),i=this.queryAnnotationByDataId(r),a=this.queryHighlightByDataId(r);a&&(this.updateBrushSize(a,n),this.updateHighlightPosition(n,a)),i&&this.updateAnnotationPosition(n,i,a)}this.updateRemovedTrackedBarcodes(e)}updateHighlightPosition(e,n,r=`center`){if(n.hidden)return;let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions),a=this.normalizedViewPointFromFrameAnchorPositions(i,r);n.updatePosition(a,new t.Point(-50,-50),this.calculateRotationAngle(i.topLeft,i.topRight))}updateBrushSize(e,t){if(e.width==null||e.height==null)return;let n=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),r=Math.round((0,ce.calculateWidth)(n)),i=Math.round((0,ce.calculateHeight)(n));e.width!==r&&(e.width=r),e.height!==i&&(e.height=i)}getTransformOrigin(e){return{"top-center":new t.Point(-50,0),"bottom-center":new t.Point(-50,-100),"left-center":new t.Point(0,-50),"right-center":new t.Point(-100,-50)}[e]}calculateAnnotationPosition(e,n,r){let i=e.orderVerticesByPosition(),a=this.normalizedViewPointFromFrameAnchorPositions(e,`center`),o={"bottom-center":()=>{let e=this.normalizedViewPointFromFrameAnchorPositions(i,`topCenter`);return new t.Point(e.x,e.y-7)},"top-center":()=>{let e=this.normalizedViewPointFromFrameAnchorPositions(i,`bottomCenter`);return new t.Point(e.x,e.y+7)},"right-center":()=>{let e=this.normalizedViewPointFromFrameAnchorPositions(i,`centerLeft`);return new t.Point(e.x-7,e.y)},"left-center":()=>{let e=this.normalizedViewPointFromFrameAnchorPositions(i,`centerRight`);return new t.Point(e.x+7,e.y)}}[n]();return r?(r instanceof Tr,{"bottom-center":new t.Point(a.x,a.y-7-r.clientHeight/2),"top-center":new t.Point(a.x,a.y+7+r.clientHeight/2),"right-center":new t.Point(a.x-7-r.clientWidth/2,a.y),"left-center":new t.Point(a.x+7+r.clientWidth/2,a.y)}[n]??o):o}updateAnnotationPosition(e,t,n){var r;let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions);t.anchor||=`top-center`,(r=t.updateForAreaRatio)==null||r.call(t,this.getAreaRatioForQuad(e));let a=this.getTransformOrigin(t.anchor),o=this.calculateAnnotationPosition(i,t.anchor,n);t.updatePosition(o,a,this.calculateRotationAngle(i.topLeft,i.topRight))}normalizedViewPointFromFrameAnchorPositions(e,n=`center`){let r=this.presenter.currentCamera.getMirrorImageEnabled(),i=new t.Size(this.dataCaptureView.width,this.dataCaptureView.height);if(r){let r=e[{centerLeft:`centerRight`,centerRight:`centerLeft`,center:`center`,topCenter:`topCenter`,bottomCenter:`bottomCenter`}[n]];return t.Point.mirrorX(r,i)}return e[n]}calculateRotationAngle(e,t){let n=t.x-e.x,r=this.presenter.isCameraMirrored()?-(t.y-e.y):t.y-e.y;return Math.round(180/Math.PI*Math.atan2(r,n))}};Or.tag=`scandit-barcode-ar-view`;var kr=class e extends c.ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:`open`});t.innerHTML=c.html`<div class="container"><span class="ghost-arrow arw-bottom-center"></span><div class="icon-container"><slot name="barcode-icon"></slot></div><span class="text"></span></div>`,this.containerElement=t.querySelector(`.container`),this.textContainer=this.containerElement.querySelector(`.text`),t.append(e.createStyleElement().cloneNode(!0)),t.append(cr())}set text(e){this.updateText(e)}get text(){return this.textContainer.textContent??``}set tip(e){this.toggleTip(e)}get tip(){var e;return((e=this.containerElement.querySelector(`.ghost-arrow`))==null?void 0:e.classList.value.includes(`arw-`))??!1}set textColor(e){this.style.setProperty(`--text-color`,`#${e.toJSON()}`)}get textColor(){return t.Color.fromJSON(this.style.getPropertyValue(`--text-color`))}set expanded(e){this.toggleAttribute(`expanded`,e)}set backgroundColor(e){this.style.setProperty(`--background-color`,`#${e.toJSON()}`),this.style.setProperty(`--arrow-background-color`,`#${e.toJSON()}`)}get backgroundColor(){let e=this.style.getPropertyValue(`--background-color`);return t.Color.fromJSON(e===``?`FFFFFF`:e)}get expanded(){return this.hasAttribute(`expanded`)}static create(){return document.createElement(e.tag)}static register(){(0,c.defineCustomElements)({[e.tag]:e})}static createStyleElement(){return c.css`:host{display:inline-flex;--size:32px;--padding:0px;--background-color:#fff;--text-color:#${d.gray900.toJSON()};--expanded-width:190px;--arrow-size:calc(var(--size)/5);--arrow-background-color:#fff;--arrow-offset:0px;cursor:pointer;font-family:SF Pro Text,sans-serif;font-size:1rem;font-style:normal;font-weight:600;transition:transform .25s ease-in-out;user-select:none;-webkit-tap-highlight-color:transparent}.ghost-arrow{height:var(--size);left:0;position:absolute;top:-2px;width:var(--size)}:host([hidden]){display:none}.container{background-color:var(--background-color);border-radius:calc(var(--size) + var(--padding)/2);box-shadow:0 1px 2px 0 #${d.gray900.withAlpha(.3).toJSON()};display:inline-flex;flex-direction:row;gap:10px;padding:var(--padding);position:relative;transition:width .25s ease-in-out;white-space:nowrap}.container,.icon-container{align-items:center;height:var(--size);width:var(--size)}.icon-container{display:flex;justify-content:center;position:absolute}.container span.text{color:var(--text-color);max-width:0;opacity:0;overflow:hidden;position:absolute;transform:translateX(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out,max-width .25s ease-in-out;white-space:nowrap}:host([expanded]) .container span.text{max-width:calc(var(--expanded-width) - var(--size) - 2px);opacity:1;transform:translateX(var(--size))}:host([expanded]){transform:translateX(calc(var(--expanded-width) - 50% - 2px - var(--size)/2))}:host([expanded]) .container{width:var(--expanded-width)}`}connectedCallback(){this.setAttribute(`tip`,`true`)}attributeChangedCallback(e,t,n){e===`text`?this.updateText(n):e===`tip`&&this.toggleTip(n===`true`||n===``)}updateText(e){this.textContainer.textContent=e.slice(0,20)}toggleTip(e){var t;(t=this.containerElement.querySelector(`.ghost-arrow`))==null||t.classList.toggle(`arw-bottom-center`,e)}};kr.tag=`scandit-status-icon-container`,kr.observedAttributes=[`text`,`tip`];let Ar=function(e){return e[e.Top=`top-center`]=`Top`,e[e.Bottom=`bottom-center`]=`Bottom`,e[e.Left=`left-center`]=`Left`,e[e.Right=`right-center`]=`Right`,e}({});var jr=class e extends p.ScanditHTMLElement{constructor(){super(),this.annotationTrigger=`highlightTapAndBarcodeScan`,this.anchor=Ar.Bottom,this.onToggleListener=this.onToggle.bind(this),this._backgroundColor=t.Color.fromHex(`#fff`),this._icon=null,this.statusIconContainer=kr.create()}get barcode(){return this._barcode}set barcode(e){this._barcode=e}set text(e){this.statusIconContainer.text=e}get text(){return this.statusIconContainer.text}set hasTip(e){this.statusIconContainer.toggleAttribute(`tip`,e)}get hasTip(){return this.statusIconContainer.hasAttribute(`tip`)}set icon(e){var t;(t=this.icon)==null||t.remove(),this._icon=e,e&&(e.slot=`barcode-icon`,e.width=24,e.height=24,e.setIconSize(16),this.statusIconContainer.append(e))}get icon(){return this.statusIconContainer.querySelector(t.ScanditIcon.tag)??this._icon}set backgroundColor(e){this._backgroundColor=e,this.statusIconContainer.backgroundColor=e}get backgroundColor(){return this.statusIconContainer.backgroundColor}set textColor(e){this.statusIconContainer.textColor=e}get textColor(){return this.statusIconContainer.textColor}static create(t){e.register();let n=document.createElement(e.tag);return n.barcode=t,n}static register(){(0,m.defineCustomElements)({[kr.tag]:kr,[e.tag]:e})}async connectedCallback(){if(!this._icon){let e=new t.ScanditIconBuilder().withIcon(t.ScanditIconType.ExclamationMark).withBackgroundShape(t.ScanditIconShape.Circle).withBackgroundColor(d.SecondaryOrange100).withIconColor(d.gray900).withWidth(24).withHeight(24).withIconSize(16);this._icon=await e.build()}this.icon=this._icon;let n=se.css`${e.tag}{align-items:center;display:flex;justify-content:center;min-height:48px;min-width:48px}`;this.append(n),this.append(this.statusIconContainer),this.statusIconContainer.append(this.icon),this.addEventListener(`pointerup`,this.onToggleListener)}disconnectedCallback(){this.removeEventListener(`pointerup`,this.onToggleListener)}onToggle(){this.statusIconContainer.expanded=!this.statusIconContainer.expanded}updatePosition(e,t,n){lr(this,e,t,n)}};jr.tag=`scandit-barcode-ar-status-icon-annotation`;var Mr=class e{constructor(){this.markerData=``,this.markerSize=0}get size(){return this.markerSize}get data(){return this.markerData}static create(t,n){let r=new e;return r.markerSize=t||0,r.markerData=n||``,r}toJSONObject(){return{markerData:this.markerData,markerSize:this.markerSize}}};e.ArucoDictionary=Ae,e.ArucoDictionaryPreset=je,e.ArucoMarker=Mr,e.Barcode=ve,e.BarcodeAr=In,e.BarcodeArAnnotationTrigger=Wn,e.BarcodeArCircleHighlight=Tr,e.BarcodeArCircleHighlightPreset=Sr,e.BarcodeArFeedback=Fn,e.BarcodeArInfoAnnotation=hr,e.BarcodeArInfoAnnotationAnchor=ur,e.BarcodeArInfoAnnotationBodyComponent=Gn,e.BarcodeArInfoAnnotationFooter=or,e.BarcodeArInfoAnnotationHeader=sr,e.BarcodeArInfoAnnotationWidthPreset=dr,e.BarcodeArPopoverAnnotation=br,e.BarcodeArPopoverAnnotationAnchor=yr,e.BarcodeArPopoverAnnotationButton=vr,e.BarcodeArRectangleHighlight=$,e.BarcodeArResponsiveAnnotation=Er,e.BarcodeArSession=An,e.BarcodeArSettings=Ln,e.BarcodeArStatusIconAnnotation=jr,e.BarcodeArStatusIconAnnotationAnchor=Ar,e.BarcodeArView=Or,e.BarcodeArViewSettings=zn,e.BarcodeBatch=xe,e.BarcodeBatchAdvancedOverlay=Ee,e.BarcodeBatchBasicOverlay=ke,e.BarcodeBatchBasicOverlayStyle=Oe,e.BarcodeBatchSession=ye,e.BarcodeBatchSettings=Ne,e.BarcodeCapture=Be,e.BarcodeCaptureFeedback=Pe,e.BarcodeCaptureOverlay=Ve,e.BarcodeCaptureSession=Ie,e.BarcodeCaptureSettings=Ue,e.BarcodeFind=fn,e.BarcodeFindItem=cn,e.BarcodeFindItemContent=un,e.BarcodeFindItemSearchOptions=ln,e.BarcodeFindSettings=pn,e.BarcodeFindView=En,e.BarcodeFindViewSettings=rn,e.BarcodeStatusIconContainer=kr,e.Checksum=ge,e.CompositeFlag=_e,e.CompositeType=he,e.EncodingRange=fe,e.LocalizedOnlyBarcode=Fe,e.Range=Me,e.ScanIntention=Re,e.SelectionMode=He,e.SparkScan=tt,e.SparkScanBarcodeErrorFeedback=pt,e.SparkScanBarcodeFeedback=D,e.SparkScanBarcodeSuccessFeedback=O,e.SparkScanMiniPreviewSize=$e,e.SparkScanPreviewBehavior=nt,e.SparkScanScanningBehavior=rt,e.SparkScanScanningMode=it,e.SparkScanScanningModeDefault=w,e.SparkScanScanningModeTarget=T,e.SparkScanSession=et,e.SparkScanSettings=ot,e.SparkScanToastSettings=st,e.SparkScanView=nn,e.SparkScanViewSettings=$t,e.SparkScanViewState=Ut,e.StructuredAppendData=pe,e.Symbology=me,e.SymbologyDescription=b,e.SymbologySettings=x,e.TrackedBarcode=y,e.TrackedBarcodeView=We,e.barcodeCaptureLoader=Qe});