x-app-sdk 1.3.6 → 1.4.1

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||{}),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
@@ -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: (data: FlutterMessageResponse) => void, customSdk?: typeof fltSDK) => (() => 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,15 +1,15 @@
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 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,7 +31,7 @@ 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) => {
@@ -123,16 +123,16 @@ 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
128
  type: s.ResponseInfo,
129
- status: o.PREMISSION_ERROR
129
+ status: n.PREMISSION_ERROR
130
130
  };
131
131
  return Promise.resolve(I);
132
132
  }
133
133
  const C = {
134
134
  type: s.ResponseInfo,
135
- status: o.SUCCESS,
135
+ status: n.SUCCESS,
136
136
  data: y[A]
137
137
  };
138
138
  return Promise.resolve(C);
@@ -142,37 +142,37 @@ const y = {
142
142
  e.push((t) => {
143
143
  const r = {
144
144
  type: s.ResponseInfo,
145
- status: o.SUCCESS,
145
+ status: n.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, e), g.send(o.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
- if (!g.checkPremissionEvent(n.RequestToken)) {
155
+ if (!g.checkPremissionEvent(o.RequestToken)) {
156
156
  const C = {
157
157
  type: s.ResponseToken,
158
- status: o.PREMISSION_ERROR
158
+ status: n.PREMISSION_ERROR
159
159
  };
160
160
  return Promise.resolve(C);
161
161
  }
162
162
  const A = {
163
163
  type: s.ResponseToken,
164
- status: o.SUCCESS,
165
- data: G
164
+ status: n.SUCCESS,
165
+ data: w
166
166
  };
167
167
  return Promise.resolve(A);
168
168
  }
169
169
  return new Promise((A, C) => {
170
170
  const I = (e) => {
171
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseToken, I);
171
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseToken, I);
172
172
  };
173
- g.on(s.ResponseToken, I), g.send(n.RequestToken);
173
+ g.on(s.ResponseToken, I), g.send(o.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 = {
@@ -183,213 +183,223 @@ 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
188
  type: s.ResponsePickerImage,
189
- status: o.PREMISSION_ERROR
189
+ status: n.PREMISSION_ERROR
190
190
  };
191
191
  return Promise.resolve(I);
192
192
  }
193
193
  const C = {
194
194
  type: s.ResponsePickerImage,
195
- status: o.SUCCESS,
196
- data: w
195
+ status: n.SUCCESS,
196
+ data: G
197
197
  };
198
198
  return Promise.resolve(C);
199
199
  }
200
200
  return new Promise((C, I) => {
201
201
  const e = (t) => {
202
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponsePickerImage, e);
202
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponsePickerImage, e);
203
203
  };
204
- g.on(s.ResponsePickerImage, e), 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
212
  type: s.ResponsePickerFile,
213
- status: o.PREMISSION_ERROR
213
+ status: n.PREMISSION_ERROR
214
214
  };
215
215
  return Promise.resolve(C);
216
216
  }
217
217
  const A = {
218
218
  type: s.ResponsePickerFile,
219
- status: o.SUCCESS,
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
225
  const I = (e) => {
226
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponsePickerFile, I);
226
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponsePickerFile, I);
227
227
  };
228
- g.on(s.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
236
  type: s.ResponseSaveFile,
237
- status: o.PREMISSION_ERROR
237
+ status: n.PREMISSION_ERROR
238
238
  };
239
239
  return Promise.resolve(I);
240
240
  }
241
241
  const C = {
242
242
  type: s.ResponseSaveFile,
243
- status: o.SUCCESS
243
+ status: n.SUCCESS
244
244
  };
245
245
  return Promise.resolve(C);
246
246
  }
247
247
  return new Promise((C, I) => {
248
248
  const e = (t) => {
249
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseSaveFile, e);
249
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseSaveFile, e);
250
250
  };
