react-native-inapp-inspector 2.5.10 → 2.5.12

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 (134) hide show
  1. package/README.ar.md +0 -8
  2. package/README.de.md +0 -8
  3. package/README.es.md +0 -8
  4. package/README.fr.md +0 -8
  5. package/README.hi.md +0 -8
  6. package/README.ja.md +0 -8
  7. package/README.ko.md +0 -8
  8. package/README.md +54 -26
  9. package/README.pt-BR.md +0 -8
  10. package/README.ru.md +0 -8
  11. package/README.zh-CN.md +0 -8
  12. package/dist/commonjs/components/ConsoleLogCard.js +32 -26
  13. package/dist/commonjs/components/ErrorBoundary.js +1 -1
  14. package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
  15. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
  16. package/dist/commonjs/components/Inspector/InspectorHeader.js +73 -65
  17. package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
  18. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
  19. package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
  20. package/dist/commonjs/components/Inspector/NetworkTab.js +33 -31
  21. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
  22. package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
  23. package/dist/commonjs/components/Inspector/SettingsPanel.js +346 -245
  24. package/dist/commonjs/components/Inspector/TabBar.js +17 -16
  25. package/dist/commonjs/components/LogCard.js +11 -8
  26. package/dist/commonjs/components/ModuleErrorBoundary.js +1 -1
  27. package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
  28. package/dist/commonjs/components/NetworkIcons.js +51 -6
  29. package/dist/commonjs/constants/index.d.ts +1 -0
  30. package/dist/commonjs/constants/index.js +1 -1
  31. package/dist/commonjs/constants/version.d.ts +1 -1
  32. package/dist/commonjs/constants/version.js +1 -1
  33. package/dist/commonjs/customHooks/crashHandler.d.ts +9 -1
  34. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  35. package/dist/commonjs/helpers/index.d.ts +3 -0
  36. package/dist/commonjs/helpers/index.js +8 -6
  37. package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
  38. package/dist/commonjs/helpers/performanceSampler.js +1 -0
  39. package/dist/commonjs/helpers/remoteConfig.d.ts +6 -0
  40. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  41. package/dist/commonjs/helpers/telemetry.js +1 -1
  42. package/dist/commonjs/i18n/locales/ar.json +1 -1
  43. package/dist/commonjs/i18n/locales/bn.json +1 -1
  44. package/dist/commonjs/i18n/locales/de.json +1 -1
  45. package/dist/commonjs/i18n/locales/en.json +1 -1
  46. package/dist/commonjs/i18n/locales/es.json +1 -1
  47. package/dist/commonjs/i18n/locales/fr.json +1 -1
  48. package/dist/commonjs/i18n/locales/gu.json +1 -1
  49. package/dist/commonjs/i18n/locales/hi.json +1 -1
  50. package/dist/commonjs/i18n/locales/id.json +1 -1
  51. package/dist/commonjs/i18n/locales/it.json +1 -1
  52. package/dist/commonjs/i18n/locales/ja.json +1 -1
  53. package/dist/commonjs/i18n/locales/kn.json +1 -1
  54. package/dist/commonjs/i18n/locales/ko.json +1 -1
  55. package/dist/commonjs/i18n/locales/ml.json +1 -1
  56. package/dist/commonjs/i18n/locales/mr.json +1 -1
  57. package/dist/commonjs/i18n/locales/nl.json +1 -1
  58. package/dist/commonjs/i18n/locales/pa.json +1 -1
  59. package/dist/commonjs/i18n/locales/pl.json +1 -1
  60. package/dist/commonjs/i18n/locales/pt.json +1 -1
  61. package/dist/commonjs/i18n/locales/ru.json +1 -1
  62. package/dist/commonjs/i18n/locales/ta.json +1 -1
  63. package/dist/commonjs/i18n/locales/te.json +1 -1
  64. package/dist/commonjs/i18n/locales/tr.json +1 -1
  65. package/dist/commonjs/i18n/locales/vi.json +1 -1
  66. package/dist/commonjs/i18n/locales/zh.json +1 -1
  67. package/dist/commonjs/index.d.ts +4 -2
  68. package/dist/commonjs/index.js +3 -3
  69. package/dist/commonjs/styles/index.js +1 -1
  70. package/dist/commonjs/types/enums.d.ts +1 -0
  71. package/dist/commonjs/types/enums.js +1 -1
  72. package/dist/commonjs/types/interfaces.d.ts +28 -0
  73. package/dist/esm/components/ConsoleLogCard.js +67 -61
  74. package/dist/esm/components/ErrorBoundary.js +10 -10
  75. package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
  76. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +22 -22
  77. package/dist/esm/components/Inspector/InspectorHeader.js +194 -186
  78. package/dist/esm/components/Inspector/MainScreen.js +61 -58
  79. package/dist/esm/components/Inspector/MediaGalleryTab.js +254 -157
  80. package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
  81. package/dist/esm/components/Inspector/NetworkTab.js +39 -37
  82. package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
  83. package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
  84. package/dist/esm/components/Inspector/SettingsPanel.js +407 -306
  85. package/dist/esm/components/Inspector/TabBar.js +4 -3
  86. package/dist/esm/components/LogCard.js +37 -34
  87. package/dist/esm/components/ModuleErrorBoundary.js +1 -1
  88. package/dist/esm/components/NetworkIcons.d.ts +9 -0
  89. package/dist/esm/components/NetworkIcons.js +48 -3
  90. package/dist/esm/constants/index.d.ts +1 -0
  91. package/dist/esm/constants/index.js +1 -1
  92. package/dist/esm/constants/version.d.ts +1 -1
  93. package/dist/esm/constants/version.js +1 -1
  94. package/dist/esm/customHooks/crashHandler.d.ts +9 -1
  95. package/dist/esm/customHooks/crashHandler.js +6 -6
  96. package/dist/esm/helpers/index.d.ts +3 -0
  97. package/dist/esm/helpers/index.js +8 -6
  98. package/dist/esm/helpers/performanceSampler.d.ts +88 -0
  99. package/dist/esm/helpers/performanceSampler.js +1 -0
  100. package/dist/esm/helpers/remoteConfig.d.ts +6 -0
  101. package/dist/esm/helpers/remoteConfig.js +1 -1
  102. package/dist/esm/helpers/telemetry.js +1 -1
  103. package/dist/esm/i18n/locales/ar.json +1 -1
  104. package/dist/esm/i18n/locales/bn.json +1 -1
  105. package/dist/esm/i18n/locales/de.json +1 -1
  106. package/dist/esm/i18n/locales/en.json +1 -1
  107. package/dist/esm/i18n/locales/es.json +1 -1
  108. package/dist/esm/i18n/locales/fr.json +1 -1
  109. package/dist/esm/i18n/locales/gu.json +1 -1
  110. package/dist/esm/i18n/locales/hi.json +1 -1
  111. package/dist/esm/i18n/locales/id.json +1 -1
  112. package/dist/esm/i18n/locales/it.json +1 -1
  113. package/dist/esm/i18n/locales/ja.json +1 -1
  114. package/dist/esm/i18n/locales/kn.json +1 -1
  115. package/dist/esm/i18n/locales/ko.json +1 -1
  116. package/dist/esm/i18n/locales/ml.json +1 -1
  117. package/dist/esm/i18n/locales/mr.json +1 -1
  118. package/dist/esm/i18n/locales/nl.json +1 -1
  119. package/dist/esm/i18n/locales/pa.json +1 -1
  120. package/dist/esm/i18n/locales/pl.json +1 -1
  121. package/dist/esm/i18n/locales/pt.json +1 -1
  122. package/dist/esm/i18n/locales/ru.json +1 -1
  123. package/dist/esm/i18n/locales/ta.json +1 -1
  124. package/dist/esm/i18n/locales/te.json +1 -1
  125. package/dist/esm/i18n/locales/tr.json +1 -1
  126. package/dist/esm/i18n/locales/vi.json +1 -1
  127. package/dist/esm/i18n/locales/zh.json +1 -1
  128. package/dist/esm/index.d.ts +4 -2
  129. package/dist/esm/index.js +8 -8
  130. package/dist/esm/styles/index.js +1 -1
  131. package/dist/esm/types/enums.d.ts +1 -0
  132. package/dist/esm/types/enums.js +1 -1
  133. package/dist/esm/types/interfaces.d.ts +28 -0
  134. package/package.json +24 -1
