@scandit/web-datacapture-label 7.6.12 → 7.6.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/build/js/api/LabelCaptureValidationFlowOverlay.js +1 -1
  2. package/build/js/chunks/{chunk-ZMRKSRX5.js → chunk-5EVCVAFQ.js} +1 -1
  3. package/build/js/chunks/chunk-7HELSJSR.js +1 -0
  4. package/build/js/chunks/{chunk-JW3CCI3H.js → chunk-J7TDBHLN.js} +1 -1
  5. package/build/js/chunks/{chunk-WNOIGJQF.js → chunk-KF2A3AR4.js} +1 -1
  6. package/build/js/chunks/{chunk-LRDD3QAU.js → chunk-V52RZ2EE.js} +1 -1
  7. package/build/js/index.js +1 -1
  8. package/build/js/moduleLoader.js +1 -1
  9. package/build/js/private/viewfinderTranslator.js +1 -1
  10. package/build/js/worker/LabelCaptureWorkerManager.js +1 -1
  11. package/build/js/worker/WorkerMain.js +1 -1
  12. package/build/js/worker/dataCaptureEngine.js +1 -1
  13. package/build/js/worker/labelCapture.inlineWorker.js +1 -1
  14. package/build/js/worker/proxies/AimerViewfinderProxy.js +1 -1
  15. package/build/js/worker/proxies/BarcodeFieldProxy.js +1 -1
  16. package/build/js/worker/proxies/CapturedLabelProxy.js +1 -1
  17. package/build/js/worker/proxies/CustomBarcodeProxy.js +1 -1
  18. package/build/js/worker/proxies/CustomTextProxy.js +1 -1
  19. package/build/js/worker/proxies/ExpiryDateTextProxy.js +1 -1
  20. package/build/js/worker/proxies/ImeiOneBarcodeProxy.js +1 -1
  21. package/build/js/worker/proxies/ImeiTwoBarcodeProxy.js +1 -1
  22. package/build/js/worker/proxies/LabelCaptureAdvancedOverlayProxy.js +1 -1
  23. package/build/js/worker/proxies/LabelCaptureBasicOverlayProxy.js +1 -1
  24. package/build/js/worker/proxies/LabelCaptureHelperProxy.js +1 -1
  25. package/build/js/worker/proxies/LabelCaptureOverlayHelperProxy.js +1 -1
  26. package/build/js/worker/proxies/LabelCaptureProxy.js +1 -1
  27. package/build/js/worker/proxies/LabelCaptureSessionProxy.js +1 -1
  28. package/build/js/worker/proxies/LabelCaptureSettingsProxy.js +1 -1
  29. package/build/js/worker/proxies/LabelDefinitionProxy.js +1 -1
  30. package/build/js/worker/proxies/LabelFieldDefinitionProxy.js +1 -1
  31. package/build/js/worker/proxies/LabelFieldLocationProxy.js +1 -1
  32. package/build/js/worker/proxies/LabelFieldProxy.js +1 -1
  33. package/build/js/worker/proxies/NativeProxy.js +1 -1
  34. package/build/js/worker/proxies/NoViewfinderProxy.js +1 -1
  35. package/build/js/worker/proxies/PackingDateTextProxy.js +1 -1
  36. package/build/js/worker/proxies/PartNumberBarcodeProxy.js +1 -1
  37. package/build/js/worker/proxies/RectangularViewfinderAnimationProxy.js +1 -1
  38. package/build/js/worker/proxies/RectangularViewfinderProxy.js +1 -1
  39. package/build/js/worker/proxies/SerialNumberBarcodeProxy.js +1 -1
  40. package/build/js/worker/proxies/TotalPriceTextProxy.js +1 -1
  41. package/build/js/worker/proxies/UnitPriceTextProxy.js +1 -1
  42. package/build/js/worker/proxies/ValidationFlowOverlayProxy.js +1 -1
  43. package/build/js/worker/proxies/ValidationFlowSettingsProxy.js +1 -1
  44. package/build/js/worker/proxies/WeightTextProxy.js +1 -1
  45. package/package.json +2 -2
  46. package/sdc-lib/scandit-datacapture-sdk-label-pthreads.js +1 -1
  47. package/sdc-lib/scandit-datacapture-sdk-label-pthreads.wasm +0 -0
  48. package/sdc-lib/scandit-datacapture-sdk-label-simd-pthreads.js +1 -1
  49. package/sdc-lib/scandit-datacapture-sdk-label-simd-pthreads.wasm +0 -0
  50. package/sdc-lib/scandit-datacapture-sdk-label-simd.js +1 -1
  51. package/sdc-lib/scandit-datacapture-sdk-label-simd.wasm +0 -0
  52. package/sdc-lib/scandit-datacapture-sdk-label.js +1 -1
  53. package/sdc-lib/scandit-datacapture-sdk-label.wasm +0 -0
  54. package/build/js/chunks/chunk-WBL75KP7.js +0 -1
