x-app-sdk 1.3.6 → 1.4.0

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
@@ -233,6 +233,19 @@ closeApp();
233
233
  closeApp({ result: 'success', data: 'some data' });
234
234
  ```
235
235
 
236
+ #### `listenFocusEvent(callback)`
237
+ Lắng nghe sự kiện focus vào mini app.
238
+ ```js
239
+ import { listenFocusEvent } from 'x-app-sdk';
240
+
241
+ const unsubscribe = listenFocusEvent((data) => {
242
+ console.log('Mini app đang được focus');
243
+ });
244
+
245
+ // Để hủy lắng nghe
246
+ unsubscribe();
247
+ ```
248
+
236
249
  ### 9. Store - Lưu trữ cục bộ
237
250
  #### `saveStore(key, data)`
238
251
  Lưu dữ liệu vào bộ nhớ cục bộ của SuperApp.
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||{}),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.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})})},G="tokenEx.tokenEx",w=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:G};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=async()=>{if(!g.checkPremissionEvent(n.RequestVibrate)){const A={type:s.ResponseVibrate,status:o.PREMISSION_ERROR};return Promise.resolve(A)}g.send(n.RequestVibrate)},Y=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})},K=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})},b=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)})},D=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})})},q=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)})},j={status:"success",message:"Tạo đơn hàng thành công"},O=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:j};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)})},J=(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)}},L={latitude:21.0239852,longitude:105.791488},U=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:L};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)})},W=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)})},F=(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_",x=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})})},H=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})})},V=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=Y;exports.clearStore=V;exports.closeApp=z;exports.configUIApp=b;exports.currentLocation=U;exports.fltSDK=g;exports.getInfo=E;exports.getStore=H;exports.getToken=w;exports.listenNotifiactionEvent=F;exports.listenPaymentEvent=J;exports.openPermisstionScreen=q;exports.openPickerFile=M;exports.openPickerImage=Z;exports.paymentRequest=O;exports.premissionsRequest=D;exports.requestLocationPermission=W;exports.saveFile=Q;exports.saveStore=x;exports.sms=K;exports.vibrate=k;
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;
package/dist/index.d.ts CHANGED
@@ -92,6 +92,7 @@ export declare enum ETypeResponse {
92
92
  ResponseLocationPermission = "responseLocationPermission",
93
93
  ResponseCurrentLocation = "responseCurrentLocation",
94
94
  ResponseCloseApp = "responseCloseApp",
95
+ responseFocus = "responseFocus",
95
96
  ResponsePayment = "responsePayment",
96
97
  ResponseNotification = "responseNotification",
97
98
  ResponseGetPermisstion = "responseGetPermisstion",
@@ -168,6 +169,8 @@ export declare interface IViewUiConfig {
168
169
  iconNavigationPosision?: EIconNavigationPosision;
169
170
  }
170
171
 
172
+ export declare const listenFocusEvent: (callback: () => void) => (() => void);
173
+
171
174
  export declare const listenNotifiactionEvent: (callback: (data: FlutterMessageResponse) => void, customSdk?: typeof fltSDK) => (() => void);
172
175
 
173
176
  export declare const listenPaymentEvent: (callback: (data: FlutterMessageResponse<IPaymentResult>) => void, customSdk?: typeof fltSDK) => (() => void);
package/dist/index.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var u = Object.defineProperty;
2
- var P = (A, C, I) => C in A ? u(A, C, { enumerable: !0, configurable: !0, writable: !0, value: I }) : A[C] = I;
3
- var c = (A, C, I) => P(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 || {}), 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.ResponsePayment = "responsePayment", A.ResponseNotification = "responseNotification", A.ResponseGetPermisstion = "responseGetPermisstion", A.ResponseOpenPermisstionScreen = "responseOpenPermisstionScreen", A.responseSaveStore = "responseSaveStore", A.responseGetStore = "responseGetStore", A.responseClearStore = "responseClearStore", A))(s || {}), o = /* @__PURE__ */ ((A) => (A.SUCCESS = "success", A.ERROR = "error", A.PREMISSION_ERROR = "premissionError", A))(o || {}), d = /* @__PURE__ */ ((A) => (A.MINI = "mini", A.FULL = "full", A))(d || {}), 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 || {});
2
+ var d = (A, C, I) => C in A ? u(A, C, { enumerable: !0, configurable: !0, writable: !0, value: I }) : A[C] = I;
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 || {});
5
5
  class S {
6
6
  constructor() {
7
7
  c(this, "premissions");
@@ -37,7 +37,7 @@ class f {
37
37
  window.receiveFromFlutter = (C) => {
38
38
  try {
39
39
  const I = JSON.parse(C);
40
- if (I.type === s.ResponseInfo) {
40
+ if (I.type === e.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, e]) => {
52
- this.cachedInfo.set(I, e), (this.infoRequests.get(I) || []).forEach((r) => r(e)), this.infoRequests.delete(I);
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);
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, e) {
74
- const t = e ? C + e : C, r = this.handlers.get(t) || [];
73
+ on(C, I, s) {
74
+ const t = s ? C + s : 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, e) {
82
- const t = e ? C + e : C, r = this.handlers.get(t) || [], i = r.filter((l) => l !== I);
81
+ off(C, I, s) {
82
+ const t = s ? C + s : 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);
@@ -125,54 +125,54 @@ const y = {
125
125
  if (g.getBrowserMode()) {
126
126
  if (!g.checkPremissionEvent(n.RequestInfo)) {
127
127
  const I = {
128
- type: s.ResponseInfo,
128
+ type: e.ResponseInfo,
129
129
  status: o.PREMISSION_ERROR
130
130
  };
131
131
  return Promise.resolve(I);
132
132
  }
133
133
  const C = {
134
- type: s.ResponseInfo,
134
+ type: e.ResponseInfo,
135
135
  status: o.SUCCESS,
136
136
  data: y[A]
137
137
  };
138
138
  return Promise.resolve(C);
139
139
  }
140
140
  return new Promise((C) => {
141
- const e = g.getInfoRequests().get(A) || [];
142
- e.push((t) => {
141
+ const s = g.getInfoRequests().get(A) || [];
142
+ s.push((t) => {
143
143
  const r = {
144
- type: s.ResponseInfo,
144
+ type: e.ResponseInfo,
145
145
  status: o.SUCCESS,
146
146
  data: t
147
147
  };
148
148
  C(r);
149
- }), g.setInfoRequest(A, e), g.send(n.RequestInfo, { key: A });
149
+ }), g.setInfoRequest(A, s), g.send(n.RequestInfo, { key: A });
150
150
  });
151
- }, G = "tokenEx.tokenEx", M = async () => {
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
155
  if (!g.checkPremissionEvent(n.RequestToken)) {
156
156
  const C = {
157
- type: s.ResponseToken,
157
+ type: e.ResponseToken,
158
158
  status: o.PREMISSION_ERROR
159
159
  };
160
160
  return Promise.resolve(C);
161
161
  }
162
162
  const A = {
163
- type: s.ResponseToken,
163
+ type: e.ResponseToken,
164
164
  status: o.SUCCESS,
165
- data: G
165
+ data: w
166
166
  };
167
167
  return Promise.resolve(A);
168
168
  }
169
169
  return new Promise((A, C) => {
170
- const I = (e) => {
171
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseToken, I);
170
+ const I = (s) => {
171
+ s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseToken, I);
172
172
  };
173
- g.on(s.ResponseToken, I), g.send(n.RequestToken);
173
+ g.on(e.ResponseToken, I), g.send(n.RequestToken);
174
174
  });
175
- }, w = {
175
+ }, G = {
176
176
  path: "/hello.png",
177
177
  base64: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAABMCAwABAAAAAQAAAGmHBAABAAAAZgAAAAAAAABgAAAAAQAAAGAAAAABAAAABgAAkAcABAAAADAyMTABkQcABAAAAAECAwAAoAcABAAAADAxMDABoAMAAQAAAP//AAACoAQAAQAAACADAAADoAQAAQAAACADAAAAAAAA/+EOAmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAyLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjVmNWM3Y2U4LTAzZWYtNDc5NC1iYTJkLTE4ZjRkZjViZjVhYjwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5UaGnhur90IGvhur8gY2jGsGEgY8OzIHTDqm4gLSAzPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPlF14buzbmggRGnhu4VtPC9wZGY6QXV0aG9yPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmE8L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg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"
178
178
  }, E = {
@@ -185,23 +185,23 @@ const y = {
185
185
  if (g.getBrowserMode()) {
186
186
  if (!g.checkPremissionEvent(n.RequestPickerImage)) {
187
187
  const I = {
188
- type: s.ResponsePickerImage,
188
+ type: e.ResponsePickerImage,
189
189
  status: o.PREMISSION_ERROR
190
190
  };
191
191
  return Promise.resolve(I);
192
192
  }
193
193
  const C = {
194
- type: s.ResponsePickerImage,
194
+ type: e.ResponsePickerImage,
195
195
  status: o.SUCCESS,
196
- data: w
196
+ data: G
197
197
  };
198
198
  return Promise.resolve(C);
199
199
  }
200
200
  return new Promise((C, I) => {
201
- const e = (t) => {
202
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponsePickerImage, e);
201
+ const s = (t) => {
202
+ t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponsePickerImage, s);
203
203
  };
204
- g.on(s.ResponsePickerImage, e), g.send(n.RequestPickerImage, { type: A });
204
+ g.on(e.ResponsePickerImage, s), g.send(n.RequestPickerImage, { type: A });
205
205
  });
206
206
  }, Y = async () => {
207
207
  if (!g.getInitialized())
@@ -209,23 +209,23 @@ const y = {
209
209
  if (g.getBrowserMode()) {
210
210
  if (!g.checkPremissionEvent(n.RequestPickerFile)) {
211
211
  const C = {
212
- type: s.ResponsePickerFile,
212
+ type: e.ResponsePickerFile,
213
213
  status: o.PREMISSION_ERROR
214
214
  };
215
215
  return Promise.resolve(C);
216
216
  }
217
217
  const A = {
218
- type: s.ResponsePickerFile,
218
+ type: e.ResponsePickerFile,
219
219
  status: o.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 = (e) => {
226
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponsePickerFile, I);
225
+ const I = (s) => {
226
+ s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponsePickerFile, I);
227
227
  };
228
- g.on(s.ResponsePickerFile, I), g.send(n.RequestPickerFile, void 0);
228
+ g.on(e.ResponsePickerFile, I), g.send(n.RequestPickerFile, void 0);
229
229
  });
230
230
  }, k = async (A) => {
231
231
  if (!g.getInitialized())
@@ -233,335 +233,345 @@ const y = {
233
233
  if (g.getBrowserMode()) {
234
234
  if (!g.checkPremissionEvent(n.RequestSaveFile)) {
235
235
  const I = {
236
- type: s.ResponseSaveFile,
236
+ type: e.ResponseSaveFile,
237
237
  status: o.PREMISSION_ERROR
238
238
  };
239
239
  return Promise.resolve(I);
240
240
  }
241
241
  const C = {
242
- type: s.ResponseSaveFile,
242
+ type: e.ResponseSaveFile,
243
243
  status: o.SUCCESS
244
244
  };
245
245
  return Promise.resolve(C);
246
246
  }
247
247
  return new Promise((C, I) => {
248
- const e = (t) => {
249
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseSaveFile, e);
248
+ const s = (t) => {
249
+ t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseSaveFile, s);
250
250
  };
251
- g.on(s.ResponseSaveFile, e), g.send(n.RequestSaveFile, { url: A });
251
+ g.on(e.ResponseSaveFile, s), g.send(n.RequestSaveFile, { url: A });
252
252
  });
253
253
  }, K = (A) => {
254
254
  g.send(n.RequestCloseApp, A);
255
- }, b = async () => {
255
+ }, b = (A) => {
256
+ if (!g.getInitialized())
257
+ throw new Error("SDK not initialized");
258
+ const C = () => {
259
+ A();
260
+ };
261
+ return g.on(e.responseFocus, C), () => {
262
+ g.off(e.responseFocus, C);
263
+ };
264
+ }, D = async () => {
256
265
  if (!g.checkPremissionEvent(n.RequestVibrate)) {
257
266
  const A = {
258
- type: s.ResponseVibrate,
267
+ type: e.ResponseVibrate,
259
268
  status: o.PREMISSION_ERROR
260
269
  };
261
270
  return Promise.resolve(A);
262
271
  }
263
272
  g.send(n.RequestVibrate);
264
- }, D = async (A) => {
273
+ }, j = async (A) => {
265
274
  if (!g.getInitialized())
266
275
  throw new Error("SDK not initialized");
267
276
  if (g.getBrowserMode()) {
268
277
  if (!g.checkPremissionEvent(n.RequestCall)) {
269
278
  const I = {
270
- type: s.ResponseCall,
279
+ type: e.ResponseCall,
271
280
  status: o.PREMISSION_ERROR
272
281
  };
273
282
  return Promise.resolve(I);
274
283
  }
275
284
  window.open(`tel:${A}`);
276
285
  const C = {
277
- type: s.ResponseCall,
286
+ type: e.ResponseCall,
278
287
  status: o.SUCCESS
279
288
  };
280
289
  return Promise.resolve(C);
281
290
  }
282
291
  g.send(n.RequestCall, { phoneNumber: A });
283
- }, j = async (A) => {
292
+ }, q = async (A) => {
284
293
  if (!g.getInitialized())
285
294
  throw new Error("SDK not initialized");
286
295
  if (g.getBrowserMode()) {
287
296
  if (!g.checkPremissionEvent(n.RequestSms)) {
288
297
  const I = {
289
- type: s.ResponseSms,
298
+ type: e.ResponseSms,
290
299
  status: o.PREMISSION_ERROR
291
300
  };
292
301
  return Promise.resolve(I);
293
302
  }
294
303
  window.open(`sms::${A}`);
295
304
  const C = {
296
- type: s.ResponseSms,
305
+ type: e.ResponseSms,
297
306
  status: o.SUCCESS
298
307
  };
299
308
  return Promise.resolve(C);
300
309
  }
301
310
  g.send(n.RequestSms, { phoneNumber: A });
302
- }, q = async (A) => {
311
+ }, O = async (A) => {
303
312
  if (!g.getInitialized())
304
313
  throw new Error("SDK not initialized");
305
314
  if (g.getBrowserMode()) {
306
315
  const C = {
307
- type: s.ResponseConfigApp,
316
+ type: e.ResponseConfigApp,
308
317
  status: o.SUCCESS
309
318
  };
310
319
  return Promise.resolve(C);
311
320
  }
312
321
  return new Promise((C, I) => {
313
- const e = (t) => {
314
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseConfigApp, e);
322
+ const s = (t) => {
323
+ t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseConfigApp, s);
315
324
  };
316
- g.on(s.ResponseConfigApp, e), g.send(n.RequestConfigUIApp, A);
325
+ g.on(e.ResponseConfigApp, s), g.send(n.RequestConfigUIApp, A);
317
326
  });
318
- }, O = async (A) => {
327
+ }, J = async (A) => {
319
328
  if (!g.getInitialized())
320
329
  throw new Error("SDK not initialized");
321
330
  if (g.getBrowserMode()) {
322
331
  if (!g.checkPremissionEvent(n.requestGetPermission)) {
323
332
  const I = {
324
- type: s.ResponseGetPermisstion,
333
+ type: e.ResponseGetPermisstion,
325
334
  status: o.PREMISSION_ERROR
326
335
  };
327
336
  return Promise.resolve(I);
328
337
  }
329
338
  const C = {
330
- type: s.ResponseGetPermisstion,
339
+ type: e.ResponseGetPermisstion,
331
340
  status: o.SUCCESS,
332
341
  data: g.checkPremissionEvent(A)
333
342
  };
334
343
  return Promise.resolve(C);
335
344
  }
336
345
  return new Promise((C, I) => {
337
- const e = (t) => {
338
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseGetPermisstion, e);
346
+ const s = (t) => {
347
+ t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponseGetPermisstion, s);
339
348
  };
340
- g.on(s.ResponseGetPermisstion, e), g.send(n.requestGetPermission, { type: A });
349
+ g.on(e.ResponseGetPermisstion, s), g.send(n.requestGetPermission, { type: A });
341
350
  });
342
- }, J = async () => {
351
+ }, U = async () => {
343
352
  if (!g.getInitialized())
344
353
  throw new Error("SDK not initialized");
345
354
  if (g.getBrowserMode()) {
346
355
  if (!g.checkPremissionEvent(n.RequestOpenPermisstionScreen)) {
347
356
  const C = {
348
- type: s.ResponseOpenPermisstionScreen,
357
+ type: e.ResponseOpenPermisstionScreen,
349
358
  status: o.PREMISSION_ERROR
350
359
  };
351
360
  return Promise.resolve(C);
352
361
  }
353
362
  const A = {
354
- type: s.ResponseOpenPermisstionScreen,
363
+ type: e.ResponseOpenPermisstionScreen,
355
364
  status: o.SUCCESS
356
365
  };
357
366
  return Promise.resolve(A);
358
367
  }
359
368
  return new Promise((A, C) => {
360
- const I = (e) => {
361
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseOpenPermisstionScreen, I);
369
+ const I = (s) => {
370
+ s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseOpenPermisstionScreen, I);
362
371
  };
363
- g.on(s.ResponseOpenPermisstionScreen, I), g.send(n.RequestOpenPermisstionScreen);
372
+ g.on(e.ResponseOpenPermisstionScreen, I), g.send(n.RequestOpenPermisstionScreen);
364
373
  });
365
374
  }, B = {
366
375
  status: "success",
367
376
  message: "Tạo đơn hàng thành công"
368
- }, U = async (A) => {
377
+ }, W = async (A) => {
369
378
  if (!g.getInitialized())
370
379
  throw new Error("SDK not initialized");
371
380
  if (g.getBrowserMode()) {
372
381
  if (!g.checkPremissionEvent(n.RequestPayment)) {
373
382
  const I = {
374
- type: s.ResponsePayment,
383
+ type: e.ResponsePayment,
375
384
  status: o.PREMISSION_ERROR
376
385
  };
377
386
  return Promise.resolve(I);
378
387
  }
379
388
  const C = {
380
- type: s.ResponsePayment,
389
+ type: e.ResponsePayment,
381
390
  status: o.SUCCESS,
382
391
  data: B
383
392
  };
384
393
  return Promise.resolve(C);
385
394
  }
386
395
  return new Promise((C, I) => {
387
- const e = (t) => {
388
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponsePayment, e);
396
+ const s = (t) => {
397
+ t.status === o.ERROR ? I(t) : C(t), g.off(e.ResponsePayment, s);
389
398
  };
390
- g.on(s.ResponsePayment, e), g.send(n.RequestPayment, A);
399
+ g.on(e.ResponsePayment, s), g.send(n.RequestPayment, A);
391
400
  });
392
- }, W = (A, C) => {
401
+ }, L = (A, C) => {
393
402
  const I = C || g;
394
403
  if (!I.getInitialized())
395
404
  throw new Error("SDK not initialized");
396
- const e = (t) => {
405
+ const s = (t) => {
397
406
  A(t);
398
407
  };
399
- return I.on(s.ResponsePayment, e), () => {
400
- I.off(s.ResponsePayment, e);
408
+ return I.on(e.ResponsePayment, s), () => {
409
+ I.off(e.ResponsePayment, s);
401
410
  };
402
411
  }, Z = {
403
412
  latitude: 21.0239852,
404
413
  longitude: 105.791488
405
- }, L = async () => {
414
+ }, F = async () => {
406
415
  if (!g.getInitialized())
407
416
  throw new Error("SDK not initialized");
408
417
  if (g.getBrowserMode()) {
409
418
  if (!g.checkPremissionEvent(n.RequestCurrentLocation)) {
410
419
  const C = {
411
- type: s.ResponseCurrentLocation,
420
+ type: e.ResponseCurrentLocation,
412
421
  status: o.PREMISSION_ERROR
413
422
  };
414
423
  return Promise.resolve(C);
415
424
  }
416
425
  const A = {
417
- type: s.ResponseCurrentLocation,
426
+ type: e.ResponseCurrentLocation,
418
427
  status: o.SUCCESS,
419
428
  data: Z
420
429
  };
421
430
  return Promise.resolve(A);
422
431
  }
423
432
  return new Promise((A, C) => {
424
- const I = (e) => {
425
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseCurrentLocation, I);
433
+ const I = (s) => {
434
+ s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseCurrentLocation, I);
426
435
  };
427
- g.on(s.ResponseCurrentLocation, I), g.send(n.RequestCurrentLocation);
436
+ g.on(e.ResponseCurrentLocation, I), g.send(n.RequestCurrentLocation);
428
437
  });
429
- }, F = async () => {
438
+ }, x = async () => {
430
439
  if (!g.getInitialized())
431
440
  throw new Error("SDK not initialized");
432
441
  if (g.getBrowserMode()) {
433
442
  if (!g.checkPremissionEvent(n.RequestLocationPermission)) {
434
443
  const C = {
435
- type: s.ResponseLocationPermission,
444
+ type: e.ResponseLocationPermission,
436
445
  status: o.PREMISSION_ERROR
437
446
  };
438
447
  return Promise.resolve(C);
439
448
  }
440
449
  const A = {
441
- type: s.ResponseLocationPermission,
450
+ type: e.ResponseLocationPermission,
442
451
  status: o.SUCCESS
443
452
  };
444
453
  return Promise.resolve(A);
445
454
  }
446
455
  return new Promise((A, C) => {
447
- const I = (e) => {
448
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseLocationPermission, I);
456
+ const I = (s) => {
457
+ s.status === o.ERROR ? C(s) : A(s), g.off(e.ResponseLocationPermission, I);
449
458
  };
450
- g.on(s.ResponseLocationPermission, I), g.send(n.RequestLocationPermission);
459
+ g.on(e.ResponseLocationPermission, I), g.send(n.RequestLocationPermission);
451
460
  });
452
- }, x = (A, C) => {
461
+ }, H = (A, C) => {
453
462
  const I = C || g;
454
463
  if (!I.getInitialized())
455
464
  throw new Error("SDK not initialized");
456
- const e = (t) => {
465
+ const s = (t) => {
457
466
  A(t);
458
467
  };
459
- return I.on(s.ResponseNotification, e), () => {
460
- I.off(s.ResponseNotification, e);
468
+ return I.on(e.ResponseNotification, s), () => {
469
+ I.off(e.ResponseNotification, s);
461
470
  };
462
- }, R = "mini_app_", H = async (A, C) => {
471
+ }, R = "mini_app_", V = async (A, C) => {
463
472
  const I = `${R}_${A}`;
464
473
  if (!g.getInitialized())
465
474
  throw new Error("SDK not initialized");
466
475
  if (g.getBrowserMode()) {
467
476
  if (!g.checkPremissionEvent(n.requestSaveStore)) {
468
477
  const t = {
469
- type: s.responseSaveStore,
478
+ type: e.responseSaveStore,
470
479
  status: o.PREMISSION_ERROR
471
480
  };
472
481
  return Promise.resolve(t);
473
482
  }
474
483
  localStorage.setItem(I, C);
475
- const e = {
476
- type: s.responseSaveStore,
484
+ const s = {
485
+ type: e.responseSaveStore,
477
486
  status: o.SUCCESS
478
487
  };
479
- return Promise.resolve(e);
488
+ return Promise.resolve(s);
480
489
  }
481
- return new Promise((e, t) => {
490
+ return new Promise((s, t) => {
482
491
  const r = (i) => {
483
- i.status === o.ERROR ? t(i) : e(i), g.off(s.responseSaveStore, r, A);
492
+ i.status === o.ERROR ? t(i) : s(i), g.off(e.responseSaveStore, r, A);
484
493
  };
485
- g.on(s.responseSaveStore, r, A), g.send(n.requestSaveStore, { key: A, data: C });
494
+ g.on(e.responseSaveStore, r, A), g.send(n.requestSaveStore, { key: A, data: C });
486
495
  });
487
- }, V = async (A) => {
496
+ }, N = async (A) => {
488
497
  if (!g.getInitialized())
489
498
  throw new Error("SDK not initialized");
490
499
  const C = `${R}_${A}`;
491
500
  if (g.getBrowserMode()) {
492
501
  if (!g.checkPremissionEvent(n.requestGetStore)) {
493
502
  const t = {
494
- type: s.responseGetStore,
503
+ type: e.responseGetStore,
495
504
  status: o.PREMISSION_ERROR
496
505
  };
497
506
  return Promise.resolve(t);
498
507
  }
499
- const I = localStorage.getItem(C), e = {
500
- type: s.responseGetStore,
508
+ const I = localStorage.getItem(C), s = {
509
+ type: e.responseGetStore,
501
510
  status: o.SUCCESS,
502
511
  data: I ?? ""
503
512
  };
504
- return Promise.resolve(e);
513
+ return Promise.resolve(s);
505
514
  }
506
- return new Promise((I, e) => {
515
+ return new Promise((I, s) => {
507
516
  const t = (r) => {
508
- r.status === o.ERROR ? e(r) : I(r), g.off(s.responseGetStore, t, A);
517
+ r.status === o.ERROR ? s(r) : I(r), g.off(e.responseGetStore, t, A);
509
518
  };
510
- g.on(s.responseGetStore, t, A), g.send(n.requestGetStore, { key: A });
519
+ g.on(e.responseGetStore, t, A), g.send(n.requestGetStore, { key: A });
511
520
  });
512
- }, N = async (A, C) => {
521
+ }, X = async (A, C) => {
513
522
  if (!g.getInitialized())
514
523
  throw new Error("SDK not initialized");
515
524
  const I = `${R + C}_${A}`;
516
525
  if (g.getBrowserMode()) {
517
526
  if (!g.checkPremissionEvent(n.requestClearStore)) {
518
527
  const t = {
519
- type: s.responseClearStore,
528
+ type: e.responseClearStore,
520
529
  status: o.PREMISSION_ERROR
521
530
  };
522
531
  return Promise.resolve(t);
523
532
  }
524
533
  localStorage.removeItem(I);
525
- const e = {
526
- type: s.responseClearStore,
534
+ const s = {
535
+ type: e.responseClearStore,
527
536
  status: o.SUCCESS
528
537
  };
529
- return Promise.resolve(e);
538
+ return Promise.resolve(s);
530
539
  }
531
- return new Promise((e, t) => {
540
+ return new Promise((s, t) => {
532
541
  const r = (i) => {
533
- i.status === o.ERROR ? t(i) : e(i), g.off(s.responseClearStore, r, A);
542
+ i.status === o.ERROR ? t(i) : s(i), g.off(e.responseClearStore, r, A);
534
543
  };
535
- g.on(s.responseClearStore, r, A), g.send(n.requestClearStore, { key: A });
544
+ g.on(e.responseClearStore, r, A), g.send(n.requestClearStore, { key: A });
536
545
  });
537
546
  };
538
547
  export {
539
- d as EHeaderMode,
548
+ P as EHeaderMode,
540
549
  p as EIconNavigationPosision,
541
550
  m as EKeyInfor,
542
551
  h as EMediaType,
543
552
  o as EStatus,
544
553
  n as ETypeRequest,
545
- s as ETypeResponse,
546
- D as call,
547
- N as clearStore,
554
+ e as ETypeResponse,
555
+ j as call,
556
+ X as clearStore,
548
557
  K as closeApp,
549
- q as configUIApp,
550
- L as currentLocation,
558
+ O as configUIApp,
559
+ F as currentLocation,
551
560
  g as fltSDK,
552
561
  Q as getInfo,
553
- V as getStore,
562
+ N as getStore,
554
563
  M as getToken,
555
- x as listenNotifiactionEvent,
556
- W as listenPaymentEvent,
557
- J as openPermisstionScreen,
564
+ b as listenFocusEvent,
565
+ H as listenNotifiactionEvent,
566
+ L as listenPaymentEvent,
567
+ U as openPermisstionScreen,
558
568
  Y as openPickerFile,
559
569
  z as openPickerImage,
560
- U as paymentRequest,
561
- O as premissionsRequest,
562
- F as requestLocationPermission,
570
+ W as paymentRequest,
571
+ J as premissionsRequest,
572
+ x as requestLocationPermission,
563
573
  k as saveFile,
564
- H as saveStore,
565
- j as sms,
566
- b as vibrate
574
+ V as saveStore,
575
+ q as sms,
576
+ D as vibrate
567
577
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "x-app-sdk",
3
3
  "private": false,
4
- "version": "1.3.6",
4
+ "version": "1.4.0",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",