react-native-inapp-inspector 2.5.8 → 2.5.10

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.
Files changed (97) hide show
  1. package/dist/commonjs/components/BrandCircleIcon.js +8 -3
  2. package/dist/commonjs/components/Inspector/ConsoleExportModal.d.ts +10 -0
  3. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +317 -0
  4. package/dist/commonjs/components/Inspector/ConsoleTab.js +20 -15
  5. package/dist/commonjs/components/Inspector/FabLauncher.js +8 -8
  6. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
  7. package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -45
  8. package/dist/commonjs/components/Inspector/MainScreen.js +1 -1
  9. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +34 -20
  10. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +49 -44
  11. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +5 -5
  12. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +3 -3
  13. package/dist/commonjs/components/SkeletonPlaceholder.js +3 -3
  14. package/dist/commonjs/constants/version.d.ts +1 -1
  15. package/dist/commonjs/constants/version.js +1 -1
  16. package/dist/commonjs/customHooks/networkLogger.d.ts +1 -17
  17. package/dist/commonjs/customHooks/networkLogger.js +1 -1
  18. package/dist/commonjs/helpers/shareFormatter.d.ts +15 -0
  19. package/dist/commonjs/helpers/shareFormatter.js +15 -8
  20. package/dist/commonjs/i18n/locales/ar.json +1 -1
  21. package/dist/commonjs/i18n/locales/bn.json +1 -1
  22. package/dist/commonjs/i18n/locales/de.json +1 -1
  23. package/dist/commonjs/i18n/locales/en.json +1 -1
  24. package/dist/commonjs/i18n/locales/es.json +1 -1
  25. package/dist/commonjs/i18n/locales/fr.json +1 -1
  26. package/dist/commonjs/i18n/locales/gu.json +1 -1
  27. package/dist/commonjs/i18n/locales/hi.json +1 -1
  28. package/dist/commonjs/i18n/locales/id.json +1 -1
  29. package/dist/commonjs/i18n/locales/it.json +1 -1
  30. package/dist/commonjs/i18n/locales/ja.json +1 -1
  31. package/dist/commonjs/i18n/locales/kn.json +1 -1
  32. package/dist/commonjs/i18n/locales/ko.json +1 -1
  33. package/dist/commonjs/i18n/locales/ml.json +1 -1
  34. package/dist/commonjs/i18n/locales/mr.json +1 -1
  35. package/dist/commonjs/i18n/locales/nl.json +1 -1
  36. package/dist/commonjs/i18n/locales/pa.json +1 -1
  37. package/dist/commonjs/i18n/locales/pl.json +1 -1
  38. package/dist/commonjs/i18n/locales/pt.json +1 -1
  39. package/dist/commonjs/i18n/locales/ru.json +1 -1
  40. package/dist/commonjs/i18n/locales/ta.json +1 -1
  41. package/dist/commonjs/i18n/locales/te.json +1 -1
  42. package/dist/commonjs/i18n/locales/tr.json +1 -1
  43. package/dist/commonjs/i18n/locales/vi.json +1 -1
  44. package/dist/commonjs/i18n/locales/zh.json +1 -1
  45. package/dist/commonjs/index.js +1 -1
  46. package/dist/commonjs/styles/index.d.ts +3 -0
  47. package/dist/commonjs/styles/index.js +1 -1
  48. package/dist/commonjs/types/interfaces.d.ts +4 -2
  49. package/dist/esm/components/BrandCircleIcon.js +9 -4
  50. package/dist/esm/components/Inspector/ConsoleExportModal.d.ts +10 -0
  51. package/dist/esm/components/Inspector/ConsoleExportModal.js +317 -0
  52. package/dist/esm/components/Inspector/ConsoleTab.js +38 -33
  53. package/dist/esm/components/Inspector/FabLauncher.js +1 -1
  54. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +9 -9
  55. package/dist/esm/components/Inspector/InspectorHeader.js +75 -90
  56. package/dist/esm/components/Inspector/MainScreen.js +1 -1
  57. package/dist/esm/components/Inspector/MediaGalleryTab.js +88 -74
  58. package/dist/esm/components/Inspector/MediaPreviewModal.js +178 -173
  59. package/dist/esm/components/Inspector/NpmUpdateToast.js +18 -18
  60. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +11 -11
  61. package/dist/esm/components/SkeletonPlaceholder.js +11 -11
  62. package/dist/esm/constants/version.d.ts +1 -1
  63. package/dist/esm/constants/version.js +1 -1
  64. package/dist/esm/customHooks/networkLogger.d.ts +1 -17
  65. package/dist/esm/customHooks/networkLogger.js +1 -1
  66. package/dist/esm/helpers/shareFormatter.d.ts +15 -0
  67. package/dist/esm/helpers/shareFormatter.js +15 -8
  68. package/dist/esm/i18n/locales/ar.json +1 -1
  69. package/dist/esm/i18n/locales/bn.json +1 -1
  70. package/dist/esm/i18n/locales/de.json +1 -1
  71. package/dist/esm/i18n/locales/en.json +1 -1
  72. package/dist/esm/i18n/locales/es.json +1 -1
  73. package/dist/esm/i18n/locales/fr.json +1 -1
  74. package/dist/esm/i18n/locales/gu.json +1 -1
  75. package/dist/esm/i18n/locales/hi.json +1 -1
  76. package/dist/esm/i18n/locales/id.json +1 -1
  77. package/dist/esm/i18n/locales/it.json +1 -1
  78. package/dist/esm/i18n/locales/ja.json +1 -1
  79. package/dist/esm/i18n/locales/kn.json +1 -1
  80. package/dist/esm/i18n/locales/ko.json +1 -1
  81. package/dist/esm/i18n/locales/ml.json +1 -1
  82. package/dist/esm/i18n/locales/mr.json +1 -1
  83. package/dist/esm/i18n/locales/nl.json +1 -1
  84. package/dist/esm/i18n/locales/pa.json +1 -1
  85. package/dist/esm/i18n/locales/pl.json +1 -1
  86. package/dist/esm/i18n/locales/pt.json +1 -1
  87. package/dist/esm/i18n/locales/ru.json +1 -1
  88. package/dist/esm/i18n/locales/ta.json +1 -1
  89. package/dist/esm/i18n/locales/te.json +1 -1
  90. package/dist/esm/i18n/locales/tr.json +1 -1
  91. package/dist/esm/i18n/locales/vi.json +1 -1
  92. package/dist/esm/i18n/locales/zh.json +1 -1
  93. package/dist/esm/index.js +4 -4
  94. package/dist/esm/styles/index.d.ts +3 -0
  95. package/dist/esm/styles/index.js +1 -1
  96. package/dist/esm/types/interfaces.d.ts +4 -2
  97. package/package.json +1 -1