@@ -1,28 +1,28 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,r,t,a){a===void 0&&(a=t);var i=Object.getOwnPropertyDescriptor(r,t);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(l,a,i)}):(function(l,r,t,a){a===void 0&&(a=t),l[a]=r[t]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,r){Object.defineProperty(l,"default",{enumerable:!0,value:r})}):function(l,r){l.default=r}),__importStar=this&&this.__importStar||(function(){var l=function(r){return l=Object.getOwnPropertyNames||function(t){var a=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[a.length]=i);return a},l(r)};return function(r){if(r&&r.__esModule)return r;var t={};if(r!=null)for(var a=l(r),i=0;i<a.length;i++)a[i]!=="default"&&__createBinding(t,r,a[i]);return __setModuleDefault(t,r),t}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),DomainHeader_1=__importDefault(require("../DomainHeader")),LogCard_1=__importDefault(require("../LogCard")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),NetworkFilterModal_1=__importDefault(require("./NetworkFilterModal")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NetworkTab=react_1.default.memo(()=>{const{groupedData:l,loadMoreSection:r,search:t,setSearch:a,setSearchScope:i,quickFilter:V,setQuickFilter:q,handleDelete:J,isGroupByPageEnabled:u,setIsGroupByPageEnabled:Y,selectedLogs:v,sortOrder:Z,setSortOrder:x,statusFilters:p,setStatusFilters:m,methodFilters:f,setMethodFilters:S,latencyFilter:h,setLatencyFilter:z,protocolFilter:y,setProtocolFilter:F,networkSortBy:b,setNetworkSortBy:I,filteredLogs:w,logs:T,toggleSectionFilter:E,toggleSectionCollapse:N,minStart:$,totalRange:H,newLogIds:j,toggleSelect:W,setSelected:G,maxNetworkLogs:B}=(0,InspectorContext_1.useInspector)(),{t:L}=(0,i18n_1.useTranslation)(),ee=(0,react_1.useRef)(null),[te,Q]=react_1.default.useState(!1),[K,U]=react_1.default.useState(!1),[R,X]=react_1.default.useState(B||50);react_1.default.useEffect(()=>{X(B||50)},[t,V,B]);const M=(0,react_1.useMemo)(()=>u?l:l.slice(0,R),[u,l,R]),oe=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),C=(0,react_1.useMemo)(()=>p.size>0&&!p.has("all")||f.size>0&&!f.has("all")||h!=="all"||y!=="all"||b!=="time_desc",[p,f,h,y,b]),re=(0,react_1.useMemo)(()=>{let e=0;return p.size>0&&!p.has("all")&&(e+=p.size),f.size>0&&!f.has("all")&&(e+=f.size),h!=="all"&&e++,y!=="all"&&e++,b!=="time_desc"&&e++,e},[p,f,h,y,b]),le=(0,react_1.useMemo)(()=>({statusCodes:p.size>0?new Set(p):new Set(["all"]),methods:f.size>0?new Set(f):new Set(["all"]),latency:h,protocol:y,sortBy:b}),[p,f,h,y,b]),ae=(0,react_1.useCallback)(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?m(new Set):m(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?S(new Set):S(new Set([...e.methods].map(n=>n))),z(e.latency||"all"),F(e.protocol||"all"),I(e.sortBy||"time_desc"),e.sortBy==="time_asc"?x("oldest"):x("newest")},[m,S,z,F,I,x]),g=(0,react_1.useMemo)(()=>{let e=0,n=0,s=0,c=0,A=0,k=0;return T.forEach(d=>{const o=typeof d.status=="number"?d.status:parseInt(String(d.status),10);d.status===0||d.status==null||!isNaN(o)&&o>=400?e++:!isNaN(o)&&o>=200&&o<400&&n++,(d.duration||0)>=500&&s++;const O=(d.method||"").toUpperCase();O==="POST"&&c++,O==="GET"&&A++;const _=(d.url||"").toLowerCase(),P=(d.client||"").toLowerCase();(_.includes("graphql")||P.includes("graphql")||P.includes("apollo"))&&k++}),{all:T.length,errors:e,success:n,slow:s,post:c,get:A,graphql:k}},[T]),ie=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:g.all,color:AppColors_1.AppColors.purple},{id:"errors",label:"Errors",count:g.errors,color:AppColors_1.AppColors.errorColor},{id:"success",label:"2xx OK",count:g.success,color:AppColors_1.AppColors.greenColor},{id:"slow",label:"Slow >500ms",count:g.slow,color:AppColors_1.AppColors.warningIconGold},{id:"POST",label:"POST",count:g.post,color:constants_1.METHOD_COLORS.POST||AppColors_1.AppColors.blue500},{id:"GET",label:"GET",count:g.get,color:constants_1.METHOD_COLORS.GET||AppColors_1.AppColors.emerald500},{id:"graphql",label:"GraphQL",count:g.graphql,color:AppColors_1.AppColors.graphqlPink}],[g]),ne=(0,react_1.useCallback)(({item:e,index:n})=>{if(e.type==="header")return<AnimatedEntrance_1.default index={n}distance={8}>
2
- <DomainHeader_1.default pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={E}isCollapsed={e.isCollapsed}onToggleCollapse={N}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
- </AnimatedEntrance_1.default>;if(e.type==="loadMore"){const{pageName:d,color:o,remainingCount:O,totalCount:_,loadedCount:P,loadMoreStep:D,hasMore:se}=e;return<react_native_1.View style={[styles_1.default.treeNodeRow,styles_1.default.treeNodeRowLast]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,r,t,a){a===void 0&&(a=t);var i=Object.getOwnPropertyDescriptor(r,t);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(l,a,i)}):(function(l,r,t,a){a===void 0&&(a=t),l[a]=r[t]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,r){Object.defineProperty(l,"default",{enumerable:!0,value:r})}):function(l,r){l.default=r}),__importStar=this&&this.__importStar||(function(){var l=function(r){return l=Object.getOwnPropertyNames||function(t){var a=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[a.length]=i);return a},l(r)};return function(r){if(r&&r.__esModule)return r;var t={};if(r!=null)for(var a=l(r),i=0;i<a.length;i++)a[i]!=="default"&&__createBinding(t,r,a[i]);return __setModuleDefault(t,r),t}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),DomainHeader_1=__importDefault(require("../DomainHeader")),LogCard_1=__importDefault(require("../LogCard")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),NetworkFilterModal_1=__importDefault(require("./NetworkFilterModal")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),helpers_1=require("../../helpers"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NetworkTab=react_1.default.memo(()=>{const{groupedData:l,loadMoreSection:r,search:t,setSearch:a,setSearchScope:i,quickFilter:A,setQuickFilter:M,handleDelete:Z,isGroupByPageEnabled:u,setIsGroupByPageEnabled:ee,selectedLogs:V,sortOrder:te,setSortOrder:v,statusFilters:p,setStatusFilters:m,methodFilters:f,setMethodFilters:S,latencyFilter:h,setLatencyFilter:x,protocolFilter:y,setProtocolFilter:z,networkSortBy:b,setNetworkSortBy:F,filteredLogs:w,logs:I,hiddenUrlPatterns:L,toggleSectionFilter:$,toggleSectionCollapse:H,minStart:j,totalRange:W,newLogIds:G,toggleSelect:Q,setSelected:U,maxNetworkLogs:D}=(0,InspectorContext_1.useInspector)(),{t:R}=(0,i18n_1.useTranslation)(),oe=(0,react_1.useRef)(null),[re,K]=react_1.default.useState(!1),[X,J]=react_1.default.useState(!1),[k,Y]=react_1.default.useState(D||50);react_1.default.useEffect(()=>{Y(D||50)},[t,A,D]);const E=(0,react_1.useMemo)(()=>u?l:l.slice(0,k),[u,l,k]),le=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),C=(0,react_1.useMemo)(()=>p.size>0&&!p.has("all")||f.size>0&&!f.has("all")||h!=="all"||y!=="all"||b!=="time_desc",[p,f,h,y,b]),ae=(0,react_1.useMemo)(()=>{let e=0;return p.size>0&&!p.has("all")&&(e+=p.size),f.size>0&&!f.has("all")&&(e+=f.size),h!=="all"&&e++,y!=="all"&&e++,b!=="time_desc"&&e++,e},[p,f,h,y,b]),ie=(0,react_1.useMemo)(()=>({statusCodes:p.size>0?new Set(p):new Set(["all"]),methods:f.size>0?new Set(f):new Set(["all"]),latency:h,protocol:y,sortBy:b}),[p,f,h,y,b]),ne=(0,react_1.useCallback)(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?m(new Set):m(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?S(new Set):S(new Set([...e.methods].map(n=>n))),x(e.latency||"all"),z(e.protocol||"all"),F(e.sortBy||"time_desc"),e.sortBy==="time_asc"?v("oldest"):v("newest")},[m,S,x,z,F,v]),P=(0,react_1.useMemo)(()=>!L||L.length===0?I:I.filter(e=>!(0,helpers_1.isUrlHidden)(e.url,L)),[I,L]),g=(0,react_1.useMemo)(()=>{let e=0,n=0,s=0,c=0,T=0,q=0;return P.forEach(d=>{const o=typeof d.status=="number"?d.status:parseInt(String(d.status),10);d.status===0||d.status==null||!isNaN(o)&&o>=400?e++:!isNaN(o)&&o>=200&&o<400&&n++,(d.duration||0)>=500&&s++;const B=(d.method||"").toUpperCase();B==="POST"&&c++,B==="GET"&&T++;const _=(d.url||"").toLowerCase(),O=(d.client||"").toLowerCase();(_.includes("graphql")||O.includes("graphql")||O.includes("apollo"))&&q++}),{all:P.length,errors:e,success:n,slow:s,post:c,get:T,graphql:q}},[P]),se=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:g.all,color:AppColors_1.AppColors.purple},{id:"errors",label:"Errors",count:g.errors,color:AppColors_1.AppColors.errorColor},{id:"success",label:"2xx OK",count:g.success,color:AppColors_1.AppColors.greenColor},{id:"slow",label:"Slow >500ms",count:g.slow,color:AppColors_1.AppColors.warningIconGold},{id:"POST",label:"POST",count:g.post,color:constants_1.METHOD_COLORS.POST||AppColors_1.AppColors.blue500},{id:"GET",label:"GET",count:g.get,color:constants_1.METHOD_COLORS.GET||AppColors_1.AppColors.emerald500},{id:"graphql",label:"GraphQL",count:g.graphql,color:AppColors_1.AppColors.graphqlPink}],[g]),ce=(0,react_1.useCallback)(({item:e,index:n})=>{if(e.type==="header")return<AnimatedEntrance_1.default index={n}distance={8}>
2
+ <DomainHeader_1.default pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={$}isCollapsed={e.isCollapsed}onToggleCollapse={H}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
+ </AnimatedEntrance_1.default>;if(e.type==="loadMore"){const{pageName:d,color:o,remainingCount:B,totalCount:_,loadedCount:O,loadMoreStep:N,hasMore:de}=e;return<react_native_1.View style={[styles_1.default.treeNodeRow,styles_1.default.treeNodeRowLast]}>
4
4
  <react_native_1.View style={styles_1.default.treeLines}>
5
5
  <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:o},styles_1.default.modernTreeLineLast]}/>
