@fewangsit/wangsvue-fats 1.0.0-alpha.100 → 1.0.0-alpha.102

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.
package/wangsvue-fats.js CHANGED
@@ -15810,10 +15810,17 @@ const Cs = /* @__PURE__ */ Ce({
15810
15810
  return;
15811
15811
  }
15812
15812
  }
15813
- k.includes(Ae) || (J6.postScanLog({
15814
- tag: Ae,
15815
- serialNumber: O()
15816
- }), r("update:modelValue", Ae), r("scan", Ae, O()), i.bulk && k.push(Ae));
15813
+ if (!k.includes(Ae)) {
15814
+ try {
15815
+ J6.postScanLog({
15816
+ tag: Ae,
15817
+ serialNumber: O()
15818
+ });
15819
+ } catch (he) {
15820
+ console.error(he);
15821
+ }
15822
+ r("update:modelValue", Ae), r("scan", Ae, O()), i.bulk && k.push(Ae);
15823
+ }
15817
15824
  }
15818
15825
  } else J.status === "scan_stopped" ? K(!0) : J.status === "scan_error" && ae(J.error);
15819
15826
  }, window.scannerWorker.onerror = ae, window.scannerWorker.postMessage({
@@ -173,7 +173,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
173
173
  `).concat(r,`
174
174
  }
175
175
  }
