x-app-sdk 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -236,11 +236,13 @@ closeApp({ result: 'success', data: 'some data' });
236
236
  #### `listenFocusEvent(callback)`
237
237
  Lắng nghe sự kiện focus vào mini app.
238
238
  ```js
239
- import { listenFocusEvent } from 'x-app-sdk';
239
+ import { fltSDK, listenFocusEvent } from 'x-app-sdk';
240
240
 
241
- const unsubscribe = listenFocusEvent((data) => {
242
- console.log('Mini app đang được focus');
243
- });
241
+ const handelEVventFocus = (event: FlutterMessageResponse) => {
242
+ console.log("focus:", new Date())
243
+ }
244
+
245
+ const unsubscribeFocus = listenFocusEvent(handelEVventFocus, fltSDK);
244
246
 
245
247
  // Để hủy lắng nghe
246
248
  unsubscribe();
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var m=Object.defineProperty;var h=(A,C,I)=>C in A?m(A,C,{enumerable:!0,configurable:!0,writable:!0,value:I}):A[C]=I;var c=(A,C,I)=>h(A,typeof C!="symbol"?C+"":C,I);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=(A=>(A.RequestConfigUIApp="requestConfigUIApp",A.RequestInfo="requestInfo",A.RequestToken="requestToken",A.RequestCloseApp="requestCloseApp",A.RequestPickerImage="requestPickerImage",A.RequestPickerFile="requestPickerFile",A.RequestSaveFile="requestSaveFile",A.RequestVibrate="requestVibrate",A.RequestCall="requestCall",A.RequestSms="requestSms",A.RequestLocationPermission="requestLocationPermission",A.RequestOpenPermisstionScreen="requestOpenPermisstionScreen",A.RequestCurrentLocation="requestCurrentLocation",A.RequestPayment="requestPayment",A.requestGetPermission="requestGetPermission",A.requestSaveStore="requestSaveStore",A.requestGetStore="requestGetStore",A.requestClearStore="requestClearStore",A))(n||{}),e=(A=>(A.ResponseConfigApp="responseConfigUIApp",A.ResponseInfo="responseInfo",A.ResponseToken="responseToken",A.ResponsePickerImage="responsePickerImage",A.ResponsePickerFile="responsePickerFile",A.ResponseSaveFile="responseSaveFile",A.ResponseVibrate="responseVibrate",A.ResponseCall="responseCall",A.ResponseSms="responseSms",A.ResponseLocationPermission="responseLocationPermission",A.ResponseCurrentLocation="responseCurrentLocation",A.ResponseCloseApp="responseCloseApp",A.responseFocus="responseFocus",A.ResponsePayment="responsePayment",A.ResponseNotification="responseNotification",A.ResponseGetPermisstion="responseGetPermisstion",A.ResponseOpenPermisstionScreen="responseOpenPermisstionScreen",A.responseSaveStore="responseSaveStore",A.responseGetStore="responseGetStore",A.responseClearStore="responseClearStore",A))(e||{}),o=(A=>(A.SUCCESS="success",A.ERROR="error",A.PREMISSION_ERROR="premissionError",A))(o||{}),u=(A=>(A.MINI="mini",A.FULL="full",A))(u||{}),p=(A=>(A.RIGHT="right",A.LEFT="left",A))(p||{}),P=(A=>(A.USER="user",A))(P||{}),d=(A=>(A.gallery="gallery",A.camera="camera",A))(d||{});class S{constructor(){c(this,"premissions");c(this,"getPremissions",()=>({[n.RequestInfo]:!0,[n.RequestCloseApp]:!0,[n.RequestPickerImage]:!0,[n.RequestVibrate]:!0}));c(this,"checkPremission",C=>this.premissions[C]??!0);this.premissions={},this.initialize()}initialize(){window.flutter_inappwebview||(this.premissions=this.getPremissions())}}class f{constructor(){c(this,"handlers");c(this,"handlerIds");c(this,"isInitialized");c(this,"isBrowserMode");c(this,"cachedInfo");c(this,"infoRequests");c(this,"premissionEvent");c(this,"handlerIdMap");this.handlers=new Map,this.handlerIds=new Map,this.handlerIdMap=new WeakMap,this.isInitialized=!1,this.isBrowserMode=!1,this.cachedInfo=new Map,this.infoRequests=new Map,this.premissionEvent=new S,this.initialize()}initialize(){window.flutter_inappwebview?(this.setupMessageHandler(),this.isInitialized=!0,this.isBrowserMode=!1,this.send(n.RequestInfo,{})):(this.isInitialized=!0,this.isBrowserMode=!0,console.warn("Flutter channel not found. Running in browser mode."))}setupMessageHandler(){window.receiveFromFlutter=C=>{try{const I=JSON.parse(C);if(I.type===e.ResponseInfo){this.handleInfoUpdate(I.data);return}this.handleMessage(I)}catch(I){console.error("Error parsing message from Flutter:",I)}}}handleInfoUpdate(C){C&&Object.entries(C).forEach(([I,s])=>{this.cachedInfo.set(I,s),(this.infoRequests.get(I)||[]).forEach(r=>r(s)),this.infoRequests.delete(I)})}handleMessage(C){const I=C.subType?C.type+C.subType:C.type;[...this.handlers.get(I)||[]].forEach(r=>{try{r(C)}catch(i){console.error("Error in message handler:",i)}})}send(C,I){if(!this.isInitialized){console.error("SDK not initialized");return}const t=JSON.stringify({type:C,data:I});window.flutter_inappwebview&&window.flutter_inappwebview.callHandler("Flutter",t).catch(r=>console.error("Error sending message to Flutter:",r))}on(C,I,s){const t=s?C+s:C,r=this.handlers.get(t)||[];r.push(I),this.handlers.set(t,r);const i=`${t}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;this.handlerIdMap.set(I,i);const a=this.handlerIds.get(t)||new Set;return a.add(i),this.handlerIds.set(t,a),i}off(C,I,s){const t=s?C+s:C,r=this.handlers.get(t)||[],i=r.filter(l=>l!==I);if(i.length===r.length)return;this.handlers.set(t,i);const a=this.handlerIdMap.get(I);if(a){const l=this.handlerIds.get(t);l&&l.delete(a)}}getBrowserMode(){return this.isBrowserMode}getInitialized(){return this.isInitialized}getCachedInfo(C){return this.cachedInfo.get(C)}getInfoRequests(){return this.infoRequests}setInfoRequest(C,I){this.infoRequests.set(C,I)}checkPremissionEvent(C){return this.premissionEvent.checkPremission(C)}}const g=new f;g.getBrowserMode();const y={user:{fullname:"Phạm Văn A",identityNumber:"039999963",phone:"0355600825",gender:0,dob:"2001-11-20",address:"Thanh Bình, Phường Hà Đông",permanentAddress:"Thôn A, huyện, tỉnh B",avatar:"https://badinh.ioc-cloud.com/rs/images/bc3cf657-f537-4f4a-9562-f9bda926d640-1751356836934.jpg"}},E=async A=>{if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestInfo)){const I={type:e.ResponseInfo,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:e.ResponseInfo,status:o.SUCCESS,data:y[A]};return Promise.resolve(C)}return new Promise(C=>{const s=g.getInfoRequests().get(A)||[];s.push(t=>{const r={type:e.ResponseInfo,status:o.SUCCESS,data:t};C(r)}),g.setInfoRequest(A,s),g.send(n.RequestInfo,{key:A})})},w="tokenEx.tokenEx",G=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestToken)){const C={type:e.ResponseToken,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:e.ResponseToken,status:o.SUCCESS,data:w};return Promise.resolve(A)}return new Promise((A,C)=>{const I=s=>{s.status===o.ERROR?C(s):A(s),g.off(e.ResponseToken,I)};g.on(e.ResponseToken,I),g.send(n.RequestToken)})},B={path:"/hello.png",base64:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAACADAAADoAQAAQAAACADAAAAAAAA/+EOAmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAyLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjVmNWM3Y2U4LTAzZWYtNDc5NC1iYTJkLTE4ZjRkZjViZjVhYjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5UaGnhur90IGvhur8gY2jGsGEgY8OzIHTDqm4gLSAzPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPlF14buzbmggRGnhu4VtPC9wZGY6QXV0aG9yPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmE8L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg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"},v={path:"/hello.png",size:12e3,base64:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAACADAAADoAQAAQAAACADAAAAAAAA/+EOAmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAyLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjVmNWM3Y2U4LTAzZWYtNDc5NC1iYTJkLTE4ZjRkZjViZjVhYjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5UaGnhur90IGvhur8gY2jGsGEgY8OzIHTDqm4gLSAzPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPlF14buzbmggRGnhu4VtPC9wZGY6QXV0aG9yPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmE8L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg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"},Z=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPickerImage)){const I={type:e.ResponsePickerImage,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:e.ResponsePickerImage,status:o.SUCCESS,data:B};return Promise.resolve(C)}return new Promise((C,I)=>{const s=t=>{t.status===o.ERROR?I(t):C(t),g.off(e.ResponsePickerImage,s)};g.on(e.ResponsePickerImage,s),g.send(n.RequestPickerImage,{type:A})})},M=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPickerFile)){const C={type:e.ResponsePickerFile,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:e.ResponsePickerFile,status:o.SUCCESS,data:v};return Promise.resolve(A)}return new Promise((A,C)=>{const I=s=>{s.status===o.ERROR?C(s):A(s),g.off(e.ResponsePickerFile,I)};g.on(e.ResponsePickerFile,I),g.send(n.RequestPickerFile,void 0)})},Q=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestSaveFile)){const I={type:e.ResponseSaveFile,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:e.ResponseSaveFile,status:o.SUCCESS};return Promise.resolve(C)}return new Promise((C,I)=>{const s=t=>{t.status===o.ERROR?I(t):C(t),g.off(e.ResponseSaveFile,s)};g.on(e.ResponseSaveFile,s),g.send(n.RequestSaveFile,{url:A})})},z=A=>{g.send(n.RequestCloseApp,A)},k=A=>{if(!g.getInitialized())throw new Error("SDK not initialized");const C=()=>{A()};return g.on(e.responseFocus,C),()=>{g.off(e.responseFocus,C)}},Y=async()=>{if(!g.checkPremissionEvent(n.RequestVibrate)){const A={type:e.ResponseVibrate,status:o.PREMISSION_ERROR};return Promise.resolve(A)}g.send(n.RequestVibrate)},K=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestCall)){const I={type:e.ResponseCall,status:o.PREMISSION_ERROR};return Promise.resolve(I)}window.open(`tel:${A}`);const C={type:e.ResponseCall,status:o.SUCCESS};return Promise.resolve(C)}g.send(n.RequestCall,{phoneNumber:A})},b=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestSms)){const I={type:e.ResponseSms,status:o.PREMISSION_ERROR};return Promise.resolve(I)}window.open(`sms::${A}`);const C={type:e.ResponseSms,status:o.SUCCESS};return Promise.resolve(C)}g.send(n.RequestSms,{phoneNumber:A})},D=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){const C={type:e.ResponseConfigApp,status:o.SUCCESS};return Promise.resolve(C)}return new Promise((C,I)=>{const s=t=>{t.status===o.ERROR?I(t):C(t),g.off(e.ResponseConfigApp,s)};g.on(e.ResponseConfigApp,s),g.send(n.RequestConfigUIApp,A)})},q=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestGetPermission)){const I={type:e.ResponseGetPermisstion,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:e.ResponseGetPermisstion,status:o.SUCCESS,data:g.checkPremissionEvent(A)};return Promise.resolve(C)}return new Promise((C,I)=>{const s=t=>{t.status===o.ERROR?I(t):C(t),g.off(e.ResponseGetPermisstion,s)};g.on(e.ResponseGetPermisstion,s),g.send(n.requestGetPermission,{type:A})})},j=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestOpenPermisstionScreen)){const C={type:e.ResponseOpenPermisstionScreen,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:e.ResponseOpenPermisstionScreen,status:o.SUCCESS};return Promise.resolve(A)}return new Promise((A,C)=>{const I=s=>{s.status===o.ERROR?C(s):A(s),g.off(e.ResponseOpenPermisstionScreen,I)};g.on(e.ResponseOpenPermisstionScreen,I),g.send(n.RequestOpenPermisstionScreen)})},O={status:"success",message:"Tạo đơn hàng thành công"},J=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPayment)){const I={type:e.ResponsePayment,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:e.ResponsePayment,status:o.SUCCESS,data:O};return Promise.resolve(C)}return new Promise((C,I)=>{const s=t=>{t.status===o.ERROR?I(t):C(t),g.off(e.ResponsePayment,s)};g.on(e.ResponsePayment,s),g.send(n.RequestPayment,A)})},L=(A,C)=>{const I=C||g;if(!I.getInitialized())throw new Error("SDK not initialized");const s=t=>{A(t)};return I.on(e.ResponsePayment,s),()=>{I.off(e.ResponsePayment,s)}},U={latitude:21.0239852,longitude:105.791488},W=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestCurrentLocation)){const C={type:e.ResponseCurrentLocation,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:e.ResponseCurrentLocation,status:o.SUCCESS,data:U};return Promise.resolve(A)}return new Promise((A,C)=>{const I=s=>{s.status===o.ERROR?C(s):A(s),g.off(e.ResponseCurrentLocation,I)};g.on(e.ResponseCurrentLocation,I),g.send(n.RequestCurrentLocation)})},F=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestLocationPermission)){const C={type:e.ResponseLocationPermission,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:e.ResponseLocationPermission,status:o.SUCCESS};return Promise.resolve(A)}return new Promise((A,C)=>{const I=s=>{s.status===o.ERROR?C(s):A(s),g.off(e.ResponseLocationPermission,I)};g.on(e.ResponseLocationPermission,I),g.send(n.RequestLocationPermission)})},x=(A,C)=>{const I=C||g;if(!I.getInitialized())throw new Error("SDK not initialized");const s=t=>{A(t)};return I.on(e.ResponseNotification,s),()=>{I.off(e.ResponseNotification,s)}},R="mini_app_",H=async(A,C)=>{const I=`${R}_${A}`;if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestSaveStore)){const t={type:e.responseSaveStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}localStorage.setItem(I,C);const s={type:e.responseSaveStore,status:o.SUCCESS};return Promise.resolve(s)}return new Promise((s,t)=>{const r=i=>{i.status===o.ERROR?t(i):s(i),g.off(e.responseSaveStore,r,A)};g.on(e.responseSaveStore,r,A),g.send(n.requestSaveStore,{key:A,data:C})})},V=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");const C=`${R}_${A}`;if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestGetStore)){const t={type:e.responseGetStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}const I=localStorage.getItem(C),s={type:e.responseGetStore,status:o.SUCCESS,data:I??""};return Promise.resolve(s)}return new Promise((I,s)=>{const t=r=>{r.status===o.ERROR?s(r):I(r),g.off(e.responseGetStore,t,A)};g.on(e.responseGetStore,t,A),g.send(n.requestGetStore,{key:A})})},N=async(A,C)=>{if(!g.getInitialized())throw new Error("SDK not initialized");const I=`${R+C}_${A}`;if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestClearStore)){const t={type:e.responseClearStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}localStorage.removeItem(I);const s={type:e.responseClearStore,status:o.SUCCESS};return Promise.resolve(s)}return new Promise((s,t)=>{const r=i=>{i.status===o.ERROR?t(i):s(i),g.off(e.responseClearStore,r,A)};g.on(e.responseClearStore,r,A),g.send(n.requestClearStore,{key:A})})};exports.EHeaderMode=u;exports.EIconNavigationPosision=p;exports.EKeyInfor=P;exports.EMediaType=d;exports.EStatus=o;exports.ETypeRequest=n;exports.ETypeResponse=e;exports.call=K;exports.clearStore=N;exports.closeApp=z;exports.configUIApp=D;exports.currentLocation=W;exports.fltSDK=g;exports.getInfo=E;exports.getStore=V;exports.getToken=G;exports.listenFocusEvent=k;exports.listenNotifiactionEvent=x;exports.listenPaymentEvent=L;exports.openPermisstionScreen=j;exports.openPickerFile=M;exports.openPickerImage=Z;exports.paymentRequest=J;exports.premissionsRequest=q;exports.requestLocationPermission=F;exports.saveFile=Q;exports.saveStore=H;exports.sms=b;exports.vibrate=Y;
1
+ "use strict";var m=Object.defineProperty;var h=(A,C,I)=>C in A?m(A,C,{enumerable:!0,configurable:!0,writable:!0,value:I}):A[C]=I;var c=(A,C,I)=>h(A,typeof C!="symbol"?C+"":C,I);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=(A=>(A.RequestConfigUIApp="requestConfigUIApp",A.RequestInfo="requestInfo",A.RequestToken="requestToken",A.RequestCloseApp="requestCloseApp",A.RequestPickerImage="requestPickerImage",A.RequestPickerFile="requestPickerFile",A.RequestSaveFile="requestSaveFile",A.RequestVibrate="requestVibrate",A.RequestCall="requestCall",A.RequestSms="requestSms",A.RequestLocationPermission="requestLocationPermission",A.RequestOpenPermisstionScreen="requestOpenPermisstionScreen",A.RequestCurrentLocation="requestCurrentLocation",A.RequestPayment="requestPayment",A.requestGetPermission="requestGetPermission",A.requestSaveStore="requestSaveStore",A.requestGetStore="requestGetStore",A.requestClearStore="requestClearStore",A))(n||{}),s=(A=>(A.ResponseConfigApp="responseConfigUIApp",A.ResponseInfo="responseInfo",A.ResponseToken="responseToken",A.ResponsePickerImage="responsePickerImage",A.ResponsePickerFile="responsePickerFile",A.ResponseSaveFile="responseSaveFile",A.ResponseVibrate="responseVibrate",A.ResponseCall="responseCall",A.ResponseSms="responseSms",A.ResponseLocationPermission="responseLocationPermission",A.ResponseCurrentLocation="responseCurrentLocation",A.ResponseCloseApp="responseCloseApp",A.responseFocus="responseFocus",A.ResponsePayment="responsePayment",A.ResponseNotification="responseNotification",A.ResponseGetPermisstion="responseGetPermisstion",A.ResponseOpenPermisstionScreen="responseOpenPermisstionScreen",A.responseSaveStore="responseSaveStore",A.responseGetStore="responseGetStore",A.responseClearStore="responseClearStore",A))(s||{}),o=(A=>(A.SUCCESS="success",A.ERROR="error",A.PREMISSION_ERROR="premissionError",A))(o||{}),u=(A=>(A.MINI="mini",A.FULL="full",A))(u||{}),p=(A=>(A.RIGHT="right",A.LEFT="left",A))(p||{}),P=(A=>(A.USER="user",A))(P||{}),d=(A=>(A.gallery="gallery",A.camera="camera",A))(d||{});class S{constructor(){c(this,"premissions");c(this,"getPremissions",()=>({[n.RequestInfo]:!0,[n.RequestCloseApp]:!0,[n.RequestPickerImage]:!0,[n.RequestVibrate]:!0}));c(this,"checkPremission",C=>this.premissions[C]??!0);this.premissions={},this.initialize()}initialize(){window.flutter_inappwebview||(this.premissions=this.getPremissions())}}class f{constructor(){c(this,"handlers");c(this,"handlerIds");c(this,"isInitialized");c(this,"isBrowserMode");c(this,"cachedInfo");c(this,"infoRequests");c(this,"premissionEvent");c(this,"handlerIdMap");this.handlers=new Map,this.handlerIds=new Map,this.handlerIdMap=new WeakMap,this.isInitialized=!1,this.isBrowserMode=!1,this.cachedInfo=new Map,this.infoRequests=new Map,this.premissionEvent=new S,this.initialize()}initialize(){window.flutter_inappwebview?(this.setupMessageHandler(),this.isInitialized=!0,this.isBrowserMode=!1,this.send(n.RequestInfo,{})):(this.isInitialized=!0,this.isBrowserMode=!0,console.warn("Flutter channel not found. Running in browser mode."))}setupMessageHandler(){window.receiveFromFlutter=C=>{try{const I=JSON.parse(C);if(I.type===s.ResponseInfo){this.handleInfoUpdate(I.data);return}this.handleMessage(I)}catch(I){console.error("Error parsing message from Flutter:",I)}}}handleInfoUpdate(C){C&&Object.entries(C).forEach(([I,e])=>{this.cachedInfo.set(I,e),(this.infoRequests.get(I)||[]).forEach(r=>r(e)),this.infoRequests.delete(I)})}handleMessage(C){const I=C.subType?C.type+C.subType:C.type;[...this.handlers.get(I)||[]].forEach(r=>{try{r(C)}catch(i){console.error("Error in message handler:",i)}})}send(C,I){if(!this.isInitialized){console.error("SDK not initialized");return}const t=JSON.stringify({type:C,data:I});window.flutter_inappwebview&&window.flutter_inappwebview.callHandler("Flutter",t).catch(r=>console.error("Error sending message to Flutter:",r))}on(C,I,e){const t=e?C+e:C,r=this.handlers.get(t)||[];r.push(I),this.handlers.set(t,r);const i=`${t}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;this.handlerIdMap.set(I,i);const a=this.handlerIds.get(t)||new Set;return a.add(i),this.handlerIds.set(t,a),i}off(C,I,e){const t=e?C+e:C,r=this.handlers.get(t)||[],i=r.filter(l=>l!==I);if(i.length===r.length)return;this.handlers.set(t,i);const a=this.handlerIdMap.get(I);if(a){const l=this.handlerIds.get(t);l&&l.delete(a)}}getBrowserMode(){return this.isBrowserMode}getInitialized(){return this.isInitialized}getCachedInfo(C){return this.cachedInfo.get(C)}getInfoRequests(){return this.infoRequests}setInfoRequest(C,I){this.infoRequests.set(C,I)}checkPremissionEvent(C){return this.premissionEvent.checkPremission(C)}}const g=new f;g.getBrowserMode();const y={user:{fullname:"Phạm Văn A",identityNumber:"039999963",phone:"0355600825",gender:0,dob:"2001-11-20",address:"Thanh Bình, Phường Hà Đông",permanentAddress:"Thôn A, huyện, tỉnh B",avatar:"https://badinh.ioc-cloud.com/rs/images/bc3cf657-f537-4f4a-9562-f9bda926d640-1751356836934.jpg"}},E=async A=>{if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestInfo)){const I={type:s.ResponseInfo,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:s.ResponseInfo,status:o.SUCCESS,data:y[A]};return Promise.resolve(C)}return new Promise(C=>{const e=g.getInfoRequests().get(A)||[];e.push(t=>{const r={type:s.ResponseInfo,status:o.SUCCESS,data:t};C(r)}),g.setInfoRequest(A,e),g.send(n.RequestInfo,{key:A})})},w="tokenEx.tokenEx",G=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestToken)){const C={type:s.ResponseToken,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:s.ResponseToken,status:o.SUCCESS,data:w};return Promise.resolve(A)}return new Promise((A,C)=>{const I=e=>{e.status===o.ERROR?C(e):A(e),g.off(s.ResponseToken,I)};g.on(s.ResponseToken,I),g.send(n.RequestToken)})},B={path:"/hello.png",base64:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAACADAAADoAQAAQAAACADAAAAAAAA/+EOAmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAyLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjVmNWM3Y2U4LTAzZWYtNDc5NC1iYTJkLTE4ZjRkZjViZjVhYjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5UaGnhur90IGvhur8gY2jGsGEgY8OzIHTDqm4gLSAzPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPlF14buzbmggRGnhu4VtPC9wZGY6QXV0aG9yPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmE8L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg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"},v={path:"/hello.png",size:12e3,base64:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAACADAAADoAQAAQAAACADAAAAAAAA/+EOAmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAyLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjVmNWM3Y2U4LTAzZWYtNDc5NC1iYTJkLTE4ZjRkZjViZjVhYjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5UaGnhur90IGvhur8gY2jGsGEgY8OzIHTDqm4gLSAzPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPlF14buzbmggRGnhu4VtPC9wZGY6QXV0aG9yPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmE8L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg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"},Z=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPickerImage)){const I={type:s.ResponsePickerImage,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:s.ResponsePickerImage,status:o.SUCCESS,data:B};return Promise.resolve(C)}return new Promise((C,I)=>{const e=t=>{t.status===o.ERROR?I(t):C(t),g.off(s.ResponsePickerImage,e)};g.on(s.ResponsePickerImage,e),g.send(n.RequestPickerImage,{type:A})})},M=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPickerFile)){const C={type:s.ResponsePickerFile,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:s.ResponsePickerFile,status:o.SUCCESS,data:v};return Promise.resolve(A)}return new Promise((A,C)=>{const I=e=>{e.status===o.ERROR?C(e):A(e),g.off(s.ResponsePickerFile,I)};g.on(s.ResponsePickerFile,I),g.send(n.RequestPickerFile,void 0)})},Q=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestSaveFile)){const I={type:s.ResponseSaveFile,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:s.ResponseSaveFile,status:o.SUCCESS};return Promise.resolve(C)}return new Promise((C,I)=>{const e=t=>{t.status===o.ERROR?I(t):C(t),g.off(s.ResponseSaveFile,e)};g.on(s.ResponseSaveFile,e),g.send(n.RequestSaveFile,{url:A})})},z=A=>{g.send(n.RequestCloseApp,A)},k=(A,C)=>{const I=C||g;if(!I.getInitialized())throw new Error("SDK not initialized");const e=t=>{A(t)};return I.on(s.responseFocus,e),()=>{I.off(s.responseFocus,e)}},Y=async()=>{if(!g.checkPremissionEvent(n.RequestVibrate)){const A={type:s.ResponseVibrate,status:o.PREMISSION_ERROR};return Promise.resolve(A)}g.send(n.RequestVibrate)},K=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestCall)){const I={type:s.ResponseCall,status:o.PREMISSION_ERROR};return Promise.resolve(I)}window.open(`tel:${A}`);const C={type:s.ResponseCall,status:o.SUCCESS};return Promise.resolve(C)}g.send(n.RequestCall,{phoneNumber:A})},b=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestSms)){const I={type:s.ResponseSms,status:o.PREMISSION_ERROR};return Promise.resolve(I)}window.open(`sms::${A}`);const C={type:s.ResponseSms,status:o.SUCCESS};return Promise.resolve(C)}g.send(n.RequestSms,{phoneNumber:A})},D=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){const C={type:s.ResponseConfigApp,status:o.SUCCESS};return Promise.resolve(C)}return new Promise((C,I)=>{const e=t=>{t.status===o.ERROR?I(t):C(t),g.off(s.ResponseConfigApp,e)};g.on(s.ResponseConfigApp,e),g.send(n.RequestConfigUIApp,A)})},q=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestGetPermission)){const I={type:s.ResponseGetPermisstion,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:s.ResponseGetPermisstion,status:o.SUCCESS,data:g.checkPremissionEvent(A)};return Promise.resolve(C)}return new Promise((C,I)=>{const e=t=>{t.status===o.ERROR?I(t):C(t),g.off(s.ResponseGetPermisstion,e)};g.on(s.ResponseGetPermisstion,e),g.send(n.requestGetPermission,{type:A})})},j=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestOpenPermisstionScreen)){const C={type:s.ResponseOpenPermisstionScreen,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:s.ResponseOpenPermisstionScreen,status:o.SUCCESS};return Promise.resolve(A)}return new Promise((A,C)=>{const I=e=>{e.status===o.ERROR?C(e):A(e),g.off(s.ResponseOpenPermisstionScreen,I)};g.on(s.ResponseOpenPermisstionScreen,I),g.send(n.RequestOpenPermisstionScreen)})},O={status:"success",message:"Tạo đơn hàng thành công"},J=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestPayment)){const I={type:s.ResponsePayment,status:o.PREMISSION_ERROR};return Promise.resolve(I)}const C={type:s.ResponsePayment,status:o.SUCCESS,data:O};return Promise.resolve(C)}return new Promise((C,I)=>{const e=t=>{t.status===o.ERROR?I(t):C(t),g.off(s.ResponsePayment,e)};g.on(s.ResponsePayment,e),g.send(n.RequestPayment,A)})},L=(A,C)=>{const I=C||g;if(!I.getInitialized())throw new Error("SDK not initialized");const e=t=>{A(t)};return I.on(s.ResponsePayment,e),()=>{I.off(s.ResponsePayment,e)}},U={latitude:21.0239852,longitude:105.791488},W=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestCurrentLocation)){const C={type:s.ResponseCurrentLocation,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:s.ResponseCurrentLocation,status:o.SUCCESS,data:U};return Promise.resolve(A)}return new Promise((A,C)=>{const I=e=>{e.status===o.ERROR?C(e):A(e),g.off(s.ResponseCurrentLocation,I)};g.on(s.ResponseCurrentLocation,I),g.send(n.RequestCurrentLocation)})},F=async()=>{if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.RequestLocationPermission)){const C={type:s.ResponseLocationPermission,status:o.PREMISSION_ERROR};return Promise.resolve(C)}const A={type:s.ResponseLocationPermission,status:o.SUCCESS};return Promise.resolve(A)}return new Promise((A,C)=>{const I=e=>{e.status===o.ERROR?C(e):A(e),g.off(s.ResponseLocationPermission,I)};g.on(s.ResponseLocationPermission,I),g.send(n.RequestLocationPermission)})},x=(A,C)=>{const I=C||g;if(!I.getInitialized())throw new Error("SDK not initialized");const e=t=>{A(t)};return I.on(s.ResponseNotification,e),()=>{I.off(s.ResponseNotification,e)}},R="mini_app_",H=async(A,C)=>{const I=`${R}_${A}`;if(!g.getInitialized())throw new Error("SDK not initialized");if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestSaveStore)){const t={type:s.responseSaveStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}localStorage.setItem(I,C);const e={type:s.responseSaveStore,status:o.SUCCESS};return Promise.resolve(e)}return new Promise((e,t)=>{const r=i=>{i.status===o.ERROR?t(i):e(i),g.off(s.responseSaveStore,r,A)};g.on(s.responseSaveStore,r,A),g.send(n.requestSaveStore,{key:A,data:C})})},V=async A=>{if(!g.getInitialized())throw new Error("SDK not initialized");const C=`${R}_${A}`;if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestGetStore)){const t={type:s.responseGetStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}const I=localStorage.getItem(C),e={type:s.responseGetStore,status:o.SUCCESS,data:I??""};return Promise.resolve(e)}return new Promise((I,e)=>{const t=r=>{r.status===o.ERROR?e(r):I(r),g.off(s.responseGetStore,t,A)};g.on(s.responseGetStore,t,A),g.send(n.requestGetStore,{key:A})})},N=async(A,C)=>{if(!g.getInitialized())throw new Error("SDK not initialized");const I=`${R+C}_${A}`;if(g.getBrowserMode()){if(!g.checkPremissionEvent(n.requestClearStore)){const t={type:s.responseClearStore,status:o.PREMISSION_ERROR};return Promise.resolve(t)}localStorage.removeItem(I);const e={type:s.responseClearStore,status:o.SUCCESS};return Promise.resolve(e)}return new Promise((e,t)=>{const r=i=>{i.status===o.ERROR?t(i):e(i),g.off(s.responseClearStore,r,A)};g.on(s.responseClearStore,r,A),g.send(n.requestClearStore,{key:A})})};exports.EHeaderMode=u;exports.EIconNavigationPosision=p;exports.EKeyInfor=P;exports.EMediaType=d;exports.EStatus=o;exports.ETypeRequest=n;exports.ETypeResponse=s;exports.call=K;exports.clearStore=N;exports.closeApp=z;exports.configUIApp=D;exports.currentLocation=W;exports.fltSDK=g;exports.getInfo=E;exports.getStore=V;exports.getToken=G;exports.listenFocusEvent=k;exports.listenNotifiactionEvent=x;exports.listenPaymentEvent=L;exports.openPermisstionScreen=j;exports.openPickerFile=M;exports.openPickerImage=Z;exports.paymentRequest=J;exports.premissionsRequest=q;exports.requestLocationPermission=F;exports.saveFile=Q;exports.saveStore=H;exports.sms=b;exports.vibrate=Y;
package/dist/index.d.ts CHANGED
@@ -169,7 +169,7 @@ export declare interface IViewUiConfig {
169
169
  iconNavigationPosision?: EIconNavigationPosision;
170
170
  }
171
171
 
172
- export declare const listenFocusEvent: (callback: () => void) => (() => void);
172
+ export declare const listenFocusEvent: (callback: (data: FlutterMessageResponse) => void, customSdk?: typeof fltSDK) => (() => void);
173
173
 
174
174
  export declare const listenNotifiactionEvent: (callback: (data: FlutterMessageResponse) => void, customSdk?: typeof fltSDK) => (() => void);
175
175
 
package/dist/index.es.js CHANGED
@@ -1,15 +1,15 @@
1
1
  var u = Object.defineProperty;
2
2
  var d = (A, C, I) => C in A ? u(A, C, { enumerable: !0, configurable: !0, writable: !0, value: I }) : A[C] = I;
3
3
  var c = (A, C, I) => d(A, typeof C != "symbol" ? C + "" : C, I);
4
- var n = /* @__PURE__ */ ((A) => (A.RequestConfigUIApp = "requestConfigUIApp", A.RequestInfo = "requestInfo", A.RequestToken = "requestToken", A.RequestCloseApp = "requestCloseApp", A.RequestPickerImage = "requestPickerImage", A.RequestPickerFile = "requestPickerFile", A.RequestSaveFile = "requestSaveFile", A.RequestVibrate = "requestVibrate", A.RequestCall = "requestCall", A.RequestSms = "requestSms", A.RequestLocationPermission = "requestLocationPermission", A.RequestOpenPermisstionScreen = "requestOpenPermisstionScreen", A.RequestCurrentLocation = "requestCurrentLocation", A.RequestPayment = "requestPayment", A.requestGetPermission = "requestGetPermission", A.requestSaveStore = "requestSaveStore", A.requestGetStore = "requestGetStore", A.requestClearStore = "requestClearStore", A))(n || {}), e = /* @__PURE__ */ ((A) => (A.ResponseConfigApp = "responseConfigUIApp", A.ResponseInfo = "responseInfo", A.ResponseToken = "responseToken", A.ResponsePickerImage = "responsePickerImage", A.ResponsePickerFile = "responsePickerFile", A.ResponseSaveFile = "responseSaveFile", A.ResponseVibrate = "responseVibrate", A.ResponseCall = "responseCall", A.ResponseSms = "responseSms", A.ResponseLocationPermission = "responseLocationPermission", A.ResponseCurrentLocation = "responseCurrentLocation", A.ResponseCloseApp = "responseCloseApp", A.responseFocus = "responseFocus", A.ResponsePayment = "responsePayment", A.ResponseNotification = "responseNotification", A.ResponseGetPermisstion = "responseGetPermisstion", A.ResponseOpenPermisstionScreen = "responseOpenPermisstionScreen", A.responseSaveStore = "responseSaveStore", A.responseGetStore = "responseGetStore", A.responseClearStore = "responseClearStore", A))(e || {}), o = /* @__PURE__ */ ((A) => (A.SUCCESS = "success", A.ERROR = "error", A.PREMISSION_ERROR = "premissionError", A))(o || {}), P = /* @__PURE__ */ ((A) => (A.MINI = "mini", A.FULL = "full", A))(P || {}), p = /* @__PURE__ */ ((A) => (A.RIGHT = "right", A.LEFT = "left", A))(p || {}), m = /* @__PURE__ */ ((A) => (A.USER = "user", A))(m || {}), h = /* @__PURE__ */ ((A) => (A.gallery = "gallery", A.camera = "camera", A))(h || {});
4
+ var o = /* @__PURE__ */ ((A) => (A.RequestConfigUIApp = "requestConfigUIApp", A.RequestInfo = "requestInfo", A.RequestToken = "requestToken", A.RequestCloseApp = "requestCloseApp", A.RequestPickerImage = "requestPickerImage", A.RequestPickerFile = "requestPickerFile", A.RequestSaveFile = "requestSaveFile", A.RequestVibrate = "requestVibrate", A.RequestCall = "requestCall", A.RequestSms = "requestSms", A.RequestLocationPermission = "requestLocationPermission", A.RequestOpenPermisstionScreen = "requestOpenPermisstionScreen", A.RequestCurrentLocation = "requestCurrentLocation", A.RequestPayment = "requestPayment", A.requestGetPermission = "requestGetPermission", A.requestSaveStore = "requestSaveStore", A.requestGetStore = "requestGetStore", A.requestClearStore = "requestClearStore", A))(o || {}), s = /* @__PURE__ */ ((A) => (A.ResponseConfigApp = "responseConfigUIApp", A.ResponseInfo = "responseInfo", A.ResponseToken = "responseToken", A.ResponsePickerImage = "responsePickerImage", A.ResponsePickerFile = "responsePickerFile", A.ResponseSaveFile = "responseSaveFile", A.ResponseVibrate = "responseVibrate", A.ResponseCall = "responseCall", A.ResponseSms = "responseSms", A.ResponseLocationPermission = "responseLocationPermission", A.ResponseCurrentLocation = "responseCurrentLocation", A.ResponseCloseApp = "responseCloseApp", A.responseFocus = "responseFocus", A.ResponsePayment = "responsePayment", A.ResponseNotification = "responseNotification", A.ResponseGetPermisstion = "responseGetPermisstion", A.ResponseOpenPermisstionScreen = "responseOpenPermisstionScreen", A.responseSaveStore = "responseSaveStore", A.responseGetStore = "responseGetStore", A.responseClearStore = "responseClearStore", A))(s || {}), n = /* @__PURE__ */ ((A) => (A.SUCCESS = "success", A.ERROR = "error", A.PREMISSION_ERROR = "premissionError", A))(n || {}), P = /* @__PURE__ */ ((A) => (A.MINI = "mini", A.FULL = "full", A))(P || {}), p = /* @__PURE__ */ ((A) => (A.RIGHT = "right", A.LEFT = "left", A))(p || {}), m = /* @__PURE__ */ ((A) => (A.USER = "user", A))(m || {}), h = /* @__PURE__ */ ((A) => (A.gallery = "gallery", A.camera = "camera", A))(h || {});
5
5
  class S {
6
6
  constructor() {
7
7
  c(this, "premissions");
8
8
  c(this, "getPremissions", () => ({
9
- [n.RequestInfo]: !0,
10
- [n.RequestCloseApp]: !0,
11
- [n.RequestPickerImage]: !0,
12
- [n.RequestVibrate]: !0
9
+ [o.RequestInfo]: !0,
10
+ [o.RequestCloseApp]: !0,
11
+ [o.RequestPickerImage]: !0,
12
+ [o.RequestVibrate]: !0
13
13
  }));
14
14
  c(this, "checkPremission", (C) => this.premissions[C] ?? !0);
15
15
  this.premissions = {}, this.initialize();
@@ -31,13 +31,13 @@ class f {
31
31
  this.handlers = /* @__PURE__ */ new Map(), this.handlerIds = /* @__PURE__ */ new Map(), this.handlerIdMap = /* @__PURE__ */ new WeakMap(), this.isInitialized = !1, this.isBrowserMode = !1, this.cachedInfo = /* @__PURE__ */ new Map(), this.infoRequests = /* @__PURE__ */ new Map(), this.premissionEvent = new S(), this.initialize();
32
32
  }
33
33
  initialize() {
34
- window.flutter_inappwebview ? (this.setupMessageHandler(), this.isInitialized = !0, this.isBrowserMode = !1, this.send(n.RequestInfo, {})) : (this.isInitialized = !0, this.isBrowserMode = !0, console.warn("Flutter channel not found. Running in browser mode."));
34
+ window.flutter_inappwebview ? (this.setupMessageHandler(), this.isInitialized = !0, this.isBrowserMode = !1, this.send(o.RequestInfo, {})) : (this.isInitialized = !0, this.isBrowserMode = !0, console.warn("Flutter channel not found. Running in browser mode."));
35
35
  }
36
36
  setupMessageHandler() {
37
37
  window.receiveFromFlutter = (C) => {
38
38
  try {
39
39
  const I = JSON.parse(C);
40
- if (I.type === e.ResponseInfo) {
40
+ if (I.type === s.ResponseInfo) {
41
41
  this.handleInfoUpdate(I.data);
42
42
  return;
43
43
  }
@@ -48,8 +48,8 @@ class f {
48
48
  };
49
49
  }
50
50
  handleInfoUpdate(C) {
51
- C && Object.entries(C).forEach(([I, s]) => {
52
- this.cachedInfo.set(I, s), (this.infoRequests.get(I) || []).forEach((r) => r(s)), this.infoRequests.delete(I);
51
+ C && Object.entries(C).forEach(([I, e]) => {
52
+ this.cachedInfo.set(I, e), (this.infoRequests.get(I) || []).forEach((r) => r(e)), this.infoRequests.delete(I);
53
53
  });
54
54
  }
55
55
  handleMessage(C) {
@@ -70,16 +70,16 @@ class f {
70
70
  const t = JSON.stringify({ type: C, data: I });
71
71
  window.flutter_inappwebview && window.flutter_inappwebview.callHandler("Flutter", t).catch((r) => console.error("Error sending message to Flutter:", r));
72
72
  }
73
- on(C, I, s) {
74
- const t = s ? C + s : C, r = this.handlers.get(t) || [];
73
+ on(C, I, e) {
74
+ const t = e ? C + e : C, r = this.handlers.get(t) || [];
75
75
  r.push(I), this.handlers.set(t, r);
76
76
  const i = `${t}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
77
77
  this.handlerIdMap.set(I, i);
78
78
  const a = this.handlerIds.get(t) || /* @__PURE__ */ new Set();
79
79
  return a.add(i), this.handlerIds.set(t, a), i;
80
80
  }
81
- off(C, I, s) {
82
- const t = s ? C + s : C, r = this.handlers.get(t) || [], i = r.filter((l) => l !== I);
81
+ off(C, I, e) {
82
+ const t = e ? C + e : C, r = this.handlers.get(t) || [], i = r.filter((l) => l !== I);
83
83
  if (i.length === r.length)
84
84
  return;
85
85
  this.handlers.set(t, i);
@@ -123,54 +123,54 @@ const y = {
123
123
  }
124
124
  }, Q = async (A) => {
125
125
  if (g.getBrowserMode()) {
126
- if (!g.checkPremissionEvent(n.RequestInfo)) {
126
+ if (!g.checkPremissionEvent(o.RequestInfo)) {
127
127
  const I = {
128
- type: e.ResponseInfo,
129
- status: o.PREMISSION_ERROR
128
+ type: s.ResponseInfo,
129
+ status: n.PREMISSION_ERROR
130
130
  };
131
131
  return Promise.resolve(I);
132
132
  }
133
133
  const C = {
134
- type: e.ResponseInfo,
135
- status: o.SUCCESS,
134
+ type: s.ResponseInfo,
135
+ status: n.SUCCESS,
136
136
  data: y[A]
137
137
  };
138
138
  return Promise.resolve(C);
139
139
  }
140
140
  return new Promise((C) => {
141
- const s = g.getInfoRequests().get(A) || [];
142
- s.push((t) => {
141
+ const e = g.getInfoRequests().get(A) || [];
142
+ e.push((t) => {
143
143
  const r = {
144
- type: e.ResponseInfo,
145
- status: o.SUCCESS,
144
+ type: s.ResponseInfo,
145
+ status: n.SUCCESS,
146
146
  data: t
147
147
  };
148
148
  C(r);
149
- }), g.setInfoRequest(A, s), g.send(n.RequestInfo, { key: A });
149
+ }), g.setInfoRequest(A, e), g.send(o.RequestInfo, { key: A });
150
150
  });
151
151
  }, w = "tokenEx.tokenEx", M = async () => {
152
152
  if (!g.getInitialized())
153
153
  throw new Error("SDK not initialized");
154
154
  if (g.getBrowserMode()) {
155
- if (!g.checkPremissionEvent(n.RequestToken)) {
155
+ if (!g.checkPremissionEvent(o.RequestToken)) {
156
156
  const C = {
157
- type: e.ResponseToken,
158
- status: o.PREMISSION_ERROR
157
+ type: s.ResponseToken,
158
+ status: n.PREMISSION_ERROR
159
159
  };
160
160
  return Promise.resolve(C);
161
161
  }
162
162
  const A = {
163
- type: e.ResponseToken,
164
- status: o.SUCCESS,
163
+ type: s.ResponseToken,
164
+ status: n.SUCCESS,
165
165
  data: w
166
166
  };
167
167
  return Promise.resolve(A);
168
168
  }
169
169
  return new Promise((A, C) => {
170
- const I = (s) => {
171
- s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseToken, I);
170
+ const I = (e) => {
171
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseToken, I);
172
172
  };
173
- g.on(e.ResponseToken, I), g.send(n.RequestToken);
173
+ g.on(s.ResponseToken, I), g.send(o.RequestToken);
174
174
  });
175
175
  }, G = {
176
176
  path: "/hello.png",
@@ -183,193 +183,194 @@ const y = {
183
183
  if (!g.getInitialized())
184
184
  throw new Error("SDK not initialized");
185
185
  if (g.getBrowserMode()) {
186
- if (!g.checkPremissionEvent(n.RequestPickerImage)) {
186
+ if (!g.checkPremissionEvent(o.RequestPickerImage)) {
187
187
  const I = {
188
- type: e.ResponsePickerImage,
189
- status: o.PREMISSION_ERROR
188
+ type: s.ResponsePickerImage,
189
+ status: n.PREMISSION_ERROR
190
190
  };
191
191
  return Promise.resolve(I);
192
192
  }
193
193
  const C = {
194
- type: e.ResponsePickerImage,
195
- status: o.SUCCESS,
194
+ type: s.ResponsePickerImage,
195
+ status: n.SUCCESS,
196
196
  data: G
197
197
  };
198
198
  return Promise.resolve(C);
199
199
  }
200
200
  return new Promise((C, I) => {
201
- const s = (t) => {
202
- t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponsePickerImage, s);
201
+ const e = (t) => {
202
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponsePickerImage, e);
203
203
  };
204
- g.on(e.ResponsePickerImage, s), g.send(n.RequestPickerImage, { type: A });
204
+ g.on(s.ResponsePickerImage, e), g.send(o.RequestPickerImage, { type: A });
205
205
  });
206
206
  }, Y = async () => {
207
207
  if (!g.getInitialized())
208
208
  throw new Error("SDK not initialized");
209
209
  if (g.getBrowserMode()) {
210
- if (!g.checkPremissionEvent(n.RequestPickerFile)) {
210
+ if (!g.checkPremissionEvent(o.RequestPickerFile)) {
211
211
  const C = {
212
- type: e.ResponsePickerFile,
213
- status: o.PREMISSION_ERROR
212
+ type: s.ResponsePickerFile,
213
+ status: n.PREMISSION_ERROR
214
214
  };
215
215
  return Promise.resolve(C);
216
216
  }
217
217
  const A = {
218
- type: e.ResponsePickerFile,
219
- status: o.SUCCESS,
218
+ type: s.ResponsePickerFile,
219
+ status: n.SUCCESS,
220
220
  data: E
221
221
  };
222
222
  return Promise.resolve(A);
223
223
  }
224
224
  return new Promise((A, C) => {
225
- const I = (s) => {
226
- s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponsePickerFile, I);
225
+ const I = (e) => {
226
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponsePickerFile, I);
227
227
  };
228
- g.on(e.ResponsePickerFile, I), g.send(n.RequestPickerFile, void 0);
228
+ g.on(s.ResponsePickerFile, I), g.send(o.RequestPickerFile, void 0);
229
229
  });
230
230
  }, k = async (A) => {
231
231
  if (!g.getInitialized())
232
232
  throw new Error("SDK not initialized");
233
233
  if (g.getBrowserMode()) {
234
- if (!g.checkPremissionEvent(n.RequestSaveFile)) {
234
+ if (!g.checkPremissionEvent(o.RequestSaveFile)) {
235
235
  const I = {
236
- type: e.ResponseSaveFile,
237
- status: o.PREMISSION_ERROR
236
+ type: s.ResponseSaveFile,
237
+ status: n.PREMISSION_ERROR
238
238
  };
239
239
  return Promise.resolve(I);
240
240
  }
241
241
  const C = {
242
- type: e.ResponseSaveFile,
243
- status: o.SUCCESS
242
+ type: s.ResponseSaveFile,
243
+ status: n.SUCCESS
244
244
  };
245
245
  return Promise.resolve(C);
246
246
  }
247
247
  return new Promise((C, I) => {
248
- const s = (t) => {
249
- t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseSaveFile, s);
248
+ const e = (t) => {
249
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseSaveFile, e);
250
250
  };
251
- g.on(e.ResponseSaveFile, s), g.send(n.RequestSaveFile, { url: A });
251
+ g.on(s.ResponseSaveFile, e), g.send(o.RequestSaveFile, { url: A });
252
252
  });
253
253
  }, K = (A) => {
254
- g.send(n.RequestCloseApp, A);
255
- }, b = (A) => {
256
- if (!g.getInitialized())
254
+ g.send(o.RequestCloseApp, A);
255
+ }, b = (A, C) => {
256
+ const I = C || g;
257
+ if (!I.getInitialized())
257
258
  throw new Error("SDK not initialized");
258
- const C = () => {
259
- A();
259
+ const e = (t) => {
260
+ A(t);
260
261
  };
261
- return g.on(e.responseFocus, C), () => {
262
- g.off(e.responseFocus, C);
262
+ return I.on(s.responseFocus, e), () => {
263
+ I.off(s.responseFocus, e);
263
264
  };
264
265
  }, D = async () => {
265
- if (!g.checkPremissionEvent(n.RequestVibrate)) {
266
+ if (!g.checkPremissionEvent(o.RequestVibrate)) {
266
267
  const A = {
267
- type: e.ResponseVibrate,
268
- status: o.PREMISSION_ERROR
268
+ type: s.ResponseVibrate,
269
+ status: n.PREMISSION_ERROR
269
270
  };
270
271
  return Promise.resolve(A);
271
272
  }
272
- g.send(n.RequestVibrate);
273
+ g.send(o.RequestVibrate);
273
274
  }, j = async (A) => {
274
275
  if (!g.getInitialized())
275
276
  throw new Error("SDK not initialized");
276
277
  if (g.getBrowserMode()) {
277
- if (!g.checkPremissionEvent(n.RequestCall)) {
278
+ if (!g.checkPremissionEvent(o.RequestCall)) {
278
279
  const I = {
279
- type: e.ResponseCall,
280
- status: o.PREMISSION_ERROR
280
+ type: s.ResponseCall,
281
+ status: n.PREMISSION_ERROR
281
282
  };
282
283
  return Promise.resolve(I);
283
284
  }
284
285
  window.open(`tel:${A}`);
285
286
  const C = {
286
- type: e.ResponseCall,
287
- status: o.SUCCESS
287
+ type: s.ResponseCall,
288
+ status: n.SUCCESS
288
289
  };
289
290
  return Promise.resolve(C);
290
291
  }
291
- g.send(n.RequestCall, { phoneNumber: A });
292
+ g.send(o.RequestCall, { phoneNumber: A });
292
293
  }, q = async (A) => {
293
294
  if (!g.getInitialized())
294
295
  throw new Error("SDK not initialized");
295
296
  if (g.getBrowserMode()) {
296
- if (!g.checkPremissionEvent(n.RequestSms)) {
297
+ if (!g.checkPremissionEvent(o.RequestSms)) {
297
298
  const I = {
298
- type: e.ResponseSms,
299
- status: o.PREMISSION_ERROR
299
+ type: s.ResponseSms,
300
+ status: n.PREMISSION_ERROR
300
301
  };
301
302
  return Promise.resolve(I);
302
303
  }
303
304
  window.open(`sms::${A}`);
304
305
  const C = {
305
- type: e.ResponseSms,
306
- status: o.SUCCESS
306
+ type: s.ResponseSms,
307
+ status: n.SUCCESS
307
308
  };
308
309
  return Promise.resolve(C);
309
310
  }
310
- g.send(n.RequestSms, { phoneNumber: A });
311
+ g.send(o.RequestSms, { phoneNumber: A });
311
312
  }, O = async (A) => {
312
313
  if (!g.getInitialized())
313
314
  throw new Error("SDK not initialized");
314
315
  if (g.getBrowserMode()) {
315
316
  const C = {
316
- type: e.ResponseConfigApp,
317
- status: o.SUCCESS
317
+ type: s.ResponseConfigApp,
318
+ status: n.SUCCESS
318
319
  };
319
320
  return Promise.resolve(C);
320
321
  }
321
322
  return new Promise((C, I) => {
322
- const s = (t) => {
323
- t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseConfigApp, s);
323
+ const e = (t) => {
324
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseConfigApp, e);
324
325
  };
325
- g.on(e.ResponseConfigApp, s), g.send(n.RequestConfigUIApp, A);
326
+ g.on(s.ResponseConfigApp, e), g.send(o.RequestConfigUIApp, A);
326
327
  });
327
328
  }, J = async (A) => {
328
329
  if (!g.getInitialized())
329
330
  throw new Error("SDK not initialized");
330
331
  if (g.getBrowserMode()) {
331
- if (!g.checkPremissionEvent(n.requestGetPermission)) {
332
+ if (!g.checkPremissionEvent(o.requestGetPermission)) {
332
333
  const I = {
333
- type: e.ResponseGetPermisstion,
334
- status: o.PREMISSION_ERROR
334
+ type: s.ResponseGetPermisstion,
335
+ status: n.PREMISSION_ERROR
335
336
  };
336
337
  return Promise.resolve(I);
337
338
  }
338
339
  const C = {
339
- type: e.ResponseGetPermisstion,
340
- status: o.SUCCESS,
340
+ type: s.ResponseGetPermisstion,
341
+ status: n.SUCCESS,
341
342
  data: g.checkPremissionEvent(A)
342
343
  };
343
344
  return Promise.resolve(C);
344
345
  }
345
346
  return new Promise((C, I) => {
346
- const s = (t) => {
347
- t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseGetPermisstion, s);
347
+ const e = (t) => {
348
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseGetPermisstion, e);
348
349
  };
349
- g.on(e.ResponseGetPermisstion, s), g.send(n.requestGetPermission, { type: A });
350
+ g.on(s.ResponseGetPermisstion, e), g.send(o.requestGetPermission, { type: A });
350
351
  });
351
352
  }, U = async () => {
352
353
  if (!g.getInitialized())
353
354
  throw new Error("SDK not initialized");
354
355
  if (g.getBrowserMode()) {
355
- if (!g.checkPremissionEvent(n.RequestOpenPermisstionScreen)) {
356
+ if (!g.checkPremissionEvent(o.RequestOpenPermisstionScreen)) {
356
357
  const C = {
357
- type: e.ResponseOpenPermisstionScreen,
358
- status: o.PREMISSION_ERROR
358
+ type: s.ResponseOpenPermisstionScreen,
359
+ status: n.PREMISSION_ERROR
359
360
  };
360
361
  return Promise.resolve(C);
361
362
  }
362
363
  const A = {
363
- type: e.ResponseOpenPermisstionScreen,
364
- status: o.SUCCESS
364
+ type: s.ResponseOpenPermisstionScreen,
365
+ status: n.SUCCESS
365
366
  };
366
367
  return Promise.resolve(A);
367
368
  }
368
369
  return new Promise((A, C) => {
369
- const I = (s) => {
370
- s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseOpenPermisstionScreen, I);
370
+ const I = (e) => {
371
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseOpenPermisstionScreen, I);
371
372
  };
372
- g.on(e.ResponseOpenPermisstionScreen, I), g.send(n.RequestOpenPermisstionScreen);
373
+ g.on(s.ResponseOpenPermisstionScreen, I), g.send(o.RequestOpenPermisstionScreen);
373
374
  });
374
375
  }, B = {
375
376
  status: "success",
@@ -378,35 +379,35 @@ const y = {
378
379
  if (!g.getInitialized())
379
380
  throw new Error("SDK not initialized");
380
381
  if (g.getBrowserMode()) {
381
- if (!g.checkPremissionEvent(n.RequestPayment)) {
382
+ if (!g.checkPremissionEvent(o.RequestPayment)) {
382
383
  const I = {
383
- type: e.ResponsePayment,
384
- status: o.PREMISSION_ERROR
384
+ type: s.ResponsePayment,
385
+ status: n.PREMISSION_ERROR
385
386
  };
386
387
  return Promise.resolve(I);
387
388
  }
388
389
  const C = {
389
- type: e.ResponsePayment,
390
- status: o.SUCCESS,
390
+ type: s.ResponsePayment,
391
+ status: n.SUCCESS,
391
392
  data: B
392
393
  };
393
394
  return Promise.resolve(C);
394
395
  }
395
396
  return new Promise((C, I) => {
396
- const s = (t) => {
397
- t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponsePayment, s);
397
+ const e = (t) => {
398
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponsePayment, e);
398
399
  };
399
- g.on(e.ResponsePayment, s), g.send(n.RequestPayment, A);
400
+ g.on(s.ResponsePayment, e), g.send(o.RequestPayment, A);
400
401
  });
401
402
  }, L = (A, C) => {
402
403
  const I = C || g;
403
404
  if (!I.getInitialized())
404
405
  throw new Error("SDK not initialized");
405
- const s = (t) => {
406
+ const e = (t) => {
406
407
  A(t);
407
408
  };
408
- return I.on(e.ResponsePayment, s), () => {
409
- I.off(e.ResponsePayment, s);
409
+ return I.on(s.ResponsePayment, e), () => {
410
+ I.off(s.ResponsePayment, e);
410
411
  };
411
412
  }, Z = {
412
413
  latitude: 21.0239852,
@@ -415,133 +416,133 @@ const y = {
415
416
  if (!g.getInitialized())
416
417
  throw new Error("SDK not initialized");
417
418
  if (g.getBrowserMode()) {
418
- if (!g.checkPremissionEvent(n.RequestCurrentLocation)) {
419
+ if (!g.checkPremissionEvent(o.RequestCurrentLocation)) {
419
420
  const C = {
420
- type: e.ResponseCurrentLocation,
421
- status: o.PREMISSION_ERROR
421
+ type: s.ResponseCurrentLocation,
422
+ status: n.PREMISSION_ERROR
422
423
  };
423
424
  return Promise.resolve(C);
424
425
  }
425
426
  const A = {
426
- type: e.ResponseCurrentLocation,
427
- status: o.SUCCESS,
427
+ type: s.ResponseCurrentLocation,
428
+ status: n.SUCCESS,
428
429
  data: Z
429
430
  };
430
431
  return Promise.resolve(A);
431
432
  }
432
433
  return new Promise((A, C) => {
433
- const I = (s) => {
434
- s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseCurrentLocation, I);
434
+ const I = (e) => {
435
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseCurrentLocation, I);
435
436
  };
436
- g.on(e.ResponseCurrentLocation, I), g.send(n.RequestCurrentLocation);
437
+ g.on(s.ResponseCurrentLocation, I), g.send(o.RequestCurrentLocation);
437
438
  });
438
439
  }, x = async () => {
439
440
  if (!g.getInitialized())
440
441
  throw new Error("SDK not initialized");
441
442
  if (g.getBrowserMode()) {
442
- if (!g.checkPremissionEvent(n.RequestLocationPermission)) {
443
+ if (!g.checkPremissionEvent(o.RequestLocationPermission)) {
443
444
  const C = {
444
- type: e.ResponseLocationPermission,
445
- status: o.PREMISSION_ERROR
445
+ type: s.ResponseLocationPermission,
446
+ status: n.PREMISSION_ERROR
446
447
  };
447
448
  return Promise.resolve(C);
448
449
  }
449
450
  const A = {
450
- type: e.ResponseLocationPermission,
451
- status: o.SUCCESS
451
+ type: s.ResponseLocationPermission,
452
+ status: n.SUCCESS
452
453
  };
453
454
  return Promise.resolve(A);
454
455
  }
455
456
  return new Promise((A, C) => {
456
- const I = (s) => {
457
- s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseLocationPermission, I);
457
+ const I = (e) => {
458
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseLocationPermission, I);
458
459
  };
459
- g.on(e.ResponseLocationPermission, I), g.send(n.RequestLocationPermission);
460
+ g.on(s.ResponseLocationPermission, I), g.send(o.RequestLocationPermission);
460
461
  });
461
462
  }, H = (A, C) => {
462
463
  const I = C || g;
463
464
  if (!I.getInitialized())
464
465
  throw new Error("SDK not initialized");
465
- const s = (t) => {
466
+ const e = (t) => {
466
467
  A(t);
467
468
  };
468
- return I.on(e.ResponseNotification, s), () => {
469
- I.off(e.ResponseNotification, s);
469
+ return I.on(s.ResponseNotification, e), () => {
470
+ I.off(s.ResponseNotification, e);
470
471
  };
471
472
  }, R = "mini_app_", V = async (A, C) => {
472
473
  const I = `${R}_${A}`;
473
474
  if (!g.getInitialized())
474
475
  throw new Error("SDK not initialized");
475
476
  if (g.getBrowserMode()) {
476
- if (!g.checkPremissionEvent(n.requestSaveStore)) {
477
+ if (!g.checkPremissionEvent(o.requestSaveStore)) {
477
478
  const t = {
478
- type: e.responseSaveStore,
479
- status: o.PREMISSION_ERROR
479
+ type: s.responseSaveStore,
480
+ status: n.PREMISSION_ERROR
480
481
  };
481
482
  return Promise.resolve(t);
482
483
  }
483
484
  localStorage.setItem(I, C);
484
- const s = {
485
- type: e.responseSaveStore,
486
- status: o.SUCCESS
485
+ const e = {
486
+ type: s.responseSaveStore,
487
+ status: n.SUCCESS
487
488
  };
488
- return Promise.resolve(s);
489
+ return Promise.resolve(e);
489
490
  }
490
- return new Promise((s, t) => {
491
+ return new Promise((e, t) => {
491
492
  const r = (i) => {
492
- i.status === o.ERROR ? t(i) : s(i), g.off(e.responseSaveStore, r, A);
493
+ i.status === n.ERROR ? t(i) : e(i), g.off(s.responseSaveStore, r, A);
493
494
  };
494
- g.on(e.responseSaveStore, r, A), g.send(n.requestSaveStore, { key: A, data: C });
495
+ g.on(s.responseSaveStore, r, A), g.send(o.requestSaveStore, { key: A, data: C });
495
496
  });
496
497
  }, N = async (A) => {
497
498
  if (!g.getInitialized())
498
499
  throw new Error("SDK not initialized");
499
500
  const C = `${R}_${A}`;
500
501
  if (g.getBrowserMode()) {
501
- if (!g.checkPremissionEvent(n.requestGetStore)) {
502
+ if (!g.checkPremissionEvent(o.requestGetStore)) {
502
503
  const t = {
503
- type: e.responseGetStore,
504
- status: o.PREMISSION_ERROR
504
+ type: s.responseGetStore,
505
+ status: n.PREMISSION_ERROR
505
506
  };
506
507
  return Promise.resolve(t);
507
508
  }
508
- const I = localStorage.getItem(C), s = {
509
- type: e.responseGetStore,
510
- status: o.SUCCESS,
509
+ const I = localStorage.getItem(C), e = {
510
+ type: s.responseGetStore,
511
+ status: n.SUCCESS,
511
512
  data: I ?? ""
512
513
  };
513
- return Promise.resolve(s);
514
+ return Promise.resolve(e);
514
515
  }
515
- return new Promise((I, s) => {
516
+ return new Promise((I, e) => {
516
517
  const t = (r) => {
517
- r.status === o.ERROR ? s(r) : I(r), g.off(e.responseGetStore, t, A);
518
+ r.status === n.ERROR ? e(r) : I(r), g.off(s.responseGetStore, t, A);
518
519
  };
519
- g.on(e.responseGetStore, t, A), g.send(n.requestGetStore, { key: A });
520
+ g.on(s.responseGetStore, t, A), g.send(o.requestGetStore, { key: A });
520
521
  });
521
522
  }, X = async (A, C) => {
522
523
  if (!g.getInitialized())
523
524
  throw new Error("SDK not initialized");
524
525
  const I = `${R + C}_${A}`;
525
526
  if (g.getBrowserMode()) {
526
- if (!g.checkPremissionEvent(n.requestClearStore)) {
527
+ if (!g.checkPremissionEvent(o.requestClearStore)) {
527
528
  const t = {
528
- type: e.responseClearStore,
529
- status: o.PREMISSION_ERROR
529
+ type: s.responseClearStore,
530
+ status: n.PREMISSION_ERROR
530
531
  };
531
532
  return Promise.resolve(t);
532
533
  }
533
534
  localStorage.removeItem(I);
534
- const s = {
535
- type: e.responseClearStore,
536
- status: o.SUCCESS
535
+ const e = {
536
+ type: s.responseClearStore,
537
+ status: n.SUCCESS
537
538
  };
538
- return Promise.resolve(s);
539
+ return Promise.resolve(e);
539
540
  }
540
- return new Promise((s, t) => {
541
+ return new Promise((e, t) => {
541
542
  const r = (i) => {
542
- i.status === o.ERROR ? t(i) : s(i), g.off(e.responseClearStore, r, A);
543
+ i.status === n.ERROR ? t(i) : e(i), g.off(s.responseClearStore, r, A);
543
544
  };
544
- g.on(e.responseClearStore, r, A), g.send(n.requestClearStore, { key: A });
545
+ g.on(s.responseClearStore, r, A), g.send(o.requestClearStore, { key: A });
545
546
  });
546
547
  };
547
548
  export {
@@ -549,9 +550,9 @@ export {
549
550
  p as EIconNavigationPosision,
550
551
  m as EKeyInfor,
551
552
  h as EMediaType,
552
- o as EStatus,
553
- n as ETypeRequest,
554
- e as ETypeResponse,
553
+ n as EStatus,
554
+ o as ETypeRequest,
555
+ s as ETypeResponse,
555
556
  j as call,
556
557
  X as clearStore,
557
558
  K as closeApp,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "x-app-sdk",
3
3
  "private": false,
4
- "version": "1.4.0",
4
+ "version": "1.4.2",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",