6
6
  </react_native_1.View>
7
7
  <react_native_1.View style={styles_1.default.treeCardWrapper}>
8
- {se?<TouchableScale_1.default onPress={()=>r(d,D||10)}hitSlop={6}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,paddingHorizontal:12,marginVertical:3,marginRight:2,borderRadius:10,backgroundColor:`${o}14`,borderWidth:1.5,borderColor:`${o}40`,shadowColor:o,shadowOffset:{width:0,height:1.5},shadowOpacity:.1,shadowRadius:3,elevation:2}}>
8
+ {de?<TouchableScale_1.default onPress={()=>r(d,N||10)}hitSlop={6}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,paddingHorizontal:12,marginVertical:3,marginRight:2,borderRadius:10,backgroundColor:`${o}14`,borderWidth:1.5,borderColor:`${o}40`,shadowColor:o,shadowOffset:{width:0,height:1.5},shadowOpacity:.1,shadowRadius:3,elevation:2}}>
9
9
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:8}}>
10
10
  <react_native_1.View style={{width:22,height:22,borderRadius:11,backgroundColor:o,alignItems:"center",justifyContent:"center",shadowColor:o,shadowOffset:{width:0,height:1},shadowOpacity:.25,shadowRadius:2,elevation:1}}>
11
11
  <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.white}size={9}direction="down"/>