176
- `)}this.styleElement.innerHTML=n}},destroyStyle:function(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{attributeSelector:function(){return mn()}},components:{ToastMessage:V1,Portal:ur}};function Ja(t){"@babel/helpers - typeof";return Ja=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ja(t)}function F1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,i)}return n}function H1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?F1(Object(n),!0).forEach(function(i){mx(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F1(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function mx(t,e,n){return e=gx(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function gx(t){var e=vx(t,"string");return Ja(e)=="symbol"?e:String(e)}function vx(t,e){if(Ja(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e);if(Ja(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function yx(t,e,n,i,r,o){var s=Ge("ToastMessage"),a=Ge("Portal");return g(),P(a,null,{default:F(function(){return[E("div",C({ref:"container",class:t.cx("root"),style:t.sx("root",!0,{position:t.position})},t.ptmi("root")),[D(dg,C({name:"p-toast-message",tag:"div",onEnter:o.onEnter,onLeave:o.onLeave},H1(H1({},t.ptm("message")),t.ptm("transition"))),{default:F(function(){return[(g(!0),T(ae,null,Ze(r.messages,function(l){return g(),P(s,{key:l.id,message:l,templates:t.$slots,closeIcon:t.closeIcon,infoIcon:t.infoIcon,warnIcon:t.warnIcon,errorIcon:t.errorIcon,successIcon:t.successIcon,closeButtonProps:t.closeButtonProps,onClose:e[0]||(e[0]=function(u){return o.remove(u)}),pt:t.pt},null,8,["message","templates","closeIcon","infoIcon","warnIcon","errorIcon","successIcon","closeButtonProps","pt"])}),128))]}),_:1},16,["onEnter","onLeave"])],16)]}),_:1})}z1.render=yx;const bs=de("Toast",ke({__name:"Toast",props:{group:{default:"default-toast"},position:{default:"bottom-right"},autoZIndex:{type:Boolean},baseZIndex:{default:9980},breakpoints:{},message:{},icon:{},pt:{},ptOptions:{},unstyled:{type:Boolean}},emits:["close","lifeEnd"],setup(t){const e=t;ht(()=>{qe.on("toast:add",r)}),Wd(()=>{window.toastGroups&&window.toastGroups.includes(e.group)?i.value=!1:(window.toastGroups=[e.group,...window.toastGroups??[]],i.value=!0)}),di(()=>{var o;window.toastGroups=(o=window.toastGroups)==null?void 0:o.filter(s=>s!==e.group),qe.off("toast:add",r)});const n=oe(),i=oe(!1),r=o=>{o.group===e.group&&(n.value=o),o.error&&console.error(o.error)};return(o,s)=>i.value?(g(),P(M(z1),C({key:0},o.$props,{"data-group":o.$props.group,onClose:s[0]||(s[0]=a=>o.$emit("close",a)),onLifeEnd:s[1]||(s[1]=a=>o.$emit("lifeEnd",a))}),on({icon:F(()=>{var a,l,u;return[(a=n.value)!=null&&a.icon?(g(),P(Le,{key:0,class:ge(["w-5 h-5 text-inherit",(l=n.value)==null?void 0:l.iconClass]),icon:(u=n.value)==null?void 0:u.icon},null,8,["class","icon"])):N("",!0)]}),_:2},[o.$slots.container?{name:"container",fn:F(({message:a,closeCallback:l})=>[J(o.$slots,"container",{closeCallback:l,message:a})]),key:"0"}:void 0,o.$slots.message?{name:"message",fn:F(({message:a})=>[J(o.$slots,"message",{message:a})]),key:"1"}:void 0]),1040,["data-group"])):N("",!0)}})),bx={class:"flex gap-2 items-center"},Ax={class:"flex gap-0.5 items-center leading-4"},wx={class:"flex gap-5 items-center"},Sx={key:1,class:"text-xs font-medium leading-[16.39px] tracking-[0.02em]"},$u=de("ButtonScan",ke({__name:"ButtonScan",props:{label:{},icon:{},type:{default:"RFID"},autoSwitch:{type:Boolean},scanValidation:{},modelValue:{},bulk:{type:Boolean},id:{},disabled:{type:Boolean},powerbank:{type:Boolean},labelOnly:{type:Boolean},outlined:{type:Boolean},severity:{},size:{default:void 0},style:{},class:{},iconPos:{},iconClass:{},tooltip:{},tooltipPos:{},badge:{},badgeClass:{},badgeSeverity:{},loading:{type:Boolean},loadingIcon:{},link:{type:Boolean},raised:{type:Boolean},rounded:{type:Boolean},text:{type:Boolean},plain:{type:Boolean}},emits:["update:modelValue","connect","connected","scan","stop","error","beforeStartScan"],setup(t,{expose:e,emit:n}){const i=t,r=n;di(()=>{Ae()});const o=va(),{devices:s,device:a,saveDevices:l,setDevice:u}=D1(),c=oe(!1),d=oe(!1),f=oe(!1),p=oe(!1),h=oe(!1),m=oe(!1),v=oe(),S=oe(0),w=oe(i.type??"RFID"),k=[],b=Z(()=>w.value==="RFID"?"RFID_Scanning":"QR_Scanning"),A=Z(()=>w.value==="RFID"?"RFID_Connecting":"QR_Connecting");Z(()=>`The scanner could not identify the ${w.value} code. It may be damaged or improperly positioned. Please check the code and try again.`);const y=()=>{window.scannerWorker??(window.scannerWorker=new E1)},O=()=>{const{serialNumber:Se=""}=a.value[w.value]??{};return Se},I=async()=>{try{y(),await L(),c.value=!0}catch(Se){console.error(Se),c.value=!1}},L=async()=>{var Se;try{if(!se())throw new Error("NOT_SUPPORTED_SYSTEM");if(r("connect"),!s.value.length||!a.value[w.value])throw new Error("HARDWARE_NOT_SYNCHRONIZED");o.add({customMessage:!0,message:w.value==="QR"?"Connecting QR Scanner...":"Connecting RFID Scanner...",severity:"info",life:0,group:A.value}),f.value=!0;const ie=()=>{r("connected",a.value[w.value]),setTimeout(()=>{x()},0)};window.scannerWorker.onmessage=({data:Oe})=>{var q;if(Oe.status==="connection_established")try{const{error:G}=(Oe==null?void 0:Oe.data)??{},Y=((q=Oe==null?void 0:Oe.data)==null?void 0:q.deviceList)??[],Q=a.value[i.type],we=Y.some(je=>je.serialNumber===(Q==null?void 0:Q.serialNumber));if(Y.length&&we)ie();else{if(G==="Driver not connected to server")throw new Error("DRIVER_NOT_FOUND");if(!Y.length)throw new Error("DEVICE_NOT_CONNECTED")}o.removeGroup(A.value)}catch(G){R(G)}else Oe.status==="connection_reused"?ie():Oe.status==="error_connecting"&&(o.removeGroup(A.value),o.add({customMessage:!0,message:"Scanner connection failed",severity:"error"}))},window.scannerWorker.postMessage({command:"connect",userId:(Se=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:Se._id})}catch(ie){R(ie)}},x=(Se=!1,ie=!1)=>{var q;m.value=!1,o.removeGroup(A.value),localStorage.devmode||(window.addEventListener("blur",Ce),window.addEventListener("beforeunload",Ce));const Oe=a.value[w.value];if(Oe){let G="";i.bulk?G=`bulkscan-${w.value.toLowerCase()}`:G=`scan-${w.value.toLowerCase()}`,window.scannerWorker.onmessage=async({data:Y})=>{var Q;if(Y.status==="scan_started")ie||(S.value++,setTimeout(()=>{o.add({customMessage:!0,message:"scanning",severity:"info",life:0,group:b.value})},0));else if(Y.status==="scanned"){const{code:we,error:je,deviceList:z}=(Y==null?void 0:Y.data)??{};if(je)return ne(je,z);if(we){if(["scan-rfid","scan-qr"].includes(G)){h.value=!!i.scanValidation;const me=await((Q=i.scanValidation)==null?void 0:Q.call(i,w.value,we,O()))??!0;if(h.value=!1,me)i.autoSwitch?(ce(),he()):K(!0);else{m.value||x(!1,!0);return}}k.includes(we)||(hg.postScanLog({tag:we,serialNumber:O()}),r("update:modelValue",we),r("scan",we,O()),i.bulk&&k.push(we))}}else Y.status==="scan_stopped"?K(!0):Y.status==="scan_error"&&le(Y.error)},window.scannerWorker.onerror=le,window.scannerWorker.postMessage({command:"scan",scanCommand:G,userId:(q=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:q._id,source:"app",jenisDevice:Oe.jenisDevice,serialNumber:Oe.serialNumber,newConnection:Se})}},R=Se=>{u({RFID:void 0,QR:void 0}),p.value=!0,v.value=Se instanceof Error?Se.message:T1(Se),f.value=!1,r("error",Se),o.removeGroup(A.value)},ne=(Se,ie=[])=>{let Oe="";v.value=void 0,W(!0),Se==="Time out"?Oe="The scanning process has timed out. Please try again.":Se==="Driver not connected to server"?v.value="DRIVER_NOT_FOUND":Se==="Device disconnected"&&(v.value="DEVICE_DISCONNECTED",l(ie),u({RFID:void 0,QR:void 0})),r("error",Se),p.value=!!v.value,Oe&&o.add({customMessage:!0,message:Oe,error:Se,life:6e3,group:b.value})},le=Se=>{W(!0),r("error",Se),o.add({customMessage:!0,message:"An unexpected error occurred during scanning. Please try again, and if the issue persists, contact your administrator for assistance.",error:Se,life:6e3,group:b.value})},Ie=()=>{window.Cypress?fe():I()},fe=()=>{o.add({customMessage:!0,message:"Connecting device...",severity:"info",life:3e3,group:A.value}),setTimeout(async()=>{var Se;if(r("connect"),r("connected",{jenisDevice:"Handheld",serialNumber:ap(),API:"v2",rfidScan:!0,qrScan:!0,name:"Device Test"}),i.bulk)r("scan",ap(),"serialNumber");else{const ie=ap();h.value=!!i.scanValidation;const Oe=await((Se=i.scanValidation)==null?void 0:Se.call(i,w.value,ie,O()))??!0;h.value=!1,Oe&&(r("scan",ie,"serialNumber"),K())}},100)},ce=()=>{o.removeGroup("RFID_Scanning"),o.removeGroup("QR_Scanning")},K=(Se=!1)=>{ce(),f.value=!1,Ae(),Se&&r("stop"),k.splice(0)},W=(Se=!1)=>{var ie;window.scannerWorker.onmessage=null,window.scannerWorker.postMessage({command:"stopscan",userId:(ie=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:ie._id}),K(Se),m.value=!0,c.value=!1},he=()=>{i.bulk||(a.value[w.value]?(w.value=w.value==="QR"?"RFID":"QR",x()):(K(),p.value=!0,v.value="HARDWARE_NOT_SYNCHRONIZED",f.value=!1))},Ce=Se=>{d.value=!0,W(!0),Se.preventDefault()},Ae=()=>{window.removeEventListener("blur",Ce),window.removeEventListener("beforeunload",Ce)},se=()=>{const{userAgent:Se}=navigator;return Se.includes("Windows")},pe=Z(()=>{if(!i.labelOnly)return i.icon?i.icon:i.autoSwitch?"qr-scan":w.value==="QR"?"qr":"rfid"}),Pe=Z(()=>i.label?i.label:i.autoSwitch?"SCAN TAG":w.value==="QR"?"Scan QR":"Scan RFID");return e({onBeforeStartScan:Ie,startScan:I,stopScan:W}),(Se,ie)=>(g(),T(ae,null,[D(Ke,C(Se.$attrs,{class:[{"[&_i]:w-2 [&_i]:h-2":Se.type==="QR","[&_i]:w-[11px] [&_i]:h-[7px]":Se.type==="RFID"},"!px-1.5"],disabled:i.disabled,icon:pe.value,label:Pe.value,outlined:i.outlined,severity:i.severity,size:i.size,onClick:Ie}),null,16,["class","disabled","icon","label","outlined","severity","size"]),D(N1,{visible:p.value,"onUpdate:visible":ie[0]||(ie[0]=Oe=>p.value=Oe),bulk:Se.bulk,"error-code":v.value,"search-by":w.value,onScan:Ie},null,8,["visible","bulk","error-code","search-by"]),c.value?(g(),P(bs,{key:0,"base-z-index":9983,group:A.value,icon:"info"},null,8,["group"])):N("",!0),c.value?(g(),P(bs,{key:1,"base-z-index":9997,class:"!absolute !bottom-[80px] !h-max",group:"scan-error-validation"})):N("",!0),c.value?(g(),P(bs,{key:S.value,"base-z-index":9984,group:b.value,class:"[&_[data-pc-section=buttoncontainer]]"},{message:F(({message:Oe})=>[E("div",{class:ge(Oe.detail=="scanning"?"w-full -mr-8 z-10 flex gap-2 justify-between items-center text-general-800 text-xs font-normal":"w-full")},[Oe.detail==="scanning"?(g(),T(ae,{key:0},[E("section",bx,[D(Le,{class:"animate-spin text-base",icon:"loader-4"}),E("span",Ax,[w.value==="RFID"?(g(),T(ae,{key:0},[D(Le,{class:"text-base !w-4 !h-4",icon:"rfid"}),at(" "+_(h.value?"Validating RFID...":"RFID Scanning..."),1)],64)):(g(),T(ae,{key:1},[D(Le,{class:"text-sm",icon:"qr"}),at(" "+_(h.value?"Validating QR...":"QR Scanning..."),1)],64))])]),E("section",wx,[ie[4]||(ie[4]=E("span",null,"do not leave this page",-1)),D(Ke,{onClick:ie[1]||(ie[1]=q=>W(!0)),label:"Stop Scan",severity:"danger"})])],64)):(g(),T("span",Sx,_(Oe.detail),1))],2)]),_:1},8,["group"])):N("",!0),D(zr,{visible:d.value,"onUpdate:visible":ie[2]||(ie[2]=Oe=>d.value=Oe),header:`${w.value} SCAN STOPPED`,onConfirm:ie[3]||(ie[3]=Oe=>(d.value=!1,Ie())),"confirm-label":"Continue",message:"The scan process was interrupted because you want to leave this window.",severity:"danger"},null,8,["visible","header"]),(g(),P(su,{to:"body"},[f.value?(g(),T("div",{key:0,class:ge([Se.$preset.dialog.mask({props:{modal:!0}}).class,"w-screen h-screen fixed top-0 left-0","!z-[9982]"]),"data-ts-section":"toast-mask"},null,2)):N("",!0)]))],64))}}));var Cx={root:function(e){var n=e.instance;return["p-overlaypanel p-component",{"p-ripple-disabled":n.$primevue.config.ripple===!1}]},content:"p-overlaypanel-content",closeButton:"p-overlaypanel-close p-link",closeIcon:"p-overlaypanel-close-icon"},kx=Pt.extend({name:"overlaypanel",classes:Cx}),Ox={name:"BaseOverlayPanel",extends:wt,props:{dismissable:{type:Boolean,default:!0},showCloseIcon:{type:Boolean,default:!1},appendTo:{type:[String,Object],default:"body"},baseZIndex:{type:Number,default:0},autoZIndex:{type:Boolean,default:!0},breakpoints:{type:Object,default:null},closeIcon:{type:String,default:void 0},closeOnEscape:{type:Boolean,default:!0}},style:kx,provide:function(){return{$parentInstance:this}}},up={name:"OverlayPanel",extends:Ox,inheritAttrs:!1,emits:["show","hide"],data:function(){return{visible:!1}},watch:{dismissable:{immediate:!0,handler:function(e){e?this.bindOutsideClickListener():this.unbindOutsideClickListener()}}},selfClick:!1,target:null,eventTarget:null,outsideClickListener:null,scrollHandler:null,resizeListener:null,container:null,styleElement:null,overlayEventListener:null,documentKeydownListener:null,beforeUnmount:function(){this.dismissable&&this.unbindOutsideClickListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.destroyStyle(),this.unbindResizeListener(),this.target=null,this.container&&this.autoZIndex&&jt.clear(this.container),this.overlayEventListener&&(Vr.off("overlay-click",this.overlayEventListener),this.overlayEventListener=null),this.container=null},mounted:function(){this.breakpoints&&this.createStyle()},methods:{toggle:function(e,n){this.visible?this.hide():this.show(e,n)},show:function(e,n){this.visible=!0,this.eventTarget=e.currentTarget,this.target=n||e.currentTarget},hide:function(){this.visible=!1},onContentClick:function(){this.selfClick=!0},onEnter:function(e){var n=this;this.container.setAttribute(this.attributeSelector,""),X.addStyles(e,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.dismissable&&this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.autoZIndex&&jt.set("overlay",e,this.baseZIndex+this.$primevue.config.zIndex.overlay),this.overlayEventListener=function(i){n.container.contains(i.target)&&(n.selfClick=!0)},this.focus(),Vr.on("overlay-click",this.overlayEventListener),this.$emit("show"),this.closeOnEscape&&this.bindDocumentKeyDownListener()},onLeave:function(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.unbindDocumentKeyDownListener(),Vr.off("overlay-click",this.overlayEventListener),this.overlayEventListener=null,this.$emit("hide")},onAfterLeave:function(e){this.autoZIndex&&jt.clear(e)},alignOverlay:function(){X.absolutePosition(this.container,this.target,!1);var e=X.getOffset(this.container),n=X.getOffset(this.target),i=0;e.left<n.left&&(i=n.left-e.left),this.container.style.setProperty("--overlayArrowLeft","".concat(i,"px")),e.top<n.top&&(this.container.setAttribute("data-p-overlaypanel-flipped","true"),!this.isUnstyled&&X.addClass(this.container,"p-overlaypanel-flipped"))},onContentKeydown:function(e){e.code==="Escape"&&this.closeOnEscape&&(this.hide(),X.focus(this.target))},onButtonKeydown:function(e){switch(e.code){case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":e.preventDefault()}},focus:function(){var e=this.container.querySelector("[autofocus]");e&&e.focus()},onKeyDown:function(e){e.code==="Escape"&&this.closeOnEscape&&(this.visible=!1)},bindDocumentKeyDownListener:function(){this.documentKeydownListener||(this.documentKeydownListener=this.onKeyDown.bind(this),window.document.addEventListener("keydown",this.documentKeydownListener))},unbindDocumentKeyDownListener:function(){this.documentKeydownListener&&(window.document.removeEventListener("keydown",this.documentKeydownListener),this.documentKeydownListener=null)},bindOutsideClickListener:function(){var e=this;!this.outsideClickListener&&X.isClient()&&(this.outsideClickListener=function(n){e.visible&&!e.selfClick&&!e.isTargetClicked(n)&&(e.visible=!1),e.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null,this.selfClick=!1)},bindScrollListener:function(){var e=this;this.scrollHandler||(this.scrollHandler=new cs(this.target,function(){e.visible&&(e.visible=!1)})),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!X.isTouchDevice()&&(e.visible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isTargetClicked:function(e){return this.eventTarget&&(this.eventTarget===e.target||this.eventTarget.contains(e.target))},containerRef:function(e){this.container=e},createStyle:function(){if(!this.styleElement&&!this.isUnstyled){var e;this.styleElement=document.createElement("style"),this.styleElement.type="text/css",X.setAttribute(this.styleElement,"nonce",(e=this.$primevue)===null||e===void 0||(e=e.config)===null||e===void 0||(e=e.csp)===null||e===void 0?void 0:e.nonce),document.head.appendChild(this.styleElement);var n="";for(var i in this.breakpoints)n+=`
176
+ `)}this.styleElement.innerHTML=n}},destroyStyle:function(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{attributeSelector:function(){return mn()}},components:{ToastMessage:V1,Portal:ur}};function Ja(t){"@babel/helpers - typeof";return Ja=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ja(t)}function F1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,i)}return n}function H1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?F1(Object(n),!0).forEach(function(i){mx(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F1(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function mx(t,e,n){return e=gx(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function gx(t){var e=vx(t,"string");return Ja(e)=="symbol"?e:String(e)}function vx(t,e){if(Ja(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e);if(Ja(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function yx(t,e,n,i,r,o){var s=Ge("ToastMessage"),a=Ge("Portal");return g(),P(a,null,{default:F(function(){return[E("div",C({ref:"container",class:t.cx("root"),style:t.sx("root",!0,{position:t.position})},t.ptmi("root")),[D(dg,C({name:"p-toast-message",tag:"div",onEnter:o.onEnter,onLeave:o.onLeave},H1(H1({},t.ptm("message")),t.ptm("transition"))),{default:F(function(){return[(g(!0),T(ae,null,Ze(r.messages,function(l){return g(),P(s,{key:l.id,message:l,templates:t.$slots,closeIcon:t.closeIcon,infoIcon:t.infoIcon,warnIcon:t.warnIcon,errorIcon:t.errorIcon,successIcon:t.successIcon,closeButtonProps:t.closeButtonProps,onClose:e[0]||(e[0]=function(u){return o.remove(u)}),pt:t.pt},null,8,["message","templates","closeIcon","infoIcon","warnIcon","errorIcon","successIcon","closeButtonProps","pt"])}),128))]}),_:1},16,["onEnter","onLeave"])],16)]}),_:1})}z1.render=yx;const bs=de("Toast",ke({__name:"Toast",props:{group:{default:"default-toast"},position:{default:"bottom-right"},autoZIndex:{type:Boolean},baseZIndex:{default:9980},breakpoints:{},message:{},icon:{},pt:{},ptOptions:{},unstyled:{type:Boolean}},emits:["close","lifeEnd"],setup(t){const e=t;ht(()=>{qe.on("toast:add",r)}),Wd(()=>{window.toastGroups&&window.toastGroups.includes(e.group)?i.value=!1:(window.toastGroups=[e.group,...window.toastGroups??[]],i.value=!0)}),di(()=>{var o;window.toastGroups=(o=window.toastGroups)==null?void 0:o.filter(s=>s!==e.group),qe.off("toast:add",r)});const n=oe(),i=oe(!1),r=o=>{o.group===e.group&&(n.value=o),o.error&&console.error(o.error)};return(o,s)=>i.value?(g(),P(M(z1),C({key:0},o.$props,{"data-group":o.$props.group,onClose:s[0]||(s[0]=a=>o.$emit("close",a)),onLifeEnd:s[1]||(s[1]=a=>o.$emit("lifeEnd",a))}),on({icon:F(()=>{var a,l,u;return[(a=n.value)!=null&&a.icon?(g(),P(Le,{key:0,class:ge(["w-5 h-5 text-inherit",(l=n.value)==null?void 0:l.iconClass]),icon:(u=n.value)==null?void 0:u.icon},null,8,["class","icon"])):N("",!0)]}),_:2},[o.$slots.container?{name:"container",fn:F(({message:a,closeCallback:l})=>[J(o.$slots,"container",{closeCallback:l,message:a})]),key:"0"}:void 0,o.$slots.message?{name:"message",fn:F(({message:a})=>[J(o.$slots,"message",{message:a})]),key:"1"}:void 0]),1040,["data-group"])):N("",!0)}})),bx={class:"flex gap-2 items-center"},Ax={class:"flex gap-0.5 items-center leading-4"},wx={class:"flex gap-5 items-center"},Sx={key:1,class:"text-xs font-medium leading-[16.39px] tracking-[0.02em]"},$u=de("ButtonScan",ke({__name:"ButtonScan",props:{label:{},icon:{},type:{default:"RFID"},autoSwitch:{type:Boolean},scanValidation:{},modelValue:{},bulk:{type:Boolean},id:{},disabled:{type:Boolean},powerbank:{type:Boolean},labelOnly:{type:Boolean},outlined:{type:Boolean},severity:{},size:{default:void 0},style:{},class:{},iconPos:{},iconClass:{},tooltip:{},tooltipPos:{},badge:{},badgeClass:{},badgeSeverity:{},loading:{type:Boolean},loadingIcon:{},link:{type:Boolean},raised:{type:Boolean},rounded:{type:Boolean},text:{type:Boolean},plain:{type:Boolean}},emits:["update:modelValue","connect","connected","scan","stop","error","beforeStartScan"],setup(t,{expose:e,emit:n}){const i=t,r=n;di(()=>{Ae()});const o=va(),{devices:s,device:a,saveDevices:l,setDevice:u}=D1(),c=oe(!1),d=oe(!1),f=oe(!1),p=oe(!1),h=oe(!1),m=oe(!1),v=oe(),S=oe(0),w=oe(i.type??"RFID"),k=[],b=Z(()=>w.value==="RFID"?"RFID_Scanning":"QR_Scanning"),A=Z(()=>w.value==="RFID"?"RFID_Connecting":"QR_Connecting");Z(()=>`The scanner could not identify the ${w.value} code. It may be damaged or improperly positioned. Please check the code and try again.`);const y=()=>{window.scannerWorker??(window.scannerWorker=new E1)},O=()=>{const{serialNumber:Se=""}=a.value[w.value]??{};return Se},I=async()=>{try{y(),await L(),c.value=!0}catch(Se){console.error(Se),c.value=!1}},L=async()=>{var Se;try{if(!se())throw new Error("NOT_SUPPORTED_SYSTEM");if(r("connect"),!s.value.length||!a.value[w.value])throw new Error("HARDWARE_NOT_SYNCHRONIZED");o.add({customMessage:!0,message:w.value==="QR"?"Connecting QR Scanner...":"Connecting RFID Scanner...",severity:"info",life:0,group:A.value}),f.value=!0;const ie=()=>{r("connected",a.value[w.value]),setTimeout(()=>{x()},0)};window.scannerWorker.onmessage=({data:Oe})=>{var q;if(Oe.status==="connection_established")try{const{error:G}=(Oe==null?void 0:Oe.data)??{},Y=((q=Oe==null?void 0:Oe.data)==null?void 0:q.deviceList)??[],Q=a.value[i.type],we=Y.some(je=>je.serialNumber===(Q==null?void 0:Q.serialNumber));if(Y.length&&we)ie();else{if(G==="Driver not connected to server")throw new Error("DRIVER_NOT_FOUND");if(!Y.length)throw new Error("DEVICE_NOT_CONNECTED")}o.removeGroup(A.value)}catch(G){R(G)}else Oe.status==="connection_reused"?ie():Oe.status==="error_connecting"&&(o.removeGroup(A.value),o.add({customMessage:!0,message:"Scanner connection failed",severity:"error"}))},window.scannerWorker.postMessage({command:"connect",userId:(Se=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:Se._id})}catch(ie){R(ie)}},x=(Se=!1,ie=!1)=>{var q;m.value=!1,o.removeGroup(A.value),localStorage.devmode||(window.addEventListener("blur",Ce),window.addEventListener("beforeunload",Ce));const Oe=a.value[w.value];if(Oe){let G="";i.bulk?G=`bulkscan-${w.value.toLowerCase()}`:G=`scan-${w.value.toLowerCase()}`,window.scannerWorker.onmessage=async({data:Y})=>{var Q;if(Y.status==="scan_started")ie||(S.value++,setTimeout(()=>{o.add({customMessage:!0,message:"scanning",severity:"info",life:0,group:b.value})},0));else if(Y.status==="scanned"){const{code:we,error:je,deviceList:z}=(Y==null?void 0:Y.data)??{};if(je)return ne(je,z);if(we){if(["scan-rfid","scan-qr"].includes(G)){h.value=!!i.scanValidation;const me=await((Q=i.scanValidation)==null?void 0:Q.call(i,w.value,we,O()))??!0;if(h.value=!1,me)i.autoSwitch?(ce(),he()):K(!0);else{m.value||x(!1,!0);return}}if(!k.includes(we)){try{hg.postScanLog({tag:we,serialNumber:O()})}catch(me){console.error(me)}r("update:modelValue",we),r("scan",we,O()),i.bulk&&k.push(we)}}}else Y.status==="scan_stopped"?K(!0):Y.status==="scan_error"&&le(Y.error)},window.scannerWorker.onerror=le,window.scannerWorker.postMessage({command:"scan",scanCommand:G,userId:(q=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:q._id,source:"app",jenisDevice:Oe.jenisDevice,serialNumber:Oe.serialNumber,newConnection:Se})}},R=Se=>{u({RFID:void 0,QR:void 0}),p.value=!0,v.value=Se instanceof Error?Se.message:T1(Se),f.value=!1,r("error",Se),o.removeGroup(A.value)},ne=(Se,ie=[])=>{let Oe="";v.value=void 0,W(!0),Se==="Time out"?Oe="The scanning process has timed out. Please try again.":Se==="Driver not connected to server"?v.value="DRIVER_NOT_FOUND":Se==="Device disconnected"&&(v.value="DEVICE_DISCONNECTED",l(ie),u({RFID:void 0,QR:void 0})),r("error",Se),p.value=!!v.value,Oe&&o.add({customMessage:!0,message:Oe,error:Se,life:6e3,group:b.value})},le=Se=>{W(!0),r("error",Se),o.add({customMessage:!0,message:"An unexpected error occurred during scanning. Please try again, and if the issue persists, contact your administrator for assistance.",error:Se,life:6e3,group:b.value})},Ie=()=>{window.Cypress?fe():I()},fe=()=>{o.add({customMessage:!0,message:"Connecting device...",severity:"info",life:3e3,group:A.value}),setTimeout(async()=>{var Se;if(r("connect"),r("connected",{jenisDevice:"Handheld",serialNumber:ap(),API:"v2",rfidScan:!0,qrScan:!0,name:"Device Test"}),i.bulk)r("scan",ap(),"serialNumber");else{const ie=ap();h.value=!!i.scanValidation;const Oe=await((Se=i.scanValidation)==null?void 0:Se.call(i,w.value,ie,O()))??!0;h.value=!1,Oe&&(r("scan",ie,"serialNumber"),K())}},100)},ce=()=>{o.removeGroup("RFID_Scanning"),o.removeGroup("QR_Scanning")},K=(Se=!1)=>{ce(),f.value=!1,Ae(),Se&&r("stop"),k.splice(0)},W=(Se=!1)=>{var ie;window.scannerWorker.onmessage=null,window.scannerWorker.postMessage({command:"stopscan",userId:(ie=JSON.parse(localStorage.getItem("user")??"{}"))==null?void 0:ie._id}),K(Se),m.value=!0,c.value=!1},he=()=>{i.bulk||(a.value[w.value]?(w.value=w.value==="QR"?"RFID":"QR",x()):(K(),p.value=!0,v.value="HARDWARE_NOT_SYNCHRONIZED",f.value=!1))},Ce=Se=>{d.value=!0,W(!0),Se.preventDefault()},Ae=()=>{window.removeEventListener("blur",Ce),window.removeEventListener("beforeunload",Ce)},se=()=>{const{userAgent:Se}=navigator;return Se.includes("Windows")},pe=Z(()=>{if(!i.labelOnly)return i.icon?i.icon:i.autoSwitch?"qr-scan":w.value==="QR"?"qr":"rfid"}),Pe=Z(()=>i.label?i.label:i.autoSwitch?"SCAN TAG":w.value==="QR"?"Scan QR":"Scan RFID");return e({onBeforeStartScan:Ie,startScan:I,stopScan:W}),(Se,ie)=>(g(),T(ae,null,[D(Ke,C(Se.$attrs,{class:[{"[&_i]:w-2 [&_i]:h-2":Se.type==="QR","[&_i]:w-[11px] [&_i]:h-[7px]":Se.type==="RFID"},"!px-1.5"],disabled:i.disabled,icon:pe.value,label:Pe.value,outlined:i.outlined,severity:i.severity,size:i.size,onClick:Ie}),null,16,["class","disabled","icon","label","outlined","severity","size"]),D(N1,{visible:p.value,"onUpdate:visible":ie[0]||(ie[0]=Oe=>p.value=Oe),bulk:Se.bulk,"error-code":v.value,"search-by":w.value,onScan:Ie},null,8,["visible","bulk","error-code","search-by"]),c.value?(g(),P(bs,{key:0,"base-z-index":9983,group:A.value,icon:"info"},null,8,["group"])):N("",!0),c.value?(g(),P(bs,{key:1,"base-z-index":9997,class:"!absolute !bottom-[80px] !h-max",group:"scan-error-validation"})):N("",!0),c.value?(g(),P(bs,{key:S.value,"base-z-index":9984,group:b.value,class:"[&_[data-pc-section=buttoncontainer]]"},{message:F(({message:Oe})=>[E("div",{class:ge(Oe.detail=="scanning"?"w-full -mr-8 z-10 flex gap-2 justify-between items-center text-general-800 text-xs font-normal":"w-full")},[Oe.detail==="scanning"?(g(),T(ae,{key:0},[E("section",bx,[D(Le,{class:"animate-spin text-base",icon:"loader-4"}),E("span",Ax,[w.value==="RFID"?(g(),T(ae,{key:0},[D(Le,{class:"text-base !w-4 !h-4",icon:"rfid"}),at(" "+_(h.value?"Validating RFID...":"RFID Scanning..."),1)],64)):(g(),T(ae,{key:1},[D(Le,{class:"text-sm",icon:"qr"}),at(" "+_(h.value?"Validating QR...":"QR Scanning..."),1)],64))])]),E("section",wx,[ie[4]||(ie[4]=E("span",null,"do not leave this page",-1)),D(Ke,{onClick:ie[1]||(ie[1]=q=>W(!0)),label:"Stop Scan",severity:"danger"})])],64)):(g(),T("span",Sx,_(Oe.detail),1))],2)]),_:1},8,["group"])):N("",!0),D(zr,{visible:d.value,"onUpdate:visible":ie[2]||(ie[2]=Oe=>d.value=Oe),header:`${w.value} SCAN STOPPED`,onConfirm:ie[3]||(ie[3]=Oe=>(d.value=!1,Ie())),"confirm-label":"Continue",message:"The scan process was interrupted because you want to leave this window.",severity:"danger"},null,8,["visible","header"]),(g(),P(su,{to:"body"},[f.value?(g(),T("div",{key:0,class:ge([Se.$preset.dialog.mask({props:{modal:!0}}).class,"w-screen h-screen fixed top-0 left-0","!z-[9982]"]),"data-ts-section":"toast-mask"},null,2)):N("",!0)]))],64))}}));var Cx={root:function(e){var n=e.instance;return["p-overlaypanel p-component",{"p-ripple-disabled":n.$primevue.config.ripple===!1}]},content:"p-overlaypanel-content",closeButton:"p-overlaypanel-close p-link",closeIcon:"p-overlaypanel-close-icon"},kx=Pt.extend({name:"overlaypanel",classes:Cx}),Ox={name:"BaseOverlayPanel",extends:wt,props:{dismissable:{type:Boolean,default:!0},showCloseIcon:{type:Boolean,default:!1},appendTo:{type:[String,Object],default:"body"},baseZIndex:{type:Number,default:0},autoZIndex:{type:Boolean,default:!0},breakpoints:{type:Object,default:null},closeIcon:{type:String,default:void 0},closeOnEscape:{type:Boolean,default:!0}},style:kx,provide:function(){return{$parentInstance:this}}},up={name:"OverlayPanel",extends:Ox,inheritAttrs:!1,emits:["show","hide"],data:function(){return{visible:!1}},watch:{dismissable:{immediate:!0,handler:function(e){e?this.bindOutsideClickListener():this.unbindOutsideClickListener()}}},selfClick:!1,target:null,eventTarget:null,outsideClickListener:null,scrollHandler:null,resizeListener:null,container:null,styleElement:null,overlayEventListener:null,documentKeydownListener:null,beforeUnmount:function(){this.dismissable&&this.unbindOutsideClickListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.destroyStyle(),this.unbindResizeListener(),this.target=null,this.container&&this.autoZIndex&&jt.clear(this.container),this.overlayEventListener&&(Vr.off("overlay-click",this.overlayEventListener),this.overlayEventListener=null),this.container=null},mounted:function(){this.breakpoints&&this.createStyle()},methods:{toggle:function(e,n){this.visible?this.hide():this.show(e,n)},show:function(e,n){this.visible=!0,this.eventTarget=e.currentTarget,this.target=n||e.currentTarget},hide:function(){this.visible=!1},onContentClick:function(){this.selfClick=!0},onEnter:function(e){var n=this;this.container.setAttribute(this.attributeSelector,""),X.addStyles(e,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.dismissable&&this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.autoZIndex&&jt.set("overlay",e,this.baseZIndex+this.$primevue.config.zIndex.overlay),this.overlayEventListener=function(i){n.container.contains(i.target)&&(n.selfClick=!0)},this.focus(),Vr.on("overlay-click",this.overlayEventListener),this.$emit("show"),this.closeOnEscape&&this.bindDocumentKeyDownListener()},onLeave:function(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.unbindDocumentKeyDownListener(),Vr.off("overlay-click",this.overlayEventListener),this.overlayEventListener=null,this.$emit("hide")},onAfterLeave:function(e){this.autoZIndex&&jt.clear(e)},alignOverlay:function(){X.absolutePosition(this.container,this.target,!1);var e=X.getOffset(this.container),n=X.getOffset(this.target),i=0;e.left<n.left&&(i=n.left-e.left),this.container.style.setProperty("--overlayArrowLeft","".concat(i,"px")),e.top<n.top&&(this.container.setAttribute("data-p-overlaypanel-flipped","true"),!this.isUnstyled&&X.addClass(this.container,"p-overlaypanel-flipped"))},onContentKeydown:function(e){e.code==="Escape"&&this.closeOnEscape&&(this.hide(),X.focus(this.target))},onButtonKeydown:function(e){switch(e.code){case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":e.preventDefault()}},focus:function(){var e=this.container.querySelector("[autofocus]");e&&e.focus()},onKeyDown:function(e){e.code==="Escape"&&this.closeOnEscape&&(this.visible=!1)},bindDocumentKeyDownListener:function(){this.documentKeydownListener||(this.documentKeydownListener=this.onKeyDown.bind(this),window.document.addEventListener("keydown",this.documentKeydownListener))},unbindDocumentKeyDownListener:function(){this.documentKeydownListener&&(window.document.removeEventListener("keydown",this.documentKeydownListener),this.documentKeydownListener=null)},bindOutsideClickListener:function(){var e=this;!this.outsideClickListener&&X.isClient()&&(this.outsideClickListener=function(n){e.visible&&!e.selfClick&&!e.isTargetClicked(n)&&(e.visible=!1),e.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null,this.selfClick=!1)},bindScrollListener:function(){var e=this;this.scrollHandler||(this.scrollHandler=new cs(this.target,function(){e.visible&&(e.visible=!1)})),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!X.isTouchDevice()&&(e.visible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isTargetClicked:function(e){return this.eventTarget&&(this.eventTarget===e.target||this.eventTarget.contains(e.target))},containerRef:function(e){this.container=e},createStyle:function(){if(!this.styleElement&&!this.isUnstyled){var e;this.styleElement=document.createElement("style"),this.styleElement.type="text/css",X.setAttribute(this.styleElement,"nonce",(e=this.$primevue)===null||e===void 0||(e=e.config)===null||e===void 0||(e=e.csp)===null||e===void 0?void 0:e.nonce),document.head.appendChild(this.styleElement);var n="";for(var i in this.breakpoints)n+=`
177
177
  @media screen and (max-width: `.concat(i,`) {
178
178
  .p-overlaypanel[`).concat(this.attributeSelector,`] {
179
179
  width: `).concat(this.breakpoints[i],` !important;