react-native-inapp-inspector 2.5.12 → 2.5.13

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 (186) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/8.9/gc.properties +0 -0
  7. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  8. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/9.2.0/gc.properties +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  14. package/android/.gradle/vcs-1/gc.properties +0 -0
  15. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  16. package/android/src/main/AndroidManifest.xml +11 -0
  17. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +379 -19
  18. package/android/src/main/res/xml/inappinspector_file_paths.xml +7 -0
  19. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +47 -49
  20. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  21. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
  22. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
  23. package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
  24. package/dist/commonjs/components/Inspector/DebuggingTab.js +24 -24
  25. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
  26. package/dist/commonjs/components/Inspector/FabLauncher.js +2 -2
  27. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
  28. package/dist/commonjs/components/Inspector/InspectorHeader.js +10 -10
  29. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +10 -10
  30. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
  31. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
  32. package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
  33. package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
  34. package/dist/commonjs/components/Inspector/NetworkTab.js +48 -41
  35. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
  36. package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
  37. package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
  38. package/dist/commonjs/components/Inspector/SettingsPanel.js +3 -6
  39. package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
  40. package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
  41. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  42. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
  43. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
  44. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
  45. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  46. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
  47. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
  48. package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
  49. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  50. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
  51. package/dist/commonjs/components/Inspector/index.d.ts +28 -0
  52. package/dist/commonjs/components/Inspector/index.js +1 -0
  53. package/dist/commonjs/components/LogCard.js +9 -7
  54. package/dist/commonjs/constants/index.js +1 -1
  55. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  56. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  57. package/dist/commonjs/constants/version.d.ts +1 -1
  58. package/dist/commonjs/constants/version.js +1 -1
  59. package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
  60. package/dist/commonjs/customHooks/crashHandler.js +6 -6
  61. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
  62. package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
  63. package/dist/commonjs/helpers/index.js +1 -3
  64. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
  65. package/dist/commonjs/helpers/searchQueryParser.js +7 -5
  66. package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
  67. package/dist/commonjs/helpers/shareFormatter.js +16 -9
  68. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
  69. package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
  70. package/dist/commonjs/i18n/locales/ar.json +1 -1
  71. package/dist/commonjs/i18n/locales/bn.json +1 -1
  72. package/dist/commonjs/i18n/locales/de.json +1 -1
  73. package/dist/commonjs/i18n/locales/en.json +1 -1
  74. package/dist/commonjs/i18n/locales/es.json +1 -1
  75. package/dist/commonjs/i18n/locales/fr.json +1 -1
  76. package/dist/commonjs/i18n/locales/gu.json +1 -1
  77. package/dist/commonjs/i18n/locales/hi.json +1 -1
  78. package/dist/commonjs/i18n/locales/id.json +1 -1
  79. package/dist/commonjs/i18n/locales/it.json +1 -1
  80. package/dist/commonjs/i18n/locales/ja.json +1 -1
  81. package/dist/commonjs/i18n/locales/kn.json +1 -1
  82. package/dist/commonjs/i18n/locales/ko.json +1 -1
  83. package/dist/commonjs/i18n/locales/ml.json +1 -1
  84. package/dist/commonjs/i18n/locales/mr.json +1 -1
  85. package/dist/commonjs/i18n/locales/nl.json +1 -1
  86. package/dist/commonjs/i18n/locales/pa.json +1 -1
  87. package/dist/commonjs/i18n/locales/pl.json +1 -1
  88. package/dist/commonjs/i18n/locales/pt.json +1 -1
  89. package/dist/commonjs/i18n/locales/ru.json +1 -1
  90. package/dist/commonjs/i18n/locales/ta.json +1 -1
  91. package/dist/commonjs/i18n/locales/te.json +1 -1
  92. package/dist/commonjs/i18n/locales/tr.json +1 -1
  93. package/dist/commonjs/i18n/locales/vi.json +1 -1
  94. package/dist/commonjs/i18n/locales/zh.json +1 -1
  95. package/dist/commonjs/index.d.ts +3 -1
  96. package/dist/commonjs/index.js +3 -3
  97. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  98. package/dist/commonjs/native/NativeInspector.js +1 -1
  99. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  100. package/dist/commonjs/types/editor.d.ts +31 -0
  101. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
  102. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  103. package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
  104. package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
  105. package/dist/esm/components/Inspector/CrashTab.js +58 -58
  106. package/dist/esm/components/Inspector/DebuggingTab.js +89 -89
  107. package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
  108. package/dist/esm/components/Inspector/FabLauncher.js +21 -21
  109. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
  110. package/dist/esm/components/Inspector/InspectorHeader.js +26 -26
  111. package/dist/esm/components/Inspector/MediaGalleryTab.js +151 -151
  112. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
  113. package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
  114. package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
  115. package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
  116. package/dist/esm/components/Inspector/NetworkTab.js +118 -111
  117. package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
  118. package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
  119. package/dist/esm/components/Inspector/ReduxTab.js +9 -9
  120. package/dist/esm/components/Inspector/SettingsPanel.js +3 -6
  121. package/dist/esm/components/Inspector/SocketCard.js +13 -13
  122. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  123. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  124. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
  125. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
  126. package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
  127. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  128. package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
  129. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
  130. package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
  131. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  132. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
  133. package/dist/esm/components/Inspector/index.d.ts +28 -0
  134. package/dist/esm/components/Inspector/index.js +1 -0
  135. package/dist/esm/components/LogCard.js +57 -55
  136. package/dist/esm/constants/index.js +1 -1
  137. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  138. package/dist/esm/constants/telemetryConfig.js +1 -1
  139. package/dist/esm/constants/version.d.ts +1 -1
  140. package/dist/esm/constants/version.js +1 -1
  141. package/dist/esm/customHooks/crashHandler.d.ts +1 -1
  142. package/dist/esm/customHooks/crashHandler.js +6 -6
  143. package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
  144. package/dist/esm/customHooks/uiInspectorManager.js +1 -0
  145. package/dist/esm/helpers/index.js +4 -6
  146. package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
  147. package/dist/esm/helpers/searchQueryParser.js +7 -5
  148. package/dist/esm/helpers/shareFormatter.d.ts +16 -0
  149. package/dist/esm/helpers/shareFormatter.js +20 -13
  150. package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
  151. package/dist/esm/helpers/uiInspectorEngine.js +19 -0
  152. package/dist/esm/i18n/locales/ar.json +1 -1
  153. package/dist/esm/i18n/locales/bn.json +1 -1
  154. package/dist/esm/i18n/locales/de.json +1 -1
  155. package/dist/esm/i18n/locales/en.json +1 -1
  156. package/dist/esm/i18n/locales/es.json +1 -1
  157. package/dist/esm/i18n/locales/fr.json +1 -1
  158. package/dist/esm/i18n/locales/gu.json +1 -1
  159. package/dist/esm/i18n/locales/hi.json +1 -1
  160. package/dist/esm/i18n/locales/id.json +1 -1
  161. package/dist/esm/i18n/locales/it.json +1 -1
  162. package/dist/esm/i18n/locales/ja.json +1 -1
  163. package/dist/esm/i18n/locales/kn.json +1 -1
  164. package/dist/esm/i18n/locales/ko.json +1 -1
  165. package/dist/esm/i18n/locales/ml.json +1 -1
  166. package/dist/esm/i18n/locales/mr.json +1 -1
  167. package/dist/esm/i18n/locales/nl.json +1 -1
  168. package/dist/esm/i18n/locales/pa.json +1 -1
  169. package/dist/esm/i18n/locales/pl.json +1 -1
  170. package/dist/esm/i18n/locales/pt.json +1 -1
  171. package/dist/esm/i18n/locales/ru.json +1 -1
  172. package/dist/esm/i18n/locales/ta.json +1 -1
  173. package/dist/esm/i18n/locales/te.json +1 -1
  174. package/dist/esm/i18n/locales/tr.json +1 -1
  175. package/dist/esm/i18n/locales/vi.json +1 -1
  176. package/dist/esm/i18n/locales/zh.json +1 -1
  177. package/dist/esm/index.d.ts +3 -1
  178. package/dist/esm/index.js +7 -7
  179. package/dist/esm/native/NativeInspector.d.ts +2 -0
  180. package/dist/esm/native/NativeInspector.js +1 -1
  181. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  182. package/dist/esm/types/editor.d.ts +31 -0
  183. package/ios/NetworkInspectorModule.mm +314 -16
  184. package/package.json +1 -1
  185. package/src/native/NativeInspector.ts +37 -0
  186. package/src/native/NativeNetworkInspector.ts +2 -0