12
12
  </react_native_1.View>
13
13
  <react_native_1.View>
14
14
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:o}}>
15
- {L("footer.loadMoreRequests",{count:D,defaultValue:`Load ${D} More Requests`})}
15
+ {R("footer.loadMoreRequests",{count:N,defaultValue:`Load ${N} More Requests`})}
16
16
  </react_native_1.Text>
17
17
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,marginTop:1}}>
18
- Showing {P} of {_} requests
18
+ Showing {O} of {_} requests
19
19
  </react_native_1.Text>
20
20
  </react_native_1.View>
21
21
  </react_native_1.View>
22
22
 
23
23
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",backgroundColor:`${o}25`,paddingHorizontal:8,paddingVertical:4,borderRadius:8,borderWidth:1,borderColor:`${o}40`,gap:3}}>
24
24
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:o}}>
25
- +{O}
25
+ +{B}
26
26
  </react_native_1.Text>
27
27
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9,color:o}}>
28
28
  more
@@ -34,7 +34,7 @@
34
34
  <NetworkIcons_1.CheckIcon color={o}size={8}/>
35
35
  </react_native_1.View>
36
36
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextStrong}}>
37
- {L("footer.allLoaded",{count:_,defaultValue:`All ${_} requests loaded`})}
37
+ {R("footer.allLoaded",{count:_,defaultValue:`All ${_} requests loaded`})}
38
38
  </react_native_1.Text>
