react-native-inapp-inspector 2.5.2 → 2.5.4

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 (242) 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/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  17. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  18. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  19. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  20. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  21. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  22. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  23. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  24. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.dex +0 -0
  25. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  26. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  27. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  28. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  29. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  30. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  31. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  32. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  33. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +160 -0
  34. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  35. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +212 -0
  36. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  42. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  43. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +300 -0
  44. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  45. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  46. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  47. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  48. package/android/build/generated/source/codegen/schema.json +1 -0
  49. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  50. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  51. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  52. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  53. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  54. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  55. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  56. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  57. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  58. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  59. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  60. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  61. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  63. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  64. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  65. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  66. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  67. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  68. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  70. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  83. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  172. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  173. package/android/build/reports/problems/problems-report.html +659 -0
  174. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  186. package/dist/commonjs/components/CountryFlag.d.ts +10 -0
  187. package/dist/commonjs/components/CountryFlag.js +140 -0
  188. package/dist/commonjs/components/EmptyState.js +6 -6
  189. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +36 -36
  190. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +10 -10
  191. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +24 -24
  192. package/dist/commonjs/components/Inspector/InspectorHeader.js +6 -8
  193. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +23 -18
  194. package/dist/commonjs/components/Inspector/MainScreen.js +9 -9
  195. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +268 -270
  196. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +21 -21
  197. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +6 -6
  198. package/dist/commonjs/components/Inspector/SocketFilterModal.js +12 -12
  199. package/dist/commonjs/components/Inspector/TabBar.js +3 -3
  200. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  201. package/dist/commonjs/components/MetaAccordion.js +17 -17
  202. package/dist/commonjs/components/ModuleErrorBoundary.js +4 -4
  203. package/dist/commonjs/components/NetworkIcons.d.ts +7 -0
  204. package/dist/commonjs/components/NetworkIcons.js +33 -2
  205. package/dist/commonjs/components/SourcePageCard.js +9 -9
  206. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  207. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  208. package/dist/commonjs/constants/version.d.ts +1 -1
  209. package/dist/commonjs/constants/version.js +1 -1
  210. package/dist/commonjs/i18n/locales/en.json +1 -1
  211. package/dist/commonjs/index.js +1 -1
  212. package/dist/commonjs/styles/AppColors.d.ts +76 -0
  213. package/dist/commonjs/styles/AppColors.js +1 -1
  214. package/dist/esm/components/CountryFlag.d.ts +10 -0
  215. package/dist/esm/components/CountryFlag.js +140 -0
  216. package/dist/esm/components/EmptyState.js +13 -13
  217. package/dist/esm/components/Inspector/DeviceInfoTab.js +176 -176
  218. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +29 -29
  219. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +9 -9
  220. package/dist/esm/components/Inspector/InspectorHeader.js +16 -18
  221. package/dist/esm/components/Inspector/LanguageSelectorModal.js +107 -102
  222. package/dist/esm/components/Inspector/MainScreen.js +16 -16
  223. package/dist/esm/components/Inspector/MediaPreviewModal.js +577 -579
  224. package/dist/esm/components/Inspector/NetworkFilterModal.js +37 -37
  225. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +20 -20
  226. package/dist/esm/components/Inspector/SocketFilterModal.js +32 -32
  227. package/dist/esm/components/Inspector/TabBar.js +12 -12
  228. package/dist/esm/components/Inspector/UpdateAvailableModal.js +11 -11
  229. package/dist/esm/components/MetaAccordion.js +24 -24
  230. package/dist/esm/components/ModuleErrorBoundary.js +20 -20
  231. package/dist/esm/components/NetworkIcons.d.ts +7 -0
  232. package/dist/esm/components/NetworkIcons.js +243 -212
  233. package/dist/esm/components/SourcePageCard.js +21 -21
  234. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  235. package/dist/esm/constants/telemetryConfig.js +1 -1
  236. package/dist/esm/constants/version.d.ts +1 -1
  237. package/dist/esm/constants/version.js +1 -1
  238. package/dist/esm/i18n/locales/en.json +1 -1
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/styles/AppColors.d.ts +76 -0
  241. package/dist/esm/styles/AppColors.js +1 -1
  242. package/package.json +1 -1