251
- g.on(s.ResponseSaveFile, e), 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 = async () => {
256
- if (!g.checkPremissionEvent(n.RequestVibrate)) {
254
+ g.send(o.RequestCloseApp, A);
255
+ }, b = (A, C) => {
256
+ const I = C || g;
257
+ if (!I.getInitialized())
258
+ throw new Error("SDK not initialized");
259
+ const e = (t) => {
260
+ A(t);
261
+ };
262
+ return I.on(s.responseFocus, e), () => {
263
+ I.off(s.responseFocus, e);
264
+ };
265
+ }, D = async () => {
266
+ if (!g.checkPremissionEvent(o.RequestVibrate)) {
257
267
  const A = {
258
268
  type: s.ResponseVibrate,
259
- status: o.PREMISSION_ERROR
269
+ status: n.PREMISSION_ERROR
260
270
  };
261
271
  return Promise.resolve(A);
262
272
  }
263
- g.send(n.RequestVibrate);
264
- }, D = async (A) => {
273
+ g.send(o.RequestVibrate);
274
+ }, j = async (A) => {
265
275
  if (!g.getInitialized())
266
276
  throw new Error("SDK not initialized");
267
277
  if (g.getBrowserMode()) {
268
- if (!g.checkPremissionEvent(n.RequestCall)) {
278
+ if (!g.checkPremissionEvent(o.RequestCall)) {
269
279
  const I = {
270
280
  type: s.ResponseCall,
271
- status: o.PREMISSION_ERROR
281
+ status: n.PREMISSION_ERROR
272
282
  };
273
283
  return Promise.resolve(I);
274
284
  }
275
285
  window.open(`tel:${A}`);
276
286
  const C = {
277
287
  type: s.ResponseCall,
278
- status: o.SUCCESS
288
+ status: n.SUCCESS
279
289
  };
280
290
  return Promise.resolve(C);
281
291
  }
282
- g.send(n.RequestCall, { phoneNumber: A });
283
- }, j = async (A) => {
292
+ g.send(o.RequestCall, { phoneNumber: A });
293
+ }, q = async (A) => {
284
294
  if (!g.getInitialized())
285
295
  throw new Error("SDK not initialized");
286
296
  if (g.getBrowserMode()) {
287
- if (!g.checkPremissionEvent(n.RequestSms)) {
297
+ if (!g.checkPremissionEvent(o.RequestSms)) {
288
298
  const I = {
289
299
  type: s.ResponseSms,
290
- status: o.PREMISSION_ERROR
300
+ status: n.PREMISSION_ERROR
291
301
  };
292
302
  return Promise.resolve(I);
293
303
  }
294
304
  window.open(`sms::${A}`);
295
305
  const C = {
296
306
  type: s.ResponseSms,
297
- status: o.SUCCESS
307
+ status: n.SUCCESS
298
308
  };
299
309
  return Promise.resolve(C);
300
310
  }
301
- g.send(n.RequestSms, { phoneNumber: A });
302
- }, q = async (A) => {
311
+ g.send(o.RequestSms, { phoneNumber: A });
312
+ }, O = async (A) => {
303
313
  if (!g.getInitialized())
304
314
  throw new Error("SDK not initialized");
305
315
  if (g.getBrowserMode()) {
306
316
  const C = {
307
317
  type: s.ResponseConfigApp,
308
- status: o.SUCCESS
318
+ status: n.SUCCESS
309
319
  };
310
320
  return Promise.resolve(C);
311
321
  }
312
322
  return new Promise((C, I) => {
313
323
  const e = (t) => {
314
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseConfigApp, e);
324
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseConfigApp, e);
315
325
  };
316
- g.on(s.ResponseConfigApp, e), g.send(n.RequestConfigUIApp, A);
326
+ g.on(s.ResponseConfigApp, e), g.send(o.RequestConfigUIApp, A);
317
327
  });
318
- }, O = async (A) => {
328
+ }, J = async (A) => {
319
329
  if (!g.getInitialized())
320
330
  throw new Error("SDK not initialized");
321
331
  if (g.getBrowserMode()) {
322
- if (!g.checkPremissionEvent(n.requestGetPermission)) {
332
+ if (!g.checkPremissionEvent(o.requestGetPermission)) {
323
333
  const I = {
324
334
  type: s.ResponseGetPermisstion,
325
- status: o.PREMISSION_ERROR
335
+ status: n.PREMISSION_ERROR
326
336
  };
327
337
  return Promise.resolve(I);
328
338
  }
329
339
  const C = {
330
340
  type: s.ResponseGetPermisstion,
331
- status: o.SUCCESS,
341
+ status: n.SUCCESS,
332
342
  data: g.checkPremissionEvent(A)
333
343
  };
334
344
  return Promise.resolve(C);
335
345
  }
336
346
  return new Promise((C, I) => {
337
347
  const e = (t) => {
338
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponseGetPermisstion, e);
348
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponseGetPermisstion, e);
339
349
  };
340
- g.on(s.ResponseGetPermisstion, e), g.send(n.requestGetPermission, { type: A });
350
+ g.on(s.ResponseGetPermisstion, e), g.send(o.requestGetPermission, { type: A });
341
351
  });
342
- }, J = async () => {
352
+ }, U = async () => {
343
353
  if (!g.getInitialized())
344
354
  throw new Error("SDK not initialized");
345
355
  if (g.getBrowserMode()) {
346
- if (!g.checkPremissionEvent(n.RequestOpenPermisstionScreen)) {
356
+ if (!g.checkPremissionEvent(o.RequestOpenPermisstionScreen)) {
347
357
  const C = {
348
358
  type: s.ResponseOpenPermisstionScreen,
349
- status: o.PREMISSION_ERROR
359
+ status: n.PREMISSION_ERROR
350
360
  };
351
361
  return Promise.resolve(C);
352
362
  }
353
363
  const A = {
354
364
  type: s.ResponseOpenPermisstionScreen,
355
- status: o.SUCCESS
365
+ status: n.SUCCESS
356
366
  };
357
367
  return Promise.resolve(A);
358
368
  }
359
369
  return new Promise((A, C) => {
360
370
  const I = (e) => {
361
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseOpenPermisstionScreen, I);
371
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseOpenPermisstionScreen, I);
362
372
  };
363
- g.on(s.ResponseOpenPermisstionScreen, I), g.send(n.RequestOpenPermisstionScreen);
373
+ g.on(s.ResponseOpenPermisstionScreen, I), g.send(o.RequestOpenPermisstionScreen);
364
374
  });