39
39
  </react_native_1.View>
40
40
 
@@ -45,21 +45,21 @@
45
45
  </react_native_1.View>
46
46
  </react_native_1.View>}
47
47
  </react_native_1.View>
48
- </react_native_1.View>}const{log:s,isLast:c,color:A}=e,k=M.slice(0,n).filter(d=>!d.type).length;return<AnimatedEntrance_1.default index={n}distance={8}style={u?[styles_1.default.treeNodeRow,c&&styles_1.default.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
48
+ </react_native_1.View>}const{log:s,isLast:c,color:T}=e,q=E.slice(0,n).filter(d=>!d.type).length;return<AnimatedEntrance_1.default index={n}distance={8}style={u?[styles_1.default.treeNodeRow,c&&styles_1.default.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
49
49
  {u&&<react_native_1.View style={styles_1.default.treeLines}>
50
- <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:A},c&&styles_1.default.modernTreeLineLast]}/>
51
- {!c&&<react_native_1.View style={[styles_1.default.modernTreeBranch,{borderColor:A}]}/>}
50
+ <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:T},c&&styles_1.default.modernTreeLineLast]}/>
51
+ {!c&&<react_native_1.View style={[styles_1.default.modernTreeBranch,{borderColor:T}]}/>}
52
52
  </react_native_1.View>}