@@ -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"),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]}>
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")),NetworkExportModal_1=__importDefault(require("./NetworkExportModal")),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:x,setQuickFilter:D,handleDelete:re,isGroupByPageEnabled:S,setIsGroupByPageEnabled:le,selectedLogs:z,sortOrder:ae,setSortOrder:F,statusFilters:u,setStatusFilters:m,methodFilters:p,setMethodFilters:T,latencyFilter:h,setLatencyFilter:I,protocolFilter:y,setProtocolFilter:k,networkSortBy:b,setNetworkSortBy:L,filteredLogs:f,logs:P,hiddenUrlPatterns:R,toggleSectionFilter:j,toggleSectionCollapse:G,minStart:W,totalRange:Q,newLogIds:U,toggleSelect:K,setSelected:X,maxNetworkLogs:N}=(0,InspectorContext_1.useInspector)(),{t:A}=(0,i18n_1.useTranslation)(),J=(0,react_1.useRef)(null),[ie,Y]=react_1.default.useState(!1),[se,Z]=react_1.default.useState(!1),[ee,te]=react_1.default.useState(!1),[B,oe]=react_1.default.useState(N||50),M=!!(t&&t.trim().length>0),g=S&&!M;react_1.default.useEffect(()=>{oe(N||50),M&&J.current?.scrollToOffset({offset:0,animated:!1})},[t,x,N,M]);const $=(0,react_1.useMemo)(()=>g?l:l.slice(0,B),[g,l,B]),ne=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),C=(0,react_1.useMemo)(()=>u.size>0&&!u.has("all")||p.size>0&&!p.has("all")||h!=="all"||y!=="all"||b!=="time_desc",[u,p,h,y,b]),ce=(0,react_1.useMemo)(()=>{let e=0;return u.size>0&&!u.has("all")&&(e+=u.size),p.size>0&&!p.has("all")&&(e+=p.size),h!=="all"&&e++,y!=="all"&&e++,b!=="time_desc"&&e++,e},[u,p,h,y,b]),de=(0,react_1.useMemo)(()=>({statusCodes:u.size>0?new Set(u):new Set(["all"]),methods:p.size>0?new Set(p):new Set(["all"]),latency:h,protocol:y,sortBy:b}),[u,p,h,y,b]),ue=(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?T(new Set):T(new Set([...e.methods].map(s=>s))),I(e.latency||"all"),k(e.protocol||"all"),L(e.sortBy||"time_desc"),e.sortBy==="time_asc"?F("oldest"):F("newest")},[m,T,I,k,L,F]),V=(0,react_1.useMemo)(()=>!R||R.length===0?P:P.filter(e=>!(0,helpers_1.isUrlHidden)(e.url,R)),[P,R]),w=(0,react_1.useMemo)(()=>{let e=0,s=0,n=0,c=0,v=0,q=0;return V.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&&s++,(d.duration||0)>=500&&n++;const O=(d.method||"").toUpperCase();O==="POST"&&c++,O==="GET"&&v++;const _=(d.url||"").toLowerCase(),E=(d.client||"").toLowerCase();(_.includes("graphql")||E.includes("graphql")||E.includes("apollo"))&&q++}),{all:V.length,errors:e,success:s,slow:n,post:c,get:v,graphql:q}},[V]),pe=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:w.all,color:AppColors_1.AppColors.purple},{id:"errors",label:"Errors",count:w.errors,color:AppColors_1.AppColors.errorColor},{id:"success",label:"2xx OK",count:w.success,color:AppColors_1.AppColors.greenColor},{id:"slow",label:"Slow >500ms",count:w.slow,color:AppColors_1.AppColors.warningIconGold},{id:"POST",label:"POST",count:w.post,color:constants_1.METHOD_COLORS.POST||AppColors_1.AppColors.blue500},{id:"GET",label:"GET",count:w.get,color:constants_1.METHOD_COLORS.GET||AppColors_1.AppColors.emerald500},{id:"graphql",label:"GraphQL",count:w.graphql,color:AppColors_1.AppColors.graphqlPink}],[w]),fe=(0,react_1.useCallback)(({item:e,index:s})=>{if(e.type==="header")return<AnimatedEntrance_1.default index={s}distance={8}>
2
+ <DomainHeader_1.default pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={j}isCollapsed={e.isCollapsed}onToggleCollapse={G}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
+ </AnimatedEntrance_1.default>;if(e.type==="loadMore"){const{pageName:d,color:o,remainingCount:O,totalCount:_,loadedCount:E,loadMoreStep:H,hasMore:ge}=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
- {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}}>
8
+ {ge?<TouchableScale_1.default onPress={()=>r(d,H||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
- {R("footer.loadMoreRequests",{count:N,defaultValue:`Load ${N} More Requests`})}
15
+ {A("footer.loadMoreRequests",{count:H,defaultValue:`Load ${H} 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 {O} of {_} requests
18
+ Showing {E} 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
- +{B}
25
+ +{O}
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
- {R("footer.allLoaded",{count:_,defaultValue:`All ${_} requests loaded`})}
37
+ {A("footer.allLoaded",{count:_,defaultValue:`All ${_} requests loaded`})}
38
38
  </react_native_1.Text>
39
39
  </react_native_1.View>
40
40
 
@@ -45,26 +45,26 @@
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: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
- {u&&<react_native_1.View style={styles_1.default.treeLines}>
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}]}/>}
48
+ </react_native_1.View>}const{log:n,isLast:c,color:v}=e,q=$.slice(0,s).filter(d=>!d.type).length;return<AnimatedEntrance_1.default index={s}distance={8}style={g?[styles_1.default.treeNodeRow,c&&styles_1.default.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
49
+ {g&&<react_native_1.View style={styles_1.default.treeLines}>
50
+ <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:v},c&&styles_1.default.modernTreeLineLast]}/>
51
+ {!c&&<react_native_1.View style={[styles_1.default.modernTreeBranch,{borderColor:v}]}/>}
52
52
  </react_native_1.View>}
53
- <react_native_1.View style={u?styles_1.default.treeCardWrapper:{flex:1}}>
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}/>
53
+ <react_native_1.View style={g?styles_1.default.treeCardWrapper:{flex:1}}>
54
+ <LogCard_1.default testID={`inspector.network.item.${q}`}item={n}isSelected={z.has(n.id)}onToggleSelect={K}onPress={()=>{X(n)}}timelineMinStart={W}timelineTotalRange={Q}isNew={U.has(n.id)}searchStr={t}/>
55
55
  </react_native_1.View>
56
- </AnimatedEntrance_1.default>},[E,u,j,W,G,V,Q,t,$,H,r,U,R]);return<react_native_1.View style={{flex:1}}>
56
+ </AnimatedEntrance_1.default>},[$,g,W,Q,U,z,K,t,j,G,r,X,A]);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,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"/>
60
+ <react_native_1.View style={[styles_1.default.searchContainer,ee&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
61
+ <NetworkIcons_1.SearchIcon color={ee?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={15}/>
62
+ <react_native_1.TextInput placeholder={A("network.searchPlaceholder","Search APIs...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={a}onFocus={()=>te(!0)}onBlur={()=>te(!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}}>
66
66
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold}}>
67
- {w.length}
67
+ {f.length}
68
68
  </react_native_1.Text>
69
69
  </react_native_1.View>
70
70
  <react_native_1.Pressable onPress={()=>a("")}hitSlop={10}style={styles_1.default.clearBtn}>
@@ -74,22 +74,26 @@
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={Z}hitSlop={6}>
77
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.purple}38`,backgroundColor:`${AppColors_1.AppColors.purple}0F`}]}onPress={()=>Z(!0)}hitSlop={6}testID="inspector.network.exportBtn">
78
+ <NetworkIcons_1.ExportIcon color={AppColors_1.AppColors.purple}size={15}/>
79
+ </TouchableScale_1.default>
80
+
81
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={re}hitSlop={6}>
78
82
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
79
- {V.size>0&&<react_native_1.View style={styles_1.default.trashBadge}>
83
+ {z.size>0&&<react_native_1.View style={styles_1.default.trashBadge}>
80
84
  <react_native_1.Text style={styles_1.default.trashBadgeText}>
81
- {V.size}
85
+ {z.size}
82
86
  </react_native_1.Text>
83
87
  </react_native_1.View>}
84
88
  </TouchableScale_1.default>
85
89
 
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
- <NetworkIcons_1.LayersIcon color={u?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}size={16}/>
88
- {u&&<react_native_1.View style={styles_1.default.activeFilterDot}/>}
90
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,S&&{borderColor:AppColors_1.AppColors.purple,backgroundColor:`${AppColors_1.AppColors.purple}15`}]}onPress={()=>le(e=>!e)}hitSlop={6}accessibilityLabel={M?"Page Accordion Grouping Preserved (Temporarily in List View for Search Results)":S?"Page Accordion Grouping Enabled (Tap for Plain List)":"Plain List Enabled (Tap for Page Accordion)"}accessibilityRole="button">
91
+ <NetworkIcons_1.LayersIcon color={S?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}size={16}/>
92
+ {S&&<react_native_1.View style={styles_1.default.activeFilterDot}/>}
89
93
  </TouchableScale_1.default>
90
94
 
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}/>
95
+ <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>F(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
96
+ <NetworkIcons_1.SortArrowIcon direction={ae==="newest"?"down":"up"}color={AppColors_1.AppColors.grayTextStrong}size={18}/>
93
97
  </TouchableScale_1.default>
94
98
  </react_native_1.View>
95
99
  </react_native_1.View>
@@ -97,8 +101,8 @@
97
101
 
98
102
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
99
103
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
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
- <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}}>
104
+ {pe.map(e=>{const s=x===e.id,n=e.color||AppColors_1.AppColors.purple,c=s?AppColors_1.AppColors.white:n;return<TouchableScale_1.default testID={`inspector.network.filter.${e.id.toLowerCase()}`}key={e.id}onPress={()=>{D(s?"all":e.id)}}>
105
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:s?n:`${n}12`,borderWidth:1,borderColor:s?n:`${n}30`,gap:5}}>
102
106
  {e.id==="all"&&<NetworkIcons_1.LayersIcon size={11}color={c}/>}
103
107
  {e.id==="errors"&&<NetworkIcons_1.CircleXIcon size={11}color={c}/>}
104
108
  {e.id==="success"&&<NetworkIcons_1.CircleCheckIcon size={11}color={c}/>}
@@ -106,11 +110,11 @@
106
110
  {e.id==="POST"&&<NetworkIcons_1.RequestIcon size={11}color={c}/>}
107
111
  {e.id==="GET"&&<NetworkIcons_1.ResponseIcon size={11}color={c}/>}
108
112
  {e.id==="graphql"&&<NetworkIcons_1.AtomIcon size={11}color={c}/>}
109
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:n?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
113
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:s?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
110
114
  {e.label}
111
115
  </react_native_1.Text>
112
- <react_native_1.View style={{backgroundColor:n?"rgba(255,255,255,0.25)":`${s}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
113
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:n?AppColors_1.AppColors.white:s}}>
116
+ <react_native_1.View style={{backgroundColor:s?"rgba(255,255,255,0.25)":`${n}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
117
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:s?AppColors_1.AppColors.white:n}}>
114
118
  {e.count}
115
119
  </react_native_1.Text>
116
120
  </react_native_1.View>
@@ -118,15 +122,15 @@
118
122
  </TouchableScale_1.default>})}
