From 71006834df775d5d8a4174b5ce670c3b6ad58775 Mon Sep 17 00:00:00 2001 From: dkvyck-uptech Date: Tue, 21 Jan 2025 14:12:48 +0200 Subject: [PATCH] feat: add tab bar show and hide methods --- dist/classes/NativelyTabBar.d.ts | 5 +++++ dist/classes/NativelyTabBar.js | 16 ++++++++++++++++ dist/index.d.ts | 1 + dist/index.js | 1 + dist/inject.js | 2 ++ dist/types.d.ts | 2 ++ natively-frontend.min.js | 2 +- package-lock.json | 15 +++++++-------- package.json | 2 +- src/classes/NativelyTabBar.ts | 22 ++++++++++++++++++++++ src/index.ts | 1 + src/inject.ts | 2 ++ src/types.ts | 2 ++ 13 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 dist/classes/NativelyTabBar.d.ts create mode 100644 dist/classes/NativelyTabBar.js create mode 100644 src/classes/NativelyTabBar.ts diff --git a/dist/classes/NativelyTabBar.d.ts b/dist/classes/NativelyTabBar.d.ts new file mode 100644 index 0000000..ea208d1 --- /dev/null +++ b/dist/classes/NativelyTabBar.d.ts @@ -0,0 +1,5 @@ +export declare class NativelyTabBar { + private readonly id; + showTabBar(): void; + hideTabBar(): void; +} diff --git a/dist/classes/NativelyTabBar.js b/dist/classes/NativelyTabBar.js new file mode 100644 index 0000000..3dc9710 --- /dev/null +++ b/dist/classes/NativelyTabBar.js @@ -0,0 +1,16 @@ +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +import { generateID } from "../utils/generateID.js"; +import globalContext from "../utils/globalThis.js"; +export class NativelyTabBar { + constructor() { + _defineProperty(this, "id", generateID()); + } + showTabBar() { + globalContext === null || globalContext === void 0 || globalContext.natively.trigger(this.id, 33, "show_tab_bar"); + } + hideTabBar() { + globalContext === null || globalContext === void 0 || globalContext.natively.trigger(this.id, 33, "hide_tab_bar"); + } +} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index fdfebdc..fdf868a 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -21,6 +21,7 @@ export { NativelyAdmobInterstitial } from "./classes/NativelyAdmobInterstitial"; export { NativelyNFCService } from "./classes/NativelyNFCService"; export { NativelyFirebaseNotifications } from './classes/NativelyFirebaseNotifications'; export { NativelyKlaviyoNotifications } from './classes/NativelyKlaviyoNotifications'; +export { NativelyTabBar } from './classes/NativelyTabBar'; export { useNatively } from './hooks/useNatively'; export { generateID } from "./utils/generateID"; import "./types"; diff --git a/dist/index.js b/dist/index.js index b93626f..83e8382 100644 --- a/dist/index.js +++ b/dist/index.js @@ -22,6 +22,7 @@ export { NativelyAdmobInterstitial } from "./classes/NativelyAdmobInterstitial.j export { NativelyNFCService } from "./classes/NativelyNFCService.js"; export { NativelyFirebaseNotifications } from './classes/NativelyFirebaseNotifications.js'; export { NativelyKlaviyoNotifications } from './classes/NativelyKlaviyoNotifications.js'; +export { NativelyTabBar } from './classes/NativelyTabBar.js'; // Hooks export { useNatively } from './hooks/useNatively.js'; diff --git a/dist/inject.js b/dist/inject.js index dfe9ebd..6d857fc 100644 --- a/dist/inject.js +++ b/dist/inject.js @@ -22,6 +22,7 @@ import { NativelyScanner } from "./classes/NativelyScanner.js"; import { NativelyStorage } from "./classes/NativelyStorage.js"; import { NativelyFirebaseNotifications } from "./classes/NativelyFirebaseNotifications.js"; import { NativelyKlaviyoNotifications } from './classes/NativelyKlaviyoNotifications.js'; +import { NativelyTabBar } from './classes/NativelyTabBar.js'; // Assign natively to the global object if (globalContext) { @@ -49,4 +50,5 @@ if (globalContext) { globalContext.NativelyStorage = NativelyStorage; globalContext.NativelyFirebaseNotifications = NativelyFirebaseNotifications; globalContext.NativelyKlaviyoNotifications = NativelyKlaviyoNotifications; + globalContext.NativelyTabBar = NativelyTabBar; } \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index 3222548..9f0591e 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -21,6 +21,7 @@ import { NativelyScanner } from "./classes/NativelyScanner"; import { NativelyStorage } from "./classes/NativelyStorage"; import { NativelyFirebaseNotifications } from "./classes/NativelyFirebaseNotifications"; import { NativelyKlaviyoNotifications } from "./classes/NativelyKlaviyoNotifications"; +import { NativelyTabBar } from "./classes/NativelyTabBar"; interface NativelyProps { natively: Natively; NativelyAdmobBanner: NativelyAdmobBanner; @@ -45,6 +46,7 @@ interface NativelyProps { NativelyStorage: NativelyStorage; NativelyFirebaseNotifications: NativelyFirebaseNotifications; NativelyKlaviyoNotifications: NativelyKlaviyoNotifications; + NativelyTabBar: NativelyTabBar; $agent: never; } declare global { diff --git a/natively-frontend.min.js b/natively-frontend.min.js index 12ce5f6..c99eacf 100644 --- a/natively-frontend.min.js +++ b/natively-frontend.min.js @@ -1 +1 @@ -(()=>{"use strict";var i={d:(e,t)=>{for(var l in t)i.o(t,l)&&!i.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}};i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(i){if("object"==typeof window)return window}}(),i.o=(i,e)=>Object.prototype.hasOwnProperty.call(i,e),i.r=i=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var e={};i.r(e),i.d(e,{Natively:()=>l,NativelyAdmobBanner:()=>A,NativelyAdmobInterstitial:()=>w,NativelyAppleSignInService:()=>a,NativelyAudioRecorder:()=>N,NativelyBiometrics:()=>c,NativelyCamera:()=>p,NativelyClipboard:()=>r,NativelyContacts:()=>m,NativelyDatePicker:()=>y,NativelyFirebaseNotifications:()=>I,NativelyGeolocation:()=>d,NativelyHealth:()=>h,NativelyInfo:()=>s,NativelyKlaviyoNotifications:()=>k,NativelyLocation:()=>g,NativelyMediaPicker:()=>f,NativelyMessage:()=>v,NativelyNFCService:()=>S,NativelyNotifications:()=>o,NativelyPurchases:()=>b,NativelyScanner:()=>_,NativelyStorage:()=>u,generateID:()=>n,useNatively:()=>P});const t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==i.g?i.g:null;class l{constructor(){var i,e,l,n;this.isDebug=!1,this.min_app_version=0,this.app_version=0,this.injected=!1,this.observers=[],this.isIOSApp=(null===(e=null===(i=null==t?void 0:t.navigator)||void 0===i?void 0:i.userAgent)||void 0===e?void 0:e.includes("Natively/iOS"))||!1,this.isAndroidApp=(null===(n=null===(l=null==t?void 0:t.navigator)||void 0===l?void 0:l.userAgent)||void 0===n?void 0:n.includes("Natively/Android"))||!1}setDebug(i){t&&(t.natively.isDebug=i)}notify(i,e){t&&(t.natively.injected=!0,i&&(t.natively.min_app_version=i),e&&(t.natively.app_version=e));const l=null==t?void 0:t.natively.observers;for((null==t?void 0:t.natively.isDebug)&&console.log("[INFO] Notify observers: ",l.length);l.length>0;){const i=l.shift();null==i||i()}}addObserver(i){(null==t?void 0:t.natively.injected)?i():((null==t?void 0:t.natively.isDebug)&&console.log(`[DEBUG] addObserver: ${i}`),null==t||t.natively.observers.push(i))}trigger(i,e,l,n,a){const r=null==t?void 0:t.natively.isDebug;if(null==t?void 0:t.natively.injected)if(e>(null==t?void 0:t.natively.app_version))r&&alert(`[ERROR] Please rebuild the app to use this functionality. App Version: ${null==t?void 0:t.natively.app_version}, feature version: ${e}`);else{if(l){let e;e=i?n+"_response_"+i:n+"_response",t&&(t[e]=function(n,a){null==t||t.$agent.response(),a.message&&r?alert(`[ERROR] Error message: ${a.message}`):(r&&console.log(`[DEBUG] Callback method: ${e}, body: ${JSON.stringify(n)}, respId: ${i}`),l(n))}),a?a.response_id=i:a={response_id:i}}r&&console.log(`[DEBUG] Trigger method: ${n}, body: ${JSON.stringify(a)}`),null==t||t.$agent.trigger(n,a)}else null==t||t.natively.addObserver((()=>{null==t||t.natively.trigger(i,e,l,n,a)}))}openLogger(){null==t||t.$agent.natively_logger()}openConsole(){null==t||t.natively.trigger(void 0,22,void 0,"app_console")}closeApp(){null==t||t.natively.trigger(void 0,11,void 0,"app_close")}showProgress(i){null==t||t.natively.trigger(void 0,11,void 0,"app_show_progress",{toggle:i})}shareImage(i){null==t||t.natively.trigger(void 0,0,void 0,"share_image",{url:i})}shareText(i){null==t||t.natively.trigger(void 0,0,void 0,"share_text",{text:i})}shareTextAndImage(i,e){null==t||t.natively.trigger(void 0,0,void 0,"share_text_and_image",{url:e,text:i})}shareFile(i){null==t||t.natively.trigger(void 0,2,void 0,"share_file",{url:i})}openExternalURL(i,e){const l={url:void 0===i?"https://buildnatively.com":i,view:void 0!==e&&e?"external":"web"};null==t||t.natively.trigger(void 0,18,void 0,"open_link",l)}openExternalApp(i){null==t||t.natively.trigger(void 0,22,void 0,"open_app",{url:i})}showAppToast(i,e){null==t||t.natively.trigger(void 0,0,void 0,"show_toast",{text:e||"",type:i||"DEFAULT"})}showAppBanner(i,e,l){null==t||t.natively.trigger(void 0,0,void 0,"show_banner",{type:i||"INFO",title:e||"",description:l||""})}requestAppReview(){null==t||t.natively.trigger(void 0,0,void 0,"request_review")}setAppBackgroundColor(i){null==t||t.natively.trigger(void 0,1,void 0,"app_background",{color:i})}setAppProgressColor(i){null==t||t.natively.trigger(void 0,1,void 0,"app_progress",{color:i})}setAppSwipeNavigation(i){null==t||t.natively.trigger(void 0,22,void 0,"app_navigation",{toggle:i})}setAppPullToRefresh(i){null==t||t.natively.trigger(void 0,1,void 0,"app_pull",{toggle:i})}setAppOrientation(i){null==t||t.natively.trigger(void 0,3,void 0,"app_orientation",{orientation:i})}setAppStatusBarStyle(i){null==t||t.natively.trigger(void 0,22,void 0,"status_bar_style",{style:i})}hideLoadingScreen(){null==t||t.natively.trigger(void 0,17,void 0,"loading_screen",{show_loader:!1,auto_hide:!0})}showLoadingScreen(i){null==t||t.natively.trigger(void 0,17,void 0,"loading_screen",{show_loader:!0,auto_hide:i||!1})}openAppSettings(){null==t||t.natively.trigger(void 0,0,void 0,"open_appsettings")}hapticPattern(i,e){null==t||t.natively.trigger(void 0,22,void 0,"haptic_pattern",{pattern:i,delay:e})}hapticImpact(i){null==t||t.natively.trigger(void 0,22,void 0,"haptic_impact",{type:i})}hapticNotification(i){null==t||t.natively.trigger(void 0,22,void 0,"haptic_notification",{type:i})}sendPushNotification(i,e,t,l){return n=this,a=void 0,s=function*(){const n=t.filter((i=>i.length>0)),a=[...new Set(n)],r={app_id:l?"be83022a-1d08-45d0-a07a-0c3655666e17":i,include_player_ids:a};e.template_id?r.template_id=e.template_id:(r.headings={en:e.title||"Empty Title"},r.contents={en:e.message||"Empty Message"},e.subtitle&&(r.subtitle={en:e.subtitle}),e.redirect_url&&(r.url=e.redirect_url));const s={method:"POST",headers:{"Content-type":"application/json"},body:JSON.stringify(r)};return yield fetch("https://onesignal.com/api/v1/notifications",s)},new((r=void 0)||(r=Promise))((function(i,e){function t(i){try{o(s.next(i))}catch(i){e(i)}}function l(i){try{o(s.throw(i))}catch(i){e(i)}}function o(e){var n;e.done?i(e.value):(n=e.value,n instanceof r?n:new r((function(i){i(n)}))).then(t,l)}o((s=s.apply(n,a||[])).next())}));var n,a,r,s}}const n=()=>Date.now().toString(36)+Math.random().toString(36).substring(2);class a{constructor(){this.id=n()}signin(i){null==t||t.natively.trigger(this.id,16,i,"apple_signin",{})}}class r{constructor(){this.id=n()}copy(i){null==t||t.natively.trigger(void 0,11,void 0,"clipboard_copy",{text:i})}paste(i){null==t||t.natively.trigger(this.id,11,i,"clipboard_paste")}}class s{constructor(){this.id=n()}browserInfo(){var i,e,l,n;return{isNativeApp:void 0!==(null==t?void 0:t.$agent),isIOSApp:(null===(e=null===(i=null==t?void 0:t.navigator)||void 0===i?void 0:i.userAgent)||void 0===e?void 0:e.includes("Natively/iOS"))||!1,isAndroidApp:(null===(n=null===(l=null==t?void 0:t.navigator)||void 0===l?void 0:l.userAgent)||void 0===n?void 0:n.includes("Natively/Android"))||!1}}getAppInfo(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(this.id,0,i,"app_info"))}connectivity(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(void 0,0,i,"connectivity"))}app_state(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(void 0,19,i,"app_state"))}}class o{constructor(){this.id=n()}getOneSignalId(i){null==t||t.natively.trigger(this.id,0,i,"onesignal_playerid")}requestPermission(i,e){null==t||t.natively.trigger(this.id,0,e,"push_register",{fallbackToSettings:i})}getPermissionStatus(i){null==t||t.natively.trigger(this.id,0,i,"push_permission")}}class d{constructor(){this.id=n()}getUserGeolocation(i,e){null==t||t.natively.trigger(this.id,0,e,"geolocation",{distance:i})}requestPermission(i){null==t||t.natively.trigger(this.id,0,i,"geo_register")}getPermissionStatus(i){null==t||t.natively.trigger(this.id,0,i,"geo_permission")}}class g{constructor(){this.id=n()}current(i,e,l,n){null==t||t.natively.trigger(this.id,12,n,"location_current",{minAccuracy:i,accuracyType:e,priority:l})}permission(i){null==t||t.natively.trigger(this.id,6,i,"location_permission")}start(i,e,l,n,a){null==t||t.natively.trigger(this.id,12,a,"location_start",{minAccuracy:e,accuracyType:l,priority:n,interval:i})}stop(){null==t||t.natively.trigger(this.id,3,void 0,"location_stop",{})}startBackground(i,e,l,n,a,r){const s={identifier:null!=a?a:"empty",interval:null!=i?i:6e4,minAccuracy:null!=e?e:50,accuracyType:null!=l?l:"Best",priority:null!=n?n:"BALANCED"};null==t||t.natively.trigger(this.id,12,r,"location_start_bg",s)}statusBackground(i){null==t||t.natively.trigger(this.id,20,i,"location_status_bg",{})}stopBackground(i){null==t||t.natively.trigger(this.id,4,i,"location_stop_bg",{})}}class v{constructor(){this.id=n()}sendSMS(i,e,l){const n={body:null!=i?i:"",recipient:null!=e?e:""};null==t||t.natively.trigger(this.id,0,l,"send_sms",n)}sendEmail(i,e,l,n){const a={subject:null!=i?i:"",body:null!=e?e:"",recipient:null!=l?l:""};null==t||t.natively.trigger(this.id,0,n,"send_email",a)}}class u{constructor(){this.id=n()}setStorageValue(i,e){null==t||t.natively.trigger(this.id,0,void 0,"set_storage_value",{key:i,value:e})}getStorageValue(i,e){null==t||t.natively.trigger(this.id,0,e,"get_storage_value",{key:i})}removeStorageValue(i){null==t||t.natively.trigger(this.id,0,void 0,"remove_storage_value",{key:i})}resetStorage(){null==t||t.natively.trigger(this.id,0,void 0,"reset_storage")}}class c{constructor(i){this.id=n(),this.allowPass=i}checkBiometricsSupport(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_support",{allowPass:this.allowPass})}checkCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_has_credentials")}verifyUserIdentify(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_verify",{allowPass:this.allowPass})}getUserCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_auth",{allowPass:this.allowPass})}removeUserCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_remove_credentials")}saveUserCredentials(i,e,l){null==t||t.natively.trigger(this.id,0,l,"biometrics_auth",{allowPass:this.allowPass,login:i,password:e})}}class y{constructor(){this.id=n()}showDatePicker(i,e,l,n,a){const r={type:null!=l?l:"DATE",style:null!=n?n:"LIGHT",title:null!=i?i:"",description:null!=e?e:""};null==t||t.natively.trigger(this.id,0,a,"datepicker",r)}}class p{constructor(){this.id=n()}showCamera(i,e,l,n){const a={type:null!=i?i:"photo",quality:null!=e?e:"high",camera:null!=l?l:"BACK"};null==t||t.natively.trigger(this.id,2,n,"open_camera",a)}}class h{constructor(){this.id=n()}available(i){null==t||t.natively.trigger(this.id,10,i,"health_available",{})}requestAuthorization(i,e,l){null==t||t.natively.trigger(this.id,10,l,"health_register",{write_data_types:i,read_data_types:e})}permissionStatus(i,e){null==t||t.natively.trigger(this.id,10,e,"health_permission",{data_type:i})}getAllCharacteristics(i){null==t||t.natively.trigger(this.id,10,i,"health_get_all_characteristics",{})}getStatisticQuantity(i,e,l,n,a){const r={data_type:i,interval:e};l&&(r.start_date=l.getTime()),n&&(r.end_date=n.getTime()),null==t||t.natively.trigger(this.id,10,a,"health_get_statistic_quantity",r)}getDailySleepAnalysis(i,e,l,n){const a={limit:l||100};i&&(a.start_date=i.getTime()),e&&(a.end_date=e.getTime()),null==t||t.natively.trigger(this.id,10,n,"health_get_daily_sleep_analysis",a)}getWorkouts(i,e,l,n){const a={limit:l||100};i&&(a.start_date=i.getTime()),e&&(a.end_date=e.getTime()),null==t||t.natively.trigger(this.id,21,n,"health_get_workouts",a)}getActivitySummary(i,e,l){const n={};i&&(n.start_date=i.getTime()),e&&(n.end_date=e.getTime()),null==t||t.natively.trigger(this.id,10,l,"health_get_activity_summary",n)}}class _{constructor(){this.id=n()}showScanner(i){null==t||t.natively.trigger(this.id,2,i,"open_scanner",{})}}class b{constructor(){this.id=n()}login(i,e,l){const n=null!=e?e:"";null==t||t.natively.trigger(this.id,3,l,"purchases_login",{login:i,email:n})}logout(i){null==t||t.natively.trigger(this.id,3,i,"purchases_logout",{})}customerId(i){null==t||t.natively.trigger(this.id,3,i,"purchases_customerid",{})}restore(i){null==t||t.natively.trigger(this.id,10,i,"purchases_restore",{})}purchasePackage(i,e,l){null==t||t.natively.trigger(this.id,3,e,"purchases_package",{packageId:i,oldProductId:null!=l?l:null})}packagePrice(i,e){null==t||t.natively.trigger(this.id,8,e,"purchases_price",{packageId:i})}}class m{constructor(){this.id=n()}getAllContacts(i){null==t||t.natively.trigger(this.id,3,i,"contacts_all",{})}createContact(i,e,l,n,a){const r={firstName:i,lastName:null!=e?e:"",email:null!=l?l:"",phone:null!=n?n:""};null==t||t.natively.trigger(this.id,3,a,"contacts_save",r)}}class f{constructor(){this.id=n()}showMediaPicker(i){null==t||t.natively.trigger(this.id,8,i,"mediapicker",{})}}class N{constructor(){this.id=n()}showRecorder(i,e){const l={max_duration:null!=i?i:0};null==t||t.natively.trigger(this.id,13,e,"record_start",l)}}class A{constructor(i,e,l=!1,a,r=!1,s){var o,d,g,v,u,c;this.id=n();const y={};(null==t?void 0:t.natively.isAndroidApp)?y.unitId=null!==(o=i.androidUnitId)&&void 0!==o?o:"ca-app-pub-3940256099942544/6300978111":(null==t?void 0:t.natively.isIOSApp)&&(y.unitId=null!==(d=i.iOSUnitId)&&void 0!==d?d:"ca-app-pub-3940256099942544/2934735716"),y.position=null!==(g=i.position)&&void 0!==g?g:"BOTTOM",y.sizeType=null!==(v=i.sizeType)&&void 0!==v?v:"AUTO",y.width=null!==(u=i.custom_width)&&void 0!==u?u:320,y.height=null!==(c=i.custom_height)&&void 0!==c?c:50,null==t||t.natively.trigger(this.id,14,(i=>{null==e||e(i),l&&(null==t||t.natively.trigger(this.id,14,(i=>{null==a||a(i),r&&(null==t||t.natively.trigger(this.id,14,s,"bannerad_show",{}))}),"bannerad_load",{}))}),"bannerad_setup",y)}loadAd(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_load",{})}showBanner(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_show",{})}hideBanner(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_hide",{})}bannerIsReady(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_ready",{})}bannerIsVisible(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_visible",{})}}class w{constructor(i="ca-app-pub-3940256099942544/4411468910",e="ca-app-pub-3940256099942544/1033173712",l,a=!1,r){this.id=n(),(null==t?void 0:t.natively.isAndroidApp)?this.unitId=e:(null==t?void 0:t.natively.isIOSApp)&&(this.unitId=i),this.auto_ad_reload=a,this.auto_ad_reload_callback=r,this.loadAd(l)}loadAd(i){var e;const l={unitId:null!==(e=this.unitId)&&void 0!==e?e:"ca-app-pub-3940256099942544/4411468910"};null==t||t.natively.trigger(this.id,14,i,"interstitialad_setup",l)}showInterstitialAd(i){null==t||t.natively.trigger(this.id,14,(e=>{i(e),"DID_DISMISS_AD"===e.event&&this.auto_ad_reload&&setTimeout((()=>{this.loadAd(this.auto_ad_reload_callback)}),500)}),"interstitialad_show",{})}interstitialIsReady(i){null==t||t.natively.trigger(this.id,14,i,"interstitialad_ready",{})}}class S{constructor(i,e,t,l){this.id=n(),this.readAlertMessage=i,this.writeAlertMessage=e,this.readDetectedMessage=t,this.writeDetectedMessage=l}read(i){var e,l;const n={alertMessage:null!==(e=this.readAlertMessage)&&void 0!==e?e:"please set readAlertMessage",detectedMessage:null!==(l=this.readDetectedMessage)&&void 0!==l?l:"readDetectedMessage"};null==t||t.natively.trigger(this.id,15,i,"nfc_read",n)}write(i,e,l){var n,a;const r={alertMessage:null!==(n=this.writeAlertMessage)&&void 0!==n?n:"please set writeAlertMessage",detectedMessage:null!==(a=this.writeDetectedMessage)&&void 0!==a?a:"please set writeDetectedMessage",recordData:null!=e?e:"please set recordData",recordId:null!=i?i:"please set recordId"};null==t||t.natively.trigger(this.id,15,l,"nfc_write",r)}available(i){null==t||t.natively.trigger(this.id,15,i,"nfc_available",{})}}class I{constructor(){this.id=n()}firebase_get_token(i){null==t||t.natively.trigger(this.id,31,i,"firebase_get_token")}firebase_get_apns_token(i){null==t||t.natively.trigger(this.id,31,i,"firebase_get_apns_token")}firebase_request_permission(i){null==t||t.natively.trigger(this.id,31,i,"firebase_request_permission")}firebase_has_permission(i){null==t||t.natively.trigger(this.id,31,i,"firebase_has_permission")}firebase_subscribe_to_topic(i,e){null==t||t.natively.trigger(this.id,31,e,"firebase_subscribe_to_topic",{topic:i})}firebase_unsubscribe_from_topic(i,e){null==t||t.natively.trigger(this.id,31,e,"firebase_unsubscribe_from_topic",{topic:i})}}class k{constructor(){this.id=n()}setProfile(i,e){null==t||t.natively.trigger(this.id,32,e,"klaviyo_set_profile",i)}getExternalId(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_external_id")}resetProfile(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_reset_profile")}pushPermission(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_push_permission")}pushRegister(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_push_register")}}const P=()=>null==t?void 0:t.natively;t&&(t.natively=new l,t.NativelyAdmobBanner=A,t.NativelyAdmobInterstitial=w,t.NativelyAppleSignInService=a,t.NativelyAudioRecorder=N,t.NativelyBiometrics=c,t.NativelyCamera=p,t.NativelyClipboard=r,t.NativelyContacts=m,t.NativelyDatePicker=y,t.NativelyGeolocation=d,t.NativelyHealth=h,t.NativelyInfo=s,t.NativelyLocation=g,t.NativelyMediaPicker=f,t.NativelyMessage=v,t.NativelyNFCService=S,t.NativelyNotifications=o,t.NativelyPurchases=b,t.NativelyScanner=_,t.NativelyStorage=u,t.NativelyFirebaseNotifications=I,t.NativelyKlaviyoNotifications=k),null==t||t.natively.addObserver((()=>null==t?void 0:t.natively.trigger(void 0,0,(i=>{t&&(t.natively.min_app_version=i.minSDKVersion,t.natively.app_version=i.sdkVersion)}),"app_info",{})))})(); \ No newline at end of file +(()=>{"use strict";var i={d:(e,t)=>{for(var l in t)i.o(t,l)&&!i.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}};i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(i){if("object"==typeof window)return window}}(),i.o=(i,e)=>Object.prototype.hasOwnProperty.call(i,e),i.r=i=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var e={};i.r(e),i.d(e,{Natively:()=>l,NativelyAdmobBanner:()=>A,NativelyAdmobInterstitial:()=>w,NativelyAppleSignInService:()=>n,NativelyAudioRecorder:()=>N,NativelyBiometrics:()=>c,NativelyCamera:()=>p,NativelyClipboard:()=>r,NativelyContacts:()=>m,NativelyDatePicker:()=>y,NativelyFirebaseNotifications:()=>I,NativelyGeolocation:()=>d,NativelyHealth:()=>h,NativelyInfo:()=>s,NativelyKlaviyoNotifications:()=>k,NativelyLocation:()=>g,NativelyMediaPicker:()=>f,NativelyMessage:()=>v,NativelyNFCService:()=>S,NativelyNotifications:()=>o,NativelyPurchases:()=>b,NativelyScanner:()=>_,NativelyStorage:()=>u,NativelyTabBar:()=>P,generateID:()=>a,useNatively:()=>T});const t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==i.g?i.g:null;class l{constructor(){var i,e,l,a;this.isDebug=!1,this.min_app_version=0,this.app_version=0,this.injected=!1,this.observers=[],this.isIOSApp=(null===(e=null===(i=null==t?void 0:t.navigator)||void 0===i?void 0:i.userAgent)||void 0===e?void 0:e.includes("Natively/iOS"))||!1,this.isAndroidApp=(null===(a=null===(l=null==t?void 0:t.navigator)||void 0===l?void 0:l.userAgent)||void 0===a?void 0:a.includes("Natively/Android"))||!1}setDebug(i){t&&(t.natively.isDebug=i)}notify(i,e){t&&(t.natively.injected=!0,i&&(t.natively.min_app_version=i),e&&(t.natively.app_version=e));const l=null==t?void 0:t.natively.observers;for((null==t?void 0:t.natively.isDebug)&&console.log("[INFO] Notify observers: ",l.length);l.length>0;){const i=l.shift();null==i||i()}}addObserver(i){(null==t?void 0:t.natively.injected)?i():((null==t?void 0:t.natively.isDebug)&&console.log(`[DEBUG] addObserver: ${i}`),null==t||t.natively.observers.push(i))}trigger(i,e,l,a,n){const r=null==t?void 0:t.natively.isDebug;if(null==t?void 0:t.natively.injected)if(e>(null==t?void 0:t.natively.app_version))r&&alert(`[ERROR] Please rebuild the app to use this functionality. App Version: ${null==t?void 0:t.natively.app_version}, feature version: ${e}`);else{if(l){let e;e=i?a+"_response_"+i:a+"_response",t&&(t[e]=function(a,n){null==t||t.$agent.response(),n.message&&r?alert(`[ERROR] Error message: ${n.message}`):(r&&console.log(`[DEBUG] Callback method: ${e}, body: ${JSON.stringify(a)}, respId: ${i}`),l(a))}),n?n.response_id=i:n={response_id:i}}r&&console.log(`[DEBUG] Trigger method: ${a}, body: ${JSON.stringify(n)}`),null==t||t.$agent.trigger(a,n)}else null==t||t.natively.addObserver((()=>{null==t||t.natively.trigger(i,e,l,a,n)}))}openLogger(){null==t||t.$agent.natively_logger()}openConsole(){null==t||t.natively.trigger(void 0,22,void 0,"app_console")}closeApp(){null==t||t.natively.trigger(void 0,11,void 0,"app_close")}showProgress(i){null==t||t.natively.trigger(void 0,11,void 0,"app_show_progress",{toggle:i})}shareImage(i){null==t||t.natively.trigger(void 0,0,void 0,"share_image",{url:i})}shareText(i){null==t||t.natively.trigger(void 0,0,void 0,"share_text",{text:i})}shareTextAndImage(i,e){null==t||t.natively.trigger(void 0,0,void 0,"share_text_and_image",{url:e,text:i})}shareFile(i){null==t||t.natively.trigger(void 0,2,void 0,"share_file",{url:i})}openExternalURL(i,e){const l={url:void 0===i?"https://buildnatively.com":i,view:void 0!==e&&e?"external":"web"};null==t||t.natively.trigger(void 0,18,void 0,"open_link",l)}openExternalApp(i){null==t||t.natively.trigger(void 0,22,void 0,"open_app",{url:i})}showAppToast(i,e){null==t||t.natively.trigger(void 0,0,void 0,"show_toast",{text:e||"",type:i||"DEFAULT"})}showAppBanner(i,e,l){null==t||t.natively.trigger(void 0,0,void 0,"show_banner",{type:i||"INFO",title:e||"",description:l||""})}requestAppReview(){null==t||t.natively.trigger(void 0,0,void 0,"request_review")}setAppBackgroundColor(i){null==t||t.natively.trigger(void 0,1,void 0,"app_background",{color:i})}setAppProgressColor(i){null==t||t.natively.trigger(void 0,1,void 0,"app_progress",{color:i})}setAppSwipeNavigation(i){null==t||t.natively.trigger(void 0,22,void 0,"app_navigation",{toggle:i})}setAppPullToRefresh(i){null==t||t.natively.trigger(void 0,1,void 0,"app_pull",{toggle:i})}setAppOrientation(i){null==t||t.natively.trigger(void 0,3,void 0,"app_orientation",{orientation:i})}setAppStatusBarStyle(i){null==t||t.natively.trigger(void 0,22,void 0,"status_bar_style",{style:i})}hideLoadingScreen(){null==t||t.natively.trigger(void 0,17,void 0,"loading_screen",{show_loader:!1,auto_hide:!0})}showLoadingScreen(i){null==t||t.natively.trigger(void 0,17,void 0,"loading_screen",{show_loader:!0,auto_hide:i||!1})}openAppSettings(){null==t||t.natively.trigger(void 0,0,void 0,"open_appsettings")}hapticPattern(i,e){null==t||t.natively.trigger(void 0,22,void 0,"haptic_pattern",{pattern:i,delay:e})}hapticImpact(i){null==t||t.natively.trigger(void 0,22,void 0,"haptic_impact",{type:i})}hapticNotification(i){null==t||t.natively.trigger(void 0,22,void 0,"haptic_notification",{type:i})}sendPushNotification(i,e,t,l){return a=this,n=void 0,s=function*(){const a=t.filter((i=>i.length>0)),n=[...new Set(a)],r={app_id:l?"be83022a-1d08-45d0-a07a-0c3655666e17":i,include_player_ids:n};e.template_id?r.template_id=e.template_id:(r.headings={en:e.title||"Empty Title"},r.contents={en:e.message||"Empty Message"},e.subtitle&&(r.subtitle={en:e.subtitle}),e.redirect_url&&(r.url=e.redirect_url));const s={method:"POST",headers:{"Content-type":"application/json"},body:JSON.stringify(r)};return yield fetch("https://onesignal.com/api/v1/notifications",s)},new((r=void 0)||(r=Promise))((function(i,e){function t(i){try{o(s.next(i))}catch(i){e(i)}}function l(i){try{o(s.throw(i))}catch(i){e(i)}}function o(e){var a;e.done?i(e.value):(a=e.value,a instanceof r?a:new r((function(i){i(a)}))).then(t,l)}o((s=s.apply(a,n||[])).next())}));var a,n,r,s}}const a=()=>Date.now().toString(36)+Math.random().toString(36).substring(2);class n{constructor(){this.id=a()}signin(i){null==t||t.natively.trigger(this.id,16,i,"apple_signin",{})}}class r{constructor(){this.id=a()}copy(i){null==t||t.natively.trigger(void 0,11,void 0,"clipboard_copy",{text:i})}paste(i){null==t||t.natively.trigger(this.id,11,i,"clipboard_paste")}}class s{constructor(){this.id=a()}browserInfo(){var i,e,l,a;return{isNativeApp:void 0!==(null==t?void 0:t.$agent),isIOSApp:(null===(e=null===(i=null==t?void 0:t.navigator)||void 0===i?void 0:i.userAgent)||void 0===e?void 0:e.includes("Natively/iOS"))||!1,isAndroidApp:(null===(a=null===(l=null==t?void 0:t.navigator)||void 0===l?void 0:l.userAgent)||void 0===a?void 0:a.includes("Natively/Android"))||!1}}getAppInfo(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(this.id,0,i,"app_info"))}connectivity(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(void 0,0,i,"connectivity"))}app_state(i){(null==t?void 0:t.natively)&&(null==t||t.natively.trigger(void 0,19,i,"app_state"))}}class o{constructor(){this.id=a()}getOneSignalId(i){null==t||t.natively.trigger(this.id,0,i,"onesignal_playerid")}requestPermission(i,e){null==t||t.natively.trigger(this.id,0,e,"push_register",{fallbackToSettings:i})}getPermissionStatus(i){null==t||t.natively.trigger(this.id,0,i,"push_permission")}}class d{constructor(){this.id=a()}getUserGeolocation(i,e){null==t||t.natively.trigger(this.id,0,e,"geolocation",{distance:i})}requestPermission(i){null==t||t.natively.trigger(this.id,0,i,"geo_register")}getPermissionStatus(i){null==t||t.natively.trigger(this.id,0,i,"geo_permission")}}class g{constructor(){this.id=a()}current(i,e,l,a){null==t||t.natively.trigger(this.id,12,a,"location_current",{minAccuracy:i,accuracyType:e,priority:l})}permission(i){null==t||t.natively.trigger(this.id,6,i,"location_permission")}start(i,e,l,a,n){null==t||t.natively.trigger(this.id,12,n,"location_start",{minAccuracy:e,accuracyType:l,priority:a,interval:i})}stop(){null==t||t.natively.trigger(this.id,3,void 0,"location_stop",{})}startBackground(i,e,l,a,n,r){const s={identifier:null!=n?n:"empty",interval:null!=i?i:6e4,minAccuracy:null!=e?e:50,accuracyType:null!=l?l:"Best",priority:null!=a?a:"BALANCED"};null==t||t.natively.trigger(this.id,12,r,"location_start_bg",s)}statusBackground(i){null==t||t.natively.trigger(this.id,20,i,"location_status_bg",{})}stopBackground(i){null==t||t.natively.trigger(this.id,4,i,"location_stop_bg",{})}}class v{constructor(){this.id=a()}sendSMS(i,e,l){const a={body:null!=i?i:"",recipient:null!=e?e:""};null==t||t.natively.trigger(this.id,0,l,"send_sms",a)}sendEmail(i,e,l,a){const n={subject:null!=i?i:"",body:null!=e?e:"",recipient:null!=l?l:""};null==t||t.natively.trigger(this.id,0,a,"send_email",n)}}class u{constructor(){this.id=a()}setStorageValue(i,e){null==t||t.natively.trigger(this.id,0,void 0,"set_storage_value",{key:i,value:e})}getStorageValue(i,e){null==t||t.natively.trigger(this.id,0,e,"get_storage_value",{key:i})}removeStorageValue(i){null==t||t.natively.trigger(this.id,0,void 0,"remove_storage_value",{key:i})}resetStorage(){null==t||t.natively.trigger(this.id,0,void 0,"reset_storage")}}class c{constructor(i){this.id=a(),this.allowPass=i}checkBiometricsSupport(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_support",{allowPass:this.allowPass})}checkCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_has_credentials")}verifyUserIdentify(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_verify",{allowPass:this.allowPass})}getUserCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_auth",{allowPass:this.allowPass})}removeUserCredentials(i){null==t||t.natively.trigger(this.id,0,i,"biometrics_remove_credentials")}saveUserCredentials(i,e,l){null==t||t.natively.trigger(this.id,0,l,"biometrics_auth",{allowPass:this.allowPass,login:i,password:e})}}class y{constructor(){this.id=a()}showDatePicker(i,e,l,a,n){const r={type:null!=l?l:"DATE",style:null!=a?a:"LIGHT",title:null!=i?i:"",description:null!=e?e:""};null==t||t.natively.trigger(this.id,0,n,"datepicker",r)}}class p{constructor(){this.id=a()}showCamera(i,e,l,a){const n={type:null!=i?i:"photo",quality:null!=e?e:"high",camera:null!=l?l:"BACK"};null==t||t.natively.trigger(this.id,2,a,"open_camera",n)}}class h{constructor(){this.id=a()}available(i){null==t||t.natively.trigger(this.id,10,i,"health_available",{})}requestAuthorization(i,e,l){null==t||t.natively.trigger(this.id,10,l,"health_register",{write_data_types:i,read_data_types:e})}permissionStatus(i,e){null==t||t.natively.trigger(this.id,10,e,"health_permission",{data_type:i})}getAllCharacteristics(i){null==t||t.natively.trigger(this.id,10,i,"health_get_all_characteristics",{})}getStatisticQuantity(i,e,l,a,n){const r={data_type:i,interval:e};l&&(r.start_date=l.getTime()),a&&(r.end_date=a.getTime()),null==t||t.natively.trigger(this.id,10,n,"health_get_statistic_quantity",r)}getDailySleepAnalysis(i,e,l,a){const n={limit:l||100};i&&(n.start_date=i.getTime()),e&&(n.end_date=e.getTime()),null==t||t.natively.trigger(this.id,10,a,"health_get_daily_sleep_analysis",n)}getWorkouts(i,e,l,a){const n={limit:l||100};i&&(n.start_date=i.getTime()),e&&(n.end_date=e.getTime()),null==t||t.natively.trigger(this.id,21,a,"health_get_workouts",n)}getActivitySummary(i,e,l){const a={};i&&(a.start_date=i.getTime()),e&&(a.end_date=e.getTime()),null==t||t.natively.trigger(this.id,10,l,"health_get_activity_summary",a)}}class _{constructor(){this.id=a()}showScanner(i){null==t||t.natively.trigger(this.id,2,i,"open_scanner",{})}}class b{constructor(){this.id=a()}login(i,e,l){const a=null!=e?e:"";null==t||t.natively.trigger(this.id,3,l,"purchases_login",{login:i,email:a})}logout(i){null==t||t.natively.trigger(this.id,3,i,"purchases_logout",{})}customerId(i){null==t||t.natively.trigger(this.id,3,i,"purchases_customerid",{})}restore(i){null==t||t.natively.trigger(this.id,10,i,"purchases_restore",{})}purchasePackage(i,e,l){null==t||t.natively.trigger(this.id,3,e,"purchases_package",{packageId:i,oldProductId:null!=l?l:null})}packagePrice(i,e){null==t||t.natively.trigger(this.id,8,e,"purchases_price",{packageId:i})}}class m{constructor(){this.id=a()}getAllContacts(i){null==t||t.natively.trigger(this.id,3,i,"contacts_all",{})}createContact(i,e,l,a,n){const r={firstName:i,lastName:null!=e?e:"",email:null!=l?l:"",phone:null!=a?a:""};null==t||t.natively.trigger(this.id,3,n,"contacts_save",r)}}class f{constructor(){this.id=a()}showMediaPicker(i){null==t||t.natively.trigger(this.id,8,i,"mediapicker",{})}}class N{constructor(){this.id=a()}showRecorder(i,e){const l={max_duration:null!=i?i:0};null==t||t.natively.trigger(this.id,13,e,"record_start",l)}}class A{constructor(i,e,l=!1,n,r=!1,s){var o,d,g,v,u,c;this.id=a();const y={};(null==t?void 0:t.natively.isAndroidApp)?y.unitId=null!==(o=i.androidUnitId)&&void 0!==o?o:"ca-app-pub-3940256099942544/6300978111":(null==t?void 0:t.natively.isIOSApp)&&(y.unitId=null!==(d=i.iOSUnitId)&&void 0!==d?d:"ca-app-pub-3940256099942544/2934735716"),y.position=null!==(g=i.position)&&void 0!==g?g:"BOTTOM",y.sizeType=null!==(v=i.sizeType)&&void 0!==v?v:"AUTO",y.width=null!==(u=i.custom_width)&&void 0!==u?u:320,y.height=null!==(c=i.custom_height)&&void 0!==c?c:50,null==t||t.natively.trigger(this.id,14,(i=>{null==e||e(i),l&&(null==t||t.natively.trigger(this.id,14,(i=>{null==n||n(i),r&&(null==t||t.natively.trigger(this.id,14,s,"bannerad_show",{}))}),"bannerad_load",{}))}),"bannerad_setup",y)}loadAd(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_load",{})}showBanner(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_show",{})}hideBanner(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_hide",{})}bannerIsReady(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_ready",{})}bannerIsVisible(i){null==t||t.natively.trigger(this.id,14,i,"bannerad_visible",{})}}class w{constructor(i="ca-app-pub-3940256099942544/4411468910",e="ca-app-pub-3940256099942544/1033173712",l,n=!1,r){this.id=a(),(null==t?void 0:t.natively.isAndroidApp)?this.unitId=e:(null==t?void 0:t.natively.isIOSApp)&&(this.unitId=i),this.auto_ad_reload=n,this.auto_ad_reload_callback=r,this.loadAd(l)}loadAd(i){var e;const l={unitId:null!==(e=this.unitId)&&void 0!==e?e:"ca-app-pub-3940256099942544/4411468910"};null==t||t.natively.trigger(this.id,14,i,"interstitialad_setup",l)}showInterstitialAd(i){null==t||t.natively.trigger(this.id,14,(e=>{i(e),"DID_DISMISS_AD"===e.event&&this.auto_ad_reload&&setTimeout((()=>{this.loadAd(this.auto_ad_reload_callback)}),500)}),"interstitialad_show",{})}interstitialIsReady(i){null==t||t.natively.trigger(this.id,14,i,"interstitialad_ready",{})}}class S{constructor(i,e,t,l){this.id=a(),this.readAlertMessage=i,this.writeAlertMessage=e,this.readDetectedMessage=t,this.writeDetectedMessage=l}read(i){var e,l;const a={alertMessage:null!==(e=this.readAlertMessage)&&void 0!==e?e:"please set readAlertMessage",detectedMessage:null!==(l=this.readDetectedMessage)&&void 0!==l?l:"readDetectedMessage"};null==t||t.natively.trigger(this.id,15,i,"nfc_read",a)}write(i,e,l){var a,n;const r={alertMessage:null!==(a=this.writeAlertMessage)&&void 0!==a?a:"please set writeAlertMessage",detectedMessage:null!==(n=this.writeDetectedMessage)&&void 0!==n?n:"please set writeDetectedMessage",recordData:null!=e?e:"please set recordData",recordId:null!=i?i:"please set recordId"};null==t||t.natively.trigger(this.id,15,l,"nfc_write",r)}available(i){null==t||t.natively.trigger(this.id,15,i,"nfc_available",{})}}class I{constructor(){this.id=a()}firebase_get_token(i){null==t||t.natively.trigger(this.id,31,i,"firebase_get_token")}firebase_get_apns_token(i){null==t||t.natively.trigger(this.id,31,i,"firebase_get_apns_token")}firebase_request_permission(i){null==t||t.natively.trigger(this.id,31,i,"firebase_request_permission")}firebase_has_permission(i){null==t||t.natively.trigger(this.id,31,i,"firebase_has_permission")}firebase_subscribe_to_topic(i,e){null==t||t.natively.trigger(this.id,31,e,"firebase_subscribe_to_topic",{topic:i})}firebase_unsubscribe_from_topic(i,e){null==t||t.natively.trigger(this.id,31,e,"firebase_unsubscribe_from_topic",{topic:i})}}class k{constructor(){this.id=a()}setProfile(i,e){null==t||t.natively.trigger(this.id,32,e,"klaviyo_set_profile",i)}getExternalId(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_external_id")}resetProfile(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_reset_profile")}pushPermission(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_push_permission")}pushRegister(i){null==t||t.natively.trigger(this.id,32,i,"klaviyo_push_register")}}class P{constructor(){this.id=a()}showTabBar(){null==t||t.natively.trigger(this.id,33,"show_tab_bar")}hideTabBar(){null==t||t.natively.trigger(this.id,33,"hide_tab_bar")}}const T=()=>null==t?void 0:t.natively;t&&(t.natively=new l,t.NativelyAdmobBanner=A,t.NativelyAdmobInterstitial=w,t.NativelyAppleSignInService=n,t.NativelyAudioRecorder=N,t.NativelyBiometrics=c,t.NativelyCamera=p,t.NativelyClipboard=r,t.NativelyContacts=m,t.NativelyDatePicker=y,t.NativelyGeolocation=d,t.NativelyHealth=h,t.NativelyInfo=s,t.NativelyLocation=g,t.NativelyMediaPicker=f,t.NativelyMessage=v,t.NativelyNFCService=S,t.NativelyNotifications=o,t.NativelyPurchases=b,t.NativelyScanner=_,t.NativelyStorage=u,t.NativelyFirebaseNotifications=I,t.NativelyKlaviyoNotifications=k,t.NativelyTabBar=P),null==t||t.natively.addObserver((()=>null==t?void 0:t.natively.trigger(void 0,0,(i=>{t&&(t.natively.min_app_version=i.minSDKVersion,t.natively.app_version=i.sdkVersion)}),"app_info",{})))})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c61f247..d96eb7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^5.6.3", - "webpack": "^5.96.1", + "webpack": "^5.97.1", "webpack-cli": "^5.1.4" } }, @@ -4185,17 +4185,16 @@ } }, "node_modules/webpack": { - "version": "5.96.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", - "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", diff --git a/package.json b/package.json index 4584ab0..7422a1c 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^5.6.3", - "webpack": "^5.96.1", + "webpack": "^5.97.1", "webpack-cli": "^5.1.4" } } diff --git a/src/classes/NativelyTabBar.ts b/src/classes/NativelyTabBar.ts new file mode 100644 index 0000000..f932ee4 --- /dev/null +++ b/src/classes/NativelyTabBar.ts @@ -0,0 +1,22 @@ +import {generateID} from "../utils/generateID"; +import globalContext from "../utils/globalThis"; + +export class NativelyTabBar { + private readonly id: string = generateID(); + + showTabBar(): void { + globalContext?.natively.trigger( + this.id, + 33, + "show_tab_bar", + ); + } + + hideTabBar(): void { + globalContext?.natively.trigger( + this.id, + 33, + "hide_tab_bar", + ); + } +} diff --git a/src/index.ts b/src/index.ts index d416944..c848f44 100644 --- a/src/index.ts +++ b/src/index.ts @@ -22,6 +22,7 @@ export {NativelyAdmobInterstitial} from "./classes/NativelyAdmobInterstitial"; export {NativelyNFCService} from "./classes/NativelyNFCService"; export {NativelyFirebaseNotifications} from './classes/NativelyFirebaseNotifications'; export {NativelyKlaviyoNotifications} from './classes/NativelyKlaviyoNotifications'; +export {NativelyTabBar} from './classes/NativelyTabBar'; // Hooks export {useNatively} from './hooks/useNatively'; diff --git a/src/inject.ts b/src/inject.ts index 777c14e..3e89268 100644 --- a/src/inject.ts +++ b/src/inject.ts @@ -22,6 +22,7 @@ import {NativelyScanner} from "./classes/NativelyScanner"; import {NativelyStorage} from "./classes/NativelyStorage"; import {NativelyFirebaseNotifications} from "./classes/NativelyFirebaseNotifications"; import {NativelyKlaviyoNotifications} from './classes/NativelyKlaviyoNotifications'; +import {NativelyTabBar} from './classes/NativelyTabBar'; // Assign natively to the global object if (globalContext) { @@ -49,4 +50,5 @@ if (globalContext) { globalContext.NativelyStorage = NativelyStorage; globalContext.NativelyFirebaseNotifications = NativelyFirebaseNotifications; globalContext.NativelyKlaviyoNotifications = NativelyKlaviyoNotifications; + globalContext.NativelyTabBar = NativelyTabBar; } diff --git a/src/types.ts b/src/types.ts index 77a663e..46e6ac7 100644 --- a/src/types.ts +++ b/src/types.ts @@ -21,6 +21,7 @@ import {NativelyScanner} from "./classes/NativelyScanner"; import {NativelyStorage} from "./classes/NativelyStorage"; import {NativelyFirebaseNotifications} from "./classes/NativelyFirebaseNotifications"; import {NativelyKlaviyoNotifications} from "./classes/NativelyKlaviyoNotifications"; +import {NativelyTabBar} from "./classes/NativelyTabBar"; interface NativelyProps { natively: Natively; @@ -46,6 +47,7 @@ interface NativelyProps { NativelyStorage: NativelyStorage; NativelyFirebaseNotifications: NativelyFirebaseNotifications; NativelyKlaviyoNotifications: NativelyKlaviyoNotifications; + NativelyTabBar: NativelyTabBar; $agent: never; }