53
53
  <react_native_1.View style={u?styles_1.default.treeCardWrapper:{flex:1}}>
54
- <LogCard_1.default testID={`inspector.network.item.${k}`}item={s}isSelected={v.has(s.id)}onToggleSelect={W}onPress={()=>{G(s)}}timelineMinStart={$}timelineTotalRange={H}isNew={j.has(s.id)}searchStr={t}/>
54
+ <LogCard_1.default testID={`inspector.network.item.${q}`}item={s}isSelected={V.has(s.id)}onToggleSelect={Q}onPress={()=>{U(s)}}timelineMinStart={j}timelineTotalRange={W}isNew={G.has(s.id)}searchStr={t}/>
55
55
  </react_native_1.View>
56
- </AnimatedEntrance_1.default>},[M,u,$,H,j,v,W,t,E,N,r,G,L]);return<react_native_1.View style={{flex:1}}>
56
+ </AnimatedEntrance_1.default>},[E,u,j,W,G,V,Q,t,$,H,r,U,R]);return<react_native_1.View style={{flex:1}}>
57
57
  <react_native_1.View style={{marginTop:6}}>
58
58
 
59
59
  <react_native_1.View style={styles_1.default.toolbarRow}>
60
- <react_native_1.View style={[styles_1.default.searchContainer,K&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
61
- <NetworkIcons_1.SearchIcon color={K?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={15}/>
62
- <react_native_1.TextInput placeholder="Search URL, status, method, headers, body..."placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={a}onFocus={()=>U(!0)}onBlur={()=>U(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
60
+ <react_native_1.View style={[styles_1.default.searchContainer,X&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
61
+ <NetworkIcons_1.SearchIcon color={X?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={15}/>
62
+ <react_native_1.TextInput placeholder="Search URL, status, method, headers, body..."placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={a}onFocus={()=>J(!0)}onBlur={()=>J(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
63
63
 
64
64
  {t.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
65
65
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
@@ -74,22 +74,22 @@
74
74
  </react_native_1.View>
75
75
 
76
76
  <react_native_1.View style={styles_1.default.toolbarRight}>
77
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={J}hitSlop={6}>
77
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={Z}hitSlop={6}>
78
78
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
79
- {v.size>0&&<react_native_1.View style={styles_1.default.trashBadge}>
79
+ {V.size>0&&<react_native_1.View style={styles_1.default.trashBadge}>
80
80
  <react_native_1.Text style={styles_1.default.trashBadgeText}>
81
- {v.size}
81
+ {V.size}
82
82
  </react_native_1.Text>
83
83
  </react_native_1.View>}
84
84
  </TouchableScale_1.default>
85
85
 
86
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,u&&{borderColor:AppColors_1.AppColors.purple,backgroundColor:`${AppColors_1.AppColors.purple}15`}]}onPress={()=>Y(e=>!e)}hitSlop={6}accessibilityLabel={u?"Page Accordion Grouping Enabled (Tap for Plain List)":"Plain List Enabled (Tap for Page Accordion)"}accessibilityRole="button">
86
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,u&&{borderColor:AppColors_1.AppColors.purple,backgroundColor:`${AppColors_1.AppColors.purple}15`}]}onPress={()=>ee(e=>!e)}hitSlop={6}accessibilityLabel={u?"Page Accordion Grouping Enabled (Tap for Plain List)":"Plain List Enabled (Tap for Page Accordion)"}accessibilityRole="button">
87
87
  <NetworkIcons_1.LayersIcon color={u?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}size={16}/>
88
88
  {u&&<react_native_1.View style={styles_1.default.activeFilterDot}/>}
89
89
  </TouchableScale_1.default>
90
90
 
91
- <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>x(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
92
- <NetworkIcons_1.SortArrowIcon direction={Z==="newest"?"down":"up"}color={AppColors_1.AppColors.grayTextStrong}size={18}/>
91
+ <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>v(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
92
+ <NetworkIcons_1.SortArrowIcon direction={te==="newest"?"down":"up"}color={AppColors_1.AppColors.grayTextStrong}size={18}/>
93
93
  </TouchableScale_1.default>
94
94
  </react_native_1.View>
95
95
  </react_native_1.View>
@@ -97,7 +97,7 @@
97
97
 
98
98
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
99
99
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
100
- {ie.map(e=>{const n=V===e.id,s=e.color||AppColors_1.AppColors.purple,c=n?AppColors_1.AppColors.white:s;return<TouchableScale_1.default testID={`inspector.network.filter.${e.id.toLowerCase()}`}key={e.id}onPress={()=>{q(n?"all":e.id)}}>
100
+ {se.map(e=>{const n=A===e.id,s=e.color||AppColors_1.AppColors.purple,c=n?AppColors_1.AppColors.white:s;return<TouchableScale_1.default testID={`inspector.network.filter.${e.id.toLowerCase()}`}key={e.id}onPress={()=>{M(n?"all":e.id)}}>
101
101
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:n?s:`${s}12`,borderWidth:1,borderColor:n?s:`${s}30`,gap:5}}>
102
102
  {e.id==="all"&&<NetworkIcons_1.LayersIcon size={11}color={c}/>}
103
103
  {e.id==="errors"&&<NetworkIcons_1.CircleXIcon size={11}color={c}/>}
@@ -118,15 +118,15 @@
118
118
  </TouchableScale_1.default>})}
119
119
  </react_native_1.ScrollView>
120
120
 
121
- <TouchableScale_1.default onPress={()=>Q(!0)}style={{flexShrink:0}}>
121
+ <TouchableScale_1.default onPress={()=>K(!0)}style={{flexShrink:0}}>
122
122
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:4.5,borderRadius:8,backgroundColor:C?`${AppColors_1.AppColors.purple}20`:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:C?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,gap:5,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.04,shadowRadius:2,shadowOffset:{width:0,height:1},elevation:1}}>
123
123
  <NetworkIcons_1.FilterIcon size={11}color={C?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}/>
124
124
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:C?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}}>
125
- {L("network.moreFilters","More Filters")}
125
+ {R("network.moreFilters","More Filters")}
126
126
  </react_native_1.Text>
127
127
  {C&&<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.purple,paddingHorizontal:4.5,paddingVertical:1,borderRadius:6}}>
128
128
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.white}}>
129
- {re}
129
+ {ae}
130
130
  </react_native_1.Text>
131
131
  </react_native_1.View>}
132
132
  </react_native_1.View>
@@ -134,11 +134,11 @@
134
134
  </react_native_1.View>
135
135
 
136
136
 
137
- {(V!=="all"||t.trim().length>0||C||w.length!==T.length)&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:8,marginBottom:8,paddingHorizontal:8,paddingVertical:5.5,backgroundColor:`${AppColors_1.AppColors.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}25`}}>
137
+ {(A!=="all"||t.trim().length>0||C||w.length!==I.length)&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:8,marginBottom:8,paddingHorizontal:8,paddingVertical:5.5,backgroundColor:`${AppColors_1.AppColors.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}25`}}>
138
138
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.purple}}>
139
- Showing {w.length} of {T.length} requests
139
+ Showing {w.length} of {P.length} requests
140
140
  </react_native_1.Text>