119
123
  </react_native_1.ScrollView>
120
124
 
121
- <TouchableScale_1.default onPress={()=>K(!0)}style={{flexShrink:0}}>
125
+ <TouchableScale_1.default onPress={()=>Y(!0)}style={{flexShrink:0}}>
122
126
  <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
127
  <NetworkIcons_1.FilterIcon size={11}color={C?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}/>
124
128
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:C?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}}>
125
- {R("network.moreFilters","More Filters")}
129
+ {A("network.moreFilters","More Filters")}
126
130
  </react_native_1.Text>
127
131
  {C&&<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.purple,paddingHorizontal:4.5,paddingVertical:1,borderRadius:6}}>
128
132
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.white}}>
129
- {ae}
133
+ {ce}
130
134
  </react_native_1.Text>
131
135
  </react_native_1.View>}
132
136
  </react_native_1.View>
@@ -134,11 +138,11 @@
134
138
  </react_native_1.View>
135
139
 
136
140
 
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`}}>
141
+ {(x!=="all"||t.trim().length>0||C||f.length!==P.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
142
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.purple}}>
139
- Showing {w.length} of {P.length} requests
143
+ Showing {f.length} of {V.length} requests
140
144
  </react_native_1.Text>
141
- <TouchableScale_1.default onPress={()=>{a(""),M("all"),m(new Set),S(new Set),x("all"),z("all"),F("time_desc"),i("all")}}>
145
+ <TouchableScale_1.default onPress={()=>{a(""),D("all"),m(new Set),T(new Set),I("all"),k("all"),L("time_desc"),i("all")}}>
142
146
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.errorColor}}>
143
147
  Clear All Filters
144
148
  </react_native_1.Text>
@@ -146,10 +150,13 @@
146
150
  </react_native_1.View>}
147
151
  </react_native_1.View>
148
152
 
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)}/>
153
+ <react_native_1.FlatList ref={J}data={$}keyExtractor={ne}renderItem={fe}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||x!=="all"}searchQuery={t}customTitle={t.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{a(""),m(new Set),T(new Set),I("all"),k("all"),L("time_desc"),D("all"),i("all")}}/>}ListFooterComponent={l.length>0?<react_native_1.View style={{paddingBottom:24}}>
154
+ <EndOfListFooter_1.default count={g?f.length:Math.min(B,f.length)}totalCount={f.length}label="requests"hasMore={!g&&f.length>B}loadMoreStep={30}onLoadMore={()=>oe(e=>e+30)}/>
151
155
  </react_native_1.View>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
152
156
 
153
157
 
154
- <NetworkFilterModal_1.default visible={re}onClose={()=>K(!1)}filters={ie}onApply={ne}searchQuery={t}/>
158
+ <NetworkFilterModal_1.default visible={ie}onClose={()=>Y(!1)}filters={de}onApply={ue}searchQuery={t}/>
159
+
160
+
161
+ <NetworkExportModal_1.default visible={se}onClose={()=>Z(!1)}filteredLogs={f}allLogs={V}/>
155
162
  </react_native_1.View>});exports.default=NetworkTab;
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,r){r===void 0&&(r=a);var o=Object.getOwnPropertyDescriptor(t,a);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,o)}):(function(e,t,a,r){r===void 0&&(r=a),e[r]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var r=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(r[r.length]=o);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var r=e(t),o=0;o<r.length;o++)r[o]!=="default"&&__createBinding(a,t,r[o]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NpmStarPrompt=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),settingsStore_1=require("../../helpers/settingsStore"),telemetry_1=require("../../helpers/telemetry"),NetworkIcons_1=require("../NetworkIcons"),FIVE_DAYS_MS=7200*60*1e3,GITHUB_REPO_URL="https://github.com/vengatmacuser/react-native-inapp-inspector",NPM_PACKAGE_URL="https://www.npmjs.com/package/react-native-inapp-inspector",NpmStarPrompt=()=>{const[e,t]=(0,react_1.useState)(!1),a=(0,react_1.useRef)(new react_native_1.Animated.Value(200)).current,r=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,o=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current;(0,react_1.useEffect)(()=>{let i=!0;async function g(){try{const n=await(0,settingsStore_1.loadSettings)();if(n.starPromptActioned)return;const c=Date.now(),y=n.starPromptFirstSeen||c;n.starPromptFirstSeen||await(0,settingsStore_1.saveSettings)({...n,starPromptFirstSeen:c});const f=n.starPromptLastShown||y;c-f>=FIVE_DAYS_MS&&Math.random()<.65&&i&&setTimeout(()=>{i&&p()},1800)}catch{}}return g(),()=>{i=!1}},[]);const p=async()=>{t(!0);try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptLastShown:Date.now()}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_shown",{trigger:"5_day_interval",platform:react_native_1.Platform.OS})}catch{}react_native_1.Animated.parallel([react_native_1.Animated.spring(a,{toValue:0,friction:8,tension:50,useNativeDriver:!0}),react_native_1.Animated.timing(r,{toValue:1,duration:250,useNativeDriver:!0})]).start(),react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(o,{toValue:1.15,duration:900,useNativeDriver:!0}),react_native_1.Animated.timing(o,{toValue:1,duration:900,useNativeDriver:!0})])).start()},s=i=>{react_native_1.Animated.parallel([react_native_1.Animated.timing(r,{toValue:0,duration:180,useNativeDriver:!0}),react_native_1.Animated.timing(a,{toValue:200,duration:180,useNativeDriver:!0})]).start(()=>{t(!1),i&&i()})},u=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"starred",platform:react_native_1.Platform.OS})}catch{}s(()=>{react_native_1.Linking.openURL(GITHUB_REPO_URL).catch(()=>{react_native_1.Linking.openURL(NPM_PACKAGE_URL).catch(()=>{})})})},d=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"already_starred",platform:react_native_1.Platform.OS})}catch{}s()},l=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptLastShown:Date.now()}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"remind_later",platform:react_native_1.Platform.OS})}catch{}s()},m=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"dont_ask_again",platform:react_native_1.Platform.OS})}catch{}s()};return e?<react_native_1.Modal transparent visible={e}animationType="none"onRequestClose={l}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,r){r===void 0&&(r=a);var o=Object.getOwnPropertyDescriptor(t,a);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,o)}):(function(e,t,a,r){r===void 0&&(r=a),e[r]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var r=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(r[r.length]=o);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var r=e(t),o=0;o<r.length;o++)r[o]!=="default"&&__createBinding(a,t,r[o]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NpmStarPrompt=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),i18n_1=require("../../i18n"),settingsStore_1=require("../../helpers/settingsStore"),telemetry_1=require("../../helpers/telemetry"),NetworkIcons_1=require("../NetworkIcons"),FIVE_DAYS_MS=7200*60*1e3,GITHUB_REPO_URL="https://github.com/vengatmacuser/react-native-inapp-inspector",NPM_PACKAGE_URL="https://www.npmjs.com/package/react-native-inapp-inspector",NpmStarPrompt=()=>{const[e,t]=(0,react_1.useState)(!1),a=(0,react_1.useRef)(new react_native_1.Animated.Value(200)).current,r=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,o=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current;(0,react_1.useEffect)(()=>{let i=!0;async function g(){try{const n=await(0,settingsStore_1.loadSettings)();if(n.starPromptActioned)return;const c=Date.now(),y=n.starPromptFirstSeen||c;n.starPromptFirstSeen||await(0,settingsStore_1.saveSettings)({...n,starPromptFirstSeen:c});const f=n.starPromptLastShown||y;c-f>=FIVE_DAYS_MS&&Math.random()<.65&&i&&setTimeout(()=>{i&&p()},1800)}catch{}}return g(),()=>{i=!1}},[]);const p=async()=>{t(!0);try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptLastShown:Date.now()}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_shown",{trigger:"5_day_interval",platform:react_native_1.Platform.OS})}catch{}react_native_1.Animated.parallel([react_native_1.Animated.spring(a,{toValue:0,friction:8,tension:50,useNativeDriver:!0}),react_native_1.Animated.timing(r,{toValue:1,duration:250,useNativeDriver:!0})]).start(),react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(o,{toValue:1.15,duration:900,useNativeDriver:!0}),react_native_1.Animated.timing(o,{toValue:1,duration:900,useNativeDriver:!0})])).start()},s=i=>{react_native_1.Animated.parallel([react_native_1.Animated.timing(r,{toValue:0,duration:180,useNativeDriver:!0}),react_native_1.Animated.timing(a,{toValue:200,duration:180,useNativeDriver:!0})]).start(()=>{t(!1),i&&i()})},u=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"starred",platform:react_native_1.Platform.OS})}catch{}s(()=>{react_native_1.Linking.openURL(GITHUB_REPO_URL).catch(()=>{react_native_1.Linking.openURL(NPM_PACKAGE_URL).catch(()=>{})})})},d=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"already_starred",platform:react_native_1.Platform.OS})}catch{}s()},l=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptLastShown:Date.now()}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"remind_later",platform:react_native_1.Platform.OS})}catch{}s()},m=async()=>{try{const i=await(0,settingsStore_1.loadSettings)();await(0,settingsStore_1.saveSettings)({...i,starPromptActioned:!0}),(0,telemetry_1.trackTelemetryEvent)("npm_star_prompt_action",{action:"dont_ask_again",platform:react_native_1.Platform.OS})}catch{}s()};return e?<react_native_1.Modal transparent visible={e}animationType="none"onRequestClose={l}>
2
2
  <react_native_1.Animated.View style={[styles.backdrop,{opacity:r}]}>
3
3
  <react_native_1.TouchableOpacity style={react_native_1.StyleSheet.absoluteFill}activeOpacity={1}onPress={l}/>
4
4
 
@@ -18,30 +18,29 @@
18
18
 
19
19
 
20
20
  <react_native_1.View style={styles.pillBadge}>
21
- <react_native_1.Text style={styles.pillBadgeText}>SUPPORT OPEN SOURCE</react_native_1.Text>
21
+ <react_native_1.Text style={styles.pillBadgeText}>{(0,i18n_1.t)("support.supportOpenSource","SUPPORT OPEN SOURCE")}</react_native_1.Text>
22
22
  </react_native_1.View>
23
23
 
24
24
 
25
- <react_native_1.Text style={styles.title}>Enjoying In-App Inspector?</react_native_1.Text>
25
+ <react_native_1.Text style={styles.title}>{(0,i18n_1.t)("support.enjoyingTitle","Enjoying In-App Inspector?")}</react_native_1.Text>
26
26
  <react_native_1.Text style={styles.description}>
27
- If this debugging tool saves you time, please consider giving us a
28
- star on GitHub & npm. Your support helps us build more features!
27
+ {(0,i18n_1.t)("support.enjoyingSubtitle","If this debugging tool saves you time, please consider giving us a star on GitHub & npm. Your support helps us build more features!")}
29
28
  </react_native_1.Text>
30
29
 
31
30
 
32
31
  <react_native_1.View style={styles.metricsBar}>
33
32
  <react_native_1.View style={styles.metricItem}>
34
33
  <NetworkIcons_1.GitHubIcon size={13}color={AppColors_1.AppColors.grayText}/>
35
- <react_native_1.Text style={styles.metricText}>GitHub Star</react_native_1.Text>
34
+ <react_native_1.Text style={styles.metricText}>{(0,i18n_1.t)("support.githubStar","GitHub Star")}</react_native_1.Text>
36
35
  </react_native_1.View>
37
36
  <react_native_1.View style={styles.metricDot}/>
38
37
  <react_native_1.View style={styles.metricItem}>
39
38
  <NetworkIcons_1.NpmIcon size={13}color={AppColors_1.AppColors.npmRed}/>
40
- <react_native_1.Text style={styles.metricText}>npm Package</react_native_1.Text>
39
+ <react_native_1.Text style={styles.metricText}>{(0,i18n_1.t)("support.npmPackage","npm Package")}</react_native_1.Text>
41
40
  </react_native_1.View>
42
41
  <react_native_1.View style={styles.metricDot}/>
43
42
  <react_native_1.View style={styles.metricItem}>
44
- <react_native_1.Text style={styles.metricText}>100% Free</react_native_1.Text>
43
+ <react_native_1.Text style={styles.metricText}>{(0,i18n_1.t)("support.free100","100% Free")}</react_native_1.Text>
45
44
  </react_native_1.View>
46
45
  </react_native_1.View>
47
46
 
@@ -49,7 +48,7 @@
49
48
  <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel="Star on GitHub"onPress={u}style={styles.primaryButton}>
50
49
  <react_native_1.View style={styles.primaryButtonContent}>
51
50
  <NetworkIcons_1.StarIcon size={16}color={AppColors_1.AppColors.white}/>
52
- <react_native_1.Text style={styles.primaryButtonText}>Star on GitHub & npm</react_native_1.Text>
51
+ <react_native_1.Text style={styles.primaryButtonText}>{(0,i18n_1.t)("support.starOnGithubNpm","Star on GitHub & npm")}</react_native_1.Text>
53
52
  </react_native_1.View>
54
53
  </TouchableScale_1.default>
55
54
 
@@ -57,20 +56,20 @@
57
56
  <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel="I already starred"onPress={d}style={styles.secondaryButton}>
58
57
  <react_native_1.View style={styles.secondaryButtonContent}>
59
58
  <NetworkIcons_1.CheckIcon size={13}color={AppColors_1.AppColors.purple}/>
60
- <react_native_1.Text style={styles.secondaryButtonText}>I Already Starred</react_native_1.Text>
59
+ <react_native_1.Text style={styles.secondaryButtonText}>{(0,i18n_1.t)("support.alreadyStarred","I Already Starred")}</react_native_1.Text>
61
60
  </react_native_1.View>
62
61
  </TouchableScale_1.default>
63
62
 
64
63
 
65
64
  <react_native_1.View style={styles.footerRow}>
66
65
  <react_native_1.TouchableOpacity onPress={l}hitSlop={{top:8,bottom:8,left:8,right:8}}>
67
- <react_native_1.Text style={styles.footerLinkText}>Remind Me Later</react_native_1.Text>
66
+ <react_native_1.Text style={styles.footerLinkText}>{(0,i18n_1.t)("support.remindMeLater","Remind Me Later")}</react_native_1.Text>
68
67
  </react_native_1.TouchableOpacity>
69
68
 
70
69
  <react_native_1.View style={styles.footerSeparator}/>
71
70
 
72
71
  <react_native_1.TouchableOpacity onPress={m}hitSlop={{top:8,bottom:8,left:8,right:8}}>
73
- <react_native_1.Text style={styles.footerLinkTextMuted}>Don't Ask Again</react_native_1.Text>
72
+ <react_native_1.Text style={styles.footerLinkTextMuted}>{(0,i18n_1.t)("support.dontAskAgain","Don't Ask Again")}</react_native_1.Text>
74
73
  </react_native_1.TouchableOpacity>
75
74
  </react_native_1.View>
76
75
  </react_native_1.Animated.View>
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,i,l,o){o===void 0&&(o=l);var t=Object.getOwnPropertyDescriptor(i,l);(!t||("get"in t?!i.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,o,t)}):(function(e,i,l,o){o===void 0&&(o=l),e[o]=i[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}):function(e,i){e.default=i}),__importStar=this&&this.__importStar||(function(){var e=function(i){return e=Object.getOwnPropertyNames||function(l){var o=[];for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&(o[o.length]=t);return o},e(i)};return function(i){if(i&&i.__esModule)return i;var l={};if(i!=null)for(var o=e(i),t=0;t<o.length;t++)o[t]!=="default"&&__createBinding(l,i,o[t]);return __setModuleDefault(l,i),l}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),JsonViewer_1=__importDefault(require("../JsonViewer")),DiffViewer_1=__importDefault(require("../DiffViewer")),CopyButton_1=__importDefault(require("../CopyButton")),ShareButton_1=__importDefault(require("../ShareButton")),TouchableScale_1=__importDefault(require("../TouchableScale")),HighlightText_1=__importDefault(require("../HighlightText")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),reduxLogger_1=require("../../customHooks/reduxLogger"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),settingsStore_1=require("../../helpers/settingsStore"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=e=>{switch(e){case"saga":return{label:"SAGA",renderIcon:(i,l=9)=><NetworkIcons_1.AtomIcon color={i}size={l}/>,bg:AppColors_1.AppColors.purple100,text:AppColors_1.AppColors.brandPurple,border:AppColors_1.AppColors.purple200};case"thunk":return{label:"THUNK",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.amber100,text:AppColors_1.AppColors.amber800Warm,border:AppColors_1.AppColors.amber200};case"epic":return{label:"EPIC",renderIcon:(i,l=9)=><NetworkIcons_1.TerminalIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};case"listener":return{label:"LISTENER",renderIcon:(i,l=9)=><NetworkIcons_1.ListenerIcon color={i}size={l}/>,bg:AppColors_1.AppColors.teal100,text:AppColors_1.AppColors.teal700,border:AppColors_1.AppColors.teal400};case"component":return{label:"UI DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.ScreenIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};default:return{label:"DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.slate100,text:AppColors_1.AppColors.slate700,border:AppColors_1.AppColors.slate200}}},ReduxDetail=react_1.default.memo(()=>{const{t:e}=(0,i18n_1.useTranslation)(),{reduxState:i,reduxLastActionMap:l,selectedReduxSlice:o,selectedReduxAction:t}=(0,InspectorContext_1.useInspector)(),[d,S]=(0,react_1.useState)(""),[y,V]=(0,react_1.useState)("live"),[T,F]=(0,react_1.useState)("payload"),[k,B]=(0,react_1.useState)("raw"),[P,W]=(0,react_1.useState)(null),[_,A]=(0,react_1.useState)(!1),[b,g]=(0,react_1.useState)(null),h=(0,react_1.useMemo)(()=>(0,reduxLogger_1.getActionHistory)(),[l]),x=(0,react_1.useMemo)(()=>o?h.filter(a=>!a.affectedSlices||a.affectedSlices.length===0?!0:a.affectedSlices.includes(o)):h,[h,o]),I=(0,react_1.useMemo)(()=>{if(!d.trim())return x;const a=d.toLowerCase();return x.filter(p=>p.type.toLowerCase().includes(a)||p.callerFile&&p.callerFile.toLowerCase().includes(a)||p.payload&&JSON.stringify(p.payload).toLowerCase().includes(a))},[x,d]);(0,react_1.useEffect)(()=>{if(!o)return;async function a(){try{const p=(0,settingsStore_1.getCustomStorage)();if(!p){A(!1),g(null);return}let c=await p.getItem(`persist:${o}`);if(c){try{g(JSON.parse(c))}catch{g(c)}A(!0);return}let n=await p.getItem("persist:root");if(n){const r=JSON.parse(n);if(r&&r[o]!==void 0){const s=r[o];try{g(typeof s=="string"?JSON.parse(s):s)}catch{g(s)}A(!0);return}}}catch{}A(!1),g(null)}a()},[o]);const z=()=>{o&&react_native_1.Alert.alert(e("redux.clearPersistedTitle","Clear Persisted State"),e("redux.clearPersistedMessage",'Are you sure you want to delete persisted storage for slice "{{slice}}"?').replace("{{slice}}",o||""),[{text:e("common.cancel","Cancel"),style:"cancel"},{text:"Delete",style:"destructive",onPress:async()=>{try{const a=(0,settingsStore_1.getCustomStorage)();if(!a)return;typeof a.removeItem=="function"?await a.removeItem(`persist:${o}`):await a.setItem(`persist:${o}`,""),A(!1),g(null),V("live"),react_native_1.Platform.OS==="android"?react_native_1.ToastAndroid.show("Persisted state cleared",react_native_1.ToastAndroid.SHORT):react_native_1.Alert.alert(e("redux.clearedPersisted","Persisted state has been cleared."))}catch{react_native_1.Alert.alert(e("common.failed","Failed"),e("redux.clearPersistedError","Failed to clear persisted state."))}}}])};if(o!=null){const a=i?.[o],p=a&&typeof a=="object"?Object.keys(a).length:typeof a<"u"?1:0,c=l[o],n=[{key:"live",label:e("redux.liveState","Live State"),icon:r=><NetworkIcons_1.LiveStateIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"timeline",label:`${e("redux.timeline","Timeline")} (${x.length})`,icon:r=><NetworkIcons_1.TimelineIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"persisted",label:_?e("redux.persisted","Persisted"):e("redux.storage","Storage"),icon:r=><NetworkIcons_1.StorageIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"metadata",label:e("redux.metadata","Metadata"),icon:r=><NetworkIcons_1.MetadataIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>}];return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,i,l,o){o===void 0&&(o=l);var t=Object.getOwnPropertyDescriptor(i,l);(!t||("get"in t?!i.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,o,t)}):(function(e,i,l,o){o===void 0&&(o=l),e[o]=i[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}):function(e,i){e.default=i}),__importStar=this&&this.__importStar||(function(){var e=function(i){return e=Object.getOwnPropertyNames||function(l){var o=[];for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&(o[o.length]=t);return o},e(i)};return function(i){if(i&&i.__esModule)return i;var l={};if(i!=null)for(var o=e(i),t=0;t<o.length;t++)o[t]!=="default"&&__createBinding(l,i,o[t]);return __setModuleDefault(l,i),l}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),JsonViewer_1=__importDefault(require("../JsonViewer")),DiffViewer_1=__importDefault(require("../DiffViewer")),CopyButton_1=__importDefault(require("../CopyButton")),ShareButton_1=__importDefault(require("../ShareButton")),TouchableScale_1=__importDefault(require("../TouchableScale")),HighlightText_1=__importDefault(require("../HighlightText")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),reduxLogger_1=require("../../customHooks/reduxLogger"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),settingsStore_1=require("../../helpers/settingsStore"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=e=>{switch(e){case"saga":return{label:"SAGA",renderIcon:(i,l=9)=><NetworkIcons_1.AtomIcon color={i}size={l}/>,bg:AppColors_1.AppColors.purple100,text:AppColors_1.AppColors.brandPurple,border:AppColors_1.AppColors.purple200};case"thunk":return{label:"THUNK",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.amber100,text:AppColors_1.AppColors.amber800Warm,border:AppColors_1.AppColors.amber200};case"epic":return{label:"EPIC",renderIcon:(i,l=9)=><NetworkIcons_1.TerminalIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};case"listener":return{label:"LISTENER",renderIcon:(i,l=9)=><NetworkIcons_1.ListenerIcon color={i}size={l}/>,bg:AppColors_1.AppColors.teal100,text:AppColors_1.AppColors.teal700,border:AppColors_1.AppColors.teal400};case"component":return{label:"UI DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.ScreenIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};default:return{label:"DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.slate100,text:AppColors_1.AppColors.slate700,border:AppColors_1.AppColors.slate200}}},ReduxDetail=react_1.default.memo(()=>{const{t:e}=(0,i18n_1.useTranslation)(),{reduxState:i,reduxLastActionMap:l,selectedReduxSlice:o,selectedReduxAction:t}=(0,InspectorContext_1.useInspector)(),[d,S]=(0,react_1.useState)(""),[y,V]=(0,react_1.useState)("live"),[T,P]=(0,react_1.useState)("payload"),[k,B]=(0,react_1.useState)("raw"),[F,D]=(0,react_1.useState)(null),[_,A]=(0,react_1.useState)(!1),[b,g]=(0,react_1.useState)(null),h=(0,react_1.useMemo)(()=>(0,reduxLogger_1.getActionHistory)(),[l]),m=(0,react_1.useMemo)(()=>o?h.filter(a=>!a.affectedSlices||a.affectedSlices.length===0?!0:a.affectedSlices.includes(o)):h,[h,o]),I=(0,react_1.useMemo)(()=>{if(!d.trim())return m;const a=d.toLowerCase();return m.filter(p=>p.type.toLowerCase().includes(a)||p.callerFile&&p.callerFile.toLowerCase().includes(a)||p.payload&&JSON.stringify(p.payload).toLowerCase().includes(a))},[m,d]);(0,react_1.useEffect)(()=>{if(!o)return;async function a(){try{const p=(0,settingsStore_1.getCustomStorage)();if(!p){A(!1),g(null);return}let c=await p.getItem(`persist:${o}`);if(c){try{g(JSON.parse(c))}catch{g(c)}A(!0);return}let n=await p.getItem("persist:root");if(n){const r=JSON.parse(n);if(r&&r[o]!==void 0){const s=r[o];try{g(typeof s=="string"?JSON.parse(s):s)}catch{g(s)}A(!0);return}}}catch{}A(!1),g(null)}a()},[o]);const z=()=>{o&&react_native_1.Alert.alert(e("redux.clearPersistedTitle","Clear Persisted State"),e("redux.clearPersistedMessage",'Are you sure you want to delete persisted storage for slice "{{slice}}"?').replace("{{slice}}",o||""),[{text:e("common.cancel","Cancel"),style:"cancel"},{text:"Delete",style:"destructive",onPress:async()=>{try{const a=(0,settingsStore_1.getCustomStorage)();if(!a)return;typeof a.removeItem=="function"?await a.removeItem(`persist:${o}`):await a.setItem(`persist:${o}`,""),A(!1),g(null),V("live"),react_native_1.Platform.OS==="android"?react_native_1.ToastAndroid.show("Persisted state cleared",react_native_1.ToastAndroid.SHORT):react_native_1.Alert.alert(e("redux.clearedPersisted","Persisted state has been cleared."))}catch{react_native_1.Alert.alert(e("common.failed","Failed"),e("redux.clearPersistedError","Failed to clear persisted state."))}}}])};if(o!=null){const a=i?.[o],p=a&&typeof a=="object"?Object.keys(a).length:typeof a<"u"?1:0,c=l[o],n=[{key:"live",label:e("redux.liveState","Live State"),icon:r=><NetworkIcons_1.LiveStateIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"timeline",label:`${e("redux.timeline","Timeline")} (${m.length})`,icon:r=><NetworkIcons_1.TimelineIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"persisted",label:_?e("redux.persisted","Persisted"):e("redux.storage","Storage"),icon:r=><NetworkIcons_1.StorageIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"metadata",label:e("redux.metadata","Metadata"),icon:r=><NetworkIcons_1.MetadataIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>}];return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
2
2
 
3
3
  <react_native_1.View style={reduxDetailStyles.infoBar}>
4
4
  <react_native_1.View style={reduxDetailStyles.infoTopRow}>
@@ -58,7 +58,7 @@
58
58
  {e("redux.timeline","Timeline")}:
59
59
  </react_native_1.Text>
60
60
  <react_native_1.Text style={[reduxDetailStyles.statValue,{color:AppColors_1.AppColors.brandPurple}]}>
61
- {x.length}
61
+ {m.length}
62
62
  </react_native_1.Text>
63
63
  </react_native_1.View>
64
64
  {c&&<react_native_1.View style={[reduxDetailStyles.statPill,{backgroundColor:AppColors_1.AppColors.amber100,borderColor:AppColors_1.AppColors.amber200,flexShrink:1,maxWidth:160}]}>
@@ -92,8 +92,8 @@
92
92
  <react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
93
93
  {d.trim()?"No actions matching your search query.":"No dispatched actions recorded for this slice yet."}
94
94
  </react_native_1.Text>
95
- </react_native_1.View>:I.map((r,s)=>{const C=P===r.id,f=getOriginBadge(r.originType),D=r.callerFile?r.callerFile.split("/").pop():null;return<AnimatedEntrance_1.default key={r.id}index={s}distance={6}>
96
- <TouchableScale_1.default onPress={()=>W(C?null:r.id)}style={reduxDetailStyles.timelineCard}>
95
+ </react_native_1.View>:I.map((r,s)=>{const C=F===r.id,f=getOriginBadge(r.originType),W=r.callerFile?r.callerFile.split("/").pop():null;return<AnimatedEntrance_1.default key={r.id}index={s}distance={6}>
96
+ <TouchableScale_1.default onPress={()=>D(C?null:r.id)}style={reduxDetailStyles.timelineCard}>
97
97
  <react_native_1.View style={reduxDetailStyles.timelineHeader}>
98
98
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0,flexWrap:"wrap"}}>
99
99
  <react_native_1.View style={reduxDetailStyles.actionBadge}>
@@ -128,7 +128,7 @@
128
128
  {e("redux.triggeredFrom","Triggered From:")}
129
129
  </react_native_1.Text>
130
130
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.sky600}}numberOfLines={1}>
131
- {D}:{r.callerLine||1}
131
+ {W}:{r.callerLine||1}
132
132
  </react_native_1.Text>
133
133
  </react_native_1.View>
134
134
 
@@ -149,7 +149,7 @@
149
149
  </react_native_1.Text>
150
150
  <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:8,padding:8,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:4}}>
151
151
  {r.stack.split(`