365
375
  }, B = {
366
376
  status: "success",
367
377
  message: "Tạo đơn hàng thành công"
368
- }, U = async (A) => {
378
+ }, W = async (A) => {
369
379
  if (!g.getInitialized())
370
380
  throw new Error("SDK not initialized");
371
381
  if (g.getBrowserMode()) {
372
- if (!g.checkPremissionEvent(n.RequestPayment)) {
382
+ if (!g.checkPremissionEvent(o.RequestPayment)) {
373
383
  const I = {
374
384
  type: s.ResponsePayment,
375
- status: o.PREMISSION_ERROR
385
+ status: n.PREMISSION_ERROR
376
386
  };
377
387
  return Promise.resolve(I);
378
388
  }
379
389
  const C = {
380
390
  type: s.ResponsePayment,
381
- status: o.SUCCESS,
391
+ status: n.SUCCESS,
382
392
  data: B
383
393
  };
384
394
  return Promise.resolve(C);
385
395
  }
386
396
  return new Promise((C, I) => {
387
397
  const e = (t) => {
388
- t.status === o.ERROR ? I(t) : C(t), g.off(s.ResponsePayment, e);
398
+ t.status === n.ERROR ? I(t) : C(t), g.off(s.ResponsePayment, e);
389
399
  };
390
- g.on(s.ResponsePayment, e), g.send(n.RequestPayment, A);
400
+ g.on(s.ResponsePayment, e), g.send(o.RequestPayment, A);
391
401
  });
392
- }, W = (A, C) => {
402
+ }, L = (A, C) => {
393
403
  const I = C || g;
394
404
  if (!I.getInitialized())
395
405
  throw new Error("SDK not initialized");
@@ -402,54 +412,54 @@ const y = {
402
412
  }, Z = {
403
413
  latitude: 21.0239852,
404
414
  longitude: 105.791488
405
- }, L = async () => {
415
+ }, F = async () => {
406
416
  if (!g.getInitialized())
407
417
  throw new Error("SDK not initialized");
408
418
  if (g.getBrowserMode()) {
409
- if (!g.checkPremissionEvent(n.RequestCurrentLocation)) {
419
+ if (!g.checkPremissionEvent(o.RequestCurrentLocation)) {
410
420
  const C = {
411
421
  type: s.ResponseCurrentLocation,
412
- status: o.PREMISSION_ERROR
422
+ status: n.PREMISSION_ERROR
413
423
  };
414
424
  return Promise.resolve(C);
415
425
  }
416
426
  const A = {
417
427
  type: s.ResponseCurrentLocation,
418
- status: o.SUCCESS,
428
+ status: n.SUCCESS,
419
429
  data: Z
420
430
  };
421
431
  return Promise.resolve(A);
422
432
  }
423
433
  return new Promise((A, C) => {
424
434
  const I = (e) => {
425
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseCurrentLocation, I);
435
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseCurrentLocation, I);
426
436
  };
427
- g.on(s.ResponseCurrentLocation, I), g.send(n.RequestCurrentLocation);
437
+ g.on(s.ResponseCurrentLocation, I), g.send(o.RequestCurrentLocation);
428
438
  });
429
- }, F = async () => {
439
+ }, x = async () => {
430
440
  if (!g.getInitialized())
431
441
  throw new Error("SDK not initialized");
432
442
  if (g.getBrowserMode()) {
433
- if (!g.checkPremissionEvent(n.RequestLocationPermission)) {
443
+ if (!g.checkPremissionEvent(o.RequestLocationPermission)) {
434
444
  const C = {
435
445
  type: s.ResponseLocationPermission,
436
- status: o.PREMISSION_ERROR
446
+ status: n.PREMISSION_ERROR
437
447
  };
438
448
  return Promise.resolve(C);
439
449
  }
440
450
  const A = {
441
451
  type: s.ResponseLocationPermission,
442
- status: o.SUCCESS
452
+ status: n.SUCCESS
443
453
  };
444
454
  return Promise.resolve(A);
445
455
  }
446
456
  return new Promise((A, C) => {
447
457
  const I = (e) => {
448
- e.status === o.ERROR ? C(e) : A(e), g.off(s.ResponseLocationPermission, I);
458
+ e.status === n.ERROR ? C(e) : A(e), g.off(s.ResponseLocationPermission, I);
449
459
  };
450
- g.on(s.ResponseLocationPermission, I), g.send(n.RequestLocationPermission);
460
+ g.on(s.ResponseLocationPermission, I), g.send(o.RequestLocationPermission);
451
461
  });
452
- }, x = (A, C) => {
462
+ }, H = (A, C) => {
453
463
  const I = C || g;
454
464
  if (!I.getInitialized())
455
465
  throw new Error("SDK not initialized");
@@ -459,109 +469,110 @@ const y = {
459
469
  return I.on(s.ResponseNotification, e), () => {
460
470
  I.off(s.ResponseNotification, e);
461
471
  };
462
- }, R = "mini_app_", H = async (A, C) => {
472
+ }, R = "mini_app_", V = async (A, C) => {
463
473
  const I = `${R}_${A}`;
464
474
  if (!g.getInitialized())
465
475
  throw new Error("SDK not initialized");
466
476
  if (g.getBrowserMode()) {
467
- if (!g.checkPremissionEvent(n.requestSaveStore)) {
477
+ if (!g.checkPremissionEvent(o.requestSaveStore)) {
468
478
  const t = {
469
479
  type: s.responseSaveStore,
470
- status: o.PREMISSION_ERROR
480
+ status: n.PREMISSION_ERROR
471
481
  };
472
482
  return Promise.resolve(t);
473
483
  }
474
484
  localStorage.setItem(I, C);
475
485
  const e = {
476
486
  type: s.responseSaveStore,
477
- status: o.SUCCESS
487
+ status: n.SUCCESS
478
488
  };
479
489
  return Promise.resolve(e);
480
490
  }
481
491
  return new Promise((e, t) => {
482
492
  const r = (i) => {
483
- i.status === o.ERROR ? t(i) : e(i), g.off(s.responseSaveStore, r, A);
493
+ i.status === n.ERROR ? t(i) : e(i), g.off(s.responseSaveStore, r, A);
484
494
  };
485
- g.on(s.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 });
486
496
  });
487
- }, V = async (A) => {
497
+ }, N = async (A) => {
488
498
  if (!g.getInitialized())
489
499
  throw new Error("SDK not initialized");
490
500
  const C = `${R}_${A}`;
491
501
  if (g.getBrowserMode()) {
492
- if (!g.checkPremissionEvent(n.requestGetStore)) {
502
+ if (!g.checkPremissionEvent(o.requestGetStore)) {
493
503
  const t = {
494
504
  type: s.responseGetStore,
495
- status: o.PREMISSION_ERROR
505
+ status: n.PREMISSION_ERROR
496
506
  };
497
507
  return Promise.resolve(t);
498
508
  }
499
509
  const I = localStorage.getItem(C), e = {
500
510
  type: s.responseGetStore,
501
- status: o.SUCCESS,
511
+ status: n.SUCCESS,
502
512
  data: I ?? ""
503
513
  };
504
514
  return Promise.resolve(e);
505
515
  }
506
516
  return new Promise((I, e) => {
507
517
  const t = (r) => {
508
- r.status === o.ERROR ? e(r) : I(r), g.off(s.responseGetStore, t, A);
518
+ r.status === n.ERROR ? e(r) : I(r), g.off(s.responseGetStore, t, A);
509
519
  };
510
- g.on(s.responseGetStore, t, A), g.send(n.requestGetStore, { key: A });
520
+ g.on(s.responseGetStore, t, A), g.send(o.requestGetStore, { key: A });
511
521
  });
512
- }, N = async (A, C) => {
522
+ }, X = async (A, C) => {
513
523
  if (!g.getInitialized())
514
524
  throw new Error("SDK not initialized");
515
525
  const I = `${R + C}_${A}`;
516
526
  if (g.getBrowserMode()) {
517
- if (!g.checkPremissionEvent(n.requestClearStore)) {
527
+ if (!g.checkPremissionEvent(o.requestClearStore)) {
518
528
  const t = {
519
529
  type: s.responseClearStore,
520
- status: o.PREMISSION_ERROR
530
+ status: n.PREMISSION_ERROR
521
531
  };
522
532
  return Promise.resolve(t);
523
533
  }
524
534
  localStorage.removeItem(I);
525
535
  const e = {
526
536
  type: s.responseClearStore,
527
- status: o.SUCCESS
537
+ status: n.SUCCESS
528
538
  };
529
539
  return Promise.resolve(e);
530
540
  }
531
541
  return new Promise((e, t) => {
532
542
  const r = (i) => {
533
- i.status === o.ERROR ? t(i) : e(i), g.off(s.responseClearStore, r, A);
543
+ i.status === n.ERROR ? t(i) : e(i), g.off(s.responseClearStore, r, A);
534
544
  };
535
- g.on(s.responseClearStore, r, A), g.send(n.requestClearStore, { key: A });
545
+ g.on(s.responseClearStore, r, A), g.send(o.requestClearStore, { key: A });
536
546
  });
537
547
  };
538
548
  export {
539
- d as EHeaderMode,
549
+ P as EHeaderMode,
540
550
  p as EIconNavigationPosision,
541
551
  m as EKeyInfor,
542
552
  h as EMediaType,
543
- o as EStatus,
544
- n as ETypeRequest,
553
+ n as EStatus,
554
+ o as ETypeRequest,
545
555
  s as ETypeResponse,
546
- D as call,
547
- N as clearStore,
556
+ j as call,
557
+ X as clearStore,
548
558
  K as closeApp,
549
- q as configUIApp,
550
- L as currentLocation,
559
+ O as configUIApp,
560
+ F as currentLocation,
551
561
  g as fltSDK,
552
562
  Q as getInfo,
553
- V as getStore,
563
+ N as getStore,
554
564
  M as getToken,
555
- x as listenNotifiactionEvent,
556
- W as listenPaymentEvent,
557
- J as openPermisstionScreen,
565
+ b as listenFocusEvent,
566
+ H as listenNotifiactionEvent,
567
+ L as listenPaymentEvent,
568
+ U as openPermisstionScreen,
558
569
  Y as openPickerFile,
559
570
  z as openPickerImage,
560
- U as paymentRequest,
561
- O as premissionsRequest,
562
- F as requestLocationPermission,
571
+ W as paymentRequest,
572
+ J as premissionsRequest,
573
+ x as requestLocationPermission,
563
574
  k as saveFile,
564
- H as saveStore,
565
- j as sms,
566
- b as vibrate
575
+ V as saveStore,
576
+ q as sms,
577
+ D as vibrate
567
578
  };
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.1",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",