141
- <TouchableScale_1.default onPress={()=>{a(""),q("all"),m(new Set),S(new Set),z("all"),F("all"),I("time_desc"),i("all")}}>
141
+ <TouchableScale_1.default onPress={()=>{a(""),M("all"),m(new Set),S(new Set),x("all"),z("all"),F("time_desc"),i("all")}}>
142
142
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.errorColor}}>
143
143
  Clear All Filters
144
144
  </react_native_1.Text>
@@ -146,8 +146,10 @@
146
146
  </react_native_1.View>}
147
147
  </react_native_1.View>
148
148
 
149
- <react_native_1.FlatList ref={ee}data={M}keyExtractor={oe}renderItem={ne}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={t.length>0||C||V!=="all"}searchQuery={t}customTitle={t.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{a(""),m(new Set),S(new Set),z("all"),F("all"),I("time_desc"),q("all"),i("all")}}/>}ListFooterComponent={l.length>0?<EndOfListFooter_1.default count={u?w.length:Math.min(R,w.length)}totalCount={w.length}label="requests"hasMore={!u&&w.length>R}loadMoreStep={30}onLoadMore={()=>X(e=>e+30)}/>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
149
+ <react_native_1.FlatList ref={oe}data={E}keyExtractor={le}renderItem={ce}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={t.length>0||C||A!=="all"}searchQuery={t}customTitle={t.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{a(""),m(new Set),S(new Set),x("all"),z("all"),F("time_desc"),M("all"),i("all")}}/>}ListFooterComponent={l.length>0?<react_native_1.View style={{paddingBottom:24}}>
150
+ <EndOfListFooter_1.default count={u?w.length:Math.min(k,w.length)}totalCount={w.length}label="requests"hasMore={!u&&w.length>k}loadMoreStep={30}onLoadMore={()=>Y(e=>e+30)}/>
151
+ </react_native_1.View>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
150
152
 
151
153
 
152
- <NetworkFilterModal_1.default visible={te}onClose={()=>Q(!1)}filters={le}onApply={ae}searchQuery={t}/>
154
+ <NetworkFilterModal_1.default visible={re}onClose={()=>K(!1)}filters={ie}onApply={ne}searchQuery={t}/>
153
155
  </react_native_1.View>});exports.default=NetworkTab;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const PerformanceTab: React.FC;