152
- `).map(m=>m.trim()).filter(m=>m.length>0&&!m.includes("reduxLogger")&&!m.includes("inspectorReduxMiddleware")).slice(0,8).map((m,v)=>{const u=(0,helpers_1.parseStackLine)(m,v===0),w=u.frameType==="app";return<react_native_1.Pressable key={v}onPress={()=>{u.fileName!=="Unknown"&&(0,helpers_1.openInVSCode)(u.fullPath||u.fileName,u.lineNumber,u.columnNumber)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:3,borderBottomWidth:v<7?.5:0,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
152
+ `).map(x=>x.trim()).filter(x=>x.length>0&&!x.includes("reduxLogger")&&!x.includes("inspectorReduxMiddleware")).slice(0,8).map((x,v)=>{const u=(0,helpers_1.parseStackLine)(x,v===0),w=u.frameType==="app";return<react_native_1.Pressable key={v}onPress={()=>{u.fileName!=="Unknown"&&(0,helpers_1.openInVSCode)(u.fullPath||u.fileName,u.lineNumber,u.columnNumber)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:3,borderBottomWidth:v<7?.5:0,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
153
153
  <react_native_1.View style={{flex:1,minWidth:0}}>
154
154
  <react_native_1.Text style={{fontFamily:w?AppFonts_1.AppFonts.interBold:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:w?AppColors_1.AppColors.primaryBlack:AppColors_1.AppColors.grayTextWeak}}numberOfLines={1}>
155
155
  {u.functionName||"anonymous"}
@@ -186,7 +186,7 @@
186
186
  </AnimatedEntrance_1.default>})}
187
187
  </react_native_1.ScrollView>:y==="metadata"?<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:12,paddingBottom:40}}keyboardShouldPersistTaps="handled">