package/dist/esm/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import is,{useEffect as l,useMemo as h,useRef as y,useState as o,useCallback as k}from"react";import{Alert as ln,Animated as f,Easing as io,PanResponder as cn,Platform as ls,UIManager as un,LogBox as lo}from"react-native";import{NavigationContext as fn}from"@react-navigation/native";import{I18nextProvider as Sn,i18n as yn,setLanguage as Cn,getLanguage as xn,useTranslation as Ln}from"./i18n";import Rn from"./components/ErrorBoundary";import An from"./components/Inspector/MainScreen";import Mn from"./components/Inspector/GlobalCrashScreenModal";import{InspectorContext as vn,animateNextLayout as Nn}from"./components/Inspector/InspectorContext";import{formatDisplayUrl as Tn,getNavigationInfo as co,getLogPageName as cs,deduplicateLogs as us,getDomainColor as uo,getEventCategory as kn,matchNetworkLogQuery as En,setupMemoryWarningHandler as Pn}from"./helpers";import{loadSettings as In,saveSettings as Dn,setCustomStorage as Fn,clearPersistedSettings as On,calculateRamBasedLimits as fo}from"./helpers/settingsStore";import{getNativeSystemMetrics as Bn,pushNativeLogRecord as qe,fetchNativeCachedPage as _n}from"./native/NativeInspector";import{setupNetworkLogger as Vn,clearNetworkLogs as fs,subscribeNetworkLogs as qn,setNetworkModuleEnabled as Gn,setMaxNetworkLogsLimit as Hn,setRouteInfoProvider as po}from"./customHooks/networkLogger";import{setupConsoleLogger as Un,clearConsoleLogs as mo,subscribeConsoleLogs as zn,setConsoleModuleEnabled as Wn}from"./customHooks/consoleLogger";import{IGNORED_LOG_PREFIXES as xe}from"./customHooks/logFilters";import{setupGlobalCrashHandler as jn,subscribeCrashEvents as Jn,getCrashRecords as Tt,clearCrashRecords as ho,setMaxCrashLogsLimit as go,setCrashModuleEnabled as $n}from"./customHooks/crashHandler";import{subscribePushEvents as Qn,getPushRecords as Xn,clearPushRecords as Yn,setMaxPushRecordsLimit as Zn,simulateTestPush as Kn}from"./customHooks/pushNotificationLogger";import{setupSocketLogger as ea,clearSocketRecords as ta,subscribeSocketRecords as sa,getSocketRecords as ra,setSocketModuleEnabled as oa,setMaxSocketRecordsLimit as na,simulateTestSocket as aa,setSocketRouteInfoProvider as So,deleteSocketRecord as ia,deleteMultipleSocketRecords as la}from"./customHooks/socketLogger";import{trackActiveTelemetryHeartbeat as ca,setTelemetryEnabled as yo,trackInspectorTabView as Co,trackInspectorScreenView as ua}from"./helpers/telemetry";import{subscribeAnalyticsEvents as fa,clearAnalyticsEvents as xo,autoSetupAnalyticsLogger as da,isAnalyticsConnected as ds,setAnalyticsModuleEnabled as pa}from"./customHooks/analyticsLogger";import{getReduxState as ps,subscribeReduxState as ma,setReduxAutoRefresh as ha,getLastActionForReducer as ms,clearActionHistory as ga,isReduxConnected as hs,setReduxModuleEnabled as Sa}from"./customHooks/reduxLogger";import{hideNativeFloatingButton as Le,subscribeNativeFloatingButtonPress as ya,subscribeNativeDeviceShake as Ca,isNativeModuleAvailable as xa}from"./native/NativeInspector";import{fetchRemoteConfigModuleStatus as La}from"./helpers/remoteConfig";import{ScreenCapture as ba}from"./capture";import{LIB_VERSION as wa}from"./constants";import{toggleGlobalTheme as Lo}from"./styles";const Ra=({enabled:E=!0,storage:U,navigationRef:v,appIcon:Ss,environment:ys,initialVisible:bo=!1,visible:Ge,remoteConfig:He})=>{Fn(U||null);const{t:m}=Ln(),[Ue,kt]=o(!1),[Cs,ze]=o(null),[xs,We]=o({}),[je,Et]=o(90),[Je,Pt]=o("slide"),[x,te]=o([]),[g,z]=o(Ge??bo??!1),[Ls,It]=o(!1),[Dt,bs]=o(!1),wo=k(()=>{It(!0),z(!1)},[]),Ro=k(()=>{bs(!0),z(!1),Le().catch(()=>{})},[]);l(()=>{Ge!==void 0&&z(Ge)},[Ge]);const[ws,Rs]=o(!1),[S,Ft]=o(null),[$e,be]=o(new Set),[As,P]=o({visible:!1,title:"",message:"",onConfirm:()=>{}}),[b,Ms]=o(""),[we,Ao]=o("all"),[Re,Mo]=o(!1),[Ae,vo]=o(!1),[ae,Ot]=o(!0),[I,No]=o("all"),[vs,Bt]=o(""),[Ns,To]=o(""),[Ts,_t]=o(null),[ks,Vt]=o(null),[Es,ko]=o("state"),[Ps,Is]=o("response");l(()=>(lo.ignoreAllLogs(E),()=>{lo.ignoreAllLogs(!1)}),[E]),l(()=>{S&&(Is("response"),Bt(""))},[S]);const[se,qt]=o(new Set),[re,Gt]=o(new Set),[ie,Eo]=o("all"),[Me,Po]=o("all"),[le,Io]=o("time_desc"),[Ds,Ht]=o({}),[Ut,Qe]=o(()=>new Map),[Fs,Xe]=o({}),[Os,Do]=o(!0),[Ye,Fo]=o("newest"),[Ze,Oo]=o("newest"),[Bs,_s]=o(!0),[Vs,qs]=o(!0),[Gs,Hs]=o(!1),[Us,zs]=o(!1),[u,W]=o("apis"),[Ke,ce]=o([]),[oe,ue]=o([]),zt=y([]),Wt=y([]),jt=y([]),[Ws,Jt]=o(null),[js,Js]=o(0),[$s,Qs]=o(0),[Xs,Ys]=o(0),[Zs,Ks]=o(0),[er,Bo]=o(null),et=k(async()=>{try{const t=await ba.getMediaList(),e=t?t.length:0;return Ks(e),e}catch{return Ks(0),0}},[]);l(()=>{g&&et()},[g,et]);const[ve,j]=o(()=>Tt()),[tr,ne]=o(null),[$t,Ne]=o(null),[J,tt]=o(50);l(()=>{go(J)},[J]),l(()=>{g&&(u==="apis"&&Qs(x.length),u==="logs"&&Js(oe.length),u==="crash"&&Ys(ve.length))},[g]),l(()=>{u==="apis"&&Qs(x.length)},[u,x.length]),l(()=>{u==="logs"&&Js(oe.length)},[u,oe.length]),l(()=>{u==="crash"&&Ys(ve.length)},[u,ve.length]);const[$,sr]=o(()=>Xn()),[rr,or]=o(null),[Te,_o]=o(""),[G,Vo]=o("all"),[st,qo]=o(0),[rt,Qt]=o(50);l(()=>{Zn(rt)},[rt]),l(()=>Qn(e=>{sr(e)}),[]);const nr=h(()=>u==="push"?0:Math.max(0,$.length-st),[u,$.length,st]);l(()=>{g&&u==="push"&&qo($.length)},[g,u,$.length]);const ar=h(()=>{let t=$;if(G!=="all"){if(G==="foreground")t=t.filter(e=>(e.appState||"").toLowerCase()==="foreground");else if(G==="background")t=t.filter(e=>(e.appState||"").toLowerCase()==="background");else if(G==="opened")t=t.filter(e=>e.action==="opened");else if(G.startsWith("source:")){const e=G.replace("source:","").toLowerCase();t=t.filter(s=>(s.source||"").toLowerCase()===e)}}if(Te.trim()){const e=Te.trim().toLowerCase();t=t.filter(s=>!!(s.title&&s.title.toLowerCase().includes(e)||s.body&&s.body.toLowerCase().includes(e)||s.id&&s.id.toLowerCase().includes(e)||s.source&&s.source.toLowerCase().includes(e)||s.domain&&s.domain.toLowerCase().includes(e)||s.channelId&&s.channelId.toLowerCase().includes(e)||s.data&&JSON.stringify(s.data).toLowerCase().includes(e)))}return t},[$,G,Te]),[Q,ot]=o(()=>ra()),[ke,fe]=o(null),[Ee,Go]=o(""),[O,Ho]=o("all"),[nt,Uo]=o(0),[at,zo]=o(50);l(()=>{na(at)},[at]),l(()=>sa(e=>{ot(e)}),[]);const ir=h(()=>u==="socket"?0:Math.max(0,Q.length-nt),[u,Q.length,nt]);l(()=>{g&&u==="socket"&&Uo(Q.length)},[g,u,Q.length]);const lr=h(()=>{let t=Q;if(O!=="all"&&(O==="open"?t=t.filter(e=>(e.status||"open").toLowerCase()==="open"):O==="closed"?t=t.filter(e=>(e.status||"").toLowerCase()==="closed"):O==="error"?t=t.filter(e=>(e.status||"").toLowerCase()==="error"):O==="sio"?t=t.filter(e=>e.client==="socket.io"||e.url.includes("/socket.io")):O==="wss"?t=t.filter(e=>e.url.startsWith("wss://")):O==="ws"&&(t=t.filter(e=>e.url.startsWith("ws://")))),Ee.trim()){const e=Ee.trim().toLowerCase();t=t.filter(s=>!!(s.url&&s.url.toLowerCase().includes(e)||s.id&&s.id.toLowerCase().includes(e)||s.client&&s.client.toLowerCase().includes(e)||s.caller&&s.caller.toLowerCase().includes(e)||s.query&&JSON.stringify(s.query).toLowerCase().includes(e)||s.frames&&s.frames.some(r=>!!(r.eventName&&r.eventName.toLowerCase().includes(e)||typeof r.data=="string"&&r.data.toLowerCase().includes(e)||r.data&&typeof r.data=="object"&&JSON.stringify(r.data).toLowerCase().includes(e)))))}return t},[Q,O,Ee]),[de,it]=o(300),[X,Xt]=o({info:!0,warn:!0,error:!0}),Y=h(()=>oe.filter(e=>{const s=e.type;if(s==="info"&&!X?.info||s==="warn"&&!X?.warn||s==="error"&&!X?.error)return!1;const r=e.message||"";return![...xe&&xe.info||[],...xe&&xe.warn||[],...xe&&xe.error||[]].filter(p=>typeof p=="string"&&p.trim().length>0).some(p=>r.toLowerCase().trim().startsWith(p.toLowerCase().trim())||r.toLowerCase().trim().includes(p.toLowerCase().trim()))}).slice(0,de),[oe,X,de]),[B,cr]=o(""),[_,ur]=o(new Set(["all"])),[fr,Wo]=o(null),[dr,jo]=o(!1),[pr,Jo]=o(!1),[mr,$o]=o("module"),[N,lt]=o({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),[D,ct]=o(250),[pe,ut]=o(150),[me,Yt]=o(!0),[Zt,Qo]=o(1800),[he,Kt]=o(!0),[ft,es]=o(1),[dt,hr]=o(60),[pt,gr]=o(.5),[mt,Sr]=o(0),[ht,yr]=o(120),[gt,Cr]=o("png"),[St,xr]=o("none"),[yt,Lr]=o(!0),[Ct,br]=o(!0),[wr,Xo]=o(!1),[xt,Rr]=o(.1),[Z,Lt]=o("apis"),[K,ts]=o(!1),[ss,rs]=o(!0);l(()=>{Gn(!!N.apis),Wn(!!N.logs),pa(!!N.analytics),Sa(!!N.redux),$n(!!N.crash),oa(!!N.socket)},[N]),l(()=>{Bn().then(t=>{if(t){const e=t.totalPhysicalRamMb-t.residentRamMb,s=Math.max(200,Math.round(e>0?e:1500));if(Qo(s),me){const r=fo(s);ct(r.maxNetworkLogs),it(r.maxConsoleLogs),ut(r.maxAnalyticsEvents),tt(r.maxCrashRecords),Qt(r.maxPushRecords)}}}).catch(()=>{})},[me]);const Yo=async()=>{await On(),kt(!1),Lo(!1),Et(90),Pt("slide"),lt({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),Lt("apis"),Yt(!0);const t=fo(Zt);tt(t.maxCrashRecords),ct(t.maxNetworkLogs),it(t.maxConsoleLogs),ut(t.maxAnalyticsEvents),Qt(t.maxPushRecords),Xt({info:!0,warn:!0,error:!0}),Kt(!0),es(1),ts(!1),rs(!0),ln.alert("Settings Reset","All settings have been reset to default values.")},Ar=y(!1);l(()=>{let t=!1;return In().then(e=>{if(!t){if(e.language&&Cn(e.language),e.isDark!=null&&(kt(e.isDark),Lo(e.isDark)),e.modalHeightPercent!=null&&Et(e.modalHeightPercent),e.modalAnimationType&&Pt(e.modalAnimationType),e.tabVisibility&&lt(s=>({...s,...e.tabVisibility,apis:!0})),e.defaultTab&&Lt(e.defaultTab),e.isAutoRamLimitEnabled!=null&&Yt(e.isAutoRamLimitEnabled),e.maxNetworkLogs!=null&&ct(e.maxNetworkLogs),e.maxConsoleLogs!=null&&it(e.maxConsoleLogs),e.maxAnalyticsEventsLimit!=null&&ut(e.maxAnalyticsEventsLimit),e.maxCrashLogs!=null&&tt(e.maxCrashLogs),e.showConsoleLevels&&Xt(e.showConsoleLevels),e.reduxAutoRefresh!=null&&Kt(e.reduxAutoRefresh),e.reduxExpandDepth!=null&&es(e.reduxExpandDepth),e.captureFps!=null&&hr(e.captureFps),e.captureScale!=null&&gr(e.captureScale),e.captureBitrate!=null&&Sr(e.captureBitrate),e.captureMaxDurationSeconds!=null&&yr(e.captureMaxDurationSeconds),e.captureImageFormat&&Cr(e.captureImageFormat),e.captureAudioMode&&xr(e.captureAudioMode),e.captureAutoHide!=null&&Lr(e.captureAutoHide),e.captureAutoGif!=null&&br(e.captureAutoGif),e.peekOpacity!=null&&Rr(Math.max(.05,Math.min(1,e.peekOpacity))),e.showDuplicateLogs!=null&&ts(e.showDuplicateLogs),e.showUpdateToast!=null&&rs(e.showUpdateToast),e.isGroupByPageEnabled!=null&&Ot(e.isGroupByPageEnabled),e.defaultTab){const s=e.defaultTab,r={apis:!0,logs:!0,analytics:!1,redux:!1,crash:!1,device:!1,storage:!1,...e.tabVisibility||{},apis:!0};W(r[s]?s:"apis")}Ar.current=!0}}),()=>{t=!0}},[]),l(()=>{let t=!0;if(He!==!1)return La(typeof He=="object"?He:void 0).then(e=>{t&&e&&lt(s=>({...s,...e,apis:e.apis??!0}))}).catch(()=>{}),()=>{t=!1}},[He]),l(()=>{Ar.current&&Dn({isDark:Ue,language:xn(),modalHeightPercent:je,modalAnimationType:Je,tabVisibility:N,defaultTab:Z,maxNetworkLogs:D,maxConsoleLogs:de,maxAnalyticsEventsLimit:pe,maxCrashLogs:J,isAutoRamLimitEnabled:me,isGroupByPageEnabled:ae,showConsoleLevels:X,reduxAutoRefresh:he,reduxExpandDepth:ft,showDuplicateLogs:K,showUpdateToast:ss,captureFps:dt,captureScale:pt,captureBitrate:mt,captureMaxDurationSeconds:ht,captureImageFormat:gt,captureAudioMode:St,captureAutoHide:yt,captureAutoGif:Ct,peekOpacity:xt})},[Ue,je,Je,N,Z,D,de,pe,J,me,ae,X,he,ft,K,dt,pt,mt,ht,gt,St,yt,Ct,xt]);const[Pe,Zo]=o(null),Mr=h(()=>{if(!Pe)return!1;const t=r=>r.replace(/^v/,"").split(".").map(n=>parseInt(n,10)||0),e=t(wa),s=t(Pe);for(let r=0;r<3;r++){if((s[r]||0)>(e[r]||0))return!0;if((s[r]||0)<(e[r]||0))return!1}return!1},[Pe]);l(()=>{if(typeof __DEV__>"u"||!__DEV__)return;let t=!1;return fetch("https://registry.npmjs.org/react-native-inapp-inspector/latest").then(e=>e.ok?e.json():null).then(e=>{!t&&e&&typeof e.version=="string"&&Zo(e.version)}).catch(()=>{}),()=>{t=!0}},[]),l(()=>{ha(he)},[he]),l(()=>{u==="redux"&&!hs()&&W("apis"),u==="analytics"&&!ds()&&W("apis")},[u]);const vr=t=>{t!=="apis"&&(t==="redux"&&!hs()||t==="analytics"&&!ds()||lt(e=>{const s=!e[t],r={...e,[t]:s};return!s&&u===t&&(Nn(),W("apis")),!s&&Z===t&&Lt("apis"),r}))},os=k(async(t,e="")=>{if(t==="apis"||t==="logs"||t==="analytics"||t==="crash"){const s=await _n(t,0,100,e);s&&s.items&&s.items.length>0&&(t==="apis"?te(s.items):t==="logs"?ue(s.items):t==="analytics"?ce(s.items):t==="crash"&&j(s.items))}},[]),Nr=k(t=>{t==="redux"&&!hs()||t==="analytics"&&!ds()||(Ft(null),bt(null),Jt(null),_t(null),Vt(null),ne(null),fe(null),typeof is.startTransition=="function"?is.startTransition(()=>{W(t),os(t)}):(W(t),os(t)),Co(t))},[os]),[Tr,bt]=o(null),[ge,kr]=o(""),[a,Er]=o({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"}),Pr=h(()=>!!(a.categories.size>0&&!a.categories.has("all")||a.screens.size>0||a.sources.size>0&&!a.sources.has("all")||a.userTypes.size>0&&!a.userTypes.has("all")||a.timeWindow!=="all"||a.payloadComplexity!=="all"||a.hasRevenue||a.hasItems||a.hasUserProps||a.hasParams||a.onlyDuplicates||a.onlyConversions||a.sortBy!=="time_desc"),[a]),Ir=k(()=>{Er({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"})},[]),[Dr,Ko]=o(!1),[Fr,en]=o(!1),[Or,Br]=o(new Set),Ie=y(new Set),[wt,ns]=o(null),_r=is.useContext(fn)!==void 0,F=y({path:"",params:null});l(()=>(po(()=>F.current),So(()=>F.current),()=>{po(null),So(null)}),[]),l(()=>{if(wt){const t=co(wt);t?.path&&(F.current=t)}},[wt]),l(()=>{if(!v)return;const t=()=>{try{if(typeof v.isReady=="function"&&v.isReady()){const s=typeof v.getCurrentRoute=="function"?v.getCurrentRoute():null;s?.name&&(F.current={path:s.name,params:s.params||null});const r=v.getRootState();if(r){ns(r);const n=co(r);n?.path&&(F.current=n)}}}catch{}};t();const e=typeof v.addListener=="function"?v.addListener("state",()=>{t()}):null;return()=>{e&&e()}},[v]);const w=y(new Map),Se=y(new Set),[Vr,qr]=o(new Set),De=y(new f.Value(1)).current,Fe=y(new f.Value(.4)).current,Oe=y(new f.Value(1)).current,Be=y(new f.Value(0)).current,_e=y(new f.Value(0)).current,R=y(new f.ValueXY({x:0,y:0})).current,Rt=y({x:0,y:0});l(()=>{const t=R.x.addListener(s=>Rt.current.x=s.value),e=R.y.addListener(s=>Rt.current.y=s.value);return()=>{R.x.removeListener(t),R.y.removeListener(e)}},[R]);const At=y(!1),Gr=y(cn.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(t,e)=>Math.abs(e.dx)>4||Math.abs(e.dy)>4,onPanResponderGrant:()=>{At.current=!0,R.setOffset({x:Rt.current.x,y:Rt.current.y}),R.setValue({x:0,y:0})},onPanResponderMove:f.event([null,{dx:R.x,dy:R.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{R.flattenOffset(),setTimeout(()=>{At.current=!1},50)},onPanResponderTerminate:()=>{R.flattenOffset(),At.current=!1}})).current,Hr=k(()=>{f.sequence([f.timing(_e,{toValue:1,duration:320,useNativeDriver:!1}),f.timing(_e,{toValue:0,duration:0,useNativeDriver:!1})]).start(),sn()},[_e]);l(()=>{ls.OS==="android"&&un.setLayoutAnimationEnabledExperimental?.(!0)},[]),l(()=>{if(g)return;const t=f.loop(f.sequence([f.timing(De,{toValue:1.2,duration:800,useNativeDriver:!1}),f.timing(De,{toValue:1,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[De,g]),l(()=>{if(g)return;const t=f.loop(f.sequence([f.timing(Be,{toValue:1,duration:3200,easing:io.inOut(io.ease),useNativeDriver:!1}),f.delay(3500),f.timing(Be,{toValue:0,duration:0,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Be,g]),l(()=>{const t=f.loop(f.sequence([f.timing(Fe,{toValue:1,duration:1200,useNativeDriver:!1}),f.timing(Fe,{toValue:.4,duration:1200,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Fe]),l(()=>{const t=f.loop(f.sequence([f.timing(Oe,{toValue:1.3,duration:800,useNativeDriver:!1}),f.timing(Oe,{toValue:.8,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Oe]);const tn=h(()=>xa(),[]),ee=(ls.OS==="ios"||ls.OS==="android")&&tn;l(()=>{ee&&Le().catch(()=>{})},[ee,g,Dt]),l(()=>{if(!ee)return;const t=ya(()=>{Le().catch(()=>{}),z(!0)});return()=>{t()}},[ee]),l(()=>{if(!ee)return;const t=Ca(()=>{z(e=>{const s=!e;return s&&Le().catch(()=>{}),s})});return()=>{t()}},[ee]);const Ur=y(g);l(()=>{if(Ur.current=g,g){ua("InspectorModal");const t=Z==="apis"||N?.[Z]?Z:"apis";if(W(t),Co(t),zt.current.length>0){const n=us(zt.current),i=new Set(n.map(p=>p.id));Se.current=i,te(n)}Wt.current.length>0&&ue(Wt.current),jt.current.length>0&&ce(jt.current);const e=ps();e&&(ze(typeof e=="object"?{...e}:e),We({...ms()}));const s=Tt();s.length>0&&j(s);const r=requestAnimationFrame(()=>{Rs(!0)});return()=>{cancelAnimationFrame(r)}}else Rs(!1),be(new Set)},[g]),l(()=>{Vn(),fs(),Un(),da(),jn(),ea();const t=Pn(),e=Ur,s=Jn(c=>{if(c.message==="__CLEARED__"){j([]),ne(null),Ne(null);return}const H=Tt();H.length>0&&qe("crash",JSON.stringify(H[0])),j(H),c.crashRecord&&Ne(c.crashRecord)}),r=Tt();r.length>0&&(r.forEach(c=>qe("crash",JSON.stringify(c))),j(r));let n,i=!0;const p=qn(c=>{if(zt.current=c,c.length>0&&qe("apis",JSON.stringify(c[0])),!e.current)return;clearTimeout(n);const H=()=>{const C=us(c),M=new Set(C.map(q=>q.id)),d=new Set;M.forEach(q=>{Se.current.has(q)||d.add(q)}),Se.current=M,d.size>0&&(d.forEach(q=>{if(!w.current.has(q)){const nn=C.find(an=>an.id===q)?.routeInfo||F.current;w.current.set(q,nn)}}),qr(d),setTimeout(()=>qr(new Set),1200)),te(C)};if(i){i=!1;const C=us(c),M=new Set(C.map(d=>d.id));Se.current=M,C.forEach(d=>{if(!w.current.has(d.id)){const q=d?.routeInfo||F.current;w.current.set(d.id,q)}}),te(C)}else n=setTimeout(H,250)});let A,T=!0;const as=fa(c=>{if(jt.current=c,c.length>0&&qe("analytics",JSON.stringify(c[0])),!e.current)return;clearTimeout(A);const H=()=>{const C=new Set(c.map(d=>d.id)),M=new Set;C.forEach(d=>{Ie.current.has(d)||M.add(d)}),Ie.current=C,M.size>0&&(M.forEach(d=>{w.current.has(d+1e6)||w.current.set(d+1e6,F.current)}),Br(M),setTimeout(()=>Br(new Set),1200)),ce(c)};if(T){T=!1;const C=new Set(c.map(M=>M.id));Ie.current=C,ce(c)}else A=setTimeout(H,200)});let ye,Nt=!0;const V=zn(c=>{Wt.current=c,c.length>0&&qe("logs",JSON.stringify(c[0])),e.current&&(clearTimeout(ye),Nt?(Nt=!1,ue(c)):ye=setTimeout(()=>{ue(c)},200))}),Ce=ps();Ce&&(ze(typeof Ce=="object"?{...Ce}:Ce),We({...ms()}));const Ve=ma(()=>{if(!e.current)return;const c=ps();ze(c&&typeof c=="object"?{...c}:c),We({...ms()})});return()=>{p(),clearTimeout(n),as(),clearTimeout(A),V(),clearTimeout(ye),Ve(),s(),t()}},[]),l(()=>{Hn(D)},[D]),l(()=>{go(J)},[J]),l(()=>{_s(!0),qs(!0),Hs(!1),zs(!1),Bt("")},[S]);const L=h(()=>{let t=x.filter(e=>{if(I&&I!=="all"){if(I==="errors"){if(!(e.status===0||e.status==null||typeof e.status=="number"&&e.status>=400))return!1}else if(I==="success"){if(!(typeof e.status=="number"&&e.status>=200&&e.status<400))return!1}else if(I==="slow"){if((e.duration||0)<500)return!1}else if(I==="graphql"){if(!((e.url||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("apollo")))return!1}else if(e.method?.toUpperCase()!==I.toUpperCase())return!1}if(se.size>0&&!se.has("all")){const s=typeof e.status=="number"?e.status:parseInt(String(e.status),10);if(![...se].some(n=>{const i=String(n).toLowerCase();if(i==="all")return!0;if(i==="failed")return e.status===0||e.status==null||!isNaN(s)&&s>=400;if(i==="2xx")return!isNaN(s)&&s>=200&&s<300;if(i==="3xx")return!isNaN(s)&&s>=300&&s<400;if(i==="4xx")return!isNaN(s)&&s>=400&&s<500;if(i==="5xx")return!isNaN(s)&&s>=500&&s<600;if(!isNaN(s)){const p=parseInt(String(n),10);if(!isNaN(p)&&p>=100)return s===p}return String(e.status).startsWith(String(n)[0])}))return!1}if(re.size>0&&!re.has("all")&&![...re].some(r=>String(r).toUpperCase()==="ALL"?!0:e.method?.toUpperCase()===String(r).toUpperCase()))return!1;if(ie!=="all"){const s=e.duration||0;if(ie==="fast"&&s>=200||ie==="normal"&&(s<200||s>500)||ie==="slow"&&s<=500)return!1}if(Me!=="all"){const s=(e.url||"").toLowerCase().startsWith("https");if(Me==="https"&&!s||Me==="http"&&s)return!1}if(b&&b.trim().length>0){const s=w.current.get(e.id)?.path||"";if(!En(e,b,s,{scope:we,isRegex:Re,isCaseSensitive:Ae}))return!1}return!0});if(le==="time_asc"||Ye==="oldest"?t=[...t].reverse():le==="duration_desc"?t=[...t].sort((e,s)=>(s.duration||0)-(e.duration||0)):le==="duration_asc"?t=[...t].sort((e,s)=>(e.duration||0)-(s.duration||0)):le==="size_desc"&&(t=[...t].sort((e,s)=>{const r=(e.response?JSON.stringify(e.response).length:0)+(e.request?JSON.stringify(e.request).length:0);return(s.response?JSON.stringify(s.response).length:0)+(s.request?JSON.stringify(s.request).length:0)-r})),!K){const e=[];for(const s of t){const r=e[e.length-1];r&&r.method===s.method&&r.url===s.url&&r.status===s.status?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t},[x,b,we,Re,Ae,I,se,re,ie,Me,le,Ye,K]),zr=h(()=>{const t=new Set;return x.forEach(e=>{e.method&&t.add(e.method.toUpperCase())}),["ALL",...Array.from(t)]},[x]),Wr=k((t,e)=>{Ht(s=>{const r=s[t]||new Set(["success","failed","loading"]),n=new Set(r);return n.has(e)?n.delete(e):n.add(e),{...s,[t]:n}})},[]),Mt=h(()=>{if(F.current?.path){const t=F.current.path.split(" \u2794 ").map(e=>e.trim()).filter(Boolean);return t.length>0?t[t.length-1]:F.current.path}if(L.length>0){const t=L[0],e=w.current.get(t.id)||t?.routeInfo;return cs(t,e)}return""},[L,wt]),jr=k(t=>{Qe(e=>{const s=new Map(e),n=!!(b&&b.trim().length>0)?!0:t===Mt,i=s.has(t)?s.get(t):n;return s.set(t,!i),s})},[Mt,b]);l(()=>{Xe({}),Qe(new Map)},[b,we,Re,Ae,I,se,re,D]);const Jr=k((t,e=10)=>{Xe(s=>({...s,[t]:(s[t]||D||50)+e}))},[D]),$r=h(()=>{if(!ae)return L.map((n,i)=>{const p=w.current.get(n.id)||n?.routeInfo,A=cs(n,p);return{type:"log",id:`flat-log-${n.id}`,log:n,isLast:i===L.length-1,color:uo(A)}});const t=[],e=new Map;for(let n=0;n<L.length;n++){const i=L[n],p=w.current.get(i.id)||i?.routeInfo,A=cs(i,p);let T=e.get(A);T||(T={pageName:A,color:uo(A),logs:[]},e.set(A,T)),T.logs.push(i)}const s=!!(b&&b.trim().length>0);let r=0;return e.forEach(n=>{let i=0,p=0,A=0;n.logs.forEach(V=>{V.status==null?A++:V.status===0||V.status>=400?p++:i++});const T=Ds[n.pageName]||new Set(["success","failed","loading"]),as=s?!0:n.pageName===Mt,ye=Ut.has(n.pageName)?!Ut.get(n.pageName):!as,Nt=n.logs[0]?.startTime||0;if(t.push({type:"header",id:`hdr-${n.pageName}`,pageName:n.pageName,color:n.color,stats:{success:i,failed:p,loading:A},timestamp:Nt,activeFilters:T,isCollapsed:ye,isFirst:r===0}),r++,!ye){const V=n.logs.filter(d=>d.status==null?T.has("loading"):d.status===0||d.status>=400?T.has("failed"):T.has("success")),Ce=D||50,Ve=Fs[n.pageName]||Ce,c=V.slice(0,Ve),H=V.length>Ve;c.forEach(d=>{t.push({type:"log",id:`log-${d.id}`,log:d,isLast:!1,color:n.color})});const C=Math.max(0,V.length-Ve),M=Math.min(C||10,10);t.push({type:"loadMore",id:`loadmore-${n.pageName}`,pageName:n.pageName,color:n.color,remainingCount:C,totalCount:V.length,loadedCount:c.length,loadMoreStep:M,hasMore:H})}}),t},[ae,L,x,Ds,Ut,Mt,Fs,D,b]),{minStart:Qr,totalRange:Xr}=h(()=>{if(L.length===0)return{minStart:0,totalRange:0};const t=Math.min(...L.map(s=>s.startTime)),e=Math.max(...L.map(s=>s.startTime+(s.duration||10)));return{minStart:t,totalRange:e-t}},[L]),vt=h(()=>{if(!S)return null;const t=x.findIndex(e=>e.id===S.id);if(t===-1)return null;for(let e=t+1;e<x.length;e++){const s=x[e];if(s.url===S.url&&s.method===S.method)return s}return null},[S,x]),Yr=vt?vt.request:null,Zr=vt?vt.response:null,Kr=h(()=>{let t=Ke;if(ge&&ge.trim().length>0){const r=ge.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(n=>{const i=[n.name||"",JSON.stringify(n.params||""),JSON.stringify(n.userProperties||""),n.screenName||"",n.pageTitle||"",n.userId||"",n.source||""].join(" ").toLowerCase();return r.every(p=>i.includes(p))})}if(a.categories.size>0&&!a.categories.has("all")&&(t=t.filter(r=>{const n=kn(r.name);return a.categories.has(n)})),a.timeWindow!=="all"){const r=Date.now(),n=a.timeWindow==="1m"?r-60*1e3:a.timeWindow==="5m"?r-300*1e3:a.timeWindow==="15m"?r-900*1e3:r-3600*1e3;t=t.filter(i=>i.timestamp>=n)}if(a.sources.size>0&&!a.sources.has("all")&&(t=t.filter(r=>a.sources.has(r.source||"manual"))),a.userTypes.size>0&&!a.userTypes.has("all")&&(t=t.filter(r=>{const n=!!(r.userId&&r.userId.trim()!=="");return!!(a.userTypes.has("identified")&&n||a.userTypes.has("anonymous")&&!n)})),a.payloadComplexity!=="all"&&(a.payloadComplexity==="none"?t=t.filter(r=>!r.params||Object.keys(r.params).length===0):a.payloadComplexity==="simple"?t=t.filter(r=>r.params&&Object.keys(r.params).length<=3):a.payloadComplexity==="heavy"&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>3))),a.onlyConversions){const r=["purchase","item_purchase","ecommerce_purchase","sign_up","login","lead","generate_lead","tutorial_complete","add_payment_info","begin_checkout","spend_virtual_currency"];t=t.filter(n=>r.some(i=>n.name.toLowerCase().includes(i)))}a.screens.size>0&&(t=t.filter(r=>{const n=r.screenName||r.params?.firebase_screen||r.params?.screen_name||r.params?.firebase_screen_class||r.screenClass||"";return a.screens.has(n)})),a.hasRevenue&&(t=t.filter(r=>r.params?.value!=null&&!isNaN(Number(r.params.value))||r.params?.price!=null&&!isNaN(Number(r.params.price)))),a.hasItems&&(t=t.filter(r=>Array.isArray(r.params?.items)&&r.params.items.length>0)),a.hasUserProps&&(t=t.filter(r=>r.userProperties&&Object.keys(r.userProperties).length>0)),a.hasParams&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>0));const e=[];for(const r of t){if(e.length===0){e.push({...r,count:1});continue}const n=e[e.length-1];n.name===r.name&&JSON.stringify(n.params)===JSON.stringify(r.params)&&JSON.stringify(n.userProperties)===JSON.stringify(r.userProperties)?(n.count=(n.count||1)+1,n.timestamp=r.timestamp,n.id=r.id):e.push({...r,count:1})}let s=e;return a.onlyDuplicates&&(s=s.filter(r=>(r.count||1)>1)),a.sortBy==="time_asc"?s=[...s].sort((r,n)=>r.timestamp-n.timestamp):a.sortBy==="revenue_desc"?s=[...s].sort((r,n)=>{const i=Number(r.params?.value??r.params?.price??0);return Number(n.params?.value??n.params?.price??0)-i}):a.sortBy==="count_desc"&&(s=[...s].sort((r,n)=>(n.count||1)-(r.count||1))),s.slice(0,pe)},[Ke,ge,a,pe]),eo=h(()=>{let t=Y;if(_.size>0&&!_.has("all")&&(t=t.filter(e=>!!(_.has("user-log")&&e.sourceMethod==="log"||_.has("info")&&(e.sourceMethod==="info"||e.type==="info"&&e.sourceMethod!=="log")||_.has("warn")&&(e.type==="warn"||e.sourceMethod==="warn")||_.has("error")&&(e.type==="error"||e.sourceMethod==="error")||_.has("analytics")&&e.message?.toLowerCase().includes("[analytics error]")))),B&&B.trim().length>0){const e=B.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(s=>{const r=[s.message||"",s.caller||"",s.type||"",s.sourceMethod||"",s.stack||""].join(" ").toLowerCase();return e.every(n=>n==="error"||n==="err"?s.type==="error"||r.includes(n):n==="warn"||n==="warning"?s.type==="warn"||r.includes(n):n==="info"&&s.type==="info"||r.includes(n))})}if(t=[...t].sort((e,s)=>Ze==="newest"?s.timestamp-e.timestamp:e.timestamp-s.timestamp),!K){const e=[];for(const s of t){const r=e[e.length-1];r&&r.type===s.type&&r.sourceMethod===s.sourceMethod&&r.message===s.message?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t},[Y,_,B,Ze,K]),to=h(()=>{let t=Y;if(B&&B.trim().length>0){const s=B.trim().toLowerCase().split(/\s+/).filter(Boolean);t=Y.filter(r=>{const n=[r.message||"",r.caller||"",r.type||"",r.sourceMethod||"",r.stack||""].join(" ").toLowerCase();return s.every(i=>i==="error"||i==="err"?r.type==="error"||n.includes(i):i==="warn"||i==="warning"?r.type==="warn"||n.includes(i):i==="info"&&r.type==="info"||n.includes(i))})}const e=Y.length;return{all:`${t.length}/${e}`,info:`${t.filter(s=>s.sourceMethod==="info"||s.type==="info"&&s.sourceMethod!=="log").length}/${e}`,warn:`${t.filter(s=>s.type==="warn"||s.sourceMethod==="warn").length}/${e}`,error:`${t.filter(s=>s.type==="error"||s.sourceMethod==="error").length}/${e}`,"user-log":`${t.filter(s=>s.sourceMethod==="log").length}/${e}`,analytics:`${t.filter(s=>s.message.toLowerCase().includes("[analytics error]")).length}/${e}`}},[Y,B]),so=k(()=>{z(!1),It(!1),setTimeout(()=>{Ft(null),bt(null),Jt(null),_t(null),Vt(null),ne(null),fe(null)},300)},[]);function sn(){fs(),te([]),be(new Set),Ht({}),Qe(new Map),Xe({}),qt(new Set),Gt(new Set),Ms(""),Se.current=new Set,w.current=new Map,xo(),ce([]),kr(""),Ie.current=new Set,mo(),ue([]),ur(new Set(["all"])),cr("")}function ro(){if(u==="logs"){P({visible:!0,title:m("console.clearLogsTitle","Clear Console Logs"),message:m("console.clearLogsMsg","Are you sure you want to clear all console logs?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{P(t=>({...t,visible:!1})),mo(),ue([])}});return}if(u==="analytics"){P({visible:!0,title:m("analytics.clearEventsTitle","Clear Analytics"),message:m("analytics.clearEventsMsg","Are you sure you want to clear all analytics events?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{P(t=>({...t,visible:!1})),xo(),ce([]),bt(null),Ie.current=new Set}});return}if(u==="redux"){P({visible:!0,title:m("redux.clearTimelineTitle","Clear Redux Timeline"),message:m("redux.clearTimelineMsg","Are you sure you want to clear the dispatched action history?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{P(t=>({...t,visible:!1})),ga(),We({})}});return}if(u==="crash"){P({visible:!0,title:m("crash.clearTitle","Clear Crash Records"),message:m("crash.clearMessage","Are you sure you want to clear all intercepted crash records?"),confirmText:m("crash.clearConfirm","Clear All"),cancelText:m("crash.clearCancel","Cancel"),onConfirm:()=>{P(t=>({...t,visible:!1})),ho(),j([]),ne(null)}});return}$e.size>0?(te(t=>t.filter(e=>!$e.has(e.id))),be(new Set)):P({visible:!0,title:m("network.clearLogsTitle","Clear Network Logs"),message:m("network.clearLogsMsg","Are you sure you want to clear all network logs?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{P(t=>({...t,visible:!1})),rn()}})}function rn(){fs(),te([]),be(new Set),Ht({}),Qe(new Map),Xe({}),qt(new Set),Gt(new Set),Se.current=new Set,w.current=new Map}const oo=h(()=>{if(!S)return"";try{const e=new URL(S.url).pathname.split("/").filter(Boolean);return e.length>0?`/${e.slice(-2).join("/")}`:"/"}catch{const t=S.url.split("/").filter(Boolean);return t.length>0?`/${t.slice(-2).join("/")}`:S.url}},[S]),no=h(()=>S?Tn(S.url):"",[S]),ao=k(t=>{be(e=>{const s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},[]),on=h(()=>({visible:g,setVisible:z,closeModal:so,isMinimized:Ls,setIsMinimized:It,minimizeInspector:wo,isDismissed:Dt,setIsDismissed:bs,dismissInspector:Ro,isReady:ws,enabled:E,isEnabled:E,appIcon:Ss,environment:ys,modalHeightPercent:je,setModalHeightPercent:Et,modalAnimationType:Je,setModalAnimationType:Pt,hasNavigationContext:_r,setNavState:ns,activeTab:u,switchActiveTab:Nr,tabVisibility:N,toggleTabVisibility:vr,lastReadApisCount:$s,lastReadLogsCount:js,mediaCount:Zs,refreshMediaCount:et,selected:S,setSelected:Ft,selectedEvent:Tr,setSelectedEvent:bt,selectedLog:Ws,setSelectedLog:Jt,showHeaderInfo:Os,setShowHeaderInfo:Do,settingsPage:fr,setSettingsPage:Wo,isAboutOpen:dr,setIsAboutOpen:jo,isSupportOpen:pr,setIsSupportOpen:Jo,updateAvailable:Mr,latestNpmVersion:Pe,clearAnim:_e,activePulseAnim:Fe,unreadPulseAnim:Oe,runClearAllWithAnimation:Hr,confirmModal:As,setConfirmModal:P,useNativeFab:ee,fabPan:R,fabPanResponder:Gr,fabDraggedRef:At,pulseAnim:De,fabShineAnim:Be,logs:x,filteredLogs:L,groupedData:$r,search:b,setSearch:Ms,searchScope:we,setSearchScope:Ao,isRegexSearch:Re,setIsRegexSearch:Mo,isCaseSensitive:Ae,setIsCaseSensitive:vo,quickFilter:I,setQuickFilter:No,statusFilters:se,setStatusFilters:qt,methodFilters:re,setMethodFilters:Gt,latencyFilter:ie,setLatencyFilter:Eo,protocolFilter:Me,setProtocolFilter:Po,networkSortBy:le,setNetworkSortBy:Io,availableMethods:zr,sortOrder:Ye,setSortOrder:Fo,selectedLogs:$e,toggleSelect:ao,minStart:Qr,totalRange:Xr,newLogIds:Vr,toggleSectionFilter:Wr,toggleSectionCollapse:jr,loadMoreSection:Jr,handleDelete:ro,isGroupByPageEnabled:ae,setIsGroupByPageEnabled:Ot,detailTitle:oo,detailDisplayUrl:no,apiDetailActiveTab:Ps,setApiDetailActiveTab:Is,detailSearch:vs,setDetailSearch:Bt,reqExpanded:Bs,setReqExpanded:_s,resExpanded:Vs,setResExpanded:qs,showReqDiff:Gs,setShowReqDiff:Hs,showResDiff:Us,setShowResDiff:zs,prevRequestData:Yr,prevResponseData:Zr,logRouteMapRef:w,consoleLogs:oe,visibleConsoleLogs:Y,filteredConsoleLogs:eo,logSearch:B,setLogSearch:cr,logFilters:_,setLogFilters:ur,logCounts:to,logSortOrder:Ze,setLogSortOrder:Oo,analyticsEvents:Ke,filteredAnalyticsEvents:Kr,analyticsSearch:ge,setAnalyticsSearch:kr,analyticsFilters:a,setAnalyticsFilters:Er,isAnalyticsFilterApplied:Pr,resetAnalyticsFilters:Ir,newEventIds:Or,isAnalyticsLayoutReady:Dr,setIsAnalyticsLayoutReady:Ko,analyticsHeaderExpanded:Fr,setAnalyticsHeaderExpanded:en,reduxState:Cs,setReduxState:ze,reduxLastActionMap:xs,reduxSearch:Ns,setReduxSearch:To,selectedReduxSlice:Ts,setSelectedReduxSlice:_t,selectedReduxAction:ks,setSelectedReduxAction:Vt,reduxActiveSubTab:Es,setReduxActiveSubTab:ko,crashRecords:ve,setCrashRecords:j,selectedCrash:tr,setSelectedCrash:ne,lastReadCrashesCount:Xs,maxCrashLogs:J,setMaxCrashLogs:tt,clearAllCrashes:()=>{ho(),j([]),ne(null)},pushRecords:$,filteredPushRecords:ar,selectedPush:rr,setSelectedPush:or,pushSearch:Te,setPushSearch:_o,pushQuickFilter:G,setPushQuickFilter:Vo,lastReadPushCount:st,unreadPushCount:nr,maxPushLogs:rt,setMaxPushLogs:Qt,clearAllPushLogs:()=>{Yn(),sr([]),or(null)},simulatePush:(t,e)=>{Kn(t,e)},socketRecords:Q,filteredSocketRecords:lr,selectedSocket:ke,setSelectedSocket:fe,socketSearch:Ee,setSocketSearch:Go,socketQuickFilter:O,setSocketQuickFilter:Ho,lastReadSocketCount:nt,unreadSocketCount:ir,maxSocketLogs:at,setMaxSocketLogs:zo,clearAllSocketLogs:()=>{ta(),ot([]),fe(null)},deleteSocketRecord:t=>{ia(t),ot(e=>e.filter(s=>s.id!==t)),ke?.id===t&&fe(null)},deleteMultipleSocketRecords:t=>{la(t);const e=new Set(t);ot(s=>s.filter(r=>!e.has(r.id))),ke&&e.has(ke.id)&&fe(null)},simulateSocket:(t,e)=>{aa(t,e)},settingsActiveSubTab:mr,setSettingsActiveSubTab:$o,defaultTab:Z,setDefaultTab:Lt,isDark:Ue,setIsDark:kt,showDuplicateLogs:K,setShowDuplicateLogs:ts,showUpdateToast:ss,setShowUpdateToast:rs,showConsoleLevels:X,setShowConsoleLevels:Xt,resetToDefaults:Yo,storage:U,maxNetworkLogs:D,setMaxNetworkLogs:ct,maxConsoleLogs:de,setMaxConsoleLogs:it,maxAnalyticsEventsLimit:pe,setMaxAnalyticsEventsLimit:ut,isAutoRamLimitEnabled:me,setIsAutoRamLimitEnabled:Yt,deviceFreeRamMb:Zt,reduxAutoRefresh:he,setReduxAutoRefreshState:Kt,reduxExpandDepth:ft,setReduxExpandDepth:es,captureFps:dt,setCaptureFps:hr,captureScale:pt,setCaptureScale:gr,captureBitrate:mt,setCaptureBitrate:Sr,captureMaxDurationSeconds:ht,setCaptureMaxDurationSeconds:yr,captureImageFormat:gt,setCaptureImageFormat:Cr,captureAudioMode:St,setCaptureAudioMode:xr,captureAutoHide:yt,setCaptureAutoHide:Lr,captureAutoGif:Ct,setCaptureAutoGif:br,peekMode:wr,setPeekMode:Xo,peekOpacity:xt,setPeekOpacity:Rr,previewMediaItem:er,setPreviewMediaItem:Bo}),[g,so,ws,E,Ss,ys,je,Je,_r,ns,u,Nr,N,vr,$s,js,Zs,et,er,S,Tr,Ws,Os,fr,dr,pr,Mr,Pe,_e,Fe,Oe,Hr,ee,R,Gr,De,Be,x,L,$r,b,we,Re,Ae,I,se,re,zr,Ye,$e,ao,Qr,Xr,Vr,Wr,jr,Jr,ro,ae,Ot,oo,no,Ps,vs,Bs,Vs,Gs,Us,Yr,Zr,oe,Y,eo,B,_,to,Ze,Ke,Kr,ge,a,Pr,Ir,Or,Dr,Fr,Cs,xs,Ns,Ts,ks,Es,ve,tr,Xs,J,$,ar,rr,Te,G,st,nr,rt,Q,lr,ke,Ee,O,nt,ir,at,mr,Z,Ue,K,ss,X,U,D,de,pe,me,Zt,he,ft,dt,pt,mt,ht,gt,St,yt,Ct,wr,xt,Ls,Dt,As]);return<vn.Provider value={on}>
1
+ import ls,{useEffect as l,useMemo as h,useRef as C,useState as o,useCallback as P}from"react";import{Alert as un,Animated as f,Easing as lo,PanResponder as fn,Platform as cs,UIManager as dn,LogBox as co}from"react-native";import{NavigationContext as pn}from"@react-navigation/native";import{I18nextProvider as Sn,i18n as yn,setLanguage as Cn,getLanguage as xn,useTranslation as Ln}from"./i18n";import Rn from"./components/ErrorBoundary";import An from"./components/Inspector/MainScreen";import Mn from"./components/Inspector/GlobalCrashScreenModal";import{InspectorContext as vn,animateNextLayout as Nn}from"./components/Inspector/InspectorContext";import{formatDisplayUrl as Tn,getNavigationInfo as uo,getLogPageName as us,deduplicateLogs as fs,getDomainColor as fo,getEventCategory as kn,matchNetworkLogQuery as Pn,setupMemoryWarningHandler as En}from"./helpers";import{loadSettings as In,saveSettings as Dn,setCustomStorage as Fn,clearPersistedSettings as On,calculateRamBasedLimits as po}from"./helpers/settingsStore";import{getNativeSystemMetrics as Bn,pushNativeLogRecord as qe,fetchNativeCachedPage as _n}from"./native/NativeInspector";import{setupNetworkLogger as Vn,clearNetworkLogs as ds,subscribeNetworkLogs as qn,getNetworkLogs as Gn,setNetworkModuleEnabled as Hn,setMaxNetworkLogsLimit as Un,setRouteInfoProvider as mo}from"./customHooks/networkLogger";import{setupConsoleLogger as zn,clearConsoleLogs as ho,subscribeConsoleLogs as Wn,setConsoleModuleEnabled as jn}from"./customHooks/consoleLogger";import{IGNORED_LOG_PREFIXES as xe}from"./customHooks/logFilters";import{setupGlobalCrashHandler as Jn,subscribeCrashEvents as $n,getCrashRecords as Tt,clearCrashRecords as go,setMaxCrashLogsLimit as So,setCrashModuleEnabled as Qn}from"./customHooks/crashHandler";import{subscribePushEvents as Xn,getPushRecords as Yn,clearPushRecords as Zn,setMaxPushRecordsLimit as Kn,simulateTestPush as ea}from"./customHooks/pushNotificationLogger";import{setupSocketLogger as ta,clearSocketRecords as sa,subscribeSocketRecords as ra,getSocketRecords as oa,setSocketModuleEnabled as na,setMaxSocketRecordsLimit as aa,simulateTestSocket as ia,setSocketRouteInfoProvider as yo,deleteSocketRecord as la,deleteMultipleSocketRecords as ca}from"./customHooks/socketLogger";import{trackActiveTelemetryHeartbeat as ua,setTelemetryEnabled as Co,trackInspectorTabView as xo,trackInspectorScreenView as fa}from"./helpers/telemetry";import{subscribeAnalyticsEvents as da,clearAnalyticsEvents as Lo,autoSetupAnalyticsLogger as pa,isAnalyticsConnected as ps,setAnalyticsModuleEnabled as ma}from"./customHooks/analyticsLogger";import{getReduxState as ms,subscribeReduxState as ha,setReduxAutoRefresh as ga,getLastActionForReducer as hs,clearActionHistory as Sa,isReduxConnected as gs,setReduxModuleEnabled as ya}from"./customHooks/reduxLogger";import{hideNativeFloatingButton as Le,subscribeNativeFloatingButtonPress as Ca,subscribeNativeDeviceShake as xa,isNativeModuleAvailable as La}from"./native/NativeInspector";import{fetchRemoteConfigModuleStatus as ba}from"./helpers/remoteConfig";import{ScreenCapture as wa}from"./capture";import{LIB_VERSION as Ra}from"./constants";import{toggleGlobalTheme as bo}from"./styles";const Aa=({enabled:E=!0,storage:U,navigationRef:N,appIcon:ys,environment:Cs,initialVisible:wo=!1,visible:Ge,remoteConfig:He})=>{Fn(U||null);const{t:m}=Ln(),[Ue,kt]=o(!1),[xs,ze]=o(null),[Ls,We]=o({}),[je,Pt]=o(90),[Je,Et]=o("slide"),[b,te]=o([]),[g,z]=o(Ge??wo??!1),[bs,It]=o(!1),[Dt,ws]=o(!1),Ro=P(()=>{It(!0),z(!1)},[]),Ao=P(()=>{ws(!0),z(!1),Le().catch(()=>{})},[]);l(()=>{Ge!==void 0&&z(Ge)},[Ge]);const[Rs,As]=o(!1),[y,Ft]=o(null),[$e,be]=o(new Set),[Ms,I]=o({visible:!1,title:"",message:"",onConfirm:()=>{}}),[A,vs]=o(""),[we,Mo]=o("all"),[Re,vo]=o(!1),[Ae,No]=o(!1),[ae,Ot]=o(!0),[D,To]=o("all"),[Ns,Bt]=o(""),[Ts,ko]=o(""),[ks,_t]=o(null),[Ps,Vt]=o(null),[Es,Po]=o("state"),[Is,Ds]=o("response");l(()=>(co.ignoreAllLogs(E),()=>{co.ignoreAllLogs(!1)}),[E]),l(()=>{y&&(Ds("response"),Bt(""))},[y]);const[se,qt]=o(new Set),[re,Gt]=o(new Set),[ie,Eo]=o("all"),[Me,Io]=o("all"),[le,Do]=o("time_desc"),[Fs,Ht]=o({}),[Ut,Qe]=o(()=>new Map),[Os,Xe]=o({}),[Bs,Fo]=o(!0),[Ye,Oo]=o("newest"),[Ze,Bo]=o("newest"),[_s,Vs]=o(!0),[qs,Gs]=o(!0),[Hs,Us]=o(!1),[zs,Ws]=o(!1),[u,W]=o("apis"),[Ke,ce]=o([]),[oe,ue]=o([]),zt=C([]),Wt=C([]),jt=C([]),[js,Jt]=o(null),[Js,$s]=o(0),[Qs,Xs]=o(0),[Ys,Zs]=o(0),[Ks,er]=o(0),[tr,_o]=o(null),et=P(async()=>{try{const t=await wa.getMediaList(),e=t?t.length:0;return er(e),e}catch{return er(0),0}},[]);l(()=>{g&&et()},[g,et]);const[ve,j]=o(()=>Tt()),[sr,ne]=o(null),[$t,Ne]=o(null),[J,tt]=o(50);l(()=>{So(J)},[J]),l(()=>{g&&(u==="apis"&&Xs(b.length),u==="logs"&&$s(oe.length),u==="crash"&&Zs(ve.length))},[g]),l(()=>{u==="apis"&&Xs(b.length)},[u,b.length]),l(()=>{u==="logs"&&$s(oe.length)},[u,oe.length]),l(()=>{u==="crash"&&Zs(ve.length)},[u,ve.length]);const[$,rr]=o(()=>Yn()),[or,nr]=o(null),[Te,Vo]=o(""),[G,qo]=o("all"),[st,Go]=o(0),[rt,Qt]=o(50);l(()=>{Kn(rt)},[rt]),l(()=>Xn(e=>{rr(e)}),[]);const ar=h(()=>u==="push"?0:Math.max(0,$.length-st),[u,$.length,st]);l(()=>{g&&u==="push"&&Go($.length)},[g,u,$.length]);const ir=h(()=>{let t=$;if(G!=="all"){if(G==="foreground")t=t.filter(e=>(e.appState||"").toLowerCase()==="foreground");else if(G==="background")t=t.filter(e=>(e.appState||"").toLowerCase()==="background");else if(G==="opened")t=t.filter(e=>e.action==="opened");else if(G.startsWith("source:")){const e=G.replace("source:","").toLowerCase();t=t.filter(s=>(s.source||"").toLowerCase()===e)}}if(Te.trim()){const e=Te.trim().toLowerCase();t=t.filter(s=>!!(s.title&&s.title.toLowerCase().includes(e)||s.body&&s.body.toLowerCase().includes(e)||s.id&&s.id.toLowerCase().includes(e)||s.source&&s.source.toLowerCase().includes(e)||s.domain&&s.domain.toLowerCase().includes(e)||s.channelId&&s.channelId.toLowerCase().includes(e)||s.data&&JSON.stringify(s.data).toLowerCase().includes(e)))}return t},[$,G,Te]),[Q,ot]=o(()=>oa()),[ke,fe]=o(null),[Pe,Ho]=o(""),[O,Uo]=o("all"),[nt,zo]=o(0),[at,Wo]=o(50);l(()=>{aa(at)},[at]),l(()=>ra(e=>{ot(e)}),[]);const lr=h(()=>u==="socket"?0:Math.max(0,Q.length-nt),[u,Q.length,nt]);l(()=>{g&&u==="socket"&&zo(Q.length)},[g,u,Q.length]);const cr=h(()=>{let t=Q;if(O!=="all"&&(O==="open"?t=t.filter(e=>(e.status||"open").toLowerCase()==="open"):O==="closed"?t=t.filter(e=>(e.status||"").toLowerCase()==="closed"):O==="error"?t=t.filter(e=>(e.status||"").toLowerCase()==="error"):O==="sio"?t=t.filter(e=>e.client==="socket.io"||e.url.includes("/socket.io")):O==="wss"?t=t.filter(e=>e.url.startsWith("wss://")):O==="ws"&&(t=t.filter(e=>e.url.startsWith("ws://")))),Pe.trim()){const e=Pe.trim().toLowerCase();t=t.filter(s=>!!(s.url&&s.url.toLowerCase().includes(e)||s.id&&s.id.toLowerCase().includes(e)||s.client&&s.client.toLowerCase().includes(e)||s.caller&&s.caller.toLowerCase().includes(e)||s.query&&JSON.stringify(s.query).toLowerCase().includes(e)||s.frames&&s.frames.some(r=>!!(r.eventName&&r.eventName.toLowerCase().includes(e)||typeof r.data=="string"&&r.data.toLowerCase().includes(e)||r.data&&typeof r.data=="object"&&JSON.stringify(r.data).toLowerCase().includes(e)))))}return t},[Q,O,Pe]),[de,it]=o(300),[X,Xt]=o({info:!0,warn:!0,error:!0}),Y=h(()=>oe.filter(e=>{const s=e.type;if(s==="info"&&!X?.info||s==="warn"&&!X?.warn||s==="error"&&!X?.error)return!1;const r=e.message||"";return![...xe&&xe.info||[],...xe&&xe.warn||[],...xe&&xe.error||[]].filter(p=>typeof p=="string"&&p.trim().length>0).some(p=>r.toLowerCase().trim().startsWith(p.toLowerCase().trim())||r.toLowerCase().trim().includes(p.toLowerCase().trim()))}).slice(0,de),[oe,X,de]),[B,ur]=o(""),[_,fr]=o(new Set(["all"])),[dr,jo]=o(null),[pr,Jo]=o(!1),[mr,$o]=o(!1),[hr,Qo]=o("module"),[T,lt]=o({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),[F,ct]=o(250),[pe,ut]=o(150),[me,Yt]=o(!0),[Zt,Xo]=o(1800),[he,Kt]=o(!0),[ft,es]=o(1),[dt,gr]=o(60),[pt,Sr]=o(.5),[mt,yr]=o(0),[ht,Cr]=o(120),[gt,xr]=o("png"),[St,Lr]=o("none"),[yt,br]=o(!0),[Ct,wr]=o(!0),[Rr,Yo]=o(!1),[xt,ts]=o(.3),[Z,Lt]=o("apis"),[K,ss]=o(!1),[rs,os]=o(!0),[Ar,Zo]=o(!1);l(()=>{Hn(!!T.apis),jn(!!T.logs),ma(!!T.analytics),ya(!!T.redux),Qn(!!T.crash),na(!!T.socket)},[T]),l(()=>{Bn().then(t=>{if(t){const e=t.totalPhysicalRamMb-t.residentRamMb,s=Math.max(200,Math.round(e>0?e:1500));if(Xo(s),me){const r=po(s);ct(r.maxNetworkLogs),it(r.maxConsoleLogs),ut(r.maxAnalyticsEvents),tt(r.maxCrashRecords),Qt(r.maxPushRecords)}}}).catch(()=>{})},[me]);const Ko=async()=>{await On(),kt(!1),bo(!1),Pt(90),Et("slide"),lt({apis:!0,logs:!0,analytics:!0,redux:!0,crash:!0,push:!0,socket:!0,device:!0,storage:!0,debugging:!0,media:!0}),Lt("apis"),Yt(!0);const t=po(Zt);tt(t.maxCrashRecords),ct(t.maxNetworkLogs),it(t.maxConsoleLogs),ut(t.maxAnalyticsEvents),Qt(t.maxPushRecords),Xt({info:!0,warn:!0,error:!0}),Kt(!0),es(1),ss(!1),os(!0),ts(.3),un.alert("Settings Reset","All settings have been reset to default values.")},Mr=C(!1);l(()=>{let t=!1;return In().then(e=>{if(!t){if(e.language&&Cn(e.language),e.isDark!=null&&(kt(e.isDark),bo(e.isDark)),e.modalHeightPercent!=null&&Pt(e.modalHeightPercent),e.modalAnimationType&&Et(e.modalAnimationType),e.tabVisibility&&lt(s=>({...s,...e.tabVisibility,apis:!0})),e.defaultTab&&Lt(e.defaultTab),e.isAutoRamLimitEnabled!=null&&Yt(e.isAutoRamLimitEnabled),e.maxNetworkLogs!=null&&ct(e.maxNetworkLogs),e.maxConsoleLogs!=null&&it(e.maxConsoleLogs),e.maxAnalyticsEventsLimit!=null&&ut(e.maxAnalyticsEventsLimit),e.maxCrashLogs!=null&&tt(e.maxCrashLogs),e.showConsoleLevels&&Xt(e.showConsoleLevels),e.reduxAutoRefresh!=null&&Kt(e.reduxAutoRefresh),e.reduxExpandDepth!=null&&es(e.reduxExpandDepth),e.captureFps!=null&&gr(e.captureFps),e.captureScale!=null&&Sr(e.captureScale),e.captureBitrate!=null&&yr(e.captureBitrate),e.captureMaxDurationSeconds!=null&&Cr(e.captureMaxDurationSeconds),e.captureImageFormat&&xr(e.captureImageFormat),e.captureAudioMode&&Lr(e.captureAudioMode),e.captureAutoHide!=null&&br(e.captureAutoHide),e.captureAutoGif!=null&&wr(e.captureAutoGif),e.peekOpacity!=null&&ts(Math.max(.05,Math.min(1,e.peekOpacity))),e.showDuplicateLogs!=null&&ss(e.showDuplicateLogs),e.showUpdateToast!=null&&os(e.showUpdateToast),e.isGroupByPageEnabled!=null&&Ot(e.isGroupByPageEnabled),e.defaultTab){const s=e.defaultTab,r={apis:!0,logs:!0,analytics:!1,redux:!1,crash:!1,device:!1,storage:!1,...e.tabVisibility||{},apis:!0};W(r[s]?s:"apis")}Mr.current=!0}}),()=>{t=!0}},[]),l(()=>{let t=!0;if(He!==!1)return ba(typeof He=="object"?He:void 0).then(e=>{t&&e&&lt(s=>({...s,...e,apis:e.apis??!0}))}).catch(()=>{}),()=>{t=!1}},[He]),l(()=>{Mr.current&&Dn({isDark:Ue,language:xn(),modalHeightPercent:je,modalAnimationType:Je,tabVisibility:T,defaultTab:Z,maxNetworkLogs:F,maxConsoleLogs:de,maxAnalyticsEventsLimit:pe,maxCrashLogs:J,isAutoRamLimitEnabled:me,isGroupByPageEnabled:ae,showConsoleLevels:X,reduxAutoRefresh:he,reduxExpandDepth:ft,showDuplicateLogs:K,showUpdateToast:rs,captureFps:dt,captureScale:pt,captureBitrate:mt,captureMaxDurationSeconds:ht,captureImageFormat:gt,captureAudioMode:St,captureAutoHide:yt,captureAutoGif:Ct,peekOpacity:xt})},[Ue,je,Je,T,Z,F,de,pe,J,me,ae,X,he,ft,K,dt,pt,mt,ht,gt,St,yt,Ct,xt]);const[Ee,en]=o(null),vr=h(()=>{if(!Ee)return!1;const t=r=>r.replace(/^v/,"").split(".").map(n=>parseInt(n,10)||0),e=t(Ra),s=t(Ee);for(let r=0;r<3;r++){if((s[r]||0)>(e[r]||0))return!0;if((s[r]||0)<(e[r]||0))return!1}return!1},[Ee]);l(()=>{if(typeof __DEV__>"u"||!__DEV__)return;let t=!1;return fetch("https://registry.npmjs.org/react-native-inapp-inspector/latest").then(e=>e.ok?e.json():null).then(e=>{!t&&e&&typeof e.version=="string"&&en(e.version)}).catch(()=>{}),()=>{t=!0}},[]),l(()=>{ga(he)},[he]),l(()=>{u==="redux"&&!gs()&&W("apis"),u==="analytics"&&!ps()&&W("apis")},[u]);const Nr=t=>{t!=="apis"&&(t==="redux"&&!gs()||t==="analytics"&&!ps()||lt(e=>{const s=!e[t],r={...e,[t]:s};return!s&&u===t&&(Nn(),W("apis")),!s&&Z===t&&Lt("apis"),r}))},ns=P(async(t,e="")=>{if(t==="apis"||t==="logs"||t==="analytics"||t==="crash"){const s=await _n(t,0,100,e);s&&s.items&&s.items.length>0&&(t==="apis"?te(s.items):t==="logs"?ue(s.items):t==="analytics"?ce(s.items):t==="crash"&&j(s.items))}},[]),Tr=P(t=>{t==="redux"&&!gs()||t==="analytics"&&!ps()||(Ft(null),bt(null),Jt(null),_t(null),Vt(null),ne(null),fe(null),typeof ls.startTransition=="function"?ls.startTransition(()=>{W(t),ns(t)}):(W(t),ns(t)),xo(t))},[ns]),[kr,bt]=o(null),[ge,Pr]=o(""),[a,Er]=o({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"}),Ir=h(()=>!!(a.categories.size>0&&!a.categories.has("all")||a.screens.size>0||a.sources.size>0&&!a.sources.has("all")||a.userTypes.size>0&&!a.userTypes.has("all")||a.timeWindow!=="all"||a.payloadComplexity!=="all"||a.hasRevenue||a.hasItems||a.hasUserProps||a.hasParams||a.onlyDuplicates||a.onlyConversions||a.sortBy!=="time_desc"),[a]),Dr=P(()=>{Er({categories:new Set(["all"]),screens:new Set,sources:new Set(["all"]),userTypes:new Set(["all"]),timeWindow:"all",payloadComplexity:"all",hasRevenue:!1,hasItems:!1,hasUserProps:!1,hasParams:!1,onlyDuplicates:!1,onlyConversions:!1,sortBy:"time_desc"})},[]),[Fr,tn]=o(!1),[Or,sn]=o(!1),[Br,_r]=o(new Set),Ie=C(new Set),[wt,as]=o(null),Vr=ls.useContext(pn)!==void 0,k=C({path:"",params:null});l(()=>(mo(()=>k.current),yo(()=>k.current),()=>{mo(null),yo(null)}),[]),l(()=>{if(wt){const t=uo(wt);t?.path&&(k.current=t)}},[wt]),l(()=>{if(!N)return;const t=()=>{try{if(typeof N.isReady=="function"&&N.isReady()){const s=typeof N.getCurrentRoute=="function"?N.getCurrentRoute():null;s?.name&&(k.current={path:s.name,params:s.params||null});const r=N.getRootState();if(r){as(r);const n=uo(r);n?.path&&(k.current=n)}}}catch{}};t();const e=typeof N.addListener=="function"?N.addListener("state",()=>{t()}):null;return()=>{e&&e()}},[N]);const x=C(new Map),Se=C(new Set),[qr,Gr]=o(new Set),De=C(new f.Value(1)).current,Fe=C(new f.Value(.4)).current,Oe=C(new f.Value(1)).current,Be=C(new f.Value(0)).current,_e=C(new f.Value(0)).current,M=C(new f.ValueXY({x:0,y:0})).current,Rt=C({x:0,y:0});l(()=>{const t=M.x.addListener(s=>Rt.current.x=s.value),e=M.y.addListener(s=>Rt.current.y=s.value);return()=>{M.x.removeListener(t),M.y.removeListener(e)}},[M]);const At=C(!1),Hr=C(fn.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(t,e)=>Math.abs(e.dx)>4||Math.abs(e.dy)>4,onPanResponderGrant:()=>{At.current=!0,M.setOffset({x:Rt.current.x,y:Rt.current.y}),M.setValue({x:0,y:0})},onPanResponderMove:f.event([null,{dx:M.x,dy:M.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{M.flattenOffset(),setTimeout(()=>{At.current=!1},50)},onPanResponderTerminate:()=>{M.flattenOffset(),At.current=!1}})).current,Ur=P(()=>{f.sequence([f.timing(_e,{toValue:1,duration:320,useNativeDriver:!1}),f.timing(_e,{toValue:0,duration:0,useNativeDriver:!1})]).start(),on()},[_e]);l(()=>{cs.OS==="android"&&dn.setLayoutAnimationEnabledExperimental?.(!0)},[]),l(()=>{if(g)return;const t=f.loop(f.sequence([f.timing(De,{toValue:1.2,duration:800,useNativeDriver:!1}),f.timing(De,{toValue:1,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[De,g]),l(()=>{if(g)return;const t=f.loop(f.sequence([f.timing(Be,{toValue:1,duration:3200,easing:lo.inOut(lo.ease),useNativeDriver:!1}),f.delay(3500),f.timing(Be,{toValue:0,duration:0,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Be,g]),l(()=>{const t=f.loop(f.sequence([f.timing(Fe,{toValue:1,duration:1200,useNativeDriver:!1}),f.timing(Fe,{toValue:.4,duration:1200,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Fe]),l(()=>{const t=f.loop(f.sequence([f.timing(Oe,{toValue:1.3,duration:800,useNativeDriver:!1}),f.timing(Oe,{toValue:.8,duration:800,useNativeDriver:!1})]));return t.start(),()=>t.stop()},[Oe]);const rn=h(()=>La(),[]),ee=(cs.OS==="ios"||cs.OS==="android")&&rn;l(()=>{ee&&Le().catch(()=>{})},[ee,g,Dt]),l(()=>{if(!ee)return;const t=Ca(()=>{Le().catch(()=>{}),z(!0)});return()=>{t()}},[ee]),l(()=>{if(!ee)return;const t=xa(()=>{z(e=>{const s=!e;return s&&Le().catch(()=>{}),s})});return()=>{t()}},[ee]);const zr=C(g);l(()=>{if(zr.current=g,g){fa("InspectorModal");const t=Z==="apis"||T?.[Z]?Z:"apis";W(t),xo(t);const e=zt.current.length>0?zt.current:Gn();if(e.length>0){const i=fs(e),p=new Set(i.map(S=>S.id));Se.current=p,i.forEach(S=>{if(!x.current.has(S.id)){const R=S?.routeInfo||k.current;x.current.set(S.id,R)}}),te(i)}Wt.current.length>0&&ue(Wt.current),jt.current.length>0&&ce(jt.current);const s=ms();s&&(ze(typeof s=="object"?{...s}:s),We({...hs()}));const r=Tt();r.length>0&&j(r);const n=requestAnimationFrame(()=>{As(!0)});return()=>{cancelAnimationFrame(n)}}else As(!1),be(new Set)},[g]),l(()=>{Vn(),ds(),zn(),pa(),Jn(),ta();const t=En(),e=zr,s=$n(c=>{if(c.message==="__CLEARED__"){j([]),ne(null),Ne(null);return}const H=Tt();H.length>0&&qe("crash",JSON.stringify(H[0])),j(H),c.crashRecord&&Ne(c.crashRecord)}),r=Tt();r.length>0&&(r.forEach(c=>qe("crash",JSON.stringify(c))),j(r));let n,i=!0;const p=qn(c=>{if(zt.current=c,c.length>0&&qe("apis",JSON.stringify(c[0])),!e.current)return;clearTimeout(n);const H=()=>{const L=fs(c),v=new Set(L.map(q=>q.id)),d=new Set;v.forEach(q=>{Se.current.has(q)||d.add(q)}),Se.current=v,d.size>0&&(d.forEach(q=>{if(!x.current.has(q)){const ln=L.find(cn=>cn.id===q)?.routeInfo||k.current;x.current.set(q,ln)}}),Gr(d),setTimeout(()=>Gr(new Set),1200)),te(L)};if(i){i=!1;const L=fs(c),v=new Set(L.map(d=>d.id));Se.current=v,L.forEach(d=>{if(!x.current.has(d.id)){const q=d?.routeInfo||k.current;x.current.set(d.id,q)}}),te(L)}else n=setTimeout(H,250)});let S,R=!0;const is=da(c=>{if(jt.current=c,c.length>0&&qe("analytics",JSON.stringify(c[0])),!e.current)return;clearTimeout(S);const H=()=>{const L=new Set(c.map(d=>d.id)),v=new Set;L.forEach(d=>{Ie.current.has(d)||v.add(d)}),Ie.current=L,v.size>0&&(v.forEach(d=>{x.current.has(d+1e6)||x.current.set(d+1e6,k.current)}),_r(v),setTimeout(()=>_r(new Set),1200)),ce(c)};if(R){R=!1;const L=new Set(c.map(v=>v.id));Ie.current=L,ce(c)}else S=setTimeout(H,200)});let ye,Nt=!0;const V=Wn(c=>{Wt.current=c,c.length>0&&qe("logs",JSON.stringify(c[0])),e.current&&(clearTimeout(ye),Nt?(Nt=!1,ue(c)):ye=setTimeout(()=>{ue(c)},200))}),Ce=ms();Ce&&(ze(typeof Ce=="object"?{...Ce}:Ce),We({...hs()}));const Ve=ha(()=>{if(!e.current)return;const c=ms();ze(c&&typeof c=="object"?{...c}:c),We({...hs()})});return()=>{p(),clearTimeout(n),is(),clearTimeout(S),V(),clearTimeout(ye),Ve(),s(),t()}},[]),l(()=>{Un(F)},[F]),l(()=>{So(J)},[J]),l(()=>{Vs(!0),Gs(!0),Us(!1),Ws(!1),Bt("")},[y]);const w=h(()=>{let t=b.filter(e=>{if(D&&D!=="all"){if(D==="errors"){if(!(e.status===0||e.status==null||typeof e.status=="number"&&e.status>=400))return!1}else if(D==="success"){if(!(typeof e.status=="number"&&e.status>=200&&e.status<400))return!1}else if(D==="slow"){if((e.duration||0)<500)return!1}else if(D==="graphql"){if(!((e.url||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("graphql")||(e.client||"").toLowerCase().includes("apollo")))return!1}else if(e.method?.toUpperCase()!==D.toUpperCase())return!1}if(se.size>0&&!se.has("all")){const s=typeof e.status=="number"?e.status:parseInt(String(e.status),10);if(![...se].some(n=>{const i=String(n).toLowerCase();if(i==="all")return!0;if(i==="failed")return e.status===0||e.status==null||!isNaN(s)&&s>=400;if(i==="2xx")return!isNaN(s)&&s>=200&&s<300;if(i==="3xx")return!isNaN(s)&&s>=300&&s<400;if(i==="4xx")return!isNaN(s)&&s>=400&&s<500;if(i==="5xx")return!isNaN(s)&&s>=500&&s<600;if(!isNaN(s)){const p=parseInt(String(n),10);if(!isNaN(p)&&p>=100)return s===p}return String(e.status).startsWith(String(n)[0])}))return!1}if(re.size>0&&!re.has("all")&&![...re].some(r=>String(r).toUpperCase()==="ALL"?!0:e.method?.toUpperCase()===String(r).toUpperCase()))return!1;if(ie!=="all"){const s=e.duration||0;if(ie==="fast"&&s>=200||ie==="normal"&&(s<200||s>500)||ie==="slow"&&s<=500)return!1}if(Me!=="all"){const s=(e.url||"").toLowerCase().startsWith("https");if(Me==="https"&&!s||Me==="http"&&s)return!1}if(A&&A.trim().length>0){const s=x.current.get(e.id)?.path||"";if(!Pn(e,A,s,{scope:we,isRegex:Re,isCaseSensitive:Ae}))return!1}return!0});if(le==="time_asc"||Ye==="oldest"?t=[...t].reverse():le==="duration_desc"?t=[...t].sort((e,s)=>(s.duration||0)-(e.duration||0)):le==="duration_asc"?t=[...t].sort((e,s)=>(e.duration||0)-(s.duration||0)):le==="size_desc"&&(t=[...t].sort((e,s)=>{const r=(e.response?JSON.stringify(e.response).length:0)+(e.request?JSON.stringify(e.request).length:0);return(s.response?JSON.stringify(s.response).length:0)+(s.request?JSON.stringify(s.request).length:0)-r})),!K){const e=[];for(const s of t){const r=e[e.length-1];r&&r.method===s.method&&r.url===s.url&&r.status===s.status?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t},[b,A,we,Re,Ae,D,se,re,ie,Me,le,Ye,K]),Wr=h(()=>{const t=new Set;return b.forEach(e=>{e.method&&t.add(e.method.toUpperCase())}),["ALL",...Array.from(t)]},[b]),jr=P((t,e)=>{Ht(s=>{const r=s[t]||new Set(["success","failed","loading"]),n=new Set(r);return n.has(e)?n.delete(e):n.add(e),{...s,[t]:n}})},[]),Mt=h(()=>{if(k.current?.path){const t=k.current.path.split(" \u2794 ").map(e=>e.trim()).filter(Boolean);return t.length>0?t[t.length-1]:k.current.path}if(w.length>0){const t=w[0],e=x.current.get(t.id)||t?.routeInfo;return us(t,e)}return""},[w,wt]),Jr=P(t=>{Qe(e=>{const s=new Map(e),n=!!(A&&A.trim().length>0)?!0:t===Mt,i=s.has(t)?s.get(t):n;return s.set(t,!i),s})},[Mt,A]);l(()=>{Xe({}),Qe(new Map)},[A,we,Re,Ae,D,se,re,F]);const $r=P((t,e=10)=>{Xe(s=>({...s,[t]:(s[t]||F||50)+e}))},[F]),Qr=h(()=>{if(!ae)return w.map((n,i)=>{const p=x.current.get(n.id)||n?.routeInfo,S=us(n,p);return{type:"log",id:`flat-log-${n.id}`,log:n,isLast:i===w.length-1,color:fo(S)}});const t=[],e=new Map;for(let n=0;n<w.length;n++){const i=w[n],p=x.current.get(i.id)||i?.routeInfo,S=us(i,p);let R=e.get(S);R||(R={pageName:S,color:fo(S),logs:[]},e.set(S,R)),R.logs.push(i)}const s=!!(A&&A.trim().length>0);let r=0;return e.forEach(n=>{let i=0,p=0,S=0;n.logs.forEach(V=>{V.status==null?S++:V.status===0||V.status>=400?p++:i++});const R=Fs[n.pageName]||new Set(["success","failed","loading"]),is=s?!0:n.pageName===Mt,ye=Ut.has(n.pageName)?!Ut.get(n.pageName):!is,Nt=n.logs[0]?.startTime||0;if(t.push({type:"header",id:`hdr-${n.pageName}`,pageName:n.pageName,color:n.color,stats:{success:i,failed:p,loading:S},timestamp:Nt,activeFilters:R,isCollapsed:ye,isFirst:r===0}),r++,!ye){const V=n.logs.filter(d=>d.status==null?R.has("loading"):d.status===0||d.status>=400?R.has("failed"):R.has("success")),Ce=F||50,Ve=Os[n.pageName]||Ce,c=V.slice(0,Ve),H=V.length>Ve;c.forEach(d=>{t.push({type:"log",id:`log-${d.id}`,log:d,isLast:!1,color:n.color})});const L=Math.max(0,V.length-Ve),v=Math.min(L||10,10);t.push({type:"loadMore",id:`loadmore-${n.pageName}`,pageName:n.pageName,color:n.color,remainingCount:L,totalCount:V.length,loadedCount:c.length,loadMoreStep:v,hasMore:H})}}),t},[ae,w,b,Fs,Ut,Mt,Os,F,A]),{minStart:Xr,totalRange:Yr}=h(()=>{if(w.length===0)return{minStart:0,totalRange:0};const t=Math.min(...w.map(s=>s.startTime)),e=Math.max(...w.map(s=>s.startTime+(s.duration||10)));return{minStart:t,totalRange:e-t}},[w]),vt=h(()=>{if(!y)return null;const t=b.findIndex(e=>e.id===y.id);if(t===-1)return null;for(let e=t+1;e<b.length;e++){const s=b[e];if(s.url===y.url&&s.method===y.method)return s}return null},[y,b]),Zr=vt?vt.request:null,Kr=vt?vt.response:null,eo=h(()=>{let t=Ke;if(ge&&ge.trim().length>0){const r=ge.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(n=>{const i=[n.name||"",JSON.stringify(n.params||""),JSON.stringify(n.userProperties||""),n.screenName||"",n.pageTitle||"",n.userId||"",n.source||""].join(" ").toLowerCase();return r.every(p=>i.includes(p))})}if(a.categories.size>0&&!a.categories.has("all")&&(t=t.filter(r=>{const n=kn(r.name);return a.categories.has(n)})),a.timeWindow!=="all"){const r=Date.now(),n=a.timeWindow==="1m"?r-60*1e3:a.timeWindow==="5m"?r-300*1e3:a.timeWindow==="15m"?r-900*1e3:r-3600*1e3;t=t.filter(i=>i.timestamp>=n)}if(a.sources.size>0&&!a.sources.has("all")&&(t=t.filter(r=>a.sources.has(r.source||"manual"))),a.userTypes.size>0&&!a.userTypes.has("all")&&(t=t.filter(r=>{const n=!!(r.userId&&r.userId.trim()!=="");return!!(a.userTypes.has("identified")&&n||a.userTypes.has("anonymous")&&!n)})),a.payloadComplexity!=="all"&&(a.payloadComplexity==="none"?t=t.filter(r=>!r.params||Object.keys(r.params).length===0):a.payloadComplexity==="simple"?t=t.filter(r=>r.params&&Object.keys(r.params).length<=3):a.payloadComplexity==="heavy"&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>3))),a.onlyConversions){const r=["purchase","item_purchase","ecommerce_purchase","sign_up","login","lead","generate_lead","tutorial_complete","add_payment_info","begin_checkout","spend_virtual_currency"];t=t.filter(n=>r.some(i=>n.name.toLowerCase().includes(i)))}a.screens.size>0&&(t=t.filter(r=>{const n=r.screenName||r.params?.firebase_screen||r.params?.screen_name||r.params?.firebase_screen_class||r.screenClass||"";return a.screens.has(n)})),a.hasRevenue&&(t=t.filter(r=>r.params?.value!=null&&!isNaN(Number(r.params.value))||r.params?.price!=null&&!isNaN(Number(r.params.price)))),a.hasItems&&(t=t.filter(r=>Array.isArray(r.params?.items)&&r.params.items.length>0)),a.hasUserProps&&(t=t.filter(r=>r.userProperties&&Object.keys(r.userProperties).length>0)),a.hasParams&&(t=t.filter(r=>r.params&&Object.keys(r.params).length>0));const e=[];for(const r of t){if(e.length===0){e.push({...r,count:1});continue}const n=e[e.length-1];n.name===r.name&&JSON.stringify(n.params)===JSON.stringify(r.params)&&JSON.stringify(n.userProperties)===JSON.stringify(r.userProperties)?(n.count=(n.count||1)+1,n.timestamp=r.timestamp,n.id=r.id):e.push({...r,count:1})}let s=e;return a.onlyDuplicates&&(s=s.filter(r=>(r.count||1)>1)),a.sortBy==="time_asc"?s=[...s].sort((r,n)=>r.timestamp-n.timestamp):a.sortBy==="revenue_desc"?s=[...s].sort((r,n)=>{const i=Number(r.params?.value??r.params?.price??0);return Number(n.params?.value??n.params?.price??0)-i}):a.sortBy==="count_desc"&&(s=[...s].sort((r,n)=>(n.count||1)-(r.count||1))),s.slice(0,pe)},[Ke,ge,a,pe]),to=h(()=>{let t=Y;if(_.size>0&&!_.has("all")&&(t=t.filter(e=>!!(_.has("user-log")&&e.sourceMethod==="log"||_.has("info")&&(e.sourceMethod==="info"||e.type==="info"&&e.sourceMethod!=="log")||_.has("warn")&&(e.type==="warn"||e.sourceMethod==="warn")||_.has("error")&&(e.type==="error"||e.sourceMethod==="error")||_.has("analytics")&&e.message?.toLowerCase().includes("[analytics error]")))),B&&B.trim().length>0){const e=B.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(s=>{const r=[s.message||"",s.caller||"",s.type||"",s.sourceMethod||"",s.stack||""].join(" ").toLowerCase();return e.every(n=>n==="error"||n==="err"?s.type==="error"||r.includes(n):n==="warn"||n==="warning"?s.type==="warn"||r.includes(n):n==="info"&&s.type==="info"||r.includes(n))})}if(t=[...t].sort((e,s)=>Ze==="newest"?s.timestamp-e.timestamp:e.timestamp-s.timestamp),!K){const e=[];for(const s of t){const r=e[e.length-1];r&&r.type===s.type&&r.sourceMethod===s.sourceMethod&&r.message===s.message?e[e.length-1]={...r,duplicateCount:(r.duplicateCount||1)+1}:e.push({...s,duplicateCount:1})}t=e}return t},[Y,_,B,Ze,K]),so=h(()=>{let t=Y;if(B&&B.trim().length>0){const s=B.trim().toLowerCase().split(/\s+/).filter(Boolean);t=Y.filter(r=>{const n=[r.message||"",r.caller||"",r.type||"",r.sourceMethod||"",r.stack||""].join(" ").toLowerCase();return s.every(i=>i==="error"||i==="err"?r.type==="error"||n.includes(i):i==="warn"||i==="warning"?r.type==="warn"||n.includes(i):i==="info"&&r.type==="info"||n.includes(i))})}const e=Y.length;return{all:`${t.length}/${e}`,info:`${t.filter(s=>s.sourceMethod==="info"||s.type==="info"&&s.sourceMethod!=="log").length}/${e}`,warn:`${t.filter(s=>s.type==="warn"||s.sourceMethod==="warn").length}/${e}`,error:`${t.filter(s=>s.type==="error"||s.sourceMethod==="error").length}/${e}`,"user-log":`${t.filter(s=>s.sourceMethod==="log").length}/${e}`,analytics:`${t.filter(s=>s.message.toLowerCase().includes("[analytics error]")).length}/${e}`}},[Y,B]),ro=P(()=>{z(!1),It(!1),setTimeout(()=>{Ft(null),bt(null),Jt(null),_t(null),Vt(null),ne(null),fe(null)},300)},[]);function on(){ds(),te([]),be(new Set),Ht({}),Qe(new Map),Xe({}),qt(new Set),Gt(new Set),vs(""),Se.current=new Set,x.current=new Map,Lo(),ce([]),Pr(""),Ie.current=new Set,ho(),ue([]),fr(new Set(["all"])),ur("")}function oo(){if(u==="logs"){I({visible:!0,title:m("console.clearLogsTitle","Clear Console Logs"),message:m("console.clearLogsMsg","Are you sure you want to clear all console logs?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{I(t=>({...t,visible:!1})),ho(),ue([])}});return}if(u==="analytics"){I({visible:!0,title:m("analytics.clearEventsTitle","Clear Analytics"),message:m("analytics.clearEventsMsg","Are you sure you want to clear all analytics events?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{I(t=>({...t,visible:!1})),Lo(),ce([]),bt(null),Ie.current=new Set}});return}if(u==="redux"){I({visible:!0,title:m("redux.clearTimelineTitle","Clear Redux Timeline"),message:m("redux.clearTimelineMsg","Are you sure you want to clear the dispatched action history?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{I(t=>({...t,visible:!1})),Sa(),We({})}});return}if(u==="crash"){I({visible:!0,title:m("crash.clearTitle","Clear Crash Records"),message:m("crash.clearMessage","Are you sure you want to clear all intercepted crash records?"),confirmText:m("crash.clearConfirm","Clear All"),cancelText:m("crash.clearCancel","Cancel"),onConfirm:()=>{I(t=>({...t,visible:!1})),go(),j([]),ne(null)}});return}$e.size>0?(te(t=>t.filter(e=>!$e.has(e.id))),be(new Set)):I({visible:!0,title:m("network.clearLogsTitle","Clear Network Logs"),message:m("network.clearLogsMsg","Are you sure you want to clear all network logs?"),confirmText:m("common.clearAll","Clear All"),cancelText:m("common.cancel","Cancel"),onConfirm:()=>{I(t=>({...t,visible:!1})),nn()}})}function nn(){ds(),te([]),be(new Set),Ht({}),Qe(new Map),Xe({}),qt(new Set),Gt(new Set),Se.current=new Set,x.current=new Map}const no=h(()=>{if(!y)return"";try{const e=new URL(y.url).pathname.split("/").filter(Boolean);return e.length>0?`/${e.slice(-2).join("/")}`:"/"}catch{const t=y.url.split("/").filter(Boolean);return t.length>0?`/${t.slice(-2).join("/")}`:y.url}},[y]),ao=h(()=>y?Tn(y.url):"",[y]),io=P(t=>{be(e=>{const s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},[]),an=h(()=>({visible:g,setVisible:z,closeModal:ro,isMinimized:bs,setIsMinimized:It,minimizeInspector:Ro,isDismissed:Dt,setIsDismissed:ws,dismissInspector:Ao,isReady:Rs,enabled:E,isEnabled:E,appIcon:ys,environment:Cs,modalHeightPercent:je,setModalHeightPercent:Pt,modalAnimationType:Je,setModalAnimationType:Et,hasNavigationContext:Vr,setNavState:as,activeTab:u,switchActiveTab:Tr,tabVisibility:T,toggleTabVisibility:Nr,lastReadApisCount:Qs,lastReadLogsCount:Js,mediaCount:Ks,refreshMediaCount:et,selected:y,setSelected:Ft,selectedEvent:kr,setSelectedEvent:bt,selectedLog:js,setSelectedLog:Jt,showHeaderInfo:Bs,setShowHeaderInfo:Fo,settingsPage:dr,setSettingsPage:jo,isAboutOpen:pr,setIsAboutOpen:Jo,isSupportOpen:mr,setIsSupportOpen:$o,updateAvailable:vr,latestNpmVersion:Ee,clearAnim:_e,activePulseAnim:Fe,unreadPulseAnim:Oe,runClearAllWithAnimation:Ur,confirmModal:Ms,setConfirmModal:I,useNativeFab:ee,fabPan:M,fabPanResponder:Hr,fabDraggedRef:At,pulseAnim:De,fabShineAnim:Be,logs:b,filteredLogs:w,groupedData:Qr,search:A,setSearch:vs,searchScope:we,setSearchScope:Mo,isRegexSearch:Re,setIsRegexSearch:vo,isCaseSensitive:Ae,setIsCaseSensitive:No,quickFilter:D,setQuickFilter:To,statusFilters:se,setStatusFilters:qt,methodFilters:re,setMethodFilters:Gt,latencyFilter:ie,setLatencyFilter:Eo,protocolFilter:Me,setProtocolFilter:Io,networkSortBy:le,setNetworkSortBy:Do,availableMethods:Wr,sortOrder:Ye,setSortOrder:Oo,selectedLogs:$e,toggleSelect:io,minStart:Xr,totalRange:Yr,newLogIds:qr,toggleSectionFilter:jr,toggleSectionCollapse:Jr,loadMoreSection:$r,handleDelete:oo,isGroupByPageEnabled:ae,setIsGroupByPageEnabled:Ot,detailTitle:no,detailDisplayUrl:ao,apiDetailActiveTab:Is,setApiDetailActiveTab:Ds,detailSearch:Ns,setDetailSearch:Bt,reqExpanded:_s,setReqExpanded:Vs,resExpanded:qs,setResExpanded:Gs,showReqDiff:Hs,setShowReqDiff:Us,showResDiff:zs,setShowResDiff:Ws,prevRequestData:Zr,prevResponseData:Kr,logRouteMapRef:x,consoleLogs:oe,visibleConsoleLogs:Y,filteredConsoleLogs:to,logSearch:B,setLogSearch:ur,logFilters:_,setLogFilters:fr,logCounts:so,logSortOrder:Ze,setLogSortOrder:Bo,analyticsEvents:Ke,filteredAnalyticsEvents:eo,analyticsSearch:ge,setAnalyticsSearch:Pr,analyticsFilters:a,setAnalyticsFilters:Er,isAnalyticsFilterApplied:Ir,resetAnalyticsFilters:Dr,newEventIds:Br,isAnalyticsLayoutReady:Fr,setIsAnalyticsLayoutReady:tn,analyticsHeaderExpanded:Or,setAnalyticsHeaderExpanded:sn,reduxState:xs,setReduxState:ze,reduxLastActionMap:Ls,reduxSearch:Ts,setReduxSearch:ko,selectedReduxSlice:ks,setSelectedReduxSlice:_t,selectedReduxAction:Ps,setSelectedReduxAction:Vt,reduxActiveSubTab:Es,setReduxActiveSubTab:Po,crashRecords:ve,setCrashRecords:j,selectedCrash:sr,setSelectedCrash:ne,lastReadCrashesCount:Ys,maxCrashLogs:J,setMaxCrashLogs:tt,clearAllCrashes:()=>{go(),j([]),ne(null)},pushRecords:$,filteredPushRecords:ir,selectedPush:or,setSelectedPush:nr,pushSearch:Te,setPushSearch:Vo,pushQuickFilter:G,setPushQuickFilter:qo,lastReadPushCount:st,unreadPushCount:ar,maxPushLogs:rt,setMaxPushLogs:Qt,clearAllPushLogs:()=>{Zn(),rr([]),nr(null)},simulatePush:(t,e)=>{ea(t,e)},socketRecords:Q,filteredSocketRecords:cr,selectedSocket:ke,setSelectedSocket:fe,socketSearch:Pe,setSocketSearch:Ho,socketQuickFilter:O,setSocketQuickFilter:Uo,lastReadSocketCount:nt,unreadSocketCount:lr,maxSocketLogs:at,setMaxSocketLogs:Wo,clearAllSocketLogs:()=>{sa(),ot([]),fe(null)},deleteSocketRecord:t=>{la(t),ot(e=>e.filter(s=>s.id!==t)),ke?.id===t&&fe(null)},deleteMultipleSocketRecords:t=>{ca(t);const e=new Set(t);ot(s=>s.filter(r=>!e.has(r.id))),ke&&e.has(ke.id)&&fe(null)},simulateSocket:(t,e)=>{ia(t,e)},settingsActiveSubTab:hr,setSettingsActiveSubTab:Qo,defaultTab:Z,setDefaultTab:Lt,isDark:Ue,setIsDark:kt,showDuplicateLogs:K,setShowDuplicateLogs:ss,showUpdateToast:rs,setShowUpdateToast:os,showConsoleLevels:X,setShowConsoleLevels:Xt,resetToDefaults:Ko,storage:U,maxNetworkLogs:F,setMaxNetworkLogs:ct,maxConsoleLogs:de,setMaxConsoleLogs:it,maxAnalyticsEventsLimit:pe,setMaxAnalyticsEventsLimit:ut,isAutoRamLimitEnabled:me,setIsAutoRamLimitEnabled:Yt,deviceFreeRamMb:Zt,reduxAutoRefresh:he,setReduxAutoRefreshState:Kt,reduxExpandDepth:ft,setReduxExpandDepth:es,captureFps:dt,setCaptureFps:gr,captureScale:pt,setCaptureScale:Sr,captureBitrate:mt,setCaptureBitrate:yr,captureMaxDurationSeconds:ht,setCaptureMaxDurationSeconds:Cr,captureImageFormat:gt,setCaptureImageFormat:xr,captureAudioMode:St,setCaptureAudioMode:Lr,captureAutoHide:yt,setCaptureAutoHide:br,captureAutoGif:Ct,setCaptureAutoGif:wr,peekMode:Rr,setPeekMode:Yo,peekOpacity:xt,setPeekOpacity:ts,previewMediaItem:tr,setPreviewMediaItem:_o,isUpdatePopupVisible:Ar,setIsUpdatePopupVisible:Zo}),[g,ro,Rs,E,ys,Cs,je,Je,Vr,as,u,Tr,T,Nr,Qs,Js,Ks,et,tr,y,kr,js,Bs,dr,pr,mr,vr,Ee,_e,Fe,Oe,Ur,ee,M,Hr,De,Be,b,w,Qr,A,we,Re,Ae,D,se,re,Wr,Ye,$e,io,Xr,Yr,qr,jr,Jr,$r,oo,ae,Ot,no,ao,Is,Ns,_s,qs,Hs,zs,Zr,Kr,oe,Y,to,B,_,so,Ze,Ke,eo,ge,a,Ir,Dr,Br,Fr,Or,xs,Ls,Ts,ks,Ps,Es,ve,sr,Ys,J,$,ir,or,Te,G,st,ar,rt,Q,cr,ke,Pe,O,nt,lr,at,hr,Z,Ue,K,rs,X,U,F,de,pe,me,Zt,he,ft,dt,pt,mt,ht,gt,St,yt,Ct,Rr,xt,bs,Dt,Ms,Ar]);return<vn.Provider value={an}>
2
2
  <An/>
3
3
  <Mn visible={!!$t}crash={$t}onDismiss={()=>Ne(null)}onOpenInspector={()=>{const t=$t;Ne(null),t&&ne(t),W("crash"),z(!0)}}onRetry={()=>{Ne(null)}}/>
4
- </vn.Provider>},gs=E=>{const U=E?.enabled??!0,v=E?.telemetry??!0;return l(()=>(U?v?ca(!0,E?.environment):yo(!1):(Le().catch(()=>{}),yo(!1)),()=>{Le().catch(()=>{})}),[U,v,E?.environment]),U?<Sn i18n={yn}>
4
+ </vn.Provider>},Ss=E=>{const U=E?.enabled??!0,N=E?.telemetry??!0;return l(()=>(U?N?ua(!0,E?.environment):Co(!1):(Le().catch(()=>{}),Co(!1)),()=>{Le().catch(()=>{})}),[U,N,E?.environment]),U?<Sn i18n={yn}>
5
5
  <Rn fallbackType="inline">
6
- <Ra{...E}enabled={U}/>
6
+ <Aa{...E}enabled={U}/>
7
7
  </Rn>
8
- </Sn>:null};export default gs;export{gs as InAppInspector,gs as NetworkInspector};export{setupNetworkLogger,clearNetworkLogs,subscribeNetworkLogs,addAxiosInterceptors,setMaxNetworkLogsLimit,getMaxNetworkLogsLimit,pruneNetworkLogs,getNetworkLogs}from"./customHooks/networkLogger";export{setupConsoleLogger,clearConsoleLogs,subscribeConsoleLogs,setMaxConsoleLogsLimit,getMaxConsoleLogsLimit,pruneConsoleLogs}from"./customHooks/consoleLogger";export{setupAnalyticsLogger,logAnalyticsEvent,subscribeAnalyticsEvents,clearAnalyticsEvents,getCurrentUserProperties,getCurrentUserId,getDefaultEventParameters,getCollectionEnabled,setMaxAnalyticsLogsLimit,getMaxAnalyticsLogsLimit,pruneAnalyticsLogs}from"./customHooks/analyticsLogger";export{setupGlobalCrashHandler,subscribeCrashEvents,emitCrashEvent,getCrashRecords,clearCrashRecords,simulateTestCrash,triggerGlobalCrashScreen,exportCrashReport,parseCrashStackTrace,recordCustomCrash,addCrashBreadcrumb,recordNavigationBreadcrumb,recordNetworkBreadcrumb,recordReduxBreadcrumb,recordUserActionBreadcrumb,computeCrashFingerprint,getMaxCrashLogsLimit,pruneCrashRecords}from"./customHooks/crashHandler";export{default as CrashTab}from"./components/Inspector/CrashTab";export{default as ErrorBoundary}from"./components/ErrorBoundary";export{default as GlobalCrashScreenModal}from"./components/Inspector/GlobalCrashScreenModal";export{connectReduxStore,inspectorReduxMiddleware,getReduxState,subscribeReduxState,getActionHistory,clearActionHistory,getLastActionForReducer,setMaxReduxHistoryLimit,getMaxReduxHistoryLimit,pruneReduxHistory,isReduxConnected}from"./customHooks/reduxLogger";export{getEventCategory,registerGAPlugin}from"./helpers/gaAnalyticsRegistry";export{InspectLog,InspectTrackTime,InspectCatch}from"./decorators";export{getNativeDeviceMetrics,enableNativeCrashProtection,subscribeNativeCrashes,showNativeFloatingButton,hideNativeFloatingButton,setNativeFloatingButtonBadge,subscribeNativeFloatingButtonPress,subscribeNativeDeviceShake,startNativeFpsMonitoring,stopNativeFpsMonitoring,getNativeFpsMetrics,getNativeStorageItem,setNativeStorageItem,isNativeModuleAvailable}from"./native/NativeInspector";export{setupMemoryWarningHandler,pruneAllLogs,subscribeMemoryWarning}from"./helpers";export{recordPushNotification,recordSalesforcePush,getPushRecords,clearPushRecords,subscribePushEvents,simulateTestPush,autoSetupPushLogger,setMaxPushRecordsLimit,getDiscoveredPushSources,prunePushRecords}from"./customHooks/pushNotificationLogger";export{setupSocketLogger,clearSocketRecords,subscribeSocketRecords,getSocketRecords,setSocketModuleEnabled,getSocketModuleEnabled,setMaxSocketRecordsLimit,getMaxSocketRecordsLimit,pruneSocketRecords,recordSocketConnection,recordSocketFrame,recordSocketClose,recordSocketError,simulateTestSocket,analyzeSocketPayload}from"./customHooks/socketLogger";export{default as SocketTab}from"./components/Inspector/SocketTab";export{default as SocketDetail}from"./components/Inspector/SocketDetail";export{default as SocketCard}from"./components/Inspector/SocketCard";export{shareApiReport,sharePushReport,shareSocketReport,shareCrashReport,shareAnalyticsReport,shareReduxReport,shareLogReport,formatApiReport,formatPushReport,formatSocketReport,formatCrashReport,formatAnalyticsReport,formatReduxReport,formatLogReport}from"./helpers/shareFormatter";export{BrandCircleIcon,BrandSquareIcon,BellIcon,CloudPushIcon,WebsocketIcon,SocketIcon}from"./components/NetworkIcons";export{ModuleErrorBoundary}from"./components/ModuleErrorBoundary";export{SkeletonPlaceholder}from"./components/SkeletonPlaceholder";export{connectAsyncStorage,connectMMKV,isAsyncStorageConnected,isMMKVConnected,getRegisteredMMKVInstanceIds,fetchStorageEntries,setStorageEntry,removeStorageEntry,clearStorageDriver,subscribeToStorageChanges}from"./customHooks/storageInspector";export{ActiveTab,Method,StatusFilter,SortOrder,LocalFilter,ModalAnimationType,SettingsPage,SettingsSubTab,LogFilter,ConsoleLogType,AnalyticsEventSource,GAEventCategory,StackFrameType,DiffResultType,CrashType,CrashExportFormat,CrashDetailSubTab,CrashFilterType,BreadcrumbType,PushAppState,PushActionType,PushDetailSubTab,PushFilterType,SocketStatus,SocketFrameDirection,SocketFrameType,SocketDetailSubTab,SocketFilterType}from"./types";export{AppFonts,setAppFonts}from"./styles/AppFonts";export{AppColors,setAppColors,getThemeColors,updateAppColorsTheme}from"./styles/AppColors";export{t,i18n,useTranslation,setLanguage,addTranslations,setTranslations,I18nextProvider,SUPPORTED_LANGUAGES}from"./i18n";export{fetchRemoteConfigModuleStatus,isFirebaseRemoteConfigAvailable}from"./helpers/remoteConfig";export{ScreenCapture,ScreenRecorder}from"./capture";export{MediaEditor}from"./editor";export{LIB_VERSION}from"./constants/version";
8
+ </Sn>:null};export default Ss;export{Ss as InAppInspector,Ss as NetworkInspector};export{setupNetworkLogger,clearNetworkLogs,subscribeNetworkLogs,addAxiosInterceptors,setMaxNetworkLogsLimit,getMaxNetworkLogsLimit,pruneNetworkLogs,getNetworkLogs}from"./customHooks/networkLogger";export{setupConsoleLogger,clearConsoleLogs,subscribeConsoleLogs,setMaxConsoleLogsLimit,getMaxConsoleLogsLimit,pruneConsoleLogs}from"./customHooks/consoleLogger";export{setupAnalyticsLogger,logAnalyticsEvent,subscribeAnalyticsEvents,clearAnalyticsEvents,getCurrentUserProperties,getCurrentUserId,getDefaultEventParameters,getCollectionEnabled,setMaxAnalyticsLogsLimit,getMaxAnalyticsLogsLimit,pruneAnalyticsLogs}from"./customHooks/analyticsLogger";export{setupGlobalCrashHandler,subscribeCrashEvents,emitCrashEvent,getCrashRecords,clearCrashRecords,simulateTestCrash,triggerGlobalCrashScreen,exportCrashReport,parseCrashStackTrace,recordCustomCrash,addCrashBreadcrumb,recordNavigationBreadcrumb,recordNetworkBreadcrumb,recordReduxBreadcrumb,recordUserActionBreadcrumb,computeCrashFingerprint,getMaxCrashLogsLimit,pruneCrashRecords}from"./customHooks/crashHandler";export{default as CrashTab}from"./components/Inspector/CrashTab";export{default as ErrorBoundary}from"./components/ErrorBoundary";export{default as GlobalCrashScreenModal}from"./components/Inspector/GlobalCrashScreenModal";export{connectReduxStore,inspectorReduxMiddleware,getReduxState,subscribeReduxState,getActionHistory,clearActionHistory,getLastActionForReducer,setMaxReduxHistoryLimit,getMaxReduxHistoryLimit,pruneReduxHistory,isReduxConnected}from"./customHooks/reduxLogger";export{getEventCategory,registerGAPlugin}from"./helpers/gaAnalyticsRegistry";export{InspectLog,InspectTrackTime,InspectCatch}from"./decorators";export{getNativeDeviceMetrics,enableNativeCrashProtection,subscribeNativeCrashes,showNativeFloatingButton,hideNativeFloatingButton,setNativeFloatingButtonBadge,subscribeNativeFloatingButtonPress,subscribeNativeDeviceShake,startNativeFpsMonitoring,stopNativeFpsMonitoring,getNativeFpsMetrics,getNativeStorageItem,setNativeStorageItem,isNativeModuleAvailable}from"./native/NativeInspector";export{setupMemoryWarningHandler,pruneAllLogs,subscribeMemoryWarning}from"./helpers";export{recordPushNotification,recordSalesforcePush,getPushRecords,clearPushRecords,subscribePushEvents,simulateTestPush,autoSetupPushLogger,setMaxPushRecordsLimit,getDiscoveredPushSources,prunePushRecords}from"./customHooks/pushNotificationLogger";export{setupSocketLogger,clearSocketRecords,subscribeSocketRecords,getSocketRecords,setSocketModuleEnabled,getSocketModuleEnabled,setMaxSocketRecordsLimit,getMaxSocketRecordsLimit,pruneSocketRecords,recordSocketConnection,recordSocketFrame,recordSocketClose,recordSocketError,simulateTestSocket,analyzeSocketPayload}from"./customHooks/socketLogger";export{default as SocketTab}from"./components/Inspector/SocketTab";export{default as SocketDetail}from"./components/Inspector/SocketDetail";export{default as SocketCard}from"./components/Inspector/SocketCard";export{shareApiReport,sharePushReport,shareSocketReport,shareCrashReport,shareAnalyticsReport,shareReduxReport,shareLogReport,formatApiReport,formatPushReport,formatSocketReport,formatCrashReport,formatAnalyticsReport,formatReduxReport,formatLogReport}from"./helpers/shareFormatter";export{BrandCircleIcon,BrandSquareIcon,BellIcon,CloudPushIcon,WebsocketIcon,SocketIcon}from"./components/NetworkIcons";export{ModuleErrorBoundary}from"./components/ModuleErrorBoundary";export{SkeletonPlaceholder}from"./components/SkeletonPlaceholder";export{connectAsyncStorage,connectMMKV,isAsyncStorageConnected,isMMKVConnected,getRegisteredMMKVInstanceIds,fetchStorageEntries,setStorageEntry,removeStorageEntry,clearStorageDriver,subscribeToStorageChanges}from"./customHooks/storageInspector";export{ActiveTab,Method,StatusFilter,SortOrder,LocalFilter,ModalAnimationType,SettingsPage,SettingsSubTab,LogFilter,ConsoleLogType,AnalyticsEventSource,GAEventCategory,StackFrameType,DiffResultType,CrashType,CrashExportFormat,CrashDetailSubTab,CrashFilterType,BreadcrumbType,PushAppState,PushActionType,PushDetailSubTab,PushFilterType,SocketStatus,SocketFrameDirection,SocketFrameType,SocketDetailSubTab,SocketFilterType}from"./types";export{AppFonts,setAppFonts}from"./styles/AppFonts";export{AppColors,setAppColors,getThemeColors,updateAppColorsTheme}from"./styles/AppColors";export{t,i18n,useTranslation,setLanguage,addTranslations,setTranslations,I18nextProvider,SUPPORTED_LANGUAGES}from"./i18n";export{fetchRemoteConfigModuleStatus,isFirebaseRemoteConfigAvailable}from"./helpers/remoteConfig";export{ScreenCapture,ScreenRecorder}from"./capture";export{MediaEditor}from"./editor";export{LIB_VERSION}from"./constants/version";
@@ -221,6 +221,9 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
221
221
  position: string;
222
222
  bottom: number;
223
223
  right: number;
224
+ width: number;
225
+ height: number;
226
+ borderRadius: number;
224
227
  alignItems: string;
225
228
  justifyContent: string;
226
229
  zIndex: number;
@@ -1 +1 @@
1
- import{StyleSheet as o,Platform as r}from"react-native";import a,{updateAppColorsTheme as p,getThemeColors as n}from"./AppColors";import{AppFonts as t}from"./AppFonts";import m,{rebuildCommonStyles as f}from"./common";export{m as commonStyles};export const getRawStyles=e=>({header:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:4,zIndex:10,minHeight:44,overflow:"visible",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.08,shadowRadius:4,elevation:3},headerLeft:{flex:1,minWidth:0,alignItems:"flex-start"},headerCenter:{flex:1,minWidth:0,alignItems:"center",justifyContent:"center",paddingHorizontal:6},headerRight:{flexShrink:0,flexDirection:"row",alignItems:"center",justifyContent:"flex-end",gap:6},headerTitle:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:16,lineHeight:22,letterSpacing:-.2,paddingBottom:0},envBadge:{paddingHorizontal:7,paddingVertical:2.5,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center",marginBottom:0},envBadgeText:{fontFamily:t.interBold,fontWeight:"700",fontSize:9.5,lineHeight:12,letterSpacing:.5},headerDetailCenter:{alignItems:"center",justifyContent:"center",flex:1,minWidth:0},headerDetailRow:{flexDirection:"row",alignItems:"center",gap:8,maxWidth:"100%"},headerMethodBadge:{paddingHorizontal:6.5,paddingVertical:3,borderRadius:6,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:2,elevation:1},headerMethodText:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:10,lineHeight:13,letterSpacing:.5},headerDetailTitle:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:15,lineHeight:20,flexShrink:1,letterSpacing:-.2},headerDetailSubRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:4},headerStatusDot:{width:7,height:7,borderRadius:3.5,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.2,shadowRadius:1,elevation:1},headerSubTitle:{fontFamily:t.interMedium,color:e.primaryLight,fontSize:11.5,lineHeight:15,opacity:.95,letterSpacing:.2},headerCountBadge:{flexDirection:"row",alignItems:"center",backgroundColor:`${e.black}33`,paddingHorizontal:12,paddingVertical:6,borderRadius:16,gap:6,borderWidth:.5,borderColor:`${e.white}33`,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:2,elevation:2},headerCountText:{fontFamily:t.interMedium,color:`${e.white}F2`,fontSize:12,lineHeight:16,letterSpacing:.2},listContent:{paddingBottom:r?.OS==="ios"?44:32},supportFab:{position:"absolute",bottom:22,right:16,width:42,height:42,borderRadius:21,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.purple,shadowOffset:{width:0,height:4},shadowOpacity:.45,shadowRadius:8,elevation:14,zIndex:999,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.25)"},scrollTopBtn:{position:"absolute",bottom:22,right:16,width:38,height:38,borderRadius:19,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.black,shadowOffset:{width:0,height:3},shadowOpacity:.3,shadowRadius:6,elevation:12,zIndex:999},detailScroll:{flex:1},closeButtonSquare:{width:30,height:30,borderRadius:7,backgroundColor:`${e.white}2B`,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:`${e.white}33`,overflow:"hidden"},fabWrapper:{position:"absolute",bottom:180,right:20,alignItems:"center",justifyContent:"center",zIndex:99999,elevation:15,shadowColor:e.purple,shadowOffset:{width:0,height:8},shadowOpacity:.4,shadowRadius:12},fabPulseRing:{position:"absolute",width:68,height:68,borderRadius:34,backgroundColor:`${e.purple}25`},fabShineClip:{position:"absolute",width:68,height:68,borderRadius:34,overflow:"hidden"},fabCloseBadge:{position:"absolute",top:-4,right:-4,width:22,height:22,borderRadius:11,backgroundColor:e.red500,borderWidth:1.5,borderColor:e.white,alignItems:"center",justifyContent:"center",zIndex:1e3,elevation:20,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.35,shadowRadius:4},fabShineStreak:{position:"absolute",top:-20,width:26,height:102,transform:[{rotate:"25deg"}]},fabGreenDot:{position:"absolute",top:2,right:2,width:12,height:12,borderRadius:6,backgroundColor:e.greenA400,borderWidth:2,borderColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.2,shadowRadius:1.5,elevation:2},toolbarRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:8,marginBottom:8,gap:8,marginTop:4},toolbarRight:{flexDirection:"row",alignItems:"center",gap:8},toolbarBtn:{width:34,height:34,borderRadius:17,alignItems:"center",justifyContent:"center",backgroundColor:e.primaryLight,borderWidth:1.5,borderColor:e.grayBorderSecondary,...r?.OS==="ios"?{shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2}:{elevation:0}},toolbarBtnActive:{borderColor:e.purple,backgroundColor:e.purpleShade50,shadowOpacity:.08,shadowRadius:3,elevation:2},trashBadge:{position:"absolute",top:-4,right:-4,backgroundColor:e.errorColor,borderRadius:10,minWidth:18,height:18,alignItems:"center",justifyContent:"center",borderWidth:1.5,borderColor:e.primaryLight},trashBadgeText:{color:e.primaryLight,fontFamily:t.interBold,fontSize:9},filtersContainer:{paddingHorizontal:8,paddingBottom:8},filtersHeading:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:11,textTransform:"uppercase",letterSpacing:.6,marginBottom:6},statusRowContent:{alignItems:"center",paddingVertical:2},statusFilterWrap:{marginRight:6},statusFilterChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,height:32,justifyContent:"center",borderRadius:24,borderWidth:1.5,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},statusFilterActive:{borderColor:e.purple,backgroundColor:e.purpleShade50},filterCheckbox:{width:13,height:13,borderRadius:3,borderWidth:1.5,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,alignItems:"center",justifyContent:"center",marginRight:6},filterCheckboxActive:{borderColor:"transparent"},filterChipIcon:{marginRight:5},methodBadgeMini:{width:4.5,height:13,borderRadius:2,marginRight:6},statusFilterText:{fontFamily:t.interMedium,color:e.grayText,fontSize:11.5},resultCount:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:12,marginHorizontal:8,marginBottom:8,marginTop:4,letterSpacing:.2},searchContainer:{flex:1,flexDirection:"row",alignItems:"center",backgroundColor:e.primaryLight,borderRadius:24,paddingHorizontal:8,paddingVertical:4,borderWidth:1.5,borderColor:e.grayBorderSecondary,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},searchInput:{flex:1,fontFamily:t.interRegular,color:e.primaryBlack,paddingVertical:r?.OS==="ios"?5:2,marginLeft:6,fontSize:14},clearBtn:{padding:4},domainHeaderCard:{marginHorizontal:5,marginTop:8,marginBottom:4,paddingHorizontal:7,paddingVertical:7,borderRadius:9,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary},domainHeaderCardExpanded:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottomWidth:0,marginBottom:0},domainHeaderTopRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},domainHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,minWidth:0,marginRight:6,gap:6},domainIconWrap:{width:22,height:22,borderRadius:5,alignItems:"center",justifyContent:"center"},domainTitleText:{fontFamily:t.interBold,fontSize:13,fontWeight:"700",color:e.primaryBlack,textTransform:"capitalize"},domainSummaryRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:1},domainSummaryText:{fontFamily:t.interRegular,fontSize:10,color:e.grayTextWeak},domainPctText:{fontFamily:t.interBold,fontSize:9.5},domainProgressSection:{marginTop:8,gap:4,width:"100%"},domainProgressTrack:{flexDirection:"row",height:4,borderRadius:2,overflow:"hidden",backgroundColor:e.grayBorderSecondary,width:"100%"},domainProgressSegment:{height:"100%"},domainProgressLabelsRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},domainProgressRateText:{fontFamily:t.interBold,fontSize:9.5,color:e.grayTextStrong},domainProgressSummaryText:{fontFamily:t.interMedium,fontSize:9,color:e.grayTextWeak},domainStatsGroup:{flexDirection:"row",alignItems:"center",flexShrink:0,gap:4},domainStatPill:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:5,paddingVertical:2.5,borderRadius:5,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight},domainStatText:{fontFamily:t.interBold,fontSize:9.5},treeNodeRow:{flexDirection:"row",alignItems:"stretch",marginHorizontal:5,paddingRight:3,paddingLeft:0,backgroundColor:e.grayBackground,borderLeftWidth:1,borderRightWidth:1,borderColor:e.grayBorderSecondary},treeNodeRowLast:{borderBottomWidth:1,borderBottomLeftRadius:10,borderBottomRightRadius:10,marginBottom:8,paddingBottom:5},treeLines:{width:11,position:"relative"},modernTreeLine:{position:"absolute",left:5,top:0,width:5,height:"100%",borderLeftWidth:1.5,opacity:.5},modernTreeLineLast:{height:"50%",borderBottomWidth:1.5,borderBottomLeftRadius:8},modernTreeBranch:{position:"absolute",left:5,top:"50%",width:6,borderTopWidth:1.5,opacity:.5},treeCardWrapper:{flex:1,paddingVertical:2.5},card:{marginHorizontal:0,marginVertical:0,borderRadius:12,overflow:"hidden",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight},cardBody:{paddingHorizontal:8,paddingTop:8,paddingBottom:7},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:4,minHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:6,gap:5,minWidth:0},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},smallCheckbox:{width:15,height:15,borderRadius:4,borderWidth:1.8,borderColor:e.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:e.white},smallCheckboxChecked:{backgroundColor:e.purple,borderColor:e.purple},serialNumber:{fontFamily:t.interBold,color:e.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6.5,paddingVertical:2.5,borderRadius:5,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.3)",...r?.OS==="ios"?{shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.12,shadowRadius:2}:{elevation:1}},methodBadgeText:{fontFamily:t.interBold,fontSize:9.5,letterSpacing:.6,color:e.white},cardHostText:{fontFamily:t.interMedium,fontSize:12,color:e.primaryBlack,flexShrink:1},statusPill:{paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center"},statusPillText:{fontFamily:t.interBold,fontSize:10},cardSlugBox:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:`${e.brandPurple}08`,borderRadius:8,borderWidth:1,borderColor:`${e.brandPurple}18`,paddingHorizontal:8,paddingVertical:6,marginVertical:5,gap:6},slugLeft:{flexDirection:"row",alignItems:"flex-start",flex:1,minWidth:0,gap:6},slugTag:{fontFamily:t.interBold,fontSize:8.5,color:e.brandPurple,letterSpacing:.5,backgroundColor:`${e.brandPurple}15`,paddingHorizontal:4,paddingVertical:1.5,borderRadius:4,marginTop:1,flexShrink:0},slugText:{fontFamily:t.interMedium,fontSize:11.5,lineHeight:15.5,color:e.primaryBlack,flex:1},slugRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginTop:4,minHeight:18},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5,flexShrink:0},cardDateText:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:10,letterSpacing:.1},cardFooterRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},chip:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:5,paddingVertical:2,borderRadius:5,borderWidth:1},chipText:{fontFamily:t.interBold,fontSize:9.5},empty:{flex:1,alignItems:"center",justifyContent:"center"},emptyContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:80,paddingHorizontal:20},emptyIconWrap:{width:72,height:72,borderRadius:36,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center",marginBottom:20,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:1},emptyTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:18,marginBottom:8,letterSpacing:.3},emptySub:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:14,textAlign:"center",lineHeight:20,letterSpacing:.2},reloadBtn:{marginTop:28,paddingHorizontal:24,paddingVertical:12,backgroundColor:e.purple,borderRadius:24,shadowColor:e.purple,shadowOffset:{width:0,height:4},shadowOpacity:.35,shadowRadius:8,elevation:5},reloadBtnText:{color:e.white,fontFamily:t.interBold,fontSize:14,letterSpacing:.3},detailInfoBar:{borderRadius:14,paddingVertical:14,paddingHorizontal:10,marginBottom:12,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2},detailInfoTop:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,gap:8},detailInfoRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},metaContainer:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:14,marginBottom:12,overflow:"hidden",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2},metaHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},metaTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:12,letterSpacing:.6,textTransform:"uppercase"},metaBody:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},metaRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:8},metaDivider:{height:1,backgroundColor:e.dividerColor},metaLabelRow:{flexDirection:"row",alignItems:"center",gap:8},metaLabel:{fontFamily:t.interBold,color:e.grayText,fontSize:13},metaValue:{fontFamily:t.interMedium,color:e.primaryBlack,fontSize:13},metaValueRow:{flexDirection:"row",alignItems:"center",gap:8},perfBadge:{paddingHorizontal:8,paddingVertical:2,borderRadius:6,borderWidth:1},perfBadgeText:{fontFamily:t.interBold,fontSize:11},detailSearchRow:{flexDirection:"row",alignItems:"center",marginBottom:10},detailSearchBox:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.primaryLight,borderRadius:12,paddingLeft:16,borderWidth:1,borderColor:e.grayBorderSecondary},detailSearchInput:{flex:1,fontFamily:t.interRegular,color:e.primaryBlack,height:40},sectionContainer:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:12,marginBottom:10,overflow:"hidden"},sectionHeaderGradient:{backgroundColor:e.grayBackground,paddingVertical:12,paddingHorizontal:8,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},sectionTitleRow:{flexDirection:"row",alignItems:"center",gap:8,flex:1,marginRight:8},sectionTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:14,flexShrink:1},sectionHeaderActions:{flexDirection:"row",alignItems:"center",gap:6},htCard:{backgroundColor:e.primaryLight,borderRadius:12,borderWidth:1,borderColor:e.grayBorderSecondary,borderLeftWidth:3,marginBottom:10,overflow:"hidden"},htCardHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,paddingVertical:10,gap:8,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},htIconWrap:{width:28,height:28,borderRadius:8,alignItems:"center",justifyContent:"center"},htTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:13,flexShrink:1},htBadge:{borderRadius:10,paddingHorizontal:7,paddingVertical:2,borderWidth:1},htBadgeText:{fontFamily:t.interBold,fontSize:10},htHeaderSpacer:{flex:1},htChevronBtn:{width:30,height:30,borderRadius:8,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,alignItems:"center",justifyContent:"center"},htColHeadRow:{flexDirection:"row",paddingHorizontal:8,paddingVertical:6,backgroundColor:e.graySurface,borderBottomWidth:1,borderBottomColor:e.dividerColor},htColHead:{fontFamily:t.interBold,color:e.grayTextWeak,fontSize:10,letterSpacing:.8,textTransform:"uppercase"},htRow:{flexDirection:"row",paddingHorizontal:8,paddingVertical:0,alignItems:"flex-start"},htRowBorder:{borderBottomWidth:o.hairlineWidth,borderBottomColor:e.dividerColor},htKeyCell:{width:"30%",paddingVertical:10,paddingRight:4},htKey:{fontFamily:t.interMedium,color:e.purple,fontSize:11,lineHeight:16},htCellDivider:{width:o.hairlineWidth,backgroundColor:e.dividerColor,alignSelf:"stretch",marginVertical:4},htValueCell:{flex:1,paddingVertical:10,paddingLeft:6},htValue:{fontFamily:t.interRegular,color:e.primaryBlack,fontSize:11,lineHeight:17},htExpandRow:{marginTop:4},htExpandText:{fontFamily:t.interBold,color:e.purple,fontSize:10,letterSpacing:.3},htCopyBtn:{paddingHorizontal:6,paddingVertical:12,alignItems:"center",justifyContent:"center"},htEmpty:{paddingHorizontal:12,paddingVertical:16,alignItems:"center"},htEmptyText:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:12},iconSquareBtn:{width:30,height:30,borderRadius:8,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.grayBackground,alignItems:"center",justifyContent:"center"},iconSquareBtnSuccess:{borderColor:e.greenColor,backgroundColor:e.greenStatus},iconSquareBtnActive:{borderColor:e.skyBlue,backgroundColor:e.purpleShade50},codeBlockScroll:{width:"100%",backgroundColor:"transparent"},codeBlock:{paddingTop:12,paddingHorizontal:8,paddingBottom:16,minWidth:"100%"},codeSyntax:{color:e.grayTextWeak,fontFamily:t.interRegular,fontSize:12.5,lineHeight:18},codeKey:{color:e.purple,fontFamily:t.interBold,fontSize:12.5,lineHeight:18},codeText:{color:e.greenBaggageText,fontFamily:t.interRegular,fontSize:12.5,lineHeight:18},codeTextNil:{color:e.errorColor,fontFamily:t.interMedium,fontSize:12.5,lineHeight:18},treeRow:{flexDirection:"row",alignItems:"center",paddingVertical:6},treeKeyMargin:{marginRight:6},highlight:{backgroundColor:e.paleYellow,color:e.primaryBlack},arrayBadge:{backgroundColor:e.purpleShade50,borderColor:e.purple,borderWidth:1,borderRadius:6,paddingHorizontal:6,paddingVertical:2},arrayBadgeText:{fontFamily:t.interMedium,color:e.purple,fontSize:11},objectBadge:{backgroundColor:e.grayBackground,borderColor:e.grayTextWeak,borderWidth:1,borderRadius:6,paddingHorizontal:6,paddingVertical:2},objectBadgeText:{fontFamily:t.interMedium,color:e.grayTextWeak,fontSize:11},diffBlock:{paddingTop:12,paddingHorizontal:12,paddingBottom:16,gap:4},diffAdded:{color:e.greenColor,fontFamily:t.interRegular,fontSize:12},diffRemoved:{color:e.errorColor,fontFamily:t.interRegular,fontSize:12},diffChanged:{color:e.lightOrange,fontFamily:t.interRegular,fontSize:12},filePreviewNode:{paddingVertical:8,marginVertical:4},filePreviewCard:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:10,padding:10,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12,maxWidth:300},filePreviewThumb:{width:44,height:44,borderRadius:6,backgroundColor:e.grayBorderSecondary},filePreviewDoc:{width:44,height:44,borderRadius:6,backgroundColor:e.graySurface,alignItems:"center",justifyContent:"center"},filePreviewName:{fontFamily:t.interMedium,color:e.primaryBlack,fontSize:13,marginBottom:2},filePreviewType:{fontFamily:t.interRegular,color:e.grayText,fontSize:11},imagePreviewWrapper:{width:"100%",height:200,borderRadius:12,overflow:"hidden",marginBottom:16,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary},imagePreview:{width:"100%",height:"100%"},imageDownloadBtn:{position:"absolute",bottom:12,right:12,width:36,height:36,borderRadius:18,backgroundColor:`${e.white}E6`,alignItems:"center",justifyContent:"center",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.2,shadowRadius:4,elevation:3},sourcePageCard:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:12,marginBottom:10,overflow:"hidden"},sourcePageAccordionHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},sourcePageTop:{flexDirection:"row",alignItems:"center",gap:10,flex:1},sourcePageHeaderRight:{flexDirection:"row",alignItems:"center",gap:6},sourcePageIcon:{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,borderWidth:1,borderColor:`${e.purple}30`,alignItems:"center",justifyContent:"center"},sourcePageLabel:{fontFamily:t.interRegular,color:e.grayText,fontSize:11,marginBottom:2},sourcePageValue:{fontFamily:t.interBold,color:e.purple,fontSize:14},sourceParamsBox:{borderTopWidth:1,borderTopColor:e.dividerColor},paramsAccordionHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.grayBackground},paramsAccordionLeft:{flexDirection:"row",alignItems:"center",gap:8},paramsAccordionRight:{flexDirection:"row",alignItems:"center",gap:6},sourceParamsLabel:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:12,letterSpacing:.4,textTransform:"uppercase"},paramsBody:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},paramRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:10,gap:8},paramRowBorder:{borderBottomWidth:1,borderBottomColor:e.dividerColor},paramKey:{fontFamily:t.Sfprotext,color:e.purple,fontSize:12,flex:1},paramValueRow:{flexDirection:"row",alignItems:"center",gap:8,flex:2,justifyContent:"flex-end"},paramValue:{fontFamily:t.Sfprotext,color:e.greenBaggageText,fontSize:12,textAlign:"right",flexShrink:1},headerGradient:{width:"100%",borderTopLeftRadius:20,borderTopRightRadius:20,overflow:"visible",flexShrink:0},statusChip:{paddingHorizontal:10,paddingVertical:4,borderRadius:8,borderWidth:1},statusText:{fontFamily:t.interBold,fontSize:12},modalBackdrop:{flex:1,backgroundColor:`${e.black}73`,justifyContent:"flex-end",zIndex:999999,elevation:999999},modalBackdropPressable:{...o.absoluteFillObject},modalContentCard:{height:"90%",backgroundColor:e.grayBackground,borderTopLeftRadius:20,borderTopRightRadius:20,overflow:"visible",shadowColor:e.black,shadowOffset:{width:0,height:-4},shadowOpacity:.15,shadowRadius:10,zIndex:9999999,elevation:999999},tabBarContainer:{backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,paddingVertical:7,paddingHorizontal:8},contentTabButton:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:5,borderRadius:8,marginRight:8,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.dividerColor},contentTabButtonActive:{backgroundColor:e.purple,borderColor:e.purple,shadowColor:e.purple,shadowOffset:{width:0,height:2},shadowOpacity:.12,shadowRadius:3,elevation:3},contentTabButtonText:{fontFamily:t.interMedium,fontSize:11.5,color:e.grayText},contentTabButtonTextActive:{color:e.white,fontFamily:t.interBold},analyticsHeaderCard:{backgroundColor:e.primaryLight,borderRadius:12,borderWidth:1,borderColor:`${e.brandPurple}20`,padding:12,marginHorizontal:10,marginTop:8,marginBottom:6,shadowColor:e.black,shadowOpacity:.03,shadowRadius:4,shadowOffset:{width:0,height:1},elevation:1},analyticsHeaderTop:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},analyticsHeaderTitle:{fontFamily:t.interBold,fontSize:13.5,color:e.primaryBlack},statusDot:{width:6,height:6,borderRadius:3},analyticsHeaderSubtitle:{fontFamily:t.interMedium,fontSize:11,color:e.grayTextWeak,marginTop:2},analyticsHeaderToggle:{paddingVertical:4.5,paddingHorizontal:9,borderRadius:7,backgroundColor:`${e.brandPurple}12`,borderWidth:1,borderColor:`${e.brandPurple}25`},analyticsHeaderToggleText:{fontFamily:t.interBold,fontSize:10.5,color:e.brandPurple},analyticsStatsRow:{flexDirection:"row",gap:8,borderTopWidth:1,borderTopColor:e.dividerColor,paddingTop:10},analyticsStatBox:{flex:1,backgroundColor:e.grayBackground,borderRadius:6,paddingVertical:6,alignItems:"center"},analyticsStatValue:{fontFamily:t.interBold,fontSize:14,color:e.primaryBlack},analyticsStatLabel:{fontFamily:t.interRegular,fontSize:9,color:e.grayText,marginTop:1},analyticsHeaderDetails:{borderTopWidth:1,borderTopColor:e.dividerColor,paddingTop:10,marginTop:10},detailsGroupTitle:{fontFamily:t.interBold,fontSize:11,color:e.purple,marginBottom:6},detailsRow:{flexDirection:"row",justifyContent:"space-between",paddingVertical:4,borderBottomWidth:.5,borderBottomColor:e.dividerColor},detailsKey:{fontFamily:t.interMedium,fontSize:11,color:e.primaryBlack},detailsValue:{fontFamily:t.interRegular,fontSize:11,color:e.grayText}});const i={},d=e=>{const l=e?n(!0):a,g=getRawStyles(l);Object.keys(i).forEach(h=>delete i[h]),Object.assign(i,g)};d(!1);export const toggleGlobalTheme=e=>{p(e),d(e),f(e?n(!0):a)};export default i;
1
+ import{StyleSheet as o,Platform as r}from"react-native";import a,{updateAppColorsTheme as p,getThemeColors as n}from"./AppColors";import{AppFonts as t}from"./AppFonts";import m,{rebuildCommonStyles as f}from"./common";export{m as commonStyles};export const getRawStyles=e=>({header:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:4,zIndex:10,minHeight:44,overflow:"visible",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.08,shadowRadius:4,elevation:3},headerLeft:{flex:1,minWidth:0,alignItems:"flex-start"},headerCenter:{flex:1,minWidth:0,alignItems:"center",justifyContent:"center",paddingHorizontal:6},headerRight:{flexShrink:0,flexDirection:"row",alignItems:"center",justifyContent:"flex-end",gap:6},headerTitle:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:16,lineHeight:22,letterSpacing:-.2,paddingBottom:0},envBadge:{paddingHorizontal:7,paddingVertical:2.5,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center",marginBottom:0},envBadgeText:{fontFamily:t.interBold,fontWeight:"700",fontSize:9.5,lineHeight:12,letterSpacing:.5},headerDetailCenter:{alignItems:"center",justifyContent:"center",flex:1,minWidth:0},headerDetailRow:{flexDirection:"row",alignItems:"center",gap:8,maxWidth:"100%"},headerMethodBadge:{paddingHorizontal:6.5,paddingVertical:3,borderRadius:6,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:2,elevation:1},headerMethodText:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:10,lineHeight:13,letterSpacing:.5},headerDetailTitle:{fontFamily:t.interBold,fontWeight:"700",color:e.primaryLight,fontSize:15,lineHeight:20,flexShrink:1,letterSpacing:-.2},headerDetailSubRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:4},headerStatusDot:{width:7,height:7,borderRadius:3.5,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.2,shadowRadius:1,elevation:1},headerSubTitle:{fontFamily:t.interMedium,color:e.primaryLight,fontSize:11.5,lineHeight:15,opacity:.95,letterSpacing:.2},headerCountBadge:{flexDirection:"row",alignItems:"center",backgroundColor:`${e.black}33`,paddingHorizontal:12,paddingVertical:6,borderRadius:16,gap:6,borderWidth:.5,borderColor:`${e.white}33`,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:2,elevation:2},headerCountText:{fontFamily:t.interMedium,color:`${e.white}F2`,fontSize:12,lineHeight:16,letterSpacing:.2},listContent:{paddingBottom:r?.OS==="ios"?44:32},supportFab:{position:"absolute",bottom:22,right:16,width:42,height:42,borderRadius:21,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.purple,shadowOffset:{width:0,height:4},shadowOpacity:.45,shadowRadius:8,elevation:14,zIndex:999,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.25)"},scrollTopBtn:{position:"absolute",bottom:22,right:16,width:38,height:38,borderRadius:19,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.black,shadowOffset:{width:0,height:3},shadowOpacity:.3,shadowRadius:6,elevation:12,zIndex:999},detailScroll:{flex:1},closeButtonSquare:{width:30,height:30,borderRadius:7,backgroundColor:`${e.white}2B`,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:`${e.white}33`,overflow:"hidden"},fabWrapper:{position:"absolute",bottom:180,right:20,width:68,height:68,borderRadius:34,alignItems:"center",justifyContent:"center",zIndex:99999,elevation:15,shadowColor:e.purple,shadowOffset:{width:0,height:8},shadowOpacity:.4,shadowRadius:12},fabPulseRing:{position:"absolute",width:68,height:68,borderRadius:34,backgroundColor:`${e.purple}25`},fabShineClip:{position:"absolute",width:68,height:68,borderRadius:34,overflow:"hidden"},fabCloseBadge:{position:"absolute",top:-4,right:-4,width:22,height:22,borderRadius:11,backgroundColor:e.red500,borderWidth:1.5,borderColor:e.white,alignItems:"center",justifyContent:"center",zIndex:1e3,elevation:20,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.35,shadowRadius:4},fabShineStreak:{position:"absolute",top:-20,width:26,height:102,transform:[{rotate:"25deg"}]},fabGreenDot:{position:"absolute",top:2,right:2,width:12,height:12,borderRadius:6,backgroundColor:e.greenA400,borderWidth:2,borderColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.2,shadowRadius:1.5,elevation:2},toolbarRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:8,marginBottom:8,gap:8,marginTop:4},toolbarRight:{flexDirection:"row",alignItems:"center",gap:8},toolbarBtn:{width:34,height:34,borderRadius:17,alignItems:"center",justifyContent:"center",backgroundColor:e.primaryLight,borderWidth:1.5,borderColor:e.grayBorderSecondary,...r?.OS==="ios"?{shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2}:{elevation:0}},toolbarBtnActive:{borderColor:e.purple,backgroundColor:e.purpleShade50,shadowOpacity:.08,shadowRadius:3,elevation:2},trashBadge:{position:"absolute",top:-4,right:-4,backgroundColor:e.errorColor,borderRadius:10,minWidth:18,height:18,alignItems:"center",justifyContent:"center",borderWidth:1.5,borderColor:e.primaryLight},trashBadgeText:{color:e.primaryLight,fontFamily:t.interBold,fontSize:9},filtersContainer:{paddingHorizontal:8,paddingBottom:8},filtersHeading:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:11,textTransform:"uppercase",letterSpacing:.6,marginBottom:6},statusRowContent:{alignItems:"center",paddingVertical:2},statusFilterWrap:{marginRight:6},statusFilterChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,height:32,justifyContent:"center",borderRadius:24,borderWidth:1.5,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},statusFilterActive:{borderColor:e.purple,backgroundColor:e.purpleShade50},filterCheckbox:{width:13,height:13,borderRadius:3,borderWidth:1.5,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,alignItems:"center",justifyContent:"center",marginRight:6},filterCheckboxActive:{borderColor:"transparent"},filterChipIcon:{marginRight:5},methodBadgeMini:{width:4.5,height:13,borderRadius:2,marginRight:6},statusFilterText:{fontFamily:t.interMedium,color:e.grayText,fontSize:11.5},resultCount:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:12,marginHorizontal:8,marginBottom:8,marginTop:4,letterSpacing:.2},searchContainer:{flex:1,flexDirection:"row",alignItems:"center",backgroundColor:e.primaryLight,borderRadius:24,paddingHorizontal:8,paddingVertical:4,borderWidth:1.5,borderColor:e.grayBorderSecondary,shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},searchInput:{flex:1,fontFamily:t.interRegular,color:e.primaryBlack,paddingVertical:r?.OS==="ios"?5:2,marginLeft:6,fontSize:14},clearBtn:{padding:4},domainHeaderCard:{marginHorizontal:5,marginTop:8,marginBottom:4,paddingHorizontal:7,paddingVertical:7,borderRadius:9,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary},domainHeaderCardExpanded:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottomWidth:0,marginBottom:0},domainHeaderTopRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},domainHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,minWidth:0,marginRight:6,gap:6},domainIconWrap:{width:22,height:22,borderRadius:5,alignItems:"center",justifyContent:"center"},domainTitleText:{fontFamily:t.interBold,fontSize:13,fontWeight:"700",color:e.primaryBlack,textTransform:"capitalize"},domainSummaryRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:1},domainSummaryText:{fontFamily:t.interRegular,fontSize:10,color:e.grayTextWeak},domainPctText:{fontFamily:t.interBold,fontSize:9.5},domainProgressSection:{marginTop:8,gap:4,width:"100%"},domainProgressTrack:{flexDirection:"row",height:4,borderRadius:2,overflow:"hidden",backgroundColor:e.grayBorderSecondary,width:"100%"},domainProgressSegment:{height:"100%"},domainProgressLabelsRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},domainProgressRateText:{fontFamily:t.interBold,fontSize:9.5,color:e.grayTextStrong},domainProgressSummaryText:{fontFamily:t.interMedium,fontSize:9,color:e.grayTextWeak},domainStatsGroup:{flexDirection:"row",alignItems:"center",flexShrink:0,gap:4},domainStatPill:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:5,paddingVertical:2.5,borderRadius:5,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight},domainStatText:{fontFamily:t.interBold,fontSize:9.5},treeNodeRow:{flexDirection:"row",alignItems:"stretch",marginHorizontal:5,paddingRight:3,paddingLeft:0,backgroundColor:e.grayBackground,borderLeftWidth:1,borderRightWidth:1,borderColor:e.grayBorderSecondary},treeNodeRowLast:{borderBottomWidth:1,borderBottomLeftRadius:10,borderBottomRightRadius:10,marginBottom:8,paddingBottom:5},treeLines:{width:11,position:"relative"},modernTreeLine:{position:"absolute",left:5,top:0,width:5,height:"100%",borderLeftWidth:1.5,opacity:.5},modernTreeLineLast:{height:"50%",borderBottomWidth:1.5,borderBottomLeftRadius:8},modernTreeBranch:{position:"absolute",left:5,top:"50%",width:6,borderTopWidth:1.5,opacity:.5},treeCardWrapper:{flex:1,paddingVertical:2.5},card:{marginHorizontal:0,marginVertical:0,borderRadius:12,overflow:"hidden",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight},cardBody:{paddingHorizontal:8,paddingTop:8,paddingBottom:7},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:4,minHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:6,gap:5,minWidth:0},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},smallCheckbox:{width:15,height:15,borderRadius:4,borderWidth:1.8,borderColor:e.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:e.white},smallCheckboxChecked:{backgroundColor:e.purple,borderColor:e.purple},serialNumber:{fontFamily:t.interBold,color:e.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6.5,paddingVertical:2.5,borderRadius:5,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.3)",...r?.OS==="ios"?{shadowColor:e.black,shadowOffset:{width:0,height:1},shadowOpacity:.12,shadowRadius:2}:{elevation:1}},methodBadgeText:{fontFamily:t.interBold,fontSize:9.5,letterSpacing:.6,color:e.white},cardHostText:{fontFamily:t.interMedium,fontSize:12,color:e.primaryBlack,flexShrink:1},statusPill:{paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center"},statusPillText:{fontFamily:t.interBold,fontSize:10},cardSlugBox:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:`${e.brandPurple}08`,borderRadius:8,borderWidth:1,borderColor:`${e.brandPurple}18`,paddingHorizontal:8,paddingVertical:6,marginVertical:5,gap:6},slugLeft:{flexDirection:"row",alignItems:"flex-start",flex:1,minWidth:0,gap:6},slugTag:{fontFamily:t.interBold,fontSize:8.5,color:e.brandPurple,letterSpacing:.5,backgroundColor:`${e.brandPurple}15`,paddingHorizontal:4,paddingVertical:1.5,borderRadius:4,marginTop:1,flexShrink:0},slugText:{fontFamily:t.interMedium,fontSize:11.5,lineHeight:15.5,color:e.primaryBlack,flex:1},slugRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginTop:4,minHeight:18},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5,flexShrink:0},cardDateText:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:10,letterSpacing:.1},cardFooterRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},chip:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:5,paddingVertical:2,borderRadius:5,borderWidth:1},chipText:{fontFamily:t.interBold,fontSize:9.5},empty:{flex:1,alignItems:"center",justifyContent:"center"},emptyContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:80,paddingHorizontal:20},emptyIconWrap:{width:72,height:72,borderRadius:36,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center",marginBottom:20,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:1},emptyTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:18,marginBottom:8,letterSpacing:.3},emptySub:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:14,textAlign:"center",lineHeight:20,letterSpacing:.2},reloadBtn:{marginTop:28,paddingHorizontal:24,paddingVertical:12,backgroundColor:e.purple,borderRadius:24,shadowColor:e.purple,shadowOffset:{width:0,height:4},shadowOpacity:.35,shadowRadius:8,elevation:5},reloadBtnText:{color:e.white,fontFamily:t.interBold,fontSize:14,letterSpacing:.3},detailInfoBar:{borderRadius:14,paddingVertical:14,paddingHorizontal:10,marginBottom:12,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2},detailInfoTop:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,gap:8},detailInfoRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},metaContainer:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:14,marginBottom:12,overflow:"hidden",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:4,elevation:2},metaHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},metaTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:12,letterSpacing:.6,textTransform:"uppercase"},metaBody:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},metaRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:8},metaDivider:{height:1,backgroundColor:e.dividerColor},metaLabelRow:{flexDirection:"row",alignItems:"center",gap:8},metaLabel:{fontFamily:t.interBold,color:e.grayText,fontSize:13},metaValue:{fontFamily:t.interMedium,color:e.primaryBlack,fontSize:13},metaValueRow:{flexDirection:"row",alignItems:"center",gap:8},perfBadge:{paddingHorizontal:8,paddingVertical:2,borderRadius:6,borderWidth:1},perfBadgeText:{fontFamily:t.interBold,fontSize:11},detailSearchRow:{flexDirection:"row",alignItems:"center",marginBottom:10},detailSearchBox:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.primaryLight,borderRadius:12,paddingLeft:16,borderWidth:1,borderColor:e.grayBorderSecondary},detailSearchInput:{flex:1,fontFamily:t.interRegular,color:e.primaryBlack,height:40},sectionContainer:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:12,marginBottom:10,overflow:"hidden"},sectionHeaderGradient:{backgroundColor:e.grayBackground,paddingVertical:12,paddingHorizontal:8,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},sectionTitleRow:{flexDirection:"row",alignItems:"center",gap:8,flex:1,marginRight:8},sectionTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:14,flexShrink:1},sectionHeaderActions:{flexDirection:"row",alignItems:"center",gap:6},htCard:{backgroundColor:e.primaryLight,borderRadius:12,borderWidth:1,borderColor:e.grayBorderSecondary,borderLeftWidth:3,marginBottom:10,overflow:"hidden"},htCardHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,paddingVertical:10,gap:8,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},htIconWrap:{width:28,height:28,borderRadius:8,alignItems:"center",justifyContent:"center"},htTitle:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:13,flexShrink:1},htBadge:{borderRadius:10,paddingHorizontal:7,paddingVertical:2,borderWidth:1},htBadgeText:{fontFamily:t.interBold,fontSize:10},htHeaderSpacer:{flex:1},htChevronBtn:{width:30,height:30,borderRadius:8,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.primaryLight,alignItems:"center",justifyContent:"center"},htColHeadRow:{flexDirection:"row",paddingHorizontal:8,paddingVertical:6,backgroundColor:e.graySurface,borderBottomWidth:1,borderBottomColor:e.dividerColor},htColHead:{fontFamily:t.interBold,color:e.grayTextWeak,fontSize:10,letterSpacing:.8,textTransform:"uppercase"},htRow:{flexDirection:"row",paddingHorizontal:8,paddingVertical:0,alignItems:"flex-start"},htRowBorder:{borderBottomWidth:o.hairlineWidth,borderBottomColor:e.dividerColor},htKeyCell:{width:"30%",paddingVertical:10,paddingRight:4},htKey:{fontFamily:t.interMedium,color:e.purple,fontSize:11,lineHeight:16},htCellDivider:{width:o.hairlineWidth,backgroundColor:e.dividerColor,alignSelf:"stretch",marginVertical:4},htValueCell:{flex:1,paddingVertical:10,paddingLeft:6},htValue:{fontFamily:t.interRegular,color:e.primaryBlack,fontSize:11,lineHeight:17},htExpandRow:{marginTop:4},htExpandText:{fontFamily:t.interBold,color:e.purple,fontSize:10,letterSpacing:.3},htCopyBtn:{paddingHorizontal:6,paddingVertical:12,alignItems:"center",justifyContent:"center"},htEmpty:{paddingHorizontal:12,paddingVertical:16,alignItems:"center"},htEmptyText:{fontFamily:t.interRegular,color:e.grayTextWeak,fontSize:12},iconSquareBtn:{width:30,height:30,borderRadius:8,borderWidth:1,borderColor:e.grayBorderSecondary,backgroundColor:e.grayBackground,alignItems:"center",justifyContent:"center"},iconSquareBtnSuccess:{borderColor:e.greenColor,backgroundColor:e.greenStatus},iconSquareBtnActive:{borderColor:e.skyBlue,backgroundColor:e.purpleShade50},codeBlockScroll:{width:"100%",backgroundColor:"transparent"},codeBlock:{paddingTop:12,paddingHorizontal:8,paddingBottom:16,minWidth:"100%"},codeSyntax:{color:e.grayTextWeak,fontFamily:t.interRegular,fontSize:12.5,lineHeight:18},codeKey:{color:e.purple,fontFamily:t.interBold,fontSize:12.5,lineHeight:18},codeText:{color:e.greenBaggageText,fontFamily:t.interRegular,fontSize:12.5,lineHeight:18},codeTextNil:{color:e.errorColor,fontFamily:t.interMedium,fontSize:12.5,lineHeight:18},treeRow:{flexDirection:"row",alignItems:"center",paddingVertical:6},treeKeyMargin:{marginRight:6},highlight:{backgroundColor:e.paleYellow,color:e.primaryBlack},arrayBadge:{backgroundColor:e.purpleShade50,borderColor:e.purple,borderWidth:1,borderRadius:6,paddingHorizontal:6,paddingVertical:2},arrayBadgeText:{fontFamily:t.interMedium,color:e.purple,fontSize:11},objectBadge:{backgroundColor:e.grayBackground,borderColor:e.grayTextWeak,borderWidth:1,borderRadius:6,paddingHorizontal:6,paddingVertical:2},objectBadgeText:{fontFamily:t.interMedium,color:e.grayTextWeak,fontSize:11},diffBlock:{paddingTop:12,paddingHorizontal:12,paddingBottom:16,gap:4},diffAdded:{color:e.greenColor,fontFamily:t.interRegular,fontSize:12},diffRemoved:{color:e.errorColor,fontFamily:t.interRegular,fontSize:12},diffChanged:{color:e.lightOrange,fontFamily:t.interRegular,fontSize:12},filePreviewNode:{paddingVertical:8,marginVertical:4},filePreviewCard:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:10,padding:10,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12,maxWidth:300},filePreviewThumb:{width:44,height:44,borderRadius:6,backgroundColor:e.grayBorderSecondary},filePreviewDoc:{width:44,height:44,borderRadius:6,backgroundColor:e.graySurface,alignItems:"center",justifyContent:"center"},filePreviewName:{fontFamily:t.interMedium,color:e.primaryBlack,fontSize:13,marginBottom:2},filePreviewType:{fontFamily:t.interRegular,color:e.grayText,fontSize:11},imagePreviewWrapper:{width:"100%",height:200,borderRadius:12,overflow:"hidden",marginBottom:16,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary},imagePreview:{width:"100%",height:"100%"},imageDownloadBtn:{position:"absolute",bottom:12,right:12,width:36,height:36,borderRadius:18,backgroundColor:`${e.white}E6`,alignItems:"center",justifyContent:"center",shadowColor:e.black,shadowOffset:{width:0,height:2},shadowOpacity:.2,shadowRadius:4,elevation:3},sourcePageCard:{backgroundColor:e.primaryLight,borderWidth:1,borderColor:e.grayBorderSecondary,borderRadius:12,marginBottom:10,overflow:"hidden"},sourcePageAccordionHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.primaryLight},sourcePageTop:{flexDirection:"row",alignItems:"center",gap:10,flex:1},sourcePageHeaderRight:{flexDirection:"row",alignItems:"center",gap:6},sourcePageIcon:{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,borderWidth:1,borderColor:`${e.purple}30`,alignItems:"center",justifyContent:"center"},sourcePageLabel:{fontFamily:t.interRegular,color:e.grayText,fontSize:11,marginBottom:2},sourcePageValue:{fontFamily:t.interBold,color:e.purple,fontSize:14},sourceParamsBox:{borderTopWidth:1,borderTopColor:e.dividerColor},paramsAccordionHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:e.dividerColor,backgroundColor:e.grayBackground},paramsAccordionLeft:{flexDirection:"row",alignItems:"center",gap:8},paramsAccordionRight:{flexDirection:"row",alignItems:"center",gap:6},sourceParamsLabel:{fontFamily:t.interBold,color:e.grayTextStrong,fontSize:12,letterSpacing:.4,textTransform:"uppercase"},paramsBody:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},paramRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:10,gap:8},paramRowBorder:{borderBottomWidth:1,borderBottomColor:e.dividerColor},paramKey:{fontFamily:t.Sfprotext,color:e.purple,fontSize:12,flex:1},paramValueRow:{flexDirection:"row",alignItems:"center",gap:8,flex:2,justifyContent:"flex-end"},paramValue:{fontFamily:t.Sfprotext,color:e.greenBaggageText,fontSize:12,textAlign:"right",flexShrink:1},headerGradient:{width:"100%",borderTopLeftRadius:20,borderTopRightRadius:20,overflow:"visible",flexShrink:0},statusChip:{paddingHorizontal:10,paddingVertical:4,borderRadius:8,borderWidth:1},statusText:{fontFamily:t.interBold,fontSize:12},modalBackdrop:{flex:1,backgroundColor:`${e.black}73`,justifyContent:"flex-end",zIndex:999999,elevation:999999},modalBackdropPressable:{...o.absoluteFillObject},modalContentCard:{height:"90%",backgroundColor:e.grayBackground,borderTopLeftRadius:20,borderTopRightRadius:20,overflow:"visible",shadowColor:e.black,shadowOffset:{width:0,height:-4},shadowOpacity:.15,shadowRadius:10,zIndex:9999999,elevation:999999},tabBarContainer:{backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,paddingVertical:7,paddingHorizontal:8},contentTabButton:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:5,borderRadius:8,marginRight:8,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.dividerColor},contentTabButtonActive:{backgroundColor:e.purple,borderColor:e.purple,shadowColor:e.purple,shadowOffset:{width:0,height:2},shadowOpacity:.12,shadowRadius:3,elevation:3},contentTabButtonText:{fontFamily:t.interMedium,fontSize:11.5,color:e.grayText},contentTabButtonTextActive:{color:e.white,fontFamily:t.interBold},analyticsHeaderCard:{backgroundColor:e.primaryLight,borderRadius:12,borderWidth:1,borderColor:`${e.brandPurple}20`,padding:12,marginHorizontal:10,marginTop:8,marginBottom:6,shadowColor:e.black,shadowOpacity:.03,shadowRadius:4,shadowOffset:{width:0,height:1},elevation:1},analyticsHeaderTop:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},analyticsHeaderTitle:{fontFamily:t.interBold,fontSize:13.5,color:e.primaryBlack},statusDot:{width:6,height:6,borderRadius:3},analyticsHeaderSubtitle:{fontFamily:t.interMedium,fontSize:11,color:e.grayTextWeak,marginTop:2},analyticsHeaderToggle:{paddingVertical:4.5,paddingHorizontal:9,borderRadius:7,backgroundColor:`${e.brandPurple}12`,borderWidth:1,borderColor:`${e.brandPurple}25`},analyticsHeaderToggleText:{fontFamily:t.interBold,fontSize:10.5,color:e.brandPurple},analyticsStatsRow:{flexDirection:"row",gap:8,borderTopWidth:1,borderTopColor:e.dividerColor,paddingTop:10},analyticsStatBox:{flex:1,backgroundColor:e.grayBackground,borderRadius:6,paddingVertical:6,alignItems:"center"},analyticsStatValue:{fontFamily:t.interBold,fontSize:14,color:e.primaryBlack},analyticsStatLabel:{fontFamily:t.interRegular,fontSize:9,color:e.grayText,marginTop:1},analyticsHeaderDetails:{borderTopWidth:1,borderTopColor:e.dividerColor,paddingTop:10,marginTop:10},detailsGroupTitle:{fontFamily:t.interBold,fontSize:11,color:e.purple,marginBottom:6},detailsRow:{flexDirection:"row",justifyContent:"space-between",paddingVertical:4,borderBottomWidth:.5,borderBottomColor:e.dividerColor},detailsKey:{fontFamily:t.interMedium,fontSize:11,color:e.primaryBlack},detailsValue:{fontFamily:t.interRegular,fontSize:11,color:e.grayText}});const i={},d=e=>{const l=e?n(!0):a,g=getRawStyles(l);Object.keys(i).forEach(h=>delete i[h]),Object.assign(i,g)};d(!1);export const toggleGlobalTheme=e=>{p(e),d(e),f(e?n(!0):a)};export default i;
@@ -93,8 +93,8 @@ export interface NetworkLog {
93
93
  id: number;
94
94
  url: string;
95
95
  method: string;
96
- status: number | null;
97
- duration: number | null;
96
+ status?: number | null;
97
+ duration?: number | null;
98
98
  startTime: number;
99
99
  request?: unknown;
100
100
  response?: unknown;
@@ -447,6 +447,8 @@ export interface InspectorContextValue {
447
447
  setPeekOpacity: React.Dispatch<React.SetStateAction<number>>;
448
448
  previewMediaItem: import('../capture').CapturedMediaItem | null;
449
449
  setPreviewMediaItem: React.Dispatch<React.SetStateAction<import('../capture').CapturedMediaItem | null>>;
450
+ isUpdatePopupVisible?: boolean;
451
+ setIsUpdatePopupVisible?: React.Dispatch<React.SetStateAction<boolean>>;
450
452
  }
451
453
  export interface CopyButtonProps {
452
454
  value: unknown | (() => unknown);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-inapp-inspector",
3
- "version": "2.5.8",
3
+ "version": "2.5.10",
4
4
  "description": "The zero-config, all-in-one in-app debugger & network logger for React Native & Expo (Flipper / Chucker alternative). Inspect Network (fetch/Axios/GraphQL), Console logs with Metro Symbolication, Redux State, Firebase Analytics, Storage (AsyncStorage/MMKV), Hardware Telemetry, and JS Bundle size directly on device.",
5
5
  "repository": {
6
6
  "type": "git",