@@ -1 +1 @@
1
- export{a as LabelCaptureValidationFlowOverlay}from'../chunks/chunk-JW3CCI3H.js';
1
+ export{a as LabelCaptureValidationFlowOverlay}from'../chunks/chunk-J7TDBHLN.js';
@@ -1 +1 @@
1
- import {a}from'./chunk-WNOIGJQF.js';import {a as a$1}from'./chunk-L6U6LZ6D.js';function l(){return {moduleName:"LabelCapture",load:async t=>{let e=t,r=await a.create({...e,libraryLocation:e.libraryLocation});return a$1.set("LabelCapture",r),r}}}export{l as a};
1
+ import {a}from'./chunk-KF2A3AR4.js';import {a as a$1}from'./chunk-L6U6LZ6D.js';function l(){return {moduleName:"LabelCapture",load:async t=>{let e=t,r=await a.create({...e,libraryLocation:e.libraryLocation});return a$1.set("LabelCapture",r),r}}}export{l as a};
@@ -0,0 +1 @@
1
+ var t={"scandit-datacapture-sdk-label-pthreads.wasm":{bytes:8119511},"scandit-datacapture-sdk-label-simd.wasm":{bytes:7939698},"scandit-datacapture-sdk-label.wasm":{bytes:8002417},"scandit-datacapture-sdk-label-simd-pthreads.wasm":{bytes:8056636}};export{t as a};
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-K546LWO4.js';import {a as a$2}from'./chunk-ZFSFV2DF.js';import {a}from'./chunk-3FUUGYCW.js';import {a as a$4}from'./chunk-K2TTSRPP.js';import {a as a$3}from'./chunk-ZQLGCNVJ.js';import {b}from'./chunk-47L7ORWZ.js';import {a as a$9}from'./chunk-CWOXTL6A.js';import {a as a$6}from'./chunk-2BXP3X3H.js';import {a as a$7}from'./chunk-SUEFKTEN.js';import {a as a$8}from'./chunk-ZU6C4VWO.js';import {a as a$5}from'./chunk-SYDG6PPD.js';import {Logger,Color,ScanditIconType,BrowserHelper,FrameSourceState}from'@scandit/web-datacapture-core';import {nativeHandle}from'@scandit/web-datacapture-core/build/js/private/nativeHandle.js';import {Backdrop}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';import {Card}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js';import {CardListEvents}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/CardList.js';import {SecondaryBlue60,SecondaryBlue10}from'@scandit/web-datacapture-core/build/js/private/ui/colors.js';function F(h){let t=btoa(h).replace(/=/g,"");return /^[a-z]/.test(t)?t:`id-${t}`}function N({name:h,type:t,label:a,value:e,errorMessage:i,required:r}){let n=Card.create(),s=a$9.create(),o=a$4.create();return o.errorMessage=i,o.type=t,o.label=a,o.value=e,o.required=r,o.name=h,s.append(o),n.append(s),n.backgroundColor=Color.fromHex("#fff"),n.id=F(h),n}var D={3:"Paused",4:"Finished",2:"In complete scan",1:"In partial scan",0:"Idle"};var S=class S{constructor(t,a$5,e){this.listener={onValidationFlowLabelCaptured:t=>{}};this.onWorkerMessageHandler=this.onWorkerMessage.bind(this);this.onInputManuallyButtonClickHandler=this.onInputManuallyButtonClick.bind(this);this.onSubmitButtonClickHandler=this.onSubmitButtonClick.bind(this);this.onRestartButtonClickHandler=this.onRestartButtonClick.bind(this);this.onBackButtonClickHandler=this.onBackButton.bind(this);this.onContextUpdatedListenerHandler=this.onContextUpdatedListener.bind(this);this.onTextInputAimerIconClickHandler=this.onTextInputAimerIconClick.bind(this);this.onTextInputClearIconClickHandler=this.onTextInputClearIconClick.bind(this);this.currentInput=null;this.onCardListClickHandler=this.onCardListClick.bind(this);this.onClickOutsideHandler=this.onClickOutside.bind(this);this.validationFieldsState=new Map;this[nativeHandle]=t,this.validationFlowHandler=a$5,this.validationSettings=e;for(let i of [a,a$1,a$2,b,a$3,a$4])i.register();}static async withLabelCaptureForView(t,a){var s;let e=await a$5().workerCommand("validationFlowOverlayForLabelCapture",{payload:{labelCaptureHandle:t[nativeHandle]}}),i=await t.validationFlowHandler(),r=await a$6.create(),n=new S(e,i,r);return n.labelCapture=t,await a.addOverlay(n),(s=t.context)==null||s.updateListeners.add(n.onContextUpdatedListenerHandler),await n.mount(a),await n.goToCompleteScan(),n}async applySettings(t){this.validationSettings=t,await a$5().workerCommand("validationFlowOverlayApplySettings",{payload:{overlayHandle:this[nativeHandle],settingsHandle:t[nativeHandle]}}),this.inputManuallyButton.text=this.validationSettings.manualInputButtonText;}toJSONObject(){return {type:"ValidationFlowOverlay",nativeHandle:this[nativeHandle]}}async goToCompleteScan(){this.hideCardListAndShowInputManuallyButton(),await this.validationFlowHandler.startCompleteLabelScan("");let t=await this.validationFlowHandler.validationFlowFields();Logger.debug("ValidationFlowHandler::validationFlowFields",t),this.initializeCards(t),t.length===1&&(await this.onInputManuallyButtonClickHandler(),await this.onTextInputAimerIconClickHandler());}async mount(t){a$5().addWorkerListener(this.onWorkerMessageHandler),this.layout=a$3.create(),this.cardListContainer=b.create(),this.cardListContainer.slot="card-list",this.cardListContainer.hidden=true,this.backAndRestartButton=a$1.create(),this.backAndRestartButton.variant="restart",this.submitButton=a.create(),this.submitButton.ariaLabel="Submit",this.submitButton.backgroundColor=SecondaryBlue60,this.submitButton.iconColor=Color.fromHex("#fff"),this.submitButton.icon=ScanditIconType.Checkmark,this.cardListContainer.append(this.backAndRestartButton,this.submitButton),this.inputManuallyButton=a$2.create(),this.inputManuallyButton.slot="bottom-button",this.inputManuallyButton.text=this.validationSettings.manualInputButtonText,this.layout.append(this.cardListContainer,this.inputManuallyButton),this.backdrop=Backdrop.create(),this.backdrop.slot="backdrop",this.layout.append(this.backdrop),t.htmlElement.prepend(this.layout),this.inputManuallyButton.addEventListener("click",this.onInputManuallyButtonClickHandler),this.submitButton.addEventListener("click",this.onSubmitButtonClickHandler),this.backAndRestartButton.addEventListener("restart",this.onRestartButtonClickHandler),this.backAndRestartButton.addEventListener("back",this.onBackButtonClickHandler),this.layout.addEventListener("click",this.onClickOutsideHandler),this.cardListContainer.addEventListener("on-button-container-click",this.onClickOutsideHandler),this.cardListContainer.addEventListener(CardListEvents.Tap,this.onCardListClickHandler),this.cardListContainer.addEventListener("text-input-aimer-icon-click",this.onTextInputAimerIconClickHandler),this.cardListContainer.addEventListener("text-input-clear-icon-click",this.onTextInputClearIconClickHandler);}async unmount(){var t,a,e,i,r,n,s,o,d,I,B,H;a$5().removeWorkerListener(this.onWorkerMessageHandler),(a=(t=this.labelCapture)==null?void 0:t.context)==null||a.updateListeners.delete(this.onContextUpdatedListenerHandler),(e=this.inputManuallyButton)==null||e.removeEventListener("click",this.onInputManuallyButtonClickHandler),(i=this.submitButton)==null||i.removeEventListener("click",this.onSubmitButtonClickHandler),(r=this.backAndRestartButton)==null||r.removeEventListener("restart",this.onRestartButtonClickHandler),(n=this.backAndRestartButton)==null||n.removeEventListener("back",this.onBackButtonClickHandler),(s=this.layout)==null||s.removeEventListener("click",this.onClickOutsideHandler),(o=this.cardListContainer)==null||o.removeEventListener("on-button-container-click",this.onClickOutsideHandler),(d=this.cardListContainer)==null||d.removeEventListener(CardListEvents.Tap,this.onCardListClickHandler),(I=this.cardListContainer)==null||I.removeEventListener("text-input-aimer-icon-click",this.onTextInputAimerIconClickHandler),(B=this.cardListContainer)==null||B.removeEventListener("text-input-clear-icon-click",this.onTextInputClearIconClickHandler),(H=this.layout)==null||H.remove(),this.validationFieldsState.clear();}async onContextUpdatedListener(t){t.type==="removeOverlay"&&t.newValue===this&&await this.unmount(),t.type==="modeEnabled"&&t.newValue&&(this.validationFlowHandlerState===4||this.validationFlowHandlerState===0)&&(Logger.debug("Validation flow overlay: mode enabled and validation flow finished, going to complete scan"),await this.goToCompleteScan());}hasClickedOutsideOfCardList(t){return t.type==="on-button-container-click"&&t.target instanceof b||t.type==="click"&&t.target instanceof a$3||t.type==="click"&&t.target instanceof Backdrop}async onClickOutside(t){this.hasClickedOutsideOfCardList(t)&&await this.onBackButtonClickHandler();}initializeCards(t){var e;let a=[];for(let i of t){let r=i.getLabelField(),n=N({name:r.name,type:"text",label:r.isRequired?`${r.name} *`:r.name,value:(e=r.text)!=null?e:"",errorMessage:r.isRequired?this.validationSettings.requiredFieldErrorText:this.validationSettings.validationErrorText,required:r.isRequired});a.push(n);}this.cardListContainer.renderCards(a);}async onCardListClick(t){let a=t.detail.card;this.currentInput=a==null?void 0:a.querySelector(a$4.tag),!(!a||!this.currentInput)&&(this.currentInput.showKeyboard(BrowserHelper.isDesktopDevice()?0:1e3,()=>{this.cardListContainer.focusCard(a);}),this.resetCardTextInputField(a,false),this.backAndRestartButton.variant="back",this.submitButton.hide(),this.cardListContainer.buttonSidePositionIfLandscape=true,await this.validationFlowHandler.pauseScan(),await this.cardListContainer.unshiftCard(a),await this.cardListContainer.collapse());}async onTextInputAimerIconClick(t){var e,i;this.currentInput=(e=t==null?void 0:t.detail.target)!=null?e:this.cardListContainer.cards[0].querySelector(a$4.tag);let a=(i=this.currentInput)==null?void 0:i.closest(Card.tag);a&&(await this.cardListContainer.unshiftCard(a),this.backAndRestartButton.variant="back",this.submitButton.hide(),this.cardListContainer.unfocusCard(a),await this.cardListContainer.collapse()),await this.validationFlowHandler.startPartialLabelScan([this.currentInput.name]);}async onTextInputClearIconClick(t){let a=t.detail.target.closest(Card.tag),e=t.detail.target;this.resetCardTextInputField(a),await this.validationFlowHandler.pauseScan();let i=await this.validationFlowHandler.updateFieldValue(e.name,"");this.validationFieldsState.set(e,i),await this.cardListContainer.unshiftCard(a),await this.expandListAndShowSubmitAndRestartButton();}async onInputManuallyButtonClick(){this.showCardListAndHideInputManuallyButton(),await this.validationFlowHandler.pauseScan();}async onSubmitButtonClick(){this.currentInput=null;let t=await this.validationFlowHandler.onFinishFlowRequested();if(t.type==="result"){let a=t.result.map(e=>a$7.fromJSONObject(e));this.hideCardListAndShowInputManuallyButton(),this.listener.onValidationFlowLabelCaptured(a.map(e=>e.getLabelField()));}else {for(let[a,e]of this.validationFieldsState.entries()){let i=a.closest(Card.tag);i!=null&&a.value!==""&&this.setCardAndInputValidity(i,e);}Logger.info("Validation flow overlay: on finish flow requested error:",t.error);}}async onRestartButtonClick(){this.resetAllCardsTextInputFields(),this.hideCardListAndShowInputManuallyButton(),this.submitButton.show(),this.validationFieldsState.clear(),await this.validationFlowHandler.pauseScan(),await this.validationFlowHandler.startCompleteLabelScan("");}async expandListAndShowSubmitAndRestartButton(){await this.cardListContainer.expand(),this.submitButton.show(),this.cardListContainer.buttonSidePositionIfLandscape=false,this.backAndRestartButton.variant="restart";}async onBackButton(){if(!this.currentInput)return;await this.validationFlowHandler.pauseScan();let t=await this.validationFlowHandler.updateFieldValue(this.currentInput.name,this.currentInput.value);if(this.validationFieldsState.set(this.currentInput,t),this.currentInput.value===""){await this.expandListAndShowSubmitAndRestartButton();return}this.setCardAndInputValidity(this.currentInput.closest(Card.tag),t),t&&await this.expandListAndShowSubmitAndRestartButton();}resetCardTextInputField(t,a=true){this.setCardAndInputValidity(t,true),t.backgroundColor=Color.fromHex("#fff");let e=t.querySelector(a$4.tag);a&&(e.value="");}resetAllCardsTextInputFields(){for(let t of this.cardListContainer.cards)this.resetCardTextInputField(t);}async standByCamera(){var t;this.labelCapture.context&&await((t=this.labelCapture.context.frameSource)==null?void 0:t.switchToDesiredState(FrameSourceState.Standby));}async activateCamera(){var t;this.labelCapture.context&&await((t=this.labelCapture.context.frameSource)==null?void 0:t.switchToDesiredState(FrameSourceState.On));}setCardAndInputValidity(t,a){a?t.removeAttribute("with-border"):t.setAttribute("with-border",""),t.backgroundColor=a?SecondaryBlue10:Color.fromHex("#fff");let e=t==null?void 0:t.querySelector(a$4.tag);e&&(e.invalid=!a,e.errorMessage=e.required?this.validationSettings.requiredFieldErrorText:this.validationSettings.validationErrorText);}async handleLabelIsMissingRequiredFieldState(t){for(let a of t){let e=this.cardListContainer.getCardBySelector(`#${F(a.getLabelField().name)}`);e!=null&&this.setCardAndInputValidity(e,a.isValid());}}handleOnFinished(){this.backAndRestartButton.variant="restart";}showCardListAndHideInputManuallyButton(){this.cardListContainer.hidden=false,this.inputManuallyButton.hidden=true;}hideCardListAndShowInputManuallyButton(){this.cardListContainer.hidden=true,this.inputManuallyButton.hidden=false;}handleOnFieldsScanned(t){var a,e,i,r;this.cardListContainer.hidden&&this.showCardListAndHideInputManuallyButton();for(let n of t){let s=n.getLabelField(),o=this.cardListContainer.getCardBySelector(`#${F(s.name)}`),d=o==null?void 0:o.querySelector(a$4.tag);if(!(!o||!d))switch(s.type){case a$8.Text:d.value=(a=s.text)!=null?a:"",this.setCardAndInputValidity(o,n.isValid());break;case a$8.Barcode:d.value=(r=(i=(e=s.barcode)==null?void 0:e.data)!=null?i:s.text)!=null?r:"",this.setCardAndInputValidity(o,n.isValid());break}}this.cardListContainer.isCollapsed()&&this.onBackButtonClickHandler();}async handleScanTimeout(){this.showCardListAndHideInputManuallyButton(),await this.validationFlowHandler.pauseScan();}async handleInPauseScan(){await Promise.all([this.backdrop.show(),this.standByCamera()]);}async handleInCompleteScan(){await Promise.all([this.backdrop.hide(),this.activateCamera()]);}async handleInPartialScan(){await Promise.all([this.backdrop.hide(),this.activateCamera()]);}async onWorkerMessage(t){switch(t.type){case "validationFlowListenerOnFieldsScanned":{this.labelCapture.emitFeedback(),this.handleOnFieldsScanned(t.payload.fields.map(a=>a$7.fromJSONObject(a)));break}case "validationFlowListenerOnScanTimeout":{await this.handleScanTimeout();break}case "validationFlowListenerOnLabelIsMissingRequiredField":{let a=t.payload.fields.map(e=>a$7.fromJSONObject(e));await this.handleLabelIsMissingRequiredFieldState(a);break}case "validationFlowListenerOnStateChanged":{switch(this.validationFlowHandlerState=t.payload.state,Logger.debug(`Validation flow overlay: entering in ${D[t.payload.state]} state`),t.payload.state){case 4:this.handleOnFinished();break;case 2:await this.handleInCompleteScan();break;case 1:await this.handleInPartialScan();break;case 3:await this.handleInPauseScan();break}break}}}},P=S;export{P as a};
1
+ import {a as a$4}from'./chunk-K2TTSRPP.js';import {b}from'./chunk-47L7ORWZ.js';import {a as a$9}from'./chunk-CWOXTL6A.js';import {a as a$1}from'./chunk-K546LWO4.js';import {a as a$3}from'./chunk-ZQLGCNVJ.js';import {a as a$2}from'./chunk-ZFSFV2DF.js';import {a}from'./chunk-3FUUGYCW.js';import {a as a$6}from'./chunk-2BXP3X3H.js';import {a as a$7}from'./chunk-SUEFKTEN.js';import {a as a$8}from'./chunk-ZU6C4VWO.js';import {a as a$5}from'./chunk-SYDG6PPD.js';import {Logger,Color,ScanditIconType,BrowserHelper,FrameSourceState}from'@scandit/web-datacapture-core';import {nativeHandle}from'@scandit/web-datacapture-core/build/js/private/nativeHandle.js';import {Backdrop}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';import {Card}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Card.js';import {CardListEvents}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/CardList.js';import {SecondaryBlue60,SecondaryBlue10}from'@scandit/web-datacapture-core/build/js/private/ui/colors.js';function F(h){let t=btoa(h).replace(/=/g,"");return /^[a-z]/.test(t)?t:`id-${t}`}function N({name:h,type:t,label:a,value:e,errorMessage:i,required:r}){let n=Card.create(),s=a$9.create(),o=a$4.create();return o.errorMessage=i,o.type=t,o.label=a,o.value=e,o.required=r,o.name=h,s.append(o),n.append(s),n.backgroundColor=Color.fromHex("#fff"),n.id=F(h),n}var D={3:"Paused",4:"Finished",2:"In complete scan",1:"In partial scan",0:"Idle"};var S=class S{constructor(t,a$5,e){this.listener={onValidationFlowLabelCaptured:t=>{}};this.onWorkerMessageHandler=this.onWorkerMessage.bind(this);this.onInputManuallyButtonClickHandler=this.onInputManuallyButtonClick.bind(this);this.onSubmitButtonClickHandler=this.onSubmitButtonClick.bind(this);this.onRestartButtonClickHandler=this.onRestartButtonClick.bind(this);this.onBackButtonClickHandler=this.onBackButton.bind(this);this.onContextUpdatedListenerHandler=this.onContextUpdatedListener.bind(this);this.onTextInputAimerIconClickHandler=this.onTextInputAimerIconClick.bind(this);this.onTextInputClearIconClickHandler=this.onTextInputClearIconClick.bind(this);this.currentInput=null;this.onCardListClickHandler=this.onCardListClick.bind(this);this.onClickOutsideHandler=this.onClickOutside.bind(this);this.validationFieldsState=new Map;this[nativeHandle]=t,this.validationFlowHandler=a$5,this.validationSettings=e;for(let i of [a,a$1,a$2,b,a$3,a$4])i.register();}static async withLabelCaptureForView(t,a){var s;let e=await a$5().workerCommand("validationFlowOverlayForLabelCapture",{payload:{labelCaptureHandle:t[nativeHandle]}}),i=await t.validationFlowHandler(),r=await a$6.create(),n=new S(e,i,r);return n.labelCapture=t,await a.addOverlay(n),(s=t.context)==null||s.updateListeners.add(n.onContextUpdatedListenerHandler),await n.mount(a),await n.goToCompleteScan(),n}async applySettings(t){this.validationSettings=t,await a$5().workerCommand("validationFlowOverlayApplySettings",{payload:{overlayHandle:this[nativeHandle],settingsHandle:t[nativeHandle]}}),this.inputManuallyButton.text=this.validationSettings.manualInputButtonText;}toJSONObject(){return {type:"ValidationFlowOverlay",nativeHandle:this[nativeHandle]}}async goToCompleteScan(){this.hideCardListAndShowInputManuallyButton(),await this.validationFlowHandler.startCompleteLabelScan("");let t=await this.validationFlowHandler.validationFlowFields();Logger.debug("ValidationFlowHandler::validationFlowFields",t),this.initializeCards(t),t.length===1&&(await this.onInputManuallyButtonClickHandler(),await this.onTextInputAimerIconClickHandler());}async mount(t){a$5().addWorkerListener(this.onWorkerMessageHandler),this.layout=a$3.create(),this.cardListContainer=b.create(),this.cardListContainer.slot="card-list",this.cardListContainer.hidden=true,this.backAndRestartButton=a$1.create(),this.backAndRestartButton.variant="restart",this.submitButton=a.create(),this.submitButton.ariaLabel="Submit",this.submitButton.backgroundColor=SecondaryBlue60,this.submitButton.iconColor=Color.fromHex("#fff"),this.submitButton.icon=ScanditIconType.Checkmark,this.cardListContainer.append(this.backAndRestartButton,this.submitButton),this.inputManuallyButton=a$2.create(),this.inputManuallyButton.slot="bottom-button",this.inputManuallyButton.text=this.validationSettings.manualInputButtonText,this.layout.append(this.cardListContainer,this.inputManuallyButton),this.backdrop=Backdrop.create(),this.backdrop.slot="backdrop",this.layout.append(this.backdrop),t.htmlElement.prepend(this.layout),this.inputManuallyButton.addEventListener("click",this.onInputManuallyButtonClickHandler),this.submitButton.addEventListener("click",this.onSubmitButtonClickHandler),this.backAndRestartButton.addEventListener("restart",this.onRestartButtonClickHandler),this.backAndRestartButton.addEventListener("back",this.onBackButtonClickHandler),this.layout.addEventListener("click",this.onClickOutsideHandler),this.cardListContainer.addEventListener("on-button-container-click",this.onClickOutsideHandler),this.cardListContainer.addEventListener(CardListEvents.Tap,this.onCardListClickHandler),this.cardListContainer.addEventListener("text-input-aimer-icon-click",this.onTextInputAimerIconClickHandler),this.cardListContainer.addEventListener("text-input-clear-icon-click",this.onTextInputClearIconClickHandler);}async unmount(){var t,a,e,i,r,n,s,o,d,I,B,H;a$5().removeWorkerListener(this.onWorkerMessageHandler),(a=(t=this.labelCapture)==null?void 0:t.context)==null||a.updateListeners.delete(this.onContextUpdatedListenerHandler),(e=this.inputManuallyButton)==null||e.removeEventListener("click",this.onInputManuallyButtonClickHandler),(i=this.submitButton)==null||i.removeEventListener("click",this.onSubmitButtonClickHandler),(r=this.backAndRestartButton)==null||r.removeEventListener("restart",this.onRestartButtonClickHandler),(n=this.backAndRestartButton)==null||n.removeEventListener("back",this.onBackButtonClickHandler),(s=this.layout)==null||s.removeEventListener("click",this.onClickOutsideHandler),(o=this.cardListContainer)==null||o.removeEventListener("on-button-container-click",this.onClickOutsideHandler),(d=this.cardListContainer)==null||d.removeEventListener(CardListEvents.Tap,this.onCardListClickHandler),(I=this.cardListContainer)==null||I.removeEventListener("text-input-aimer-icon-click",this.onTextInputAimerIconClickHandler),(B=this.cardListContainer)==null||B.removeEventListener("text-input-clear-icon-click",this.onTextInputClearIconClickHandler),(H=this.layout)==null||H.remove(),this.validationFieldsState.clear();}async onContextUpdatedListener(t){t.type==="removeOverlay"&&t.newValue===this&&await this.unmount(),t.type==="modeEnabled"&&t.newValue&&(this.validationFlowHandlerState===4||this.validationFlowHandlerState===0)&&(Logger.debug("Validation flow overlay: mode enabled and validation flow finished, going to complete scan"),await this.goToCompleteScan());}hasClickedOutsideOfCardList(t){return t.type==="on-button-container-click"&&t.target instanceof b||t.type==="click"&&t.target instanceof a$3||t.type==="click"&&t.target instanceof Backdrop}async onClickOutside(t){this.hasClickedOutsideOfCardList(t)&&await this.onBackButtonClickHandler();}initializeCards(t){var e;let a=[];for(let i of t){let r=i.getLabelField(),n=N({name:r.name,type:"text",label:r.isRequired?`${r.name} *`:r.name,value:(e=r.text)!=null?e:"",errorMessage:r.isRequired?this.validationSettings.requiredFieldErrorText:this.validationSettings.validationErrorText,required:r.isRequired});a.push(n);}this.cardListContainer.renderCards(a);}async onCardListClick(t){let a=t.detail.card;this.currentInput=a==null?void 0:a.querySelector(a$4.tag),!(!a||!this.currentInput)&&(this.currentInput.showKeyboard(BrowserHelper.isDesktopDevice()?0:1e3,()=>{this.cardListContainer.focusCard(a);}),this.resetCardTextInputField(a,false),this.backAndRestartButton.variant="back",this.submitButton.hide(),this.cardListContainer.buttonSidePositionIfLandscape=true,await this.validationFlowHandler.pauseScan(),await this.cardListContainer.unshiftCard(a),await this.cardListContainer.collapse());}async onTextInputAimerIconClick(t){var e,i;this.currentInput=(e=t==null?void 0:t.detail.target)!=null?e:this.cardListContainer.cards[0].querySelector(a$4.tag);let a=(i=this.currentInput)==null?void 0:i.closest(Card.tag);a&&(await this.cardListContainer.unshiftCard(a),this.backAndRestartButton.variant="back",this.submitButton.hide(),this.cardListContainer.unfocusCard(a),await this.cardListContainer.collapse()),await this.validationFlowHandler.startPartialLabelScan([this.currentInput.name]);}async onTextInputClearIconClick(t){let a=t.detail.target.closest(Card.tag),e=t.detail.target;this.resetCardTextInputField(a),await this.validationFlowHandler.pauseScan();let i=await this.validationFlowHandler.updateFieldValue(e.name,"");this.validationFieldsState.set(e,i),await this.cardListContainer.unshiftCard(a),await this.expandListAndShowSubmitAndRestartButton();}async onInputManuallyButtonClick(){this.showCardListAndHideInputManuallyButton(),await this.validationFlowHandler.pauseScan();}async onSubmitButtonClick(){this.currentInput=null;let t=await this.validationFlowHandler.onFinishFlowRequested();if(t.type==="result"){let a=t.result.map(e=>a$7.fromJSONObject(e));this.hideCardListAndShowInputManuallyButton(),this.listener.onValidationFlowLabelCaptured(a.map(e=>e.getLabelField()));}else {for(let[a,e]of this.validationFieldsState.entries()){let i=a.closest(Card.tag);i!=null&&a.value!==""&&this.setCardAndInputValidity(i,e);}Logger.info("Validation flow overlay: on finish flow requested error:",t.error);}}async onRestartButtonClick(){this.resetAllCardsTextInputFields(),this.hideCardListAndShowInputManuallyButton(),this.submitButton.show(),this.validationFieldsState.clear(),await this.validationFlowHandler.pauseScan(),await this.validationFlowHandler.startCompleteLabelScan("");}async expandListAndShowSubmitAndRestartButton(){await this.cardListContainer.expand(),this.submitButton.show(),this.cardListContainer.buttonSidePositionIfLandscape=false,this.backAndRestartButton.variant="restart";}async onBackButton(){if(!this.currentInput)return;await this.validationFlowHandler.pauseScan();let t=await this.validationFlowHandler.updateFieldValue(this.currentInput.name,this.currentInput.value);if(this.validationFieldsState.set(this.currentInput,t),this.currentInput.value===""){await this.expandListAndShowSubmitAndRestartButton();return}this.setCardAndInputValidity(this.currentInput.closest(Card.tag),t),t&&await this.expandListAndShowSubmitAndRestartButton();}resetCardTextInputField(t,a=true){this.setCardAndInputValidity(t,true),t.backgroundColor=Color.fromHex("#fff");let e=t.querySelector(a$4.tag);a&&(e.value="");}resetAllCardsTextInputFields(){for(let t of this.cardListContainer.cards)this.resetCardTextInputField(t);}async standByCamera(){var t;this.labelCapture.context&&await((t=this.labelCapture.context.frameSource)==null?void 0:t.switchToDesiredState(FrameSourceState.Standby));}async activateCamera(){var t;this.labelCapture.context&&await((t=this.labelCapture.context.frameSource)==null?void 0:t.switchToDesiredState(FrameSourceState.On));}setCardAndInputValidity(t,a){a?t.removeAttribute("with-border"):t.setAttribute("with-border",""),t.backgroundColor=a?SecondaryBlue10:Color.fromHex("#fff");let e=t==null?void 0:t.querySelector(a$4.tag);e&&(e.invalid=!a,e.errorMessage=e.required?this.validationSettings.requiredFieldErrorText:this.validationSettings.validationErrorText);}async handleLabelIsMissingRequiredFieldState(t){for(let a of t){let e=this.cardListContainer.getCardBySelector(`#${F(a.getLabelField().name)}`);e!=null&&this.setCardAndInputValidity(e,a.isValid());}}handleOnFinished(){this.backAndRestartButton.variant="restart";}showCardListAndHideInputManuallyButton(){this.cardListContainer.hidden=false,this.inputManuallyButton.hidden=true;}hideCardListAndShowInputManuallyButton(){this.cardListContainer.hidden=true,this.inputManuallyButton.hidden=false;}handleOnFieldsScanned(t){var a,e,i,r;this.cardListContainer.hidden&&this.showCardListAndHideInputManuallyButton();for(let n of t){let s=n.getLabelField(),o=this.cardListContainer.getCardBySelector(`#${F(s.name)}`),d=o==null?void 0:o.querySelector(a$4.tag);if(!(!o||!d))switch(s.type){case a$8.Text:d.value=(a=s.text)!=null?a:"",this.setCardAndInputValidity(o,n.isValid());break;case a$8.Barcode:d.value=(r=(i=(e=s.barcode)==null?void 0:e.data)!=null?i:s.text)!=null?r:"",this.setCardAndInputValidity(o,n.isValid());break}}this.cardListContainer.isCollapsed()&&this.onBackButtonClickHandler();}async handleScanTimeout(){this.showCardListAndHideInputManuallyButton(),await this.validationFlowHandler.pauseScan();}async handleInPauseScan(){await Promise.all([this.backdrop.show(),this.standByCamera()]);}async handleInCompleteScan(){await Promise.all([this.backdrop.hide(),this.activateCamera()]);}async handleInPartialScan(){await Promise.all([this.backdrop.hide(),this.activateCamera()]);}async onWorkerMessage(t){switch(t.type){case "validationFlowListenerOnFieldsScanned":{this.labelCapture.emitFeedback(),this.handleOnFieldsScanned(t.payload.fields.map(a=>a$7.fromJSONObject(a)));break}case "validationFlowListenerOnScanTimeout":{await this.handleScanTimeout();break}case "validationFlowListenerOnLabelIsMissingRequiredField":{let a=t.payload.fields.map(e=>a$7.fromJSONObject(e));await this.handleLabelIsMissingRequiredFieldState(a);break}case "validationFlowListenerOnStateChanged":{switch(this.validationFlowHandlerState=t.payload.state,Logger.debug(`Validation flow overlay: entering in ${D[t.payload.state]} state`),t.payload.state){case 4:this.handleOnFinished();break;case 2:await this.handleInCompleteScan();break;case 1:await this.handleInPartialScan();break;case 3:await this.handleInPauseScan();break}break}}}},P=S;export{P as a};