188
188
  <react_native_1.View style={reduxDetailStyles.metadataCard}>
189
- {[{label:"Slice Name",value:o},{label:"Root Keys Count",value:`${p} keys`},{label:"In-Memory State Size",value:(0,helpers_1.getSize)(a)},{label:"Persistence Status",value:_?`Persisted (${(0,helpers_1.getSize)(b)})`:"Not Persisted (In-Memory)"},{label:"Dispatched Actions History",value:`${x.length} recorded actions`},{label:"Last Dispatched Action",value:c?c.type:"None"},{label:"Last Action Timestamp",value:c?c.timestamp:"Initial"}].map((r,s)=><react_native_1.View key={s}style={[reduxDetailStyles.metaRow,s===6&&{borderBottomWidth:0}]}>
189
+ {[{label:"Slice Name",value:o},{label:"Root Keys Count",value:`${p} keys`},{label:"In-Memory State Size",value:(0,helpers_1.getSize)(a)},{label:"Persistence Status",value:_?`Persisted (${(0,helpers_1.getSize)(b)})`:"Not Persisted (In-Memory)"},{label:"Dispatched Actions History",value:`${m.length} recorded actions`},{label:"Last Dispatched Action",value:c?c.type:"None"},{label:"Last Action Timestamp",value:c?c.timestamp:"Initial"}].map((r,s)=><react_native_1.View key={s}style={[reduxDetailStyles.metaRow,s===6&&{borderBottomWidth:0}]}>
190
190
  <react_native_1.Text style={reduxDetailStyles.metaLabel}>{r.label}</react_native_1.Text>
191
191
  <react_native_1.Text style={reduxDetailStyles.metaValue}selectable numberOfLines={2}>
192
192
  {r.value}
@@ -196,7 +196,7 @@
196
196
  {_&&<react_native_1.TouchableOpacity style={reduxDetailStyles.clearPersistBtn}onPress={z}>
197
197
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={14}/>
198
198
  <react_native_1.Text style={reduxDetailStyles.clearPersistText}>
199
- Clear Persisted Storage For This Slice
199
+ {e("redux.clearPersistedStorageSlice","Clear Persisted Storage For This Slice")}
200
200
  </react_native_1.Text>
201
201
  </react_native_1.TouchableOpacity>}
202
202
  </react_native_1.View>
@@ -224,11 +224,10 @@
224
224
  </react_native_1.View>:<react_native_1.View style={reduxDetailStyles.emptyBox}>
225
225
  <NetworkIcons_1.StorageIcon color={AppColors_1.AppColors.grayTextWeak}size={32}/>
226
226
  <react_native_1.Text style={reduxDetailStyles.emptyBoxTitle}>
227
- Not Persisted in Storage
227
+ {e("redux.notPersistedInStorage","Not Persisted in Storage")}
228
228
  </react_native_1.Text>
229
229
  <react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
230
- This slice is not stored in AsyncStorage or redux-persist.
231
- State exists purely in active JavaScript memory.
230
+ {e("redux.notPersistedDesc","This slice is not stored in AsyncStorage or redux-persist. State exists purely in active JavaScript memory.")}
232
231
  </react_native_1.Text>
233
232
  </react_native_1.View>}
234
233
  </react_native_1.View>:<react_native_1.View style={{flex:1,padding:10}}>
@@ -305,20 +304,20 @@
305
304
  <react_native_1.Pressable onPress={()=>(0,helpers_1.openInVSCode)(t.callerFile,t.callerLine,t.callerCol)}hitSlop={8}style={{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.sky100,paddingHorizontal:5,paddingVertical:2,borderRadius:4}}>
306
305
  <NetworkIcons_1.ExternalLinkIcon color={AppColors_1.AppColors.sky600}size={9}/>
307
306
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.sky600}}>
308
- Open in Editor
307
+ {e("redux.openInEditor","Open in Editor")}
309
308
  </react_native_1.Text>
310
309
  </react_native_1.Pressable>
311
310
  </react_native_1.View>}