@@ -1,17 +1,17 @@
1
- import N,{useEffect as B,useRef as D}from"react";import{Animated as t,DevSettings as A,Alert as P,Text as T}from"react-native";import E from"./TouchableScale";import S from"./AnimatedEntrance";import{EmptyRadarIcon as _}from"./NetworkIcons";import{AppColors as h}from"../styles/AppColors";import e from"../styles";const I=N.memo(function({isSearch:o,searchQuery:v,customTitle:R,customSub:V,onClearSearch:x,showReload:b=!0}){const r=D(new t.Value(1)).current;B(()=>{const g=t.loop(t.sequence([t.timing(r,{toValue:1.06,duration:900,useNativeDriver:!1}),t.timing(r,{toValue:1,duration:900,useNativeDriver:!1})]));return g.start(),()=>g.stop()},[r]);const w=()=>{if(__DEV__&&A&&A.reload){A.reload();return}P.alert("Reload","App reload is typically only available in development mode.")};return<S style={e.emptyContainer}distance={14}>
2
- <t.View style={[e.emptyIconWrap,{transform:[{scale:r}]}]}>
3
- <_ color={h.purple}size={32}/>
4
- </t.View>
5
- <T style={e.emptyTitle}>
6
- {R||(o?"No matching results":"No network activity")}
1
+ import D,{useEffect as N,useRef as S}from"react";import{Animated as o,DevSettings as A,Alert as k,Text as T}from"react-native";import E from"./TouchableScale";import B from"./AnimatedEntrance";import{EmptyRadarIcon as I}from"./NetworkIcons";import{AppColors as P}from"../styles/AppColors";import t from"../styles";import{useTranslation as _}from"../i18n";const F=D.memo(function({isSearch:r,searchQuery:v,customTitle:h,customSub:R,onClearSearch:g,showReload:V=!0}){const{t:e}=_(),n=S(new o.Value(1)).current;N(()=>{const x=o.loop(o.sequence([o.timing(n,{toValue:1.06,duration:900,useNativeDriver:!1}),o.timing(n,{toValue:1,duration:900,useNativeDriver:!1})]));return x.start(),()=>x.stop()},[n]);const b=()=>{if(__DEV__&&A&&A.reload){A.reload();return}k.alert(e("common.reload","Reload"),e("common.reloadDevOnly","App reload is typically only available in development mode."))};return<B style={t.emptyContainer}distance={14}>
2
+ <o.View style={[t.emptyIconWrap,{transform:[{scale:n}]}]}>
3
+ <I color={P.purple}size={32}/>
4
+ </o.View>
5
+ <T style={t.emptyTitle}>
6
+ {h||(r?e("common.noMatches","No matching results"):e("network.noActivity","No network activity"))}
7
7
  </T>
8
- <T style={e.emptySub}>
9
- {V||(o?v?`No items matched "${v}"`:"Try adjusting your filters or search keywords.":"Listening for incoming API calls...")}
8
+ <T style={t.emptySub}>
9
+ {R||(r?v?`${e("common.noItemsMatched","No items matched")} "${v}"`:e("common.adjustFilters","Try adjusting your filters or search keywords."):e("network.listening","Listening for incoming API calls..."))}
10
10
  </T>
11
- {o&&x&&<E style={e.reloadBtn}onPress={x}>
12
- <T style={e.reloadBtnText}>Clear Search & Filters</T>
11
+ {r&&g&&<E style={t.reloadBtn}onPress={g}>
12
+ <T style={t.reloadBtnText}>{e("common.clearSearchFilters","Clear Search & Filters")}</T>
13
13
  </E>}
14
- {!o&&b&&<E style={e.reloadBtn}onPress={w}>
15
- <T style={e.reloadBtnText}>Reload App</T>
14
+ {!r&&V&&<E style={t.reloadBtn}onPress={b}>
15
+ <T style={t.reloadBtnText}>{e("common.reloadApp","Reload App")}</T>
16
16
  </E>}
17
- </S>});export default I;
17
+ </B>});export default F;
@@ -1,259 +1,259 @@
1
- import Ve,{useState as oe,useEffect as Le,useMemo as F,useCallback as Pe}from"react";import{View as T,Text as I,ScrollView as Ee,TextInput as Xe,Dimensions as Ue,Platform as w,PixelRatio as ze,StatusBar as Ze,StyleSheet as Qe,NativeModules as q}from"react-native";import Z from"../TouchableScale";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as D}from"../../styles/AppFonts";import{useTranslation as et}from"../../i18n";import{CpuIcon as St,WifiIcon as Ct,ScreenIcon as Tt,LayersIcon as $t,KeyIcon as Oe,SearchIcon as He,ClearIcon as It,CopyIcon as Se,BoltIcon as Mt,AppleIcon as Bt,AndroidIcon as Dt,ExportIcon as At}from"../NetworkIcons";import{getNativeDeviceMetrics as Vt,getNativeSystemMetrics as Lt}from"../../native/NativeInspector";import{copyToClipboard as ae,getAppName as Rt}from"../../helpers";import{showToast as ie}from"../../helpers/toast";import{LIB_VERSION as le}from"../../constants";const S=Ve.memo(({label:A,value:V,copyable:fe=!0,badge:C,subtext:re,isLast:$=!1})=>{const ne=V==null?"\u2014":typeof V=="boolean"?V?"Yes":"No":typeof V=="number"?V.toLocaleString():String(V);return<T style={[r.infoRow,$&&{borderBottomWidth:0}]}>
2
- <T style={{flex:1,paddingRight:8,minWidth:0}}>
3
- <T style={{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:6}}>
4
- <I style={r.infoLabel}numberOfLines={2}>{A}</I>
5
- {C&&<T style={[r.infoBadge,{backgroundColor:C.bg,borderColor:`${C.color}33`}]}>
6
- <I style={[r.infoBadgeText,{color:C.color}]}>
7
- {C.text}
8
- </I>
9
- </T>}
1
+ import Ve,{useState as re,useEffect as Le,useMemo as H,useCallback as Pe}from"react";import{View as C,Text as T,ScrollView as Ee,TextInput as Xe,Dimensions as Ue,Platform as v,PixelRatio as ze,StatusBar as Ze,StyleSheet as Qe,NativeModules as Y}from"react-native";import X from"../TouchableScale";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as B}from"../../styles/AppFonts";import{useTranslation as et}from"../../i18n";import{CpuIcon as St,WifiIcon as Ct,ScreenIcon as It,LayersIcon as Tt,KeyIcon as Oe,SearchIcon as He,ClearIcon as $t,CopyIcon as Se,BoltIcon as Mt,AppleIcon as Bt,AndroidIcon as Dt,ExportIcon as At}from"../NetworkIcons";import{getNativeDeviceMetrics as Vt,getNativeSystemMetrics as Lt}from"../../native/NativeInspector";import{copyToClipboard as oe,getAppName as Rt}from"../../helpers";import{showToast as ae}from"../../helpers/toast";import{LIB_VERSION as ie}from"../../constants";const S=Ve.memo(({label:$,value:D,copyable:fe=!0,badge:w,subtext:te,isLast:I=!1})=>{const le=D==null?"\u2014":typeof D=="boolean"?D?"Yes":"No":typeof D=="number"?D.toLocaleString():String(D);return<C style={[r.infoRow,I&&{borderBottomWidth:0}]}>
2
+ <C style={{flex:1,paddingRight:8,minWidth:0}}>
3
+ <C style={{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:6}}>
4
+ <T style={r.infoLabel}numberOfLines={2}>{$}</T>
5
+ {w&&<C style={[r.infoBadge,{backgroundColor:w.bg,borderColor:`${w.color}33`}]}>
6
+ <T style={[r.infoBadgeText,{color:w.color}]}>
7
+ {w.text}
8
+ </T>
9
+ </C>}
10
+ </C>
11
+ {te&&<T style={r.infoSubtext}numberOfLines={2}>{te}</T>}
12
+ </C>
13
+ <C style={{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0,maxWidth:"58%",justifyContent:"flex-end"}}>
14
+ <T style={[r.infoValue,typeof D=="boolean"&&{color:D?e.emerald500:e.errorColor}]}numberOfLines={3}selectable>
15
+ {le}
10
16
  </T>
11
- {re&&<I style={r.infoSubtext}numberOfLines={2}>{re}</I>}
12
- </T>
13
- <T style={{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0,maxWidth:"58%",justifyContent:"flex-end"}}>
14
- <I style={[r.infoValue,typeof V=="boolean"&&{color:V?e.emerald500:e.errorColor}]}numberOfLines={3}selectable>
15
- {ne}
16
- </I>
17
- {fe&&V!==null&&V!==void 0&&<Z hitSlop={8}onPress={()=>{ae(ne,A),ie(`Copied ${A}`)}}style={r.rowCopyBtn}>
17
+ {fe&&D!==null&&D!==void 0&&<X hitSlop={8}onPress={()=>{oe(le,$),ae(`Copied ${$}`)}}style={r.rowCopyBtn}>
18
18
  <Se size={11}color={e.grayTextWeak}/>
19
- </Z>}
20
- </T>
21
- </T>});export const DeviceInfoTab=Ve.memo(()=>{const{t:A}=et(),[V,fe]=oe("overview"),[C,re]=oe(""),[$,ne]=oe(null),[Re,Ne]=oe(null),[H,we]=oe("Detecting..."),[J,Ce]=oe("0s"),Fe=Ve.useRef(Date.now()),ve=Pe(async()=>{try{const[f,R]=await Promise.all([Vt(),Lt()]);ne(f),Ne(R)}catch{}},[]);Le(()=>{ve();const f=setInterval(ve,3e3);return()=>clearInterval(f)},[ve]),Le(()=>{let f=!0;return(async()=>{try{const M=q?.PlatformConstants?.serverHost||q?.AndroidConstants?.serverHost||q?.DevSettings?.serverHost;if(M&&typeof M=="string"){const B=M.split(":")[0].replace(/https?:\/\//,"");if(B&&B!=="localhost"&&B!=="127.0.0.1"){f&&we(B);return}}}catch{}try{const M=new AbortController,B=setTimeout(()=>M.abort(),1200),N=await fetch("https://api.ipify.org?format=json",{signal:M.signal});if(clearTimeout(B),N.ok){const G=await N.json();if(G&&G.ip&&f){we(G.ip);return}}}catch{}f&&we(w.OS==="android"?"10.0.2.15 (Local)":"127.0.0.1 (Local)")})(),()=>{f=!1}},[]),Le(()=>{const f=()=>{const M=Math.floor((Date.now()-Fe.current)/1e3),B=Math.floor(M/3600),N=Math.floor(M%3600/60),G=M%60;B>0?Ce(`${B}h ${N}m ${G}s`):N>0?Ce(`${N}m ${G}s`):Ce(`${G}s`)},R=setInterval(f,1e3);return f(),()=>clearInterval(R)},[]);const z=Ue.get("window"),E=Ue.get("screen"),L=ze.get(),X=ze.getFontScale(),j=z.width>=600||z.height>=1e3,Q=z.width>z.height,ee=w.OS==="android"?Ze.currentHeight||24:z.height>=812?44:20,k=F(()=>{const f=`${w.OS}-${w.Version}-${E.width}x${E.height}-${L}-${w.constants?.Brand||"generic"}-${w.constants?.Model||"device"}`;let R=3735928559,M=1103547991,B=305419896,N=2271560481;for(let Ae=0;Ae<f.length;Ae++){const de=f.charCodeAt(Ae);R=Math.imul(R^de,2654435761)>>>0,M=Math.imul(M^de,1597334677)>>>0,B=Math.imul(B^de,374761393)>>>0,N=Math.imul(N^de,668265263)>>>0}const G=R.toString(16).padStart(8,"0").toUpperCase(),je=(M&65535).toString(16).padStart(4,"0").toUpperCase(),Ye=(M>>>16&4095|16384).toString(16).padStart(4,"0").toUpperCase(),Ke=(B>>>16&16383|32768).toString(16).padStart(4,"0").toUpperCase(),qe=(B.toString(16).padStart(8,"0")+(N&65535).toString(16).padStart(4,"0")).slice(0,12).toUpperCase();return`${G}-${je}-${Ye}-${Ke}-${qe}`},[E.width,E.height,L]),U=!!global?.HermesInternal,Y=!!globalThis?.__turboModuleProxy,te=F(()=>{const f=w.constants?.reactNativeVersion;return f?`${f.major}.${f.minor}.${f.patch}${f.prerelease!=null?`-${f.prerelease}`:""}`:"0.74+"},[]),P=$?.totalRAM?Math.round($.totalRAM/(1024*1024)):Re?.totalPhysicalRamMb||4096,O=$?.freeRAM?Math.round($.freeRAM/(1024*1024)):Math.max(0,P-(Re?.residentRamMb||1200)),K=Math.max(0,P-O),se=P>0?Math.round(K/P*100):45,W=$?.totalStorage?($.totalStorage/(1024*1024*1024)).toFixed(1):"128.0",_=$?.freeStorage?($.freeStorage/(1024*1024*1024)).toFixed(1):"64.2",We=F(()=>[{key:"overview",label:A("device.subTabs.overview","Overview"),themeColor:e.sky600,icon:f=><$t size={12}color={f}/>},{key:"hardware",label:A("device.subTabs.hardware","Hardware"),themeColor:e.orange600,icon:f=><St size={12}color={f}/>},{key:"network",label:A("device.subTabs.network","Network & IP"),themeColor:e.teal600,icon:f=><Ct size={12}color={f}/>},{key:"display",label:A("device.subTabs.display","Display"),themeColor:e.pink600,icon:f=><Tt size={12}color={f}/>},{key:"runtime",label:A("device.subTabs.runtime","Runtime & App"),themeColor:e.amber600,icon:f=><Mt size={12}color={f}/>},{key:"security",label:A("device.subTabs.security","Security & IDs"),themeColor:e.errorColor,icon:f=><Oe size={12}color={f}/>}],[A]),o=F(()=>({identifiers:{pseudoUDID:k,bundleId:$?.appBundleId||$?.appPackageName||"com.app.inspector"},hardware:{model:$?.deviceModel||w.constants?.Model||"Unknown Device",brand:$?.deviceBrand||w.constants?.Brand||(w.OS==="ios"?"Apple":"Android"),osVersion:`${w.OS} ${w.Version}`,apiLevel:$?.apiLevel||w.constants?.Version||null,cpuAbi:$?.cpuAbi||w.constants?.ServerHost||"arm64-v8a",totalRamMb:P,freeRamMb:O,usedRamMb:K,totalStorageGb:`${W} GB`,freeStorageGb:`${_} GB`,batteryPercent:$?.batteryPercent??100,isCharging:$?.isCharging??!1},network:{ipAddress:H,isWifi:!0,reachability:"Online"},display:{windowWidth:z.width,windowHeight:z.height,screenWidth:E.width,screenHeight:E.height,pixelRatio:L,fontScale:X,statusBarHeight:ee,isTablet:j,orientation:Q?"Landscape":"Portrait"},runtime:{appName:Rt(),appVersion:$?.appVersion||"1.0.0",appBuild:$?.appBuild||"1",reactNativeVersion:te,inspectorVersion:le,isHermes:U,isTurboModule:Y,isDev:__DEV__,jsEngine:U?"Hermes":"JSC",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,locale:Intl.DateTimeFormat().resolvedOptions().locale,sessionUptime:J}}),[k,$,P,O,K,W,_,H,z,E,L,X,ee,j,Q,te,U,Y,J]),_e=()=>{ae(JSON.stringify(o,null,2),"Device Full Report"),ie(A("device.copiedJson","Copied Full Device JSON Report!"))},Ge=()=>{const f=`# Device Information Report
22
- **Generated by React Native In-App Inspector v${le}**
19
+ </X>}
20
+ </C>
21
+ </C>});export const DeviceInfoTab=Ve.memo(()=>{const{t:$}=et(),[D,fe]=re("overview"),[w,te]=re(""),[I,le]=re(null),[Re,Ne]=re(null),[z,ve]=re("Detecting..."),[_,we]=re("0s"),Fe=Ve.useRef(Date.now()),Ce=Pe(async()=>{try{const[f,V]=await Promise.all([Vt(),Lt()]);le(f),Ne(V)}catch{}},[]);Le(()=>{Ce();const f=setInterval(Ce,3e3);return()=>clearInterval(f)},[Ce]),Le(()=>{let f=!0;return(async()=>{try{const x=Y?.PlatformConstants?.serverHost||Y?.AndroidConstants?.serverHost||Y?.DevSettings?.serverHost;if(x&&typeof x=="string"){const M=x.split(":")[0].replace(/https?:\/\//,"");if(M&&M!=="localhost"&&M!=="127.0.0.1"){f&&ve(M);return}}}catch{}try{const x=new AbortController,M=setTimeout(()=>x.abort(),1200),O=await fetch("https://api.ipify.org?format=json",{signal:x.signal});if(clearTimeout(M),O.ok){const W=await O.json();if(W&&W.ip&&f){ve(W.ip);return}}}catch{}f&&ve(v.OS==="android"?"10.0.2.15 (Local)":"127.0.0.1 (Local)")})(),()=>{f=!1}},[]),Le(()=>{const f=()=>{const x=Math.floor((Date.now()-Fe.current)/1e3),M=Math.floor(x/3600),O=Math.floor(x%3600/60),W=x%60;M>0?we(`${M}h ${O}m ${W}s`):O>0?we(`${O}m ${W}s`):we(`${W}s`)},V=setInterval(f,1e3);return f(),()=>clearInterval(V)},[]);const E=Ue.get("window"),P=Ue.get("screen"),A=ze.get(),K=ze.getFontScale(),G=E.width>=600||E.height>=1e3,Z=E.width>E.height,Q=v.OS==="android"?Ze.currentHeight||24:E.height>=812?44:20,R=H(()=>{const f=`${v.OS}-${v.Version}-${P.width}x${P.height}-${A}-${v.constants?.Brand||"generic"}-${v.constants?.Model||"device"}`;let V=3735928559,x=1103547991,M=305419896,O=2271560481;for(let Ae=0;Ae<f.length;Ae++){const se=f.charCodeAt(Ae);V=Math.imul(V^se,2654435761)>>>0,x=Math.imul(x^se,1597334677)>>>0,M=Math.imul(M^se,374761393)>>>0,O=Math.imul(O^se,668265263)>>>0}const W=V.toString(16).padStart(8,"0").toUpperCase(),je=(x&65535).toString(16).padStart(4,"0").toUpperCase(),Ye=(x>>>16&4095|16384).toString(16).padStart(4,"0").toUpperCase(),Ke=(M>>>16&16383|32768).toString(16).padStart(4,"0").toUpperCase(),qe=(M.toString(16).padStart(8,"0")+(O&65535).toString(16).padStart(4,"0")).slice(0,12).toUpperCase();return`${W}-${je}-${Ye}-${Ke}-${qe}`},[P.width,P.height,A]),k=!!global?.HermesInternal,J=!!globalThis?.__turboModuleProxy,ee=H(()=>{const f=v.constants?.reactNativeVersion;return f?`${f.major}.${f.minor}.${f.patch}${f.prerelease!=null?`-${f.prerelease}`:""}`:"0.74+"},[]),L=I?.totalRAM?Math.round(I.totalRAM/(1024*1024)):Re?.totalPhysicalRamMb||4096,U=I?.freeRAM?Math.round(I.freeRAM/(1024*1024)):Math.max(0,L-(Re?.residentRamMb||1200)),j=Math.max(0,L-U),ne=L>0?Math.round(j/L*100):45,N=I?.totalStorage?(I.totalStorage/(1024*1024*1024)).toFixed(1):"128.0",F=I?.freeStorage?(I.freeStorage/(1024*1024*1024)).toFixed(1):"64.2",We=H(()=>[{key:"overview",label:$("device.subTabs.overview","Overview"),themeColor:e.sky600,icon:f=><Tt size={12}color={f}/>},{key:"hardware",label:$("device.subTabs.hardware","Hardware"),themeColor:e.orange600,icon:f=><St size={12}color={f}/>},{key:"network",label:$("device.subTabs.network","Network & IP"),themeColor:e.teal600,icon:f=><Ct size={12}color={f}/>},{key:"display",label:$("device.subTabs.display","Display"),themeColor:e.pink600,icon:f=><It size={12}color={f}/>},{key:"runtime",label:$("device.subTabs.runtime","Runtime & App"),themeColor:e.amber600,icon:f=><Mt size={12}color={f}/>},{key:"security",label:$("device.subTabs.security","Security & IDs"),themeColor:e.errorColor,icon:f=><Oe size={12}color={f}/>}],[$]),o=H(()=>({identifiers:{pseudoUDID:R,bundleId:I?.appBundleId||I?.appPackageName||"com.app.inspector"},hardware:{model:I?.deviceModel||v.constants?.Model||"Unknown Device",brand:I?.deviceBrand||v.constants?.Brand||(v.OS==="ios"?"Apple":"Android"),osVersion:`${v.OS} ${v.Version}`,apiLevel:I?.apiLevel||v.constants?.Version||null,cpuAbi:I?.cpuAbi||v.constants?.ServerHost||"arm64-v8a",totalRamMb:L,freeRamMb:U,usedRamMb:j,totalStorageGb:`${N} GB`,freeStorageGb:`${F} GB`,batteryPercent:I?.batteryPercent??100,isCharging:I?.isCharging??!1},network:{ipAddress:z,isWifi:!0,reachability:"Online"},display:{windowWidth:E.width,windowHeight:E.height,screenWidth:P.width,screenHeight:P.height,pixelRatio:A,fontScale:K,statusBarHeight:Q,isTablet:G,orientation:Z?"Landscape":"Portrait"},runtime:{appName:Rt(),appVersion:I?.appVersion||"1.0.0",appBuild:I?.appBuild||"1",reactNativeVersion:ee,inspectorVersion:ie,isHermes:k,isTurboModule:J,isDev:__DEV__,jsEngine:k?"Hermes":"JSC",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,locale:Intl.DateTimeFormat().resolvedOptions().locale,sessionUptime:_}}),[R,I,L,U,j,N,F,z,E,P,A,K,Q,G,Z,ee,k,J,_]),_e=()=>{oe(JSON.stringify(o,null,2),"Device Full Report"),ae($("device.copiedJson","Copied Full Device JSON Report!"))},Ge=()=>{const f=`# Device Information Report
22
+ **Generated by React Native In-App Inspector v${ie}**
23
23
 
24
24
  ## \u{1F4F1} Hardware & System
25
25
  - **Device Model:** ${o.hardware.model}
26
26
  - **Brand / Manufacturer:** ${o.hardware.brand}
27
27
  - **OS Version:** ${o.hardware.osVersion}
28
28
  - **CPU Architecture:** ${o.hardware.cpuAbi}
29
- - **Total RAM:** ${P} MB (Free: ${O} MB)
30
- - **Total Storage:** ${W} GB (Free: ${_} GB)
29
+ - **Total RAM:** ${L} MB (Free: ${U} MB)
30
+ - **Total Storage:** ${N} GB (Free: ${F} GB)
31
31
  - **Battery:** ${o.hardware.batteryPercent}% (${o.hardware.isCharging?"Charging":"Unplugged"})
32
32
 
33
33
  ## \u{1F310} Network & Connectivity
34
- - **IP Address:** ${H}
34
+ - **IP Address:** ${z}
35
35
  - **Status:** Online
36
36
 
37
37
  ## \u{1F5A5} Display & Geometry
38
- - **Resolution:** ${E.width} \xD7 ${E.height} pt (@${L}x)
39
- - **Form Factor:** ${j?"Tablet":"Phone"} (${Q?"Landscape":"Portrait"})
40
- - **Status Bar Height:** ${ee} pt
38
+ - **Resolution:** ${P.width} \xD7 ${P.height} pt (@${A}x)
39
+ - **Form Factor:** ${G?"Tablet":"Phone"} (${Z?"Landscape":"Portrait"})
40
+ - **Status Bar Height:** ${Q} pt
41
41
 
42
42
  ## \u2699\uFE0F Runtime & App
43
43
  - **App Name:** ${o.runtime.appName}
44
44
  - **App Version:** ${o.runtime.appVersion} (${o.runtime.appBuild})
45
- - **React Native:** v${te}
46
- - **JS Engine:** ${U?"Hermes":"JSC"} (Bridgeless TurboModule: ${Y?"Yes":"No"})
45
+ - **React Native:** v${ee}
46
+ - **JS Engine:** ${k?"Hermes":"JSC"} (Bridgeless TurboModule: ${J?"Yes":"No"})
47
47
  - **Environment:** ${__DEV__?"Development (__DEV__)":"Production (Release)"}
48
48
  - **Timezone:** ${o.runtime.timezone}
49
- - **Session Uptime:** ${J}
49
+ - **Session Uptime:** ${_}
50
50
 
51
51
  ## \u{1F511} Identifiers & Security
52
- - **Pseudo-UDID:** \`${k}\`
52
+ - **Pseudo-UDID:** \`${R}\`
53
53
  - **Bundle ID:** \`${o.identifiers.bundleId}\`
54
- `;ae(f,"Device Markdown Report"),ie(A("device.copiedMarkdown","Copied Markdown Report to Clipboard!"))},t=Pe((f,R,M)=>{if(!C.trim())return!0;const B=C.toLowerCase().trim(),N=R!=null?typeof R=="object"?JSON.stringify(R):String(R):"",G=M!=null?String(M):"";return f.toLowerCase().includes(B)||N.toLowerCase().includes(B)||G.toLowerCase().includes(B)},[C]),Te=F(()=>C.trim()?t("Model",$?.deviceModel||w.constants?.Model)||t("OS",w.OS)||t("IP Address",H)||t("RAM",`${K.toLocaleString()}/${P.toLocaleString()}`)||t("Uptime",J):!0,[C,t,$,H,K,P,J]),$e=F(()=>C.trim()?t("Device Model",o.hardware.model)||t("Manufacturer",o.hardware.brand)||t("Operating System",o.hardware.osVersion)||t("IP Address",H)||t("RAM Memory",`${K.toLocaleString()} MB / ${P.toLocaleString()} MB (${se}%)`,`Free Memory: ${O.toLocaleString()} MB`)||t("Storage Capacity",`${_} GB Free / ${W} GB Total`)||t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)||t("JavaScript Engine",U?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")||t("UDID Identifier",k):!0,[C,t,o,H,K,P,se,O,_,W,U,k]),xe=F(()=>C.trim()?t("CPU Architecture",o.hardware.cpuAbi)||t("Total RAM",`${P.toLocaleString()} MB`)||t("Free RAM",`${O.toLocaleString()} MB`)||t("Storage Capacity",`${W} GB`)||t("Available Storage",`${_} GB`)||t("Battery",`${$?.batteryPercent??100}%`)||t("API Level",`API ${$?.apiLevel||w.Version}`)||t("Thermal State","Nominal (Cool)"):!0,[C,t,o,P,O,W,_,$]),Ie=F(()=>C.trim()?t("IP Address",H)||t("Internet Reachability","Connected")||t("Connection Type","Wi-Fi / Local Area Network")||t("Metro Dev Server",q?.PlatformConstants?.serverHost||q?.AndroidConstants?.serverHost||"localhost:8081")||t("WebSocket Protocol","Active & Enabled")||t("Network Inspector Interceptor","Intercepting XHR & Fetch"):!0,[C,t,H]),Me=F(()=>C.trim()?t("Window Resolution",`${Math.round(z.width).toLocaleString()} \xD7 ${Math.round(z.height).toLocaleString()} pt`)||t("Screen Physical Size",`${Math.round(E.width*L).toLocaleString()} \xD7 ${Math.round(E.height*L).toLocaleString()} px`)||t("Pixel Density",`@${L}x (${Math.round(L*160).toLocaleString()} dpi)`)||t("Font Scale",`${X}x`)||t("Form Factor",j?"Tablet":"Smartphone")||t("Orientation",Q?"Landscape":"Portrait")||t("Status Bar Height",`${ee} pt`):!0,[C,t,z,E,L,X,j,Q,ee]),Be=F(()=>C.trim()?t("App Name",o.runtime.appName)||t("Bundle ID",o.identifiers.bundleId)||t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)||t("React Native",`v${te}`)||t("In-App Inspector Version",`v${le}`)||t("Hermes Engine",U?"Enabled (AOT Bytecode)":"Disabled (JSC)")||t("New Architecture",Y?"Enabled":"Legacy Bridge")||t("Build Type",__DEV__?"Debug (__DEV__ = true)":"Release / Production")||t("Timezone",o.runtime.timezone)||t("Locale",o.runtime.locale)||t("Session Uptime",J):!0,[C,t,o,te,U,Y,J]),De=F(()=>C.trim()?t("Pseudo-UDID",k)||t("Bundle ID",o.identifiers.bundleId)||t("Root / Jailbreak","Clean (Standard Sandbox)")||t("Simulator / Emulator",w.constants?.Model?.includes?.("sdk")||w.constants?.Model?.includes?.("Emulator")||w.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")||t("Sandbox Integrity","Enforced by OS Kernel"):!0,[C,t,k,o]),Je=F(()=>C.trim()?Te||$e||xe||Ie||Me||Be||De:!0,[C,Te,$e,xe,Ie,Me,Be,De]);return<T style={r.container}>
54
+ `;oe(f,"Device Markdown Report"),ae($("device.copiedMarkdown","Copied Markdown Report to Clipboard!"))},t=Pe((f,V,x)=>{if(!w.trim())return!0;const M=w.toLowerCase().trim(),O=V!=null?typeof V=="object"?JSON.stringify(V):String(V):"",W=x!=null?String(x):"";return f.toLowerCase().includes(M)||O.toLowerCase().includes(M)||W.toLowerCase().includes(M)},[w]),Ie=H(()=>w.trim()?t("Model",I?.deviceModel||v.constants?.Model)||t("OS",v.OS)||t("IP Address",z)||t("RAM",`${j.toLocaleString()}/${L.toLocaleString()}`)||t("Uptime",_):!0,[w,t,I,z,j,L,_]),Te=H(()=>w.trim()?t("Device Model",o.hardware.model)||t("Manufacturer",o.hardware.brand)||t("Operating System",o.hardware.osVersion)||t("IP Address",z)||t("RAM Memory",`${j.toLocaleString()} MB / ${L.toLocaleString()} MB (${ne}%)`,`Free Memory: ${U.toLocaleString()} MB`)||t("Storage Capacity",`${F} GB Free / ${N} GB Total`)||t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)||t("JavaScript Engine",k?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")||t("UDID Identifier",R):!0,[w,t,o,z,j,L,ne,U,F,N,k,R]),$e=H(()=>w.trim()?t("CPU Architecture",o.hardware.cpuAbi)||t("Total RAM",`${L.toLocaleString()} MB`)||t("Free RAM",`${U.toLocaleString()} MB`)||t("Storage Capacity",`${N} GB`)||t("Available Storage",`${F} GB`)||t("Battery",`${I?.batteryPercent??100}%`)||t("API Level",`API ${I?.apiLevel||v.Version}`)||t("Thermal State","Nominal (Cool)"):!0,[w,t,o,L,U,N,F,I]),xe=H(()=>w.trim()?t("IP Address",z)||t("Internet Reachability","Connected")||t("Connection Type","Wi-Fi / Local Area Network")||t("Metro Dev Server",Y?.PlatformConstants?.serverHost||Y?.AndroidConstants?.serverHost||"localhost:8081")||t("WebSocket Protocol","Active & Enabled")||t("Network Inspector Interceptor","Intercepting XHR & Fetch"):!0,[w,t,z]),Me=H(()=>w.trim()?t("Window Resolution",`${Math.round(E.width).toLocaleString()} \xD7 ${Math.round(E.height).toLocaleString()} pt`)||t("Screen Physical Size",`${Math.round(P.width*A).toLocaleString()} \xD7 ${Math.round(P.height*A).toLocaleString()} px`)||t("Pixel Density",`@${A}x (${Math.round(A*160).toLocaleString()} dpi)`)||t("Font Scale",`${K}x`)||t("Form Factor",G?"Tablet":"Smartphone")||t("Orientation",Z?"Landscape":"Portrait")||t("Status Bar Height",`${Q} pt`):!0,[w,t,E,P,A,K,G,Z,Q]),Be=H(()=>w.trim()?t("App Name",o.runtime.appName)||t("Bundle ID",o.identifiers.bundleId)||t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)||t("React Native",`v${ee}`)||t("In-App Inspector Version",`v${ie}`)||t("Hermes Engine",k?"Enabled (AOT Bytecode)":"Disabled (JSC)")||t("New Architecture",J?"Enabled":"Legacy Bridge")||t("Build Type",__DEV__?"Debug (__DEV__ = true)":"Release / Production")||t("Timezone",o.runtime.timezone)||t("Locale",o.runtime.locale)||t("Session Uptime",_):!0,[w,t,o,ee,k,J,_]),De=H(()=>w.trim()?t("Pseudo-UDID",R)||t("Bundle ID",o.identifiers.bundleId)||t("Root / Jailbreak","Clean (Standard Sandbox)")||t("Simulator / Emulator",v.constants?.Model?.includes?.("sdk")||v.constants?.Model?.includes?.("Emulator")||v.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")||t("Sandbox Integrity","Enforced by OS Kernel"):!0,[w,t,R,o]),Je=H(()=>w.trim()?Ie||Te||$e||xe||Me||Be||De:!0,[w,Ie,Te,$e,xe,Me,Be,De]);return<C style={r.container}>
55
55
 
56
- <T style={r.actionBar}>
57
- <T style={r.searchBar}>
56
+ <C style={r.actionBar}>
57
+ <C style={r.searchBar}>
58
58
  <He size={14}color={e.grayTextWeak}/>
59
- <Xe value={C}onChangeText={re}placeholder={A("device.searchPlaceholder","Search specs, UDID, IP, screen...")}placeholderTextColor={e.grayTextWeak}style={r.searchInput}clearButtonMode="while-editing"/>
60
- {C.length>0&&<Z onPress={()=>re("")}hitSlop={8}>
61
- <It size={13}color={e.grayTextWeak}/>
62
- </Z>}
63
- </T>
59
+ <Xe value={w}onChangeText={te}placeholder={$("device.searchPlaceholder","Search specs, UDID, IP, screen...")}placeholderTextColor={e.grayTextWeak}style={r.searchInput}clearButtonMode="while-editing"/>
60
+ {w.length>0&&<X onPress={()=>te("")}hitSlop={8}>
61
+ <$t size={13}color={e.grayTextWeak}/>
62
+ </X>}
63
+ </C>
64
64
 
65
- <Z onPress={_e}style={r.exportButton}hitSlop={6}>
65
+ <X onPress={_e}style={r.exportButton}hitSlop={6}>
66
66
  <At size={12}color={e.purple}/>
67
- <I style={r.exportButtonText}>JSON</I>
68
- </Z>
67
+ <T style={r.exportButtonText}>JSON</T>
68
+ </X>
69
69
 
70
- <Z onPress={Ge}style={[r.exportButton,{backgroundColor:`${e.emerald500}14`,borderColor:`${e.emerald500}33`}]}hitSlop={6}>
70
+ <X onPress={Ge}style={[r.exportButton,{backgroundColor:`${e.emerald500}14`,borderColor:`${e.emerald500}33`}]}hitSlop={6}>
71
71
  <Se size={12}color={e.emerald500}/>
72
- <I style={[r.exportButtonText,{color:e.emerald500}]}>MD</I>
73
- </Z>
74
- </T>
72
+ <T style={[r.exportButtonText,{color:e.emerald500}]}>MD</T>
73
+ </X>
74
+ </C>
75
75
 
76
76
 
77
- <T style={r.subTabsWrapper}>
77
+ <C style={r.subTabsWrapper}>
78
78
  <Ee horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={r.subTabsContainer}>
79
- {We.map(f=>{const R=V===f.key,M=f.themeColor||e.purple,B=R?e.white:M;return<Z key={f.key}onPress={()=>fe(f.key)}>
80
- <T style={[r.subTabPill,R&&{backgroundColor:M,borderColor:M},!R&&{backgroundColor:`${M}12`,borderColor:`${M}30`}]}>
81
- {f.icon(B)}
82
- <I style={[r.subTabPillText,R&&{color:e.white},!R&&{color:e.primaryBlack}]}>
79
+ {We.map(f=>{const V=D===f.key,x=f.themeColor||e.purple,M=V?e.white:x;return<X key={f.key}onPress={()=>fe(f.key)}>
80
+ <C style={[r.subTabPill,V&&{backgroundColor:x,borderColor:x},!V&&{backgroundColor:`${x}12`,borderColor:`${x}30`}]}>
81
+ {f.icon(M)}
82
+ <T style={[r.subTabPillText,V&&{color:e.white},!V&&{color:e.primaryBlack}]}>
83
83
  {f.label}
84
- </I>
85
- </T>
86
- </Z>})}
84
+ </T>
85
+ </C>
86
+ </X>})}
87
87
  </Ee>
88
- </T>
88
+ </C>
89
89
 
90
90
 
91
91
  <Ee style={[r.scrollArea,{flex:1}]}contentContainerStyle={[r.scrollContent,{flexGrow:1}]}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled">
92
92
 
93
- {(!C.trim()||t("UDID Identifier",k)||t("UUID",k)||t("Device UUID",k))&&<T style={r.featuredUuidCard}>
94
- <T style={r.featuredUuidHeader}>
95
- <T style={r.featuredUuidTitleRow}>
96
- <T style={r.featuredUuidIconWrap}>
93
+ {(!w.trim()||t("UDID Identifier",R)||t("UUID",R)||t("Device UUID",R))&&<C style={r.featuredUuidCard}>
94
+ <C style={r.featuredUuidHeader}>
95
+ <C style={r.featuredUuidTitleRow}>
96
+ <C style={r.featuredUuidIconWrap}>
97
97
  <Oe size={14}color={e.white}/>
98
- </T>
99
- <T style={{flex:1,minWidth:0}}>
100
- <T style={{flexDirection:"row",alignItems:"center",gap:6}}>
101
- <I style={r.featuredUuidLabel}>DEVICE UUID</I>
102
- <T style={r.featuredBadge}>
103
- <I style={r.featuredBadgeText}>FEATURED</I>
104
- </T>
105
- </T>
106
- <I style={r.featuredUuidSubtext}>
98
+ </C>
99
+ <C style={{flex:1,minWidth:0}}>
100
+ <C style={{flexDirection:"row",alignItems:"center",gap:6}}>
101
+ <T style={r.featuredUuidLabel}>DEVICE UUID</T>
102
+ <C style={r.featuredBadge}>
103
+ <T style={r.featuredBadgeText}>FEATURED</T>
104
+ </C>
105
+ </C>
106
+ <T style={r.featuredUuidSubtext}>
107
107
  Deterministic hardware pseudo-identifier
108
- </I>
109
- </T>
110
- </T>
108
+ </T>
109
+ </C>
110
+ </C>
111
111
 
112
- <Z onPress={()=>{ae(k,"Device UUID"),ie(A("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={r.featuredCopyBtn}hitSlop={6}accessibilityRole="button"accessibilityLabel="Copy Device UUID">
112
+ <X onPress={()=>{oe(R,"Device UUID"),ae($("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={r.featuredCopyBtn}hitSlop={6}accessibilityRole="button"accessibilityLabel="Copy Device UUID">
113
113
  <Se size={11}color={e.white}/>
114
- <I style={r.featuredCopyBtnText}>Copy</I>
115
- </Z>
116
- </T>
114
+ <T style={r.featuredCopyBtnText}>Copy</T>
115
+ </X>
116
+ </C>
117
117
 
118
- <Z onPress={()=>{ae(k,"Device UUID"),ie(A("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={r.featuredUuidValueBox}hitSlop={4}accessibilityRole="button"accessibilityLabel="Tap to copy UUID">
119
- <I style={r.featuredUuidValueText}numberOfLines={1}ellipsizeMode="middle"selectable>
120
- {k}
121
- </I>
118
+ <X onPress={()=>{oe(R,"Device UUID"),ae($("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={r.featuredUuidValueBox}hitSlop={4}accessibilityRole="button"accessibilityLabel="Tap to copy UUID">
119
+ <T style={r.featuredUuidValueText}numberOfLines={1}ellipsizeMode="middle"selectable>
120
+ {R}
121
+ </T>
122
122
  <Se size={12}color={e.brandPurple}/>
123
- </Z>
124
- </T>}
123
+ </X>
124
+ </C>}
125
125
 
126
126
 
127
- {(!C.trim()||Te)&&<T style={r.heroCard}>
128
- <T style={r.heroHeader}>
129
- <T style={r.heroIconWrap}>
130
- {w.OS==="ios"?<Bt size={20}color={e.white}/>:<Dt size={20}color={e.white}/>}
131
- </T>
132
- <T style={{flex:1,minWidth:0}}>
133
- <I style={r.heroTitle}numberOfLines={1}ellipsizeMode="tail">
134
- {$?.deviceModel||w.constants?.Model||(w.OS==="ios"?"Apple iPhone":"Android Device")}
135
- </I>
136
- <I style={r.heroSubtitle}numberOfLines={1}ellipsizeMode="tail">
137
- {w.OS==="ios"?`iOS ${w.Version}`:`Android ${w.Version} (API ${$?.apiLevel||w.Version})`}
138
- </I>
139
- </T>
140
- <T style={r.heroBadge}>
141
- <T style={r.pulseDot}/>
142
- <I style={r.heroBadgeText}>LIVE</I>
143
- </T>
144
- </T>
127
+ {(!w.trim()||Ie)&&<C style={r.heroCard}>
128
+ <C style={r.heroHeader}>
129
+ <C style={r.heroIconWrap}>
130
+ {v.OS==="ios"?<Bt size={20}color={e.white}/>:<Dt size={20}color={e.white}/>}
131
+ </C>
132
+ <C style={{flex:1,minWidth:0}}>
133
+ <T style={r.heroTitle}numberOfLines={1}ellipsizeMode="tail">
134
+ {I?.deviceModel||v.constants?.Model||(v.OS==="ios"?"Apple iPhone":"Android Device")}
135
+ </T>
136
+ <T style={r.heroSubtitle}numberOfLines={1}ellipsizeMode="tail">
137
+ {v.OS==="ios"?`iOS ${v.Version}`:`Android ${v.Version} (API ${I?.apiLevel||v.Version})`}
138
+ </T>
139
+ </C>
140
+ <C style={r.heroBadge}>
141
+ <C style={r.pulseDot}/>
142
+ <T style={r.heroBadgeText}>LIVE</T>
143
+ </C>
144
+ </C>
145
145
 
146
146
 
147
- <T style={r.heroMetricsStrip}>
148
- <T style={r.heroMetricItem}>
149
- <I style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{A("device.ipAddress","IP ADDRESS")}</I>
150
- <I style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
151
- {H}
152
- </I>
153
- </T>
154
- <T style={r.heroMetricDivider}/>
155
- <T style={r.heroMetricItem}>
156
- <I style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{A("device.ramUsedTotal","RAM (USED/TOTAL)")}</I>
157
- <I style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
158
- {K.toLocaleString()}/{P.toLocaleString()} MB
159
- </I>
160
- </T>
161
- <T style={r.heroMetricDivider}/>
162
- <T style={r.heroMetricItem}>
163
- <I style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{A("device.uptime","UPTIME")}</I>
164
- <I style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">{J}</I>
165
- </T>
166
- </T>
167
- </T>}
147
+ <C style={r.heroMetricsStrip}>
148
+ <C style={r.heroMetricItem}>
149
+ <T style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{$("device.ipAddress","IP ADDRESS")}</T>
150
+ <T style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
151
+ {z}
152
+ </T>
153
+ </C>
154
+ <C style={r.heroMetricDivider}/>
155
+ <C style={r.heroMetricItem}>
156
+ <T style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{$("device.ramUsedTotal","RAM (USED/TOTAL)")}</T>
157
+ <T style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
158
+ {j.toLocaleString()}/{L.toLocaleString()} MB
159
+ </T>
160
+ </C>
161
+ <C style={r.heroMetricDivider}/>
162
+ <C style={r.heroMetricItem}>
163
+ <T style={r.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{$("device.uptime","UPTIME")}</T>
164
+ <T style={r.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">{_}</T>
165
+ </C>
166
+ </C>
167
+ </C>}
168
168
 
169
169
 
170
- {(V==="overview"||C.length>0)&&$e&&<T style={r.sectionCard}>
171
- <I style={r.sectionTitle}>DEVICE OVERVIEW</I>
170
+ {(D==="overview"||w.length>0)&&Te&&<C style={r.sectionCard}>
171
+ <T style={r.sectionTitle}>{$("deviceInfo.deviceOverview","DEVICE OVERVIEW")}</T>
172
172
  {t("Device Model",o.hardware.model)&&<S label="Device Model"value={o.hardware.model}/>}
173
173
  {t("Manufacturer",o.hardware.brand)&&<S label="Manufacturer / Brand"value={o.hardware.brand}/>}
174
- {t("Operating System",o.hardware.osVersion)&&<S label="Operating System"value={o.hardware.osVersion}badge={{text:w.OS.toUpperCase(),color:e.blue500,bg:`${e.blue500}18`}}/>}
175
- {t("IP Address",H)&&<S label="Local IP Address"value={H}badge={{text:"ONLINE",color:e.emerald500,bg:`${e.emerald500}18`}}/>}
176
- {t("RAM Memory",`${K.toLocaleString()} MB / ${P.toLocaleString()} MB (${se}%)`,`Free Memory: ${O.toLocaleString()} MB`)&&<S label="RAM Memory"value={`${K.toLocaleString()} MB / ${P.toLocaleString()} MB (${se}%)`}subtext={`Free Memory: ${O.toLocaleString()} MB`}/>}
177
- {t("Storage Capacity",`${_} GB Free / ${W} GB Total`)&&<S label="Internal Storage"value={`${_} GB Free / ${W} GB Total`}/>}
174
+ {t("Operating System",o.hardware.osVersion)&&<S label="Operating System"value={o.hardware.osVersion}badge={{text:v.OS.toUpperCase(),color:e.blue500,bg:`${e.blue500}18`}}/>}
175
+ {t("IP Address",z)&&<S label="Local IP Address"value={z}badge={{text:"ONLINE",color:e.emerald500,bg:`${e.emerald500}18`}}/>}
176
+ {t("RAM Memory",`${j.toLocaleString()} MB / ${L.toLocaleString()} MB (${ne}%)`,`Free Memory: ${U.toLocaleString()} MB`)&&<S label="RAM Memory"value={`${j.toLocaleString()} MB / ${L.toLocaleString()} MB (${ne}%)`}subtext={`Free Memory: ${U.toLocaleString()} MB`}/>}
177
+ {t("Storage Capacity",`${F} GB Free / ${N} GB Total`)&&<S label="Internal Storage"value={`${F} GB Free / ${N} GB Total`}/>}
178
178
  {t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)&&<S label="Host App Version"value={`v${o.runtime.appVersion} (${o.runtime.appBuild})`}/>}
179
- {t("JavaScript Engine",U?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")&&<S label="JS Runtime Engine"value={U?"Hermes Bytecode Engine":"JavaScriptCore (JSC)"}badge={U?{text:"HERMES",color:e.purple,bg:`${e.purple}18`}:{text:"JSC",color:e.sky500,bg:`${e.sky500}18`}}/>}
180
- {t("UDID Identifier",k)&&<S label="Pseudo-UDID"value={k}isLast/>}
181
- </T>}
179
+ {t("JavaScript Engine",k?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")&&<S label="JS Runtime Engine"value={k?"Hermes Bytecode Engine":"JavaScriptCore (JSC)"}badge={k?{text:"HERMES",color:e.purple,bg:`${e.purple}18`}:{text:"JSC",color:e.sky500,bg:`${e.sky500}18`}}/>}
180
+ {t("UDID Identifier",R)&&<S label="Pseudo-UDID"value={R}isLast/>}
181
+ </C>}
182
182
 
183
183
 
184
- {(V==="hardware"||C.length>0)&&xe&&<T style={r.sectionCard}>
185
- <I style={r.sectionTitle}>HARDWARE & SYSTEM SPECIFICATIONS</I>
184
+ {(D==="hardware"||w.length>0)&&$e&&<C style={r.sectionCard}>
185
+ <T style={r.sectionTitle}>{$("deviceInfo.hardwareSpecs","HARDWARE & SYSTEM SPECIFICATIONS")}</T>
186
186
  {t("CPU Architecture",o.hardware.cpuAbi)&&<S label="CPU Architecture / ABI"value={o.hardware.cpuAbi}badge={{text:"64-BIT",color:e.purple,bg:`${e.purple}18`}}/>}
187
- {t("Total RAM",`${P.toLocaleString()} MB`)&&<S label="Total Physical RAM"value={`${P.toLocaleString()} MB`}/>}
188
- {t("Free RAM",`${O.toLocaleString()} MB`)&&<S label="Available Free RAM"value={`${O.toLocaleString()} MB`}badge={{text:O<500?"LOW":"HEALTHY",color:O<500?e.errorColor:e.emerald500,bg:O<500?`${e.errorColor}18`:`${e.emerald500}18`}}/>}
189
- {t("Storage Capacity",`${W} GB`)&&<S label="Disk Storage Total"value={`${W} GB`}/>}
190
- {t("Available Storage",`${_} GB`)&&<S label="Disk Storage Available"value={`${_} GB`}/>}
191
- {t("Battery",`${$?.batteryPercent??100}%`)&&<S label="Battery Level"value={`${$?.batteryPercent??100}%`}badge={{text:$?.isCharging?"CHARGING":"DISCHARGING",color:$?.isCharging?e.emerald500:e.grayText,bg:$?.isCharging?`${e.emerald500}18`:`${e.grayText}18`}}/>}
192
- {t("API Level",`API ${$?.apiLevel||w.Version}`)&&w.OS==="android"&&<S label="Android API SDK Level"value={`API ${$?.apiLevel||w.Version}`}/>}
187
+ {t("Total RAM",`${L.toLocaleString()} MB`)&&<S label="Total Physical RAM"value={`${L.toLocaleString()} MB`}/>}
188
+ {t("Free RAM",`${U.toLocaleString()} MB`)&&<S label="Available Free RAM"value={`${U.toLocaleString()} MB`}badge={{text:U<500?"LOW":"HEALTHY",color:U<500?e.errorColor:e.emerald500,bg:U<500?`${e.errorColor}18`:`${e.emerald500}18`}}/>}
189
+ {t("Storage Capacity",`${N} GB`)&&<S label="Disk Storage Total"value={`${N} GB`}/>}
190
+ {t("Available Storage",`${F} GB`)&&<S label="Disk Storage Available"value={`${F} GB`}/>}
191
+ {t("Battery",`${I?.batteryPercent??100}%`)&&<S label="Battery Level"value={`${I?.batteryPercent??100}%`}badge={{text:I?.isCharging?"CHARGING":"DISCHARGING",color:I?.isCharging?e.emerald500:e.grayText,bg:I?.isCharging?`${e.emerald500}18`:`${e.grayText}18`}}/>}
192
+ {t("API Level",`API ${I?.apiLevel||v.Version}`)&&v.OS==="android"&&<S label="Android API SDK Level"value={`API ${I?.apiLevel||v.Version}`}/>}
193
193
  {t("Thermal State","Nominal (Cool)")&&<S label="Thermal State"value="Nominal (Cool)"badge={{text:"OPTIMAL",color:e.emerald500,bg:`${e.emerald500}18`}}isLast/>}
194
- </T>}
194
+ </C>}
195
195
 
196
196
 
197
- {(V==="network"||C.length>0)&&Ie&&<T style={r.sectionCard}>
198
- <I style={r.sectionTitle}>NETWORK & CONNECTIVITY</I>
199
- {t("IP Address",H)&&<S label="Local Device IP"value={H}badge={{text:"IPV4",color:e.blue500,bg:`${e.blue500}18`}}/>}
197
+ {(D==="network"||w.length>0)&&xe&&<C style={r.sectionCard}>
198
+ <T style={r.sectionTitle}>{$("deviceInfo.networkConnectivity","NETWORK & CONNECTIVITY")}</T>
199
+ {t("IP Address",z)&&<S label="Local Device IP"value={z}badge={{text:"IPV4",color:e.blue500,bg:`${e.blue500}18`}}/>}
200
200
  {t("Internet Reachability","Connected")&&<S label="Internet Reachability"value="Connected"badge={{text:"ONLINE",color:e.emerald500,bg:`${e.emerald500}18`}}/>}
201
201
  {t("Connection Type","Wi-Fi / Local Area Network")&&<S label="Active Connection Type"value="Wi-Fi / Local Area Network"/>}
202
- {t("Metro Dev Server",q?.PlatformConstants?.serverHost||q?.AndroidConstants?.serverHost||"localhost:8081")&&<S label="Metro Packager Host"value={q?.PlatformConstants?.serverHost||q?.AndroidConstants?.serverHost||"localhost:8081"}/>}
202
+ {t("Metro Dev Server",Y?.PlatformConstants?.serverHost||Y?.AndroidConstants?.serverHost||"localhost:8081")&&<S label="Metro Packager Host"value={Y?.PlatformConstants?.serverHost||Y?.AndroidConstants?.serverHost||"localhost:8081"}/>}
203
203
  {t("WebSocket Protocol","Active & Enabled")&&<S label="WebSocket (WSS) Support"value="Active & Enabled"/>}
204
204
  {t("Network Inspector Interceptor","Intercepting XHR & Fetch")&&<S label="Network Interceptor Status"value="Intercepting XHR & Fetch"badge={{text:"MONITORING",color:e.purple,bg:`${e.purple}18`}}isLast/>}
205
- </T>}
205
+ </C>}
206
206
 
207
207
 
208
- {(V==="display"||C.length>0)&&Me&&<T style={r.sectionCard}>
209
- <I style={r.sectionTitle}>DISPLAY & SCREEN GEOMETRY</I>
210
- {t("Window Resolution",`${Math.round(z.width).toLocaleString()} \xD7 ${Math.round(z.height).toLocaleString()} pt`)&&<S label="Window Logical Size"value={`${Math.round(z.width).toLocaleString()} \xD7 ${Math.round(z.height).toLocaleString()} pt`}/>}
211
- {t("Screen Physical Size",`${Math.round(E.width*L).toLocaleString()} \xD7 ${Math.round(E.height*L).toLocaleString()} px`)&&<S label="Physical Screen Size"value={`${Math.round(E.width*L).toLocaleString()} \xD7 ${Math.round(E.height*L).toLocaleString()} px`}/>}
212
- {t("Pixel Density",`@${L}x (${Math.round(L*160).toLocaleString()} dpi)`)&&<S label="Pixel Ratio (DPI Scale)"value={`@${L}x (${Math.round(L*160).toLocaleString()} dpi)`}badge={{text:`@${L}x`,color:e.purple,bg:`${e.purple}18`}}/>}
213
- {t("Font Scale",`${X}x`)&&<S label="User Font Scale"value={`${X}x (${X===1?"Default":X>1?"Enlarged":"Compact"})`}/>}
214
- {t("Form Factor",j?"Tablet":"Smartphone")&&<S label="Device Form Factor"value={j?"Tablet":"Smartphone"}badge={{text:j?"TABLET":"PHONE",color:j?e.blue500:e.purple,bg:j?`${e.blue500}18`:`${e.purple}18`}}/>}
215
- {t("Orientation",Q?"Landscape":"Portrait")&&<S label="Screen Orientation"value={Q?"Landscape":"Portrait"}/>}
216
- {t("Status Bar Height",`${ee} pt`)&&<S label="Status Bar Inset"value={`${ee} pt`}isLast/>}
217
- </T>}
208
+ {(D==="display"||w.length>0)&&Me&&<C style={r.sectionCard}>
209
+ <T style={r.sectionTitle}>{$("deviceInfo.displayGeometry","DISPLAY & SCREEN GEOMETRY")}</T>
210
+ {t("Window Resolution",`${Math.round(E.width).toLocaleString()} \xD7 ${Math.round(E.height).toLocaleString()} pt`)&&<S label="Window Logical Size"value={`${Math.round(E.width).toLocaleString()} \xD7 ${Math.round(E.height).toLocaleString()} pt`}/>}
211
+ {t("Screen Physical Size",`${Math.round(P.width*A).toLocaleString()} \xD7 ${Math.round(P.height*A).toLocaleString()} px`)&&<S label="Physical Screen Size"value={`${Math.round(P.width*A).toLocaleString()} \xD7 ${Math.round(P.height*A).toLocaleString()} px`}/>}
212
+ {t("Pixel Density",`@${A}x (${Math.round(A*160).toLocaleString()} dpi)`)&&<S label="Pixel Ratio (DPI Scale)"value={`@${A}x (${Math.round(A*160).toLocaleString()} dpi)`}badge={{text:`@${A}x`,color:e.purple,bg:`${e.purple}18`}}/>}
213
+ {t("Font Scale",`${K}x`)&&<S label="User Font Scale"value={`${K}x (${K===1?"Default":K>1?"Enlarged":"Compact"})`}/>}
214
+ {t("Form Factor",G?"Tablet":"Smartphone")&&<S label="Device Form Factor"value={G?"Tablet":"Smartphone"}badge={{text:G?"TABLET":"PHONE",color:G?e.blue500:e.purple,bg:G?`${e.blue500}18`:`${e.purple}18`}}/>}
215
+ {t("Orientation",Z?"Landscape":"Portrait")&&<S label="Screen Orientation"value={Z?"Landscape":"Portrait"}/>}
216
+ {t("Status Bar Height",`${Q} pt`)&&<S label="Status Bar Inset"value={`${Q} pt`}isLast/>}
217
+ </C>}
218
218
 
219
219
 
220
- {(V==="runtime"||C.length>0)&&Be&&<T style={r.sectionCard}>
221
- <I style={r.sectionTitle}>RUNTIME & APPLICATION</I>
220
+ {(D==="runtime"||w.length>0)&&Be&&<C style={r.sectionCard}>
221
+ <T style={r.sectionTitle}>{$("deviceInfo.runtimeApp","RUNTIME & APPLICATION")}</T>
222
222
  {t("App Name",o.runtime.appName)&&<S label="Application Name"value={o.runtime.appName}/>}
223
223
  {t("Bundle ID",o.identifiers.bundleId)&&<S label="Bundle Identifier / Package"value={o.identifiers.bundleId}/>}
224
224
  {t("App Version",`v${o.runtime.appVersion} (${o.runtime.appBuild})`)&&<S label="Application Version"value={`v${o.runtime.appVersion} (${o.runtime.appBuild})`}/>}
225
- {t("React Native",`v${te}`)&&<S label="React Native Framework"value={`v${te}`}badge={{text:"RN",color:e.sky500,bg:`${e.sky500}18`}}/>}
226
- {t("In-App Inspector Version",`v${le}`)&&<S label="In-App Inspector Library"value={`v${le}`}badge={{text:"LATEST",color:e.purple,bg:`${e.purple}18`}}/>}
227
- {t("Hermes Engine",U?"Enabled (AOT Bytecode)":"Disabled (JSC)")&&<S label="Hermes JavaScript Engine"value={U?"Enabled (AOT Bytecode)":"Disabled (JSC)"}badge={{text:U?"HERMES":"JSC",color:U?e.purple:e.grayText,bg:U?`${e.purple}18`:`${e.grayText}18`}}/>}
228
- {t("New Architecture",Y?"Enabled":"Legacy Bridge")&&<S label="Bridgeless TurboModules (New Arch)"value={Y?"Enabled":"Legacy Bridge"}badge={{text:Y?"NEW ARCH":"LEGACY",color:Y?e.emerald500:e.blue500,bg:Y?`${e.emerald500}18`:`${e.blue500}18`}}/>}
225
+ {t("React Native",`v${ee}`)&&<S label="React Native Framework"value={`v${ee}`}badge={{text:"RN",color:e.sky500,bg:`${e.sky500}18`}}/>}
226
+ {t("In-App Inspector Version",`v${ie}`)&&<S label="In-App Inspector Library"value={`v${ie}`}badge={{text:"LATEST",color:e.purple,bg:`${e.purple}18`}}/>}
227
+ {t("Hermes Engine",k?"Enabled (AOT Bytecode)":"Disabled (JSC)")&&<S label="Hermes JavaScript Engine"value={k?"Enabled (AOT Bytecode)":"Disabled (JSC)"}badge={{text:k?"HERMES":"JSC",color:k?e.purple:e.grayText,bg:k?`${e.purple}18`:`${e.grayText}18`}}/>}
228
+ {t("New Architecture",J?"Enabled":"Legacy Bridge")&&<S label="Bridgeless TurboModules (New Arch)"value={J?"Enabled":"Legacy Bridge"}badge={{text:J?"NEW ARCH":"LEGACY",color:J?e.emerald500:e.blue500,bg:J?`${e.emerald500}18`:`${e.blue500}18`}}/>}
229
229
  {t("Build Type",__DEV__?"Debug (__DEV__ = true)":"Release / Production")&&<S label="Build Configuration"value={__DEV__?"Debug (__DEV__ = true)":"Release / Production"}badge={{text:__DEV__?"DEBUG":"RELEASE",color:__DEV__?e.warningIconGold:e.emerald500,bg:__DEV__?`${e.warningIconGold}18`:`${e.emerald500}18`}}/>}
230
230
  {t("Timezone",o.runtime.timezone)&&<S label="System Timezone"value={o.runtime.timezone}/>}
231
231
  {t("Locale",o.runtime.locale)&&<S label="System Language & Locale"value={o.runtime.locale}/>}
232
- {t("Session Uptime",J)&&<S label="Inspector Session Uptime"value={J}isLast/>}
233
- </T>}
232
+ {t("Session Uptime",_)&&<S label="Inspector Session Uptime"value={_}isLast/>}
233
+ </C>}
234
234
 
235
235
 
236
- {(V==="security"||C.length>0)&&De&&<T style={r.sectionCard}>
237
- <I style={r.sectionTitle}>DEVICE IDENTIFIERS & SECURITY</I>
238
- {t("Pseudo-UDID",k)&&<S label="Deterministic Pseudo-UDID"value={k}subtext="Stable hardware signature hash for testing & diagnostics"badge={{text:"PERSISTENT",color:e.purple,bg:`${e.purple}18`}}/>}
236
+ {(D==="security"||w.length>0)&&De&&<C style={r.sectionCard}>
237
+ <T style={r.sectionTitle}>{$("deviceInfo.deviceSecurity","DEVICE IDENTIFIERS & SECURITY")}</T>
238
+ {t("Pseudo-UDID",R)&&<S label="Deterministic Pseudo-UDID"value={R}subtext="Stable hardware signature hash for testing & diagnostics"badge={{text:"PERSISTENT",color:e.purple,bg:`${e.purple}18`}}/>}
239
239
  {t("Bundle ID",o.identifiers.bundleId)&&<S label="Application Bundle ID"value={o.identifiers.bundleId}/>}
240
240
  {t("Root / Jailbreak","Clean (Standard Sandbox)")&&<S label="Root / Jailbreak Heuristic"value="Clean (Standard Sandbox)"badge={{text:"SECURE",color:e.emerald500,bg:`${e.emerald500}18`}}/>}
241
- {t("Simulator / Emulator",w.constants?.Model?.includes?.("sdk")||w.constants?.Model?.includes?.("Emulator")||w.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")&&<S label="Emulator / Physical Device"value={w.constants?.Model?.includes?.("sdk")||w.constants?.Model?.includes?.("Emulator")||w.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device"}/>}
241
+ {t("Simulator / Emulator",v.constants?.Model?.includes?.("sdk")||v.constants?.Model?.includes?.("Emulator")||v.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")&&<S label="Emulator / Physical Device"value={v.constants?.Model?.includes?.("sdk")||v.constants?.Model?.includes?.("Emulator")||v.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device"}/>}
242
242
  {t("Sandbox Integrity","Enforced by OS Kernel")&&<S label="App Sandbox File Isolation"value="Enforced by OS Kernel"isLast/>}
243
- </T>}
243
+ </C>}
244
244
 
245
245
 
246
- {C.trim().length>0&&!Je&&<T style={r.emptySearchCard}>
246
+ {w.trim().length>0&&!Je&&<C style={r.emptySearchCard}>
247
247
  <He size={26}color={e.grayTextWeak}/>
248
- <I style={r.emptySearchTitle}>No matching device specifications</I>
249
- <I style={r.emptySearchSubtitle}>
250
- No properties matched &ldquo;{C}&rdquo;
251
- </I>
252
- <Z onPress={()=>re("")}style={r.clearSearchBtn}>
253
- <I style={r.clearSearchBtnText}>Clear Search</I>
254
- </Z>
255
- </T>}
248
+ <T style={r.emptySearchTitle}>{$("deviceInfo.noMatchingSpecs","No matching device specifications")}</T>
249
+ <T style={r.emptySearchSubtitle}>
250
+ No properties matched &ldquo;{w}&rdquo;
251
+ </T>
252
+ <X onPress={()=>te("")}style={r.clearSearchBtn}>
253
+ <T style={r.clearSearchBtnText}>{$("deviceInfo.clearSearch","Clear Search")}</T>
254
+ </X>
255
+ </C>}
256
256
 
257
- <T style={{height:48}}/>
257
+ <C style={{height:48}}/>
258
258
  </Ee>
259
- </T>});const r=Qe.create({container:{flex:1,backgroundColor:e.grayBackground},subTabsWrapper:{backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,paddingVertical:6},subTabsContainer:{paddingHorizontal:12,flexDirection:"row",alignItems:"center",gap:6},subTabPill:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,borderWidth:1},subTabPillText:{fontFamily:D.interBold,fontSize:10.5},featuredUuidCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1.5,borderColor:`${e.brandPurple}40`,padding:12,gap:10,shadowColor:e.brandPurple,shadowOpacity:.08,shadowRadius:6,shadowOffset:{width:0,height:2},elevation:2},featuredUuidHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8},featuredUuidTitleRow:{flexDirection:"row",alignItems:"center",gap:8,flex:1,minWidth:0},featuredUuidIconWrap:{width:28,height:28,borderRadius:7,backgroundColor:e.brandPurple,alignItems:"center",justifyContent:"center"},featuredUuidLabel:{fontFamily:D.interBold,fontSize:11,color:e.primaryBlack,letterSpacing:.3},featuredUuidSubtext:{fontFamily:D.interRegular,fontSize:9.5,color:e.grayTextWeak,marginTop:.5},featuredBadge:{backgroundColor:`${e.brandPurple}18`,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:`${e.brandPurple}30`},featuredBadgeText:{fontFamily:D.interBold,fontSize:8,color:e.brandPurple,letterSpacing:.4},featuredCopyBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.brandPurple,paddingHorizontal:10,paddingVertical:5.5,borderRadius:7,shadowColor:e.brandPurple,shadowOpacity:.25,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1},featuredCopyBtnText:{fontFamily:D.interBold,fontSize:10.5,color:e.white},featuredUuidValueBox:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:`${e.brandPurple}0C`,borderRadius:8,borderWidth:1,borderColor:`${e.brandPurple}28`,paddingHorizontal:10,paddingVertical:7,gap:8},featuredUuidValueText:{flex:1,fontFamily:w.select({ios:"Menlo",android:"monospace",default:"monospace"}),fontSize:11.5,color:e.brandPurple,letterSpacing:.5},actionBar:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:8,backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,gap:8},searchBar:{flex:1,flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:8,paddingHorizontal:9,paddingVertical:w.OS==="ios"?6:2,borderWidth:1,borderColor:e.grayBorderSecondary,gap:6},searchInput:{flex:1,fontFamily:D.interMedium,fontSize:12,color:e.primaryBlack,padding:0},exportButton:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:9,paddingVertical:6,borderRadius:8,backgroundColor:`${e.purple}14`,borderWidth:1,borderColor:`${e.purple}33`},exportButtonText:{fontFamily:D.interBold,fontSize:11,color:e.purple},scrollArea:{flex:1},scrollContent:{padding:12,gap:12,paddingBottom:100},heroCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:14,shadowColor:e.black,shadowOpacity:.04,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:1,gap:12},heroHeader:{flexDirection:"row",alignItems:"center",gap:10},heroIconWrap:{width:38,height:38,borderRadius:10,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.purple,shadowOpacity:.25,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:2},heroTitle:{fontFamily:D.interBold,fontSize:15,color:e.primaryBlack,letterSpacing:-.2},heroSubtitle:{fontFamily:D.interRegular,fontSize:11.5,color:e.grayText,marginTop:1},heroBadge:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.emerald500}18`,paddingHorizontal:7,paddingVertical:3,borderRadius:6},pulseDot:{width:6,height:6,borderRadius:3,backgroundColor:e.emerald500},heroBadgeText:{fontFamily:D.interBold,fontSize:9.5,color:e.emerald500},heroMetricsStrip:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:10,paddingVertical:8,paddingHorizontal:10},heroMetricItem:{flex:1,alignItems:"center",paddingHorizontal:2,minWidth:0},heroMetricLabel:{fontFamily:D.interBold,fontSize:8.5,color:e.grayTextWeak,letterSpacing:.4},heroMetricValue:{fontFamily:D.interBold,fontSize:11,color:e.primaryBlack,marginTop:2},heroMetricDivider:{width:1,height:20,backgroundColor:e.dividerColor},sectionCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:14,shadowColor:e.black,shadowOpacity:.03,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1},sectionTitle:{fontFamily:D.interBold,fontSize:10.5,color:e.grayTextWeak,letterSpacing:.8,marginBottom:8,textTransform:"uppercase"},infoRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,borderBottomWidth:1,borderBottomColor:e.dividerColor},infoLabel:{fontFamily:D.interMedium,fontSize:12.5,color:e.primaryBlack},infoSubtext:{fontFamily:D.interRegular,fontSize:10,color:e.grayTextWeak,marginTop:1},infoBadge:{paddingHorizontal:5,paddingVertical:1,borderRadius:4,borderWidth:1},infoBadgeText:{fontFamily:D.interBold,fontSize:8.5},infoValue:{fontFamily:D.interBold,fontSize:12,color:e.primaryBlack,flexShrink:1,textAlign:"right"},rowCopyBtn:{padding:4,borderRadius:4,backgroundColor:e.grayBackground},emptySearchCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:24,alignItems:"center",justifyContent:"center",gap:8,marginTop:8},emptySearchTitle:{fontFamily:D.interBold,fontSize:13.5,color:e.primaryBlack,textAlign:"center"},emptySearchSubtitle:{fontFamily:D.interRegular,fontSize:11.5,color:e.grayTextWeak,textAlign:"center"},clearSearchBtn:{marginTop:6,paddingHorizontal:14,paddingVertical:6.5,borderRadius:8,backgroundColor:e.purple},clearSearchBtnText:{fontFamily:D.interBold,fontSize:11,color:e.white}});export default DeviceInfoTab;
259
+ </C>});const r=Qe.create({container:{flex:1,backgroundColor:e.grayBackground},subTabsWrapper:{backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,paddingVertical:6},subTabsContainer:{paddingHorizontal:12,flexDirection:"row",alignItems:"center",gap:6},subTabPill:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,borderWidth:1},subTabPillText:{fontFamily:B.interBold,fontSize:10.5},featuredUuidCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1.5,borderColor:`${e.brandPurple}40`,padding:12,gap:10,shadowColor:e.brandPurple,shadowOpacity:.08,shadowRadius:6,shadowOffset:{width:0,height:2},elevation:2},featuredUuidHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8},featuredUuidTitleRow:{flexDirection:"row",alignItems:"center",gap:8,flex:1,minWidth:0},featuredUuidIconWrap:{width:28,height:28,borderRadius:7,backgroundColor:e.brandPurple,alignItems:"center",justifyContent:"center"},featuredUuidLabel:{fontFamily:B.interBold,fontSize:11,color:e.primaryBlack,letterSpacing:.3},featuredUuidSubtext:{fontFamily:B.interRegular,fontSize:9.5,color:e.grayTextWeak,marginTop:.5},featuredBadge:{backgroundColor:`${e.brandPurple}18`,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:`${e.brandPurple}30`},featuredBadgeText:{fontFamily:B.interBold,fontSize:8,color:e.brandPurple,letterSpacing:.4},featuredCopyBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.brandPurple,paddingHorizontal:10,paddingVertical:5.5,borderRadius:7,shadowColor:e.brandPurple,shadowOpacity:.25,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1},featuredCopyBtnText:{fontFamily:B.interBold,fontSize:10.5,color:e.white},featuredUuidValueBox:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:`${e.brandPurple}0C`,borderRadius:8,borderWidth:1,borderColor:`${e.brandPurple}28`,paddingHorizontal:10,paddingVertical:7,gap:8},featuredUuidValueText:{flex:1,fontFamily:v.select({ios:"Menlo",android:"monospace",default:"monospace"}),fontSize:11.5,color:e.brandPurple,letterSpacing:.5},actionBar:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:8,backgroundColor:e.primaryLight,borderBottomWidth:1,borderBottomColor:e.dividerColor,gap:8},searchBar:{flex:1,flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:8,paddingHorizontal:9,paddingVertical:v.OS==="ios"?6:2,borderWidth:1,borderColor:e.grayBorderSecondary,gap:6},searchInput:{flex:1,fontFamily:B.interMedium,fontSize:12,color:e.primaryBlack,padding:0},exportButton:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:9,paddingVertical:6,borderRadius:8,backgroundColor:`${e.purple}14`,borderWidth:1,borderColor:`${e.purple}33`},exportButtonText:{fontFamily:B.interBold,fontSize:11,color:e.purple},scrollArea:{flex:1},scrollContent:{padding:12,gap:12,paddingBottom:100},heroCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:14,shadowColor:e.black,shadowOpacity:.04,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:1,gap:12},heroHeader:{flexDirection:"row",alignItems:"center",gap:10},heroIconWrap:{width:38,height:38,borderRadius:10,backgroundColor:e.purple,alignItems:"center",justifyContent:"center",shadowColor:e.purple,shadowOpacity:.25,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:2},heroTitle:{fontFamily:B.interBold,fontSize:15,color:e.primaryBlack,letterSpacing:-.2},heroSubtitle:{fontFamily:B.interRegular,fontSize:11.5,color:e.grayText,marginTop:1},heroBadge:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.emerald500}18`,paddingHorizontal:7,paddingVertical:3,borderRadius:6},pulseDot:{width:6,height:6,borderRadius:3,backgroundColor:e.emerald500},heroBadgeText:{fontFamily:B.interBold,fontSize:9.5,color:e.emerald500},heroMetricsStrip:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:10,paddingVertical:8,paddingHorizontal:10},heroMetricItem:{flex:1,alignItems:"center",paddingHorizontal:2,minWidth:0},heroMetricLabel:{fontFamily:B.interBold,fontSize:8.5,color:e.grayTextWeak,letterSpacing:.4},heroMetricValue:{fontFamily:B.interBold,fontSize:11,color:e.primaryBlack,marginTop:2},heroMetricDivider:{width:1,height:20,backgroundColor:e.dividerColor},sectionCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:14,shadowColor:e.black,shadowOpacity:.03,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1},sectionTitle:{fontFamily:B.interBold,fontSize:10.5,color:e.grayTextWeak,letterSpacing:.8,marginBottom:8,textTransform:"uppercase"},infoRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:9,borderBottomWidth:1,borderBottomColor:e.dividerColor},infoLabel:{fontFamily:B.interMedium,fontSize:12.5,color:e.primaryBlack},infoSubtext:{fontFamily:B.interRegular,fontSize:10,color:e.grayTextWeak,marginTop:1},infoBadge:{paddingHorizontal:5,paddingVertical:1,borderRadius:4,borderWidth:1},infoBadgeText:{fontFamily:B.interBold,fontSize:8.5},infoValue:{fontFamily:B.interBold,fontSize:12,color:e.primaryBlack,flexShrink:1,textAlign:"right"},rowCopyBtn:{padding:4,borderRadius:4,backgroundColor:e.grayBackground},emptySearchCard:{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:24,alignItems:"center",justifyContent:"center",gap:8,marginTop:8},emptySearchTitle:{fontFamily:B.interBold,fontSize:13.5,color:e.primaryBlack,textAlign:"center"},emptySearchSubtitle:{fontFamily:B.interRegular,fontSize:11.5,color:e.grayTextWeak,textAlign:"center"},clearSearchBtn:{marginTop:6,paddingHorizontal:14,paddingVertical:6.5,borderRadius:8,backgroundColor:e.purple},clearSearchBtnText:{fontFamily:B.interBold,fontSize:11,color:e.white}});export default DeviceInfoTab;