312
311
 
313
312
 
314
- <SegmentedTabs_1.default tabs={c}activeKey={T}onChange={n=>F(n)}style={{marginTop:10}}/>
313
+ <SegmentedTabs_1.default tabs={c}activeKey={T}onChange={n=>P(n)}style={{marginTop:10}}/>
315
314
  </react_native_1.View>
316
315
 
317
316
 
318
317
  {T==="payload"?<react_native_1.View style={{flex:1,padding:10}}>
319
318
  {t.payload!==void 0?<JsonViewer_1.default data={t.payload}search={d}forceOpen={!0}fullHeight={!0}wrap={!0}/>:<react_native_1.View style={reduxDetailStyles.emptyBox}>
320
319
  <react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
321
- This action has no payload dispatched.
320
+ {e("redux.actionNoPayload","This action has no payload dispatched.")}
322
321
  </react_native_1.Text>
323
322
  </react_native_1.View>}
324
323
  </react_native_1.View>:T==="diff"?<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:12,paddingBottom:40}}keyboardShouldPersistTaps="handled">
@@ -326,7 +325,7 @@
326
325
  </react_native_1.ScrollView>:T==="stack"?<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:12,paddingBottom:40}}keyboardShouldPersistTaps="handled">
327
326
  {t.stack?<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor}}>
328
327
  <react_native_1.Text style={reduxDetailStyles.expandedSectionTitle}>
329
- Dispatched from call stack:
328
+ {e("redux.dispatchedFromCallStack","Dispatched from call stack:")}
330
329
  </react_native_1.Text>
331
330
  {t.stack.split(`
332
331
  `).map(n=>n.trim()).filter(n=>n.length>0&&!n.includes("reduxLogger")&&!n.includes("inspectorReduxMiddleware")).map((n,r)=>{const s=(0,helpers_1.parseStackLine)(n,r===0),C=s.frameType==="app";return<react_native_1.Pressable key={r}onPress={()=>{s.fileName!=="Unknown"&&(0,helpers_1.openInVSCode)(s.fullPath||s.fileName,s.lineNumber,s.columnNumber)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:5,borderBottomWidth:.5,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
@@ -343,7 +342,7 @@
343
342
  </react_native_1.Pressable>})}
344
343
  </react_native_1.View>:<react_native_1.View style={reduxDetailStyles.emptyBox}>
345
344
  <react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
346
- No call stack trace captured for this action.
345
+ {e("redux.noCallStackCaptured","No call stack trace captured for this action.")}
347
346
  </react_native_1.Text>
348
347
  </react_native_1.View>}
349
348
  </react_native_1.ScrollView>:<react_native_1.View style={{flex:1,padding:10}}>
@@ -352,10 +351,9 @@
352
351
  </react_native_1.View>}return<react_native_1.View style={reduxDetailStyles.emptyBox}>
353
352
  <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple}size={32}/>
354
353
  <react_native_1.Text style={reduxDetailStyles.emptyBoxTitle}>
355
- No Redux Slice Selected
354
+ {e("redux.noSliceSelected","No Redux Slice Selected")}
356
355
  </react_native_1.Text>
357
356
  <react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
358
- Select a slice from the Redux tab to inspect its state and dispatched
359
- actions.
357
+ {e("redux.selectSlicePrompt","Select a slice from the Redux tab to inspect its state and dispatched actions.")}
360
358
  </react_native_1.Text>
361
359
  </react_native_1.View>}),reduxDetailStyles=react_native_1.StyleSheet.create({infoBar:{backgroundColor:AppColors_1.AppColors.white,padding:12,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},infoTopRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:8},methodBadge:{paddingHorizontal:7,paddingVertical:2.5,borderRadius:5},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.white,letterSpacing:.4},sliceNameText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack,flexShrink:1},persistedChip:{flexDirection:"row",alignItems:"center",gap:3.5,backgroundColor:AppColors_1.AppColors.mintGreenBg,paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.mintGreenBorder},persistedChipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.mintGreenText},inMemoryChip:{backgroundColor:AppColors_1.AppColors.indigo50,paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.blueBorder},inMemoryChipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.indigo600Alt},subStatsRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"},statPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:6,paddingVertical:2.5,borderRadius:5,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},statPillText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayText},statLabel:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},statValue:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.primaryBlack},searchContainer:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.white,borderRadius:8,marginHorizontal:12,marginTop:10,paddingHorizontal:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,height:36,gap:8},searchInput:{flex:1,fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,color:AppColors_1.AppColors.primaryBlack,padding:0},timelineCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,padding:12,marginBottom:8,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.03,shadowRadius:3,elevation:1},timelineHeader:{flexDirection:"row",alignItems:"center",gap:8},actionBadge:{backgroundColor:AppColors_1.AppColors.indigo50,paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.blueBorder},actionBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.indigo600Alt},actionTitle:{flex:1,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.primaryBlack},timePill:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:`${AppColors_1.AppColors.purple}14`,paddingHorizontal:6,paddingVertical:2,borderRadius:4},timeText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.purple},collapsedPrompt:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginTop:8,paddingTop:6,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},collapsedPromptText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10.5,color:AppColors_1.AppColors.grayTextWeak},expandedContent:{marginTop:10,paddingTop:10,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},expandedSectionTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.grayTextStrong,marginBottom:6},metadataCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.03,shadowRadius:3,elevation:1},metaRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:10,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},metaLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.grayTextWeak},metaValue:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.primaryBlack,maxWidth:"60%",textAlign:"right"},persistedInfoCard:{backgroundColor:AppColors_1.AppColors.mintGreenBg,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.mintGreenBorder,padding:10},persistedInfoTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.mintGreenText},clearPersistMiniBtn:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.errorCardBg,paddingHorizontal:6,paddingVertical:2.5,borderRadius:4},clearPersistMiniText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.errorColor},clearPersistBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,backgroundColor:AppColors_1.AppColors.errorCardBg,borderWidth:1,borderColor:AppColors_1.AppColors.errorBorder,borderRadius:8,paddingVertical:10,marginTop:14},clearPersistText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.errorColor},emptyBox:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,padding:24,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,margin:12,gap:8},emptyBoxTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack},emptyBoxText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.grayTextWeak,textAlign:"center",lineHeight:18},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.amber800Warm,fontFamily:AppFonts_1.AppFonts.interBold}});exports.default=ReduxDetail;