react-native-inapp-inspector 2.5.1 → 2.5.3

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 (308) hide show
  1. package/README.ar.md +151 -53
  2. package/README.de.md +150 -52
  3. package/README.es.md +139 -42
  4. package/README.fr.md +151 -53
  5. package/README.hi.md +141 -43
  6. package/README.ja.md +150 -69
  7. package/README.ko.md +153 -55
  8. package/README.md +73 -14
  9. package/README.pt-BR.md +152 -54
  10. package/README.ru.md +153 -55
  11. package/README.zh-CN.md +95 -219
  12. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  15. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  16. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  17. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  18. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  19. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  20. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  21. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  22. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  23. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.dex +0 -0
  24. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  25. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  26. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  27. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  28. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  29. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  30. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  31. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  32. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +160 -0
  33. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  34. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +212 -0
  35. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  36. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  42. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +300 -0
  43. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  44. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  45. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  46. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  47. package/android/build/generated/source/codegen/schema.json +1 -0
  48. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  49. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  50. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  51. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  52. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  53. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  54. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  55. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  56. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  57. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  58. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  59. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  60. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  61. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  63. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  64. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  65. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  66. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  67. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  82. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  171. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  172. package/android/build/reports/problems/problems-report.html +659 -0
  173. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  174. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  185. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +154 -9
  186. package/dist/commonjs/capture.d.ts +5 -2
  187. package/dist/commonjs/capture.js +1 -1
  188. package/dist/commonjs/components/CountryFlag.d.ts +10 -0
  189. package/dist/commonjs/components/CountryFlag.js +140 -0
  190. package/dist/commonjs/components/EmptyState.js +6 -6
  191. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +36 -36
  192. package/dist/commonjs/components/Inspector/FabLauncher.js +12 -12
  193. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +23 -23
  194. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +24 -24
  195. package/dist/commonjs/components/Inspector/InspectorHeader.js +40 -42
  196. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +23 -18
  197. package/dist/commonjs/components/Inspector/MainScreen.js +17 -17
  198. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +52 -34
  199. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +20 -18
  200. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +742 -304
  201. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +21 -21
  202. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +6 -6
  203. package/dist/commonjs/components/Inspector/SocketFilterModal.js +12 -12
  204. package/dist/commonjs/components/Inspector/TabBar.js +3 -3
  205. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  206. package/dist/commonjs/components/MetaAccordion.js +17 -17
  207. package/dist/commonjs/components/ModuleErrorBoundary.js +4 -4
  208. package/dist/commonjs/components/NetworkIcons.d.ts +19 -0
  209. package/dist/commonjs/components/NetworkIcons.js +87 -3
  210. package/dist/commonjs/components/SourcePageCard.js +9 -9
  211. package/dist/commonjs/constants/version.d.ts +1 -1
  212. package/dist/commonjs/constants/version.js +1 -1
  213. package/dist/commonjs/i18n/locales/ar.json +1 -1
  214. package/dist/commonjs/i18n/locales/bn.json +1 -1
  215. package/dist/commonjs/i18n/locales/de.json +1 -1
  216. package/dist/commonjs/i18n/locales/en.json +1 -1
  217. package/dist/commonjs/i18n/locales/es.json +1 -1
  218. package/dist/commonjs/i18n/locales/fr.json +1 -1
  219. package/dist/commonjs/i18n/locales/gu.json +1 -1
  220. package/dist/commonjs/i18n/locales/hi.json +1 -1
  221. package/dist/commonjs/i18n/locales/id.json +1 -1
  222. package/dist/commonjs/i18n/locales/it.json +1 -1
  223. package/dist/commonjs/i18n/locales/ja.json +1 -1
  224. package/dist/commonjs/i18n/locales/kn.json +1 -1
  225. package/dist/commonjs/i18n/locales/ko.json +1 -1
  226. package/dist/commonjs/i18n/locales/ml.json +1 -1
  227. package/dist/commonjs/i18n/locales/mr.json +1 -1
  228. package/dist/commonjs/i18n/locales/nl.json +1 -1
  229. package/dist/commonjs/i18n/locales/pa.json +1 -1
  230. package/dist/commonjs/i18n/locales/pl.json +1 -1
  231. package/dist/commonjs/i18n/locales/pt.json +1 -1
  232. package/dist/commonjs/i18n/locales/ru.json +1 -1
  233. package/dist/commonjs/i18n/locales/ta.json +1 -1
  234. package/dist/commonjs/i18n/locales/te.json +1 -1
  235. package/dist/commonjs/i18n/locales/tr.json +1 -1
  236. package/dist/commonjs/i18n/locales/vi.json +1 -1
  237. package/dist/commonjs/i18n/locales/zh.json +1 -1
  238. package/dist/commonjs/index.js +1 -1
  239. package/dist/commonjs/native/NativeInspector.d.ts +4 -0
  240. package/dist/commonjs/native/NativeInspector.js +1 -1
  241. package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
  242. package/dist/commonjs/styles/AppColors.d.ts +76 -0
  243. package/dist/commonjs/styles/AppColors.js +1 -1
  244. package/dist/commonjs/types/interfaces.d.ts +2 -0
  245. package/dist/esm/capture.d.ts +5 -2
  246. package/dist/esm/capture.js +1 -1
  247. package/dist/esm/components/CountryFlag.d.ts +10 -0
  248. package/dist/esm/components/CountryFlag.js +140 -0
  249. package/dist/esm/components/EmptyState.js +13 -13
  250. package/dist/esm/components/Inspector/DeviceInfoTab.js +176 -176
  251. package/dist/esm/components/Inspector/FabLauncher.js +37 -37
  252. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +27 -27
  253. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +9 -9
  254. package/dist/esm/components/Inspector/InspectorHeader.js +43 -45
  255. package/dist/esm/components/Inspector/LanguageSelectorModal.js +107 -102
  256. package/dist/esm/components/Inspector/MainScreen.js +52 -52
  257. package/dist/esm/components/Inspector/MediaGalleryTab.js +100 -82
  258. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +20 -18
  259. package/dist/esm/components/Inspector/MediaPreviewModal.js +764 -326
  260. package/dist/esm/components/Inspector/NetworkFilterModal.js +37 -37
  261. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +20 -20
  262. package/dist/esm/components/Inspector/SocketFilterModal.js +32 -32
  263. package/dist/esm/components/Inspector/TabBar.js +12 -12
  264. package/dist/esm/components/Inspector/UpdateAvailableModal.js +11 -11
  265. package/dist/esm/components/MetaAccordion.js +24 -24
  266. package/dist/esm/components/ModuleErrorBoundary.js +20 -20
  267. package/dist/esm/components/NetworkIcons.d.ts +19 -0
  268. package/dist/esm/components/NetworkIcons.js +89 -5
  269. package/dist/esm/components/SourcePageCard.js +21 -21
  270. package/dist/esm/constants/version.d.ts +1 -1
  271. package/dist/esm/constants/version.js +1 -1
  272. package/dist/esm/i18n/locales/ar.json +1 -1
  273. package/dist/esm/i18n/locales/bn.json +1 -1
  274. package/dist/esm/i18n/locales/de.json +1 -1
  275. package/dist/esm/i18n/locales/en.json +1 -1
  276. package/dist/esm/i18n/locales/es.json +1 -1
  277. package/dist/esm/i18n/locales/fr.json +1 -1
  278. package/dist/esm/i18n/locales/gu.json +1 -1
  279. package/dist/esm/i18n/locales/hi.json +1 -1
  280. package/dist/esm/i18n/locales/id.json +1 -1
  281. package/dist/esm/i18n/locales/it.json +1 -1
  282. package/dist/esm/i18n/locales/ja.json +1 -1
  283. package/dist/esm/i18n/locales/kn.json +1 -1
  284. package/dist/esm/i18n/locales/ko.json +1 -1
  285. package/dist/esm/i18n/locales/ml.json +1 -1
  286. package/dist/esm/i18n/locales/mr.json +1 -1
  287. package/dist/esm/i18n/locales/nl.json +1 -1
  288. package/dist/esm/i18n/locales/pa.json +1 -1
  289. package/dist/esm/i18n/locales/pl.json +1 -1
  290. package/dist/esm/i18n/locales/pt.json +1 -1
  291. package/dist/esm/i18n/locales/ru.json +1 -1
  292. package/dist/esm/i18n/locales/ta.json +1 -1
  293. package/dist/esm/i18n/locales/te.json +1 -1
  294. package/dist/esm/i18n/locales/tr.json +1 -1
  295. package/dist/esm/i18n/locales/vi.json +1 -1
  296. package/dist/esm/i18n/locales/zh.json +1 -1
  297. package/dist/esm/index.js +3 -3
  298. package/dist/esm/native/NativeInspector.d.ts +4 -0
  299. package/dist/esm/native/NativeInspector.js +1 -1
  300. package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
  301. package/dist/esm/styles/AppColors.d.ts +76 -0
  302. package/dist/esm/styles/AppColors.js +1 -1
  303. package/dist/esm/types/interfaces.d.ts +2 -0
  304. package/ios/NetworkInspectorModule.mm +487 -224
  305. package/package.json +1 -1
  306. package/react-native-inapp-inspector.podspec +1 -1
  307. package/src/native/NativeInspector.ts +22 -0
  308. package/src/native/NativeNetworkInspector.ts +1 -1
@@ -1,7 +1,7 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,a,g,o){o===void 0&&(o=g);var s=Object.getOwnPropertyDescriptor(a,g);(!s||("get"in s?!a.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return a[g]}}),Object.defineProperty(i,o,s)}):(function(i,a,g,o){o===void 0&&(o=g),i[o]=a[g]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,a){Object.defineProperty(i,"default",{enumerable:!0,value:a})}):function(i,a){i.default=a}),__importStar=this&&this.__importStar||(function(){var i=function(a){return i=Object.getOwnPropertyNames||function(g){var o=[];for(var s in g)Object.prototype.hasOwnProperty.call(g,s)&&(o[o.length]=s);return o},i(a)};return function(a){if(a&&a.__esModule)return a;var g={};if(a!=null)for(var o=i(a),s=0;s<o.length;s++)o[s]!=="default"&&__createBinding(g,a,o[s]);return __setModuleDefault(g,a),g}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeviceInfoTab=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NativeInspector_1=require("../../native/NativeInspector"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),constants_1=require("../../constants"),InfoRow=react_1.default.memo(({label:i,value:a,copyable:g=!0,badge:o,subtext:s,isLast:l=!1})=>{const P=a==null?"\u2014":typeof a=="boolean"?a?"Yes":"No":typeof a=="number"?a.toLocaleString():String(a);return<react_native_1.View style={[styles.infoRow,l&&{borderBottomWidth:0}]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,i,g,o){o===void 0&&(o=g);var s=Object.getOwnPropertyDescriptor(i,g);(!s||("get"in s?!i.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return i[g]}}),Object.defineProperty(r,o,s)}):(function(r,i,g,o){o===void 0&&(o=g),r[o]=i[g]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,i){Object.defineProperty(r,"default",{enumerable:!0,value:i})}):function(r,i){r.default=i}),__importStar=this&&this.__importStar||(function(){var r=function(i){return r=Object.getOwnPropertyNames||function(g){var o=[];for(var s in g)Object.prototype.hasOwnProperty.call(g,s)&&(o[o.length]=s);return o},r(i)};return function(i){if(i&&i.__esModule)return i;var g={};if(i!=null)for(var o=r(i),s=0;s<o.length;s++)o[s]!=="default"&&__createBinding(g,i,o[s]);return __setModuleDefault(g,i),g}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeviceInfoTab=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NativeInspector_1=require("../../native/NativeInspector"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),constants_1=require("../../constants"),InfoRow=react_1.default.memo(({label:r,value:i,copyable:g=!0,badge:o,subtext:s,isLast:l=!1})=>{const P=i==null?"\u2014":typeof i=="boolean"?i?"Yes":"No":typeof i=="number"?i.toLocaleString():String(i);return<react_native_1.View style={[styles.infoRow,l&&{borderBottomWidth:0}]}>
2
2
  <react_native_1.View style={{flex:1,paddingRight:8,minWidth:0}}>
3
3
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:6}}>
4
- <react_native_1.Text style={styles.infoLabel}numberOfLines={2}>{i}</react_native_1.Text>
4
+ <react_native_1.Text style={styles.infoLabel}numberOfLines={2}>{r}</react_native_1.Text>
5
5
  {o&&<react_native_1.View style={[styles.infoBadge,{backgroundColor:o.bg,borderColor:`${o.color}33`}]}>
6
6
  <react_native_1.Text style={[styles.infoBadgeText,{color:o.color}]}>
7
7
  {o.text}
@@ -11,14 +11,14 @@
11
11
  {s&&<react_native_1.Text style={styles.infoSubtext}numberOfLines={2}>{s}</react_native_1.Text>}
12
12
  </react_native_1.View>
13
13
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0,maxWidth:"58%",justifyContent:"flex-end"}}>
14
- <react_native_1.Text style={[styles.infoValue,typeof a=="boolean"&&{color:a?AppColors_1.AppColors.emerald500:AppColors_1.AppColors.errorColor}]}numberOfLines={3}selectable>
14
+ <react_native_1.Text style={[styles.infoValue,typeof i=="boolean"&&{color:i?AppColors_1.AppColors.emerald500:AppColors_1.AppColors.errorColor}]}numberOfLines={3}selectable>
15
15
  {P}
16
16
  </react_native_1.Text>
17
- {g&&a!==null&&a!==void 0&&<TouchableScale_1.default hitSlop={8}onPress={()=>{(0,helpers_1.copyToClipboard)(P,i),(0,toast_1.showToast)(`Copied ${i}`)}}style={styles.rowCopyBtn}>
17
+ {g&&i!==null&&i!==void 0&&<TouchableScale_1.default hitSlop={8}onPress={()=>{(0,helpers_1.copyToClipboard)(P,r),(0,toast_1.showToast)(`Copied ${r}`)}}style={styles.rowCopyBtn}>
18
18
  <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.grayTextWeak}/>
19
19
  </TouchableScale_1.default>}
20
20
  </react_native_1.View>
21
- </react_native_1.View>});exports.DeviceInfoTab=react_1.default.memo(()=>{const{t:i}=(0,i18n_1.useTranslation)(),[a,g]=(0,react_1.useState)("overview"),[o,s]=(0,react_1.useState)(""),[l,P]=(0,react_1.useState)(null),[J,j]=(0,react_1.useState)(null),[y,R]=(0,react_1.useState)("Detecting..."),[_,E]=(0,react_1.useState)("0s"),q=react_1.default.useRef(Date.now()),k=(0,react_1.useCallback)(async()=>{try{const[r,d]=await Promise.all([(0,NativeInspector_1.getNativeDeviceMetrics)(),(0,NativeInspector_1.getNativeSystemMetrics)()]);P(r),j(d)}catch{}},[]);(0,react_1.useEffect)(()=>{k();const r=setInterval(k,3e3);return()=>clearInterval(r)},[k]),(0,react_1.useEffect)(()=>{let r=!0;return(async()=>{try{const n=react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.AndroidConstants?.serverHost||react_native_1.NativeModules?.DevSettings?.serverHost;if(n&&typeof n=="string"){const c=n.split(":")[0].replace(/https?:\/\//,"");if(c&&c!=="localhost"&&c!=="127.0.0.1"){r&&R(c);return}}}catch{}try{const n=new AbortController,c=setTimeout(()=>n.abort(),1200),S=await fetch("https://api.ipify.org?format=json",{signal:n.signal});if(clearTimeout(c),S.ok){const w=await S.json();if(w&&w.ip&&r){R(w.ip);return}}}catch{}r&&R(react_native_1.Platform.OS==="android"?"10.0.2.15 (Local)":"127.0.0.1 (Local)")})(),()=>{r=!1}},[]),(0,react_1.useEffect)(()=>{const r=()=>{const n=Math.floor((Date.now()-q.current)/1e3),c=Math.floor(n/3600),S=Math.floor(n%3600/60),w=n%60;c>0?E(`${c}h ${S}m ${w}s`):S>0?E(`${S}m ${w}s`):E(`${w}s`)},d=setInterval(r,1e3);return r(),()=>clearInterval(d)},[]);const f=react_native_1.Dimensions.get("window"),h=react_native_1.Dimensions.get("screen"),p=react_native_1.PixelRatio.get(),M=react_native_1.PixelRatio.getFontScale(),T=f.width>=600||f.height>=1e3,$=f.width>f.height,B=react_native_1.Platform.OS==="android"?react_native_1.StatusBar.currentHeight||24:f.height>=812?44:20,b=(0,react_1.useMemo)(()=>{const r=`${react_native_1.Platform.OS}-${react_native_1.Platform.Version}-${h.width}x${h.height}-${p}-${react_native_1.Platform.constants?.Brand||"generic"}-${react_native_1.Platform.constants?.Model||"device"}`;let d=3735928559,n=1103547991,c=305419896,S=2271560481;for(let G=0;G<r.length;G++){const L=r.charCodeAt(G);d=Math.imul(d^L,2654435761)>>>0,n=Math.imul(n^L,1597334677)>>>0,c=Math.imul(c^L,374761393)>>>0,S=Math.imul(S^L,668265263)>>>0}const w=d.toString(16).padStart(8,"0").toUpperCase(),Q=(n&65535).toString(16).padStart(4,"0").toUpperCase(),ee=(n>>>16&4095|16384).toString(16).padStart(4,"0").toUpperCase(),te=(c>>>16&16383|32768).toString(16).padStart(4,"0").toUpperCase(),oe=(c.toString(16).padStart(8,"0")+(S&65535).toString(16).padStart(4,"0")).slice(0,12).toUpperCase();return`${w}-${Q}-${ee}-${te}-${oe}`},[h.width,h.height,p]),m=!!global?.HermesInternal,x=!!globalThis?.__turboModuleProxy,V=(0,react_1.useMemo)(()=>{const r=react_native_1.Platform.constants?.reactNativeVersion;return r?`${r.major}.${r.minor}.${r.patch}${r.prerelease!=null?`-${r.prerelease}`:""}`:"0.74+"},[]),u=l?.totalRAM?Math.round(l.totalRAM/(1024*1024)):J?.totalPhysicalRamMb||4096,C=l?.freeRAM?Math.round(l.freeRAM/(1024*1024)):Math.max(0,u-(J?.residentRamMb||1200)),I=Math.max(0,u-C),D=u>0?Math.round(I/u*100):45,v=l?.totalStorage?(l.totalStorage/(1024*1024*1024)).toFixed(1):"128.0",A=l?.freeStorage?(l.freeStorage/(1024*1024*1024)).toFixed(1):"64.2",Y=(0,react_1.useMemo)(()=>[{key:"overview",label:i("device.subTabs.overview","Overview"),themeColor:AppColors_1.AppColors.sky600,icon:r=><NetworkIcons_1.LayersIcon size={12}color={r}/>},{key:"hardware",label:i("device.subTabs.hardware","Hardware"),themeColor:AppColors_1.AppColors.orange600,icon:r=><NetworkIcons_1.CpuIcon size={12}color={r}/>},{key:"network",label:i("device.subTabs.network","Network & IP"),themeColor:AppColors_1.AppColors.teal600,icon:r=><NetworkIcons_1.WifiIcon size={12}color={r}/>},{key:"display",label:i("device.subTabs.display","Display"),themeColor:AppColors_1.AppColors.pink600,icon:r=><NetworkIcons_1.ScreenIcon size={12}color={r}/>},{key:"runtime",label:i("device.subTabs.runtime","Runtime & App"),themeColor:AppColors_1.AppColors.amber600,icon:r=><NetworkIcons_1.BoltIcon size={12}color={r}/>},{key:"security",label:i("device.subTabs.security","Security & IDs"),themeColor:AppColors_1.AppColors.errorColor,icon:r=><NetworkIcons_1.KeyIcon size={12}color={r}/>}],[i]),t=(0,react_1.useMemo)(()=>({identifiers:{pseudoUDID:b,bundleId:l?.appBundleId||l?.appPackageName||"com.app.inspector"},hardware:{model:l?.deviceModel||react_native_1.Platform.constants?.Model||"Unknown Device",brand:l?.deviceBrand||react_native_1.Platform.constants?.Brand||(react_native_1.Platform.OS==="ios"?"Apple":"Android"),osVersion:`${react_native_1.Platform.OS} ${react_native_1.Platform.Version}`,apiLevel:l?.apiLevel||react_native_1.Platform.constants?.Version||null,cpuAbi:l?.cpuAbi||react_native_1.Platform.constants?.ServerHost||"arm64-v8a",totalRamMb:u,freeRamMb:C,usedRamMb:I,totalStorageGb:`${v} GB`,freeStorageGb:`${A} GB`,batteryPercent:l?.batteryPercent??100,isCharging:l?.isCharging??!1},network:{ipAddress:y,isWifi:!0,reachability:"Online"},display:{windowWidth:f.width,windowHeight:f.height,screenWidth:h.width,screenHeight:h.height,pixelRatio:p,fontScale:M,statusBarHeight:B,isTablet:T,orientation:$?"Landscape":"Portrait"},runtime:{appName:(0,helpers_1.getAppName)(),appVersion:l?.appVersion||"1.0.0",appBuild:l?.appBuild||"1",reactNativeVersion:V,inspectorVersion:constants_1.LIB_VERSION,isHermes:m,isTurboModule:x,isDev:__DEV__,jsEngine:m?"Hermes":"JSC",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,locale:Intl.DateTimeFormat().resolvedOptions().locale,sessionUptime:_}}),[b,l,u,C,I,v,A,y,f,h,p,M,B,T,$,V,m,x,_]),K=()=>{(0,helpers_1.copyToClipboard)(JSON.stringify(t,null,2),"Device Full Report"),(0,toast_1.showToast)(i("device.copiedJson","Copied Full Device JSON Report!"))},X=()=>{const r=`# Device Information Report
21
+ </react_native_1.View>});exports.DeviceInfoTab=react_1.default.memo(()=>{const{t:r}=(0,i18n_1.useTranslation)(),[i,g]=(0,react_1.useState)("overview"),[o,s]=(0,react_1.useState)(""),[l,P]=(0,react_1.useState)(null),[J,j]=(0,react_1.useState)(null),[y,R]=(0,react_1.useState)("Detecting..."),[_,E]=(0,react_1.useState)("0s"),q=react_1.default.useRef(Date.now()),k=(0,react_1.useCallback)(async()=>{try{const[a,d]=await Promise.all([(0,NativeInspector_1.getNativeDeviceMetrics)(),(0,NativeInspector_1.getNativeSystemMetrics)()]);P(a),j(d)}catch{}},[]);(0,react_1.useEffect)(()=>{k();const a=setInterval(k,3e3);return()=>clearInterval(a)},[k]),(0,react_1.useEffect)(()=>{let a=!0;return(async()=>{try{const n=react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.AndroidConstants?.serverHost||react_native_1.NativeModules?.DevSettings?.serverHost;if(n&&typeof n=="string"){const c=n.split(":")[0].replace(/https?:\/\//,"");if(c&&c!=="localhost"&&c!=="127.0.0.1"){a&&R(c);return}}}catch{}try{const n=new AbortController,c=setTimeout(()=>n.abort(),1200),S=await fetch("https://api.ipify.org?format=json",{signal:n.signal});if(clearTimeout(c),S.ok){const w=await S.json();if(w&&w.ip&&a){R(w.ip);return}}}catch{}a&&R(react_native_1.Platform.OS==="android"?"10.0.2.15 (Local)":"127.0.0.1 (Local)")})(),()=>{a=!1}},[]),(0,react_1.useEffect)(()=>{const a=()=>{const n=Math.floor((Date.now()-q.current)/1e3),c=Math.floor(n/3600),S=Math.floor(n%3600/60),w=n%60;c>0?E(`${c}h ${S}m ${w}s`):S>0?E(`${S}m ${w}s`):E(`${w}s`)},d=setInterval(a,1e3);return a(),()=>clearInterval(d)},[]);const f=react_native_1.Dimensions.get("window"),b=react_native_1.Dimensions.get("screen"),p=react_native_1.PixelRatio.get(),M=react_native_1.PixelRatio.getFontScale(),T=f.width>=600||f.height>=1e3,$=f.width>f.height,B=react_native_1.Platform.OS==="android"?react_native_1.StatusBar.currentHeight||24:f.height>=812?44:20,h=(0,react_1.useMemo)(()=>{const a=`${react_native_1.Platform.OS}-${react_native_1.Platform.Version}-${b.width}x${b.height}-${p}-${react_native_1.Platform.constants?.Brand||"generic"}-${react_native_1.Platform.constants?.Model||"device"}`;let d=3735928559,n=1103547991,c=305419896,S=2271560481;for(let G=0;G<a.length;G++){const L=a.charCodeAt(G);d=Math.imul(d^L,2654435761)>>>0,n=Math.imul(n^L,1597334677)>>>0,c=Math.imul(c^L,374761393)>>>0,S=Math.imul(S^L,668265263)>>>0}const w=d.toString(16).padStart(8,"0").toUpperCase(),Q=(n&65535).toString(16).padStart(4,"0").toUpperCase(),ee=(n>>>16&4095|16384).toString(16).padStart(4,"0").toUpperCase(),te=(c>>>16&16383|32768).toString(16).padStart(4,"0").toUpperCase(),oe=(c.toString(16).padStart(8,"0")+(S&65535).toString(16).padStart(4,"0")).slice(0,12).toUpperCase();return`${w}-${Q}-${ee}-${te}-${oe}`},[b.width,b.height,p]),m=!!global?.HermesInternal,x=!!globalThis?.__turboModuleProxy,V=(0,react_1.useMemo)(()=>{const a=react_native_1.Platform.constants?.reactNativeVersion;return a?`${a.major}.${a.minor}.${a.patch}${a.prerelease!=null?`-${a.prerelease}`:""}`:"0.74+"},[]),u=l?.totalRAM?Math.round(l.totalRAM/(1024*1024)):J?.totalPhysicalRamMb||4096,C=l?.freeRAM?Math.round(l.freeRAM/(1024*1024)):Math.max(0,u-(J?.residentRamMb||1200)),I=Math.max(0,u-C),D=u>0?Math.round(I/u*100):45,v=l?.totalStorage?(l.totalStorage/(1024*1024*1024)).toFixed(1):"128.0",A=l?.freeStorage?(l.freeStorage/(1024*1024*1024)).toFixed(1):"64.2",Y=(0,react_1.useMemo)(()=>[{key:"overview",label:r("device.subTabs.overview","Overview"),themeColor:AppColors_1.AppColors.sky600,icon:a=><NetworkIcons_1.LayersIcon size={12}color={a}/>},{key:"hardware",label:r("device.subTabs.hardware","Hardware"),themeColor:AppColors_1.AppColors.orange600,icon:a=><NetworkIcons_1.CpuIcon size={12}color={a}/>},{key:"network",label:r("device.subTabs.network","Network & IP"),themeColor:AppColors_1.AppColors.teal600,icon:a=><NetworkIcons_1.WifiIcon size={12}color={a}/>},{key:"display",label:r("device.subTabs.display","Display"),themeColor:AppColors_1.AppColors.pink600,icon:a=><NetworkIcons_1.ScreenIcon size={12}color={a}/>},{key:"runtime",label:r("device.subTabs.runtime","Runtime & App"),themeColor:AppColors_1.AppColors.amber600,icon:a=><NetworkIcons_1.BoltIcon size={12}color={a}/>},{key:"security",label:r("device.subTabs.security","Security & IDs"),themeColor:AppColors_1.AppColors.errorColor,icon:a=><NetworkIcons_1.KeyIcon size={12}color={a}/>}],[r]),t=(0,react_1.useMemo)(()=>({identifiers:{pseudoUDID:h,bundleId:l?.appBundleId||l?.appPackageName||"com.app.inspector"},hardware:{model:l?.deviceModel||react_native_1.Platform.constants?.Model||"Unknown Device",brand:l?.deviceBrand||react_native_1.Platform.constants?.Brand||(react_native_1.Platform.OS==="ios"?"Apple":"Android"),osVersion:`${react_native_1.Platform.OS} ${react_native_1.Platform.Version}`,apiLevel:l?.apiLevel||react_native_1.Platform.constants?.Version||null,cpuAbi:l?.cpuAbi||react_native_1.Platform.constants?.ServerHost||"arm64-v8a",totalRamMb:u,freeRamMb:C,usedRamMb:I,totalStorageGb:`${v} GB`,freeStorageGb:`${A} GB`,batteryPercent:l?.batteryPercent??100,isCharging:l?.isCharging??!1},network:{ipAddress:y,isWifi:!0,reachability:"Online"},display:{windowWidth:f.width,windowHeight:f.height,screenWidth:b.width,screenHeight:b.height,pixelRatio:p,fontScale:M,statusBarHeight:B,isTablet:T,orientation:$?"Landscape":"Portrait"},runtime:{appName:(0,helpers_1.getAppName)(),appVersion:l?.appVersion||"1.0.0",appBuild:l?.appBuild||"1",reactNativeVersion:V,inspectorVersion:constants_1.LIB_VERSION,isHermes:m,isTurboModule:x,isDev:__DEV__,jsEngine:m?"Hermes":"JSC",timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,locale:Intl.DateTimeFormat().resolvedOptions().locale,sessionUptime:_}}),[h,l,u,C,I,v,A,y,f,b,p,M,B,T,$,V,m,x,_]),K=()=>{(0,helpers_1.copyToClipboard)(JSON.stringify(t,null,2),"Device Full Report"),(0,toast_1.showToast)(r("device.copiedJson","Copied Full Device JSON Report!"))},X=()=>{const a=`# Device Information Report
22
22
  **Generated by React Native In-App Inspector v${constants_1.LIB_VERSION}**
23
23
 
24
24
  ## \u{1F4F1} Hardware & System
@@ -35,7 +35,7 @@
35
35
  - **Status:** Online
36
36
 
37
37
  ## \u{1F5A5} Display & Geometry
38
- - **Resolution:** ${h.width} \xD7 ${h.height} pt (@${p}x)
38
+ - **Resolution:** ${b.width} \xD7 ${b.height} pt (@${p}x)
39
39
  - **Form Factor:** ${T?"Tablet":"Phone"} (${$?"Landscape":"Portrait"})
40
40
  - **Status Bar Height:** ${B} pt
41
41
 
@@ -49,14 +49,14 @@
49
49
  - **Session Uptime:** ${_}
50
50
 
51
51
  ## \u{1F511} Identifiers & Security
52
- - **Pseudo-UDID:** \`${b}\`
52
+ - **Pseudo-UDID:** \`${h}\`
53
53
  - **Bundle ID:** \`${t.identifiers.bundleId}\`
54
- `;(0,helpers_1.copyToClipboard)(r,"Device Markdown Report"),(0,toast_1.showToast)(i("device.copiedMarkdown","Copied Markdown Report to Clipboard!"))},e=(0,react_1.useCallback)((r,d,n)=>{if(!o.trim())return!0;const c=o.toLowerCase().trim(),S=d!=null?typeof d=="object"?JSON.stringify(d):String(d):"",w=n!=null?String(n):"";return r.toLowerCase().includes(c)||S.toLowerCase().includes(c)||w.toLowerCase().includes(c)},[o]),O=(0,react_1.useMemo)(()=>o.trim()?e("Model",l?.deviceModel||react_native_1.Platform.constants?.Model)||e("OS",react_native_1.Platform.OS)||e("IP Address",y)||e("RAM",`${I.toLocaleString()}/${u.toLocaleString()}`)||e("Uptime",_):!0,[o,e,l,y,I,u,_]),F=(0,react_1.useMemo)(()=>o.trim()?e("Device Model",t.hardware.model)||e("Manufacturer",t.hardware.brand)||e("Operating System",t.hardware.osVersion)||e("IP Address",y)||e("RAM Memory",`${I.toLocaleString()} MB / ${u.toLocaleString()} MB (${D}%)`,`Free Memory: ${C.toLocaleString()} MB`)||e("Storage Capacity",`${A} GB Free / ${v} GB Total`)||e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)||e("JavaScript Engine",m?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")||e("UDID Identifier",b):!0,[o,e,t,y,I,u,D,C,A,v,m,b]),N=(0,react_1.useMemo)(()=>o.trim()?e("CPU Architecture",t.hardware.cpuAbi)||e("Total RAM",`${u.toLocaleString()} MB`)||e("Free RAM",`${C.toLocaleString()} MB`)||e("Storage Capacity",`${v} GB`)||e("Available Storage",`${A} GB`)||e("Battery",`${l?.batteryPercent??100}%`)||e("API Level",`API ${l?.apiLevel||react_native_1.Platform.Version}`)||e("Thermal State","Nominal (Cool)"):!0,[o,e,t,u,C,v,A,l]),U=(0,react_1.useMemo)(()=>o.trim()?e("IP Address",y)||e("Internet Reachability","Connected")||e("Connection Type","Wi-Fi / Local Area Network")||e("Metro Dev Server",react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.AndroidConstants?.serverHost||"localhost:8081")||e("WebSocket Protocol","Active & Enabled")||e("Network Inspector Interceptor","Intercepting XHR & Fetch"):!0,[o,e,y]),z=(0,react_1.useMemo)(()=>o.trim()?e("Window Resolution",`${Math.round(f.width).toLocaleString()} \xD7 ${Math.round(f.height).toLocaleString()} pt`)||e("Screen Physical Size",`${Math.round(h.width*p).toLocaleString()} \xD7 ${Math.round(h.height*p).toLocaleString()} px`)||e("Pixel Density",`@${p}x (${Math.round(p*160).toLocaleString()} dpi)`)||e("Font Scale",`${M}x`)||e("Form Factor",T?"Tablet":"Smartphone")||e("Orientation",$?"Landscape":"Portrait")||e("Status Bar Height",`${B} pt`):!0,[o,e,f,h,p,M,T,$,B]),H=(0,react_1.useMemo)(()=>o.trim()?e("App Name",t.runtime.appName)||e("Bundle ID",t.identifiers.bundleId)||e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)||e("React Native",`v${V}`)||e("In-App Inspector Version",`v${constants_1.LIB_VERSION}`)||e("Hermes Engine",m?"Enabled (AOT Bytecode)":"Disabled (JSC)")||e("New Architecture",x?"Enabled":"Legacy Bridge")||e("Build Type",__DEV__?"Debug (__DEV__ = true)":"Release / Production")||e("Timezone",t.runtime.timezone)||e("Locale",t.runtime.locale)||e("Session Uptime",_):!0,[o,e,t,V,m,x,_]),W=(0,react_1.useMemo)(()=>o.trim()?e("Pseudo-UDID",b)||e("Bundle ID",t.identifiers.bundleId)||e("Root / Jailbreak","Clean (Standard Sandbox)")||e("Simulator / Emulator",react_native_1.Platform.constants?.Model?.includes?.("sdk")||react_native_1.Platform.constants?.Model?.includes?.("Emulator")||react_native_1.Platform.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")||e("Sandbox Integrity","Enforced by OS Kernel"):!0,[o,e,b,t]),Z=(0,react_1.useMemo)(()=>o.trim()?O||F||N||U||z||H||W:!0,[o,O,F,N,U,z,H,W]);return<react_native_1.View style={styles.container}>
54
+ `;(0,helpers_1.copyToClipboard)(a,"Device Markdown Report"),(0,toast_1.showToast)(r("device.copiedMarkdown","Copied Markdown Report to Clipboard!"))},e=(0,react_1.useCallback)((a,d,n)=>{if(!o.trim())return!0;const c=o.toLowerCase().trim(),S=d!=null?typeof d=="object"?JSON.stringify(d):String(d):"",w=n!=null?String(n):"";return a.toLowerCase().includes(c)||S.toLowerCase().includes(c)||w.toLowerCase().includes(c)},[o]),O=(0,react_1.useMemo)(()=>o.trim()?e("Model",l?.deviceModel||react_native_1.Platform.constants?.Model)||e("OS",react_native_1.Platform.OS)||e("IP Address",y)||e("RAM",`${I.toLocaleString()}/${u.toLocaleString()}`)||e("Uptime",_):!0,[o,e,l,y,I,u,_]),F=(0,react_1.useMemo)(()=>o.trim()?e("Device Model",t.hardware.model)||e("Manufacturer",t.hardware.brand)||e("Operating System",t.hardware.osVersion)||e("IP Address",y)||e("RAM Memory",`${I.toLocaleString()} MB / ${u.toLocaleString()} MB (${D}%)`,`Free Memory: ${C.toLocaleString()} MB`)||e("Storage Capacity",`${A} GB Free / ${v} GB Total`)||e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)||e("JavaScript Engine",m?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")||e("UDID Identifier",h):!0,[o,e,t,y,I,u,D,C,A,v,m,h]),N=(0,react_1.useMemo)(()=>o.trim()?e("CPU Architecture",t.hardware.cpuAbi)||e("Total RAM",`${u.toLocaleString()} MB`)||e("Free RAM",`${C.toLocaleString()} MB`)||e("Storage Capacity",`${v} GB`)||e("Available Storage",`${A} GB`)||e("Battery",`${l?.batteryPercent??100}%`)||e("API Level",`API ${l?.apiLevel||react_native_1.Platform.Version}`)||e("Thermal State","Nominal (Cool)"):!0,[o,e,t,u,C,v,A,l]),U=(0,react_1.useMemo)(()=>o.trim()?e("IP Address",y)||e("Internet Reachability","Connected")||e("Connection Type","Wi-Fi / Local Area Network")||e("Metro Dev Server",react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.AndroidConstants?.serverHost||"localhost:8081")||e("WebSocket Protocol","Active & Enabled")||e("Network Inspector Interceptor","Intercepting XHR & Fetch"):!0,[o,e,y]),z=(0,react_1.useMemo)(()=>o.trim()?e("Window Resolution",`${Math.round(f.width).toLocaleString()} \xD7 ${Math.round(f.height).toLocaleString()} pt`)||e("Screen Physical Size",`${Math.round(b.width*p).toLocaleString()} \xD7 ${Math.round(b.height*p).toLocaleString()} px`)||e("Pixel Density",`@${p}x (${Math.round(p*160).toLocaleString()} dpi)`)||e("Font Scale",`${M}x`)||e("Form Factor",T?"Tablet":"Smartphone")||e("Orientation",$?"Landscape":"Portrait")||e("Status Bar Height",`${B} pt`):!0,[o,e,f,b,p,M,T,$,B]),H=(0,react_1.useMemo)(()=>o.trim()?e("App Name",t.runtime.appName)||e("Bundle ID",t.identifiers.bundleId)||e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)||e("React Native",`v${V}`)||e("In-App Inspector Version",`v${constants_1.LIB_VERSION}`)||e("Hermes Engine",m?"Enabled (AOT Bytecode)":"Disabled (JSC)")||e("New Architecture",x?"Enabled":"Legacy Bridge")||e("Build Type",__DEV__?"Debug (__DEV__ = true)":"Release / Production")||e("Timezone",t.runtime.timezone)||e("Locale",t.runtime.locale)||e("Session Uptime",_):!0,[o,e,t,V,m,x,_]),W=(0,react_1.useMemo)(()=>o.trim()?e("Pseudo-UDID",h)||e("Bundle ID",t.identifiers.bundleId)||e("Root / Jailbreak","Clean (Standard Sandbox)")||e("Simulator / Emulator",react_native_1.Platform.constants?.Model?.includes?.("sdk")||react_native_1.Platform.constants?.Model?.includes?.("Emulator")||react_native_1.Platform.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")||e("Sandbox Integrity","Enforced by OS Kernel"):!0,[o,e,h,t]),Z=(0,react_1.useMemo)(()=>o.trim()?O||F||N||U||z||H||W:!0,[o,O,F,N,U,z,H,W]);return<react_native_1.View style={styles.container}>
55
55
 
56
56
  <react_native_1.View style={styles.actionBar}>
57
57
  <react_native_1.View style={styles.searchBar}>
58
58
  <NetworkIcons_1.SearchIcon size={14}color={AppColors_1.AppColors.grayTextWeak}/>
59
- <react_native_1.TextInput value={o}onChangeText={s}placeholder={i("device.searchPlaceholder","Search specs, UDID, IP, screen...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}style={styles.searchInput}clearButtonMode="while-editing"/>
59
+ <react_native_1.TextInput value={o}onChangeText={s}placeholder={r("device.searchPlaceholder","Search specs, UDID, IP, screen...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}style={styles.searchInput}clearButtonMode="while-editing"/>
60
60
  {o.length>0&&<TouchableScale_1.default onPress={()=>s("")}hitSlop={8}>
61
61
  <NetworkIcons_1.ClearIcon size={13}color={AppColors_1.AppColors.grayTextWeak}/>
62
62
  </TouchableScale_1.default>}
@@ -76,11 +76,11 @@
76
76
 
77
77
  <react_native_1.View style={styles.subTabsWrapper}>
78
78
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={styles.subTabsContainer}>
79
- {Y.map(r=>{const d=a===r.key,n=r.themeColor||AppColors_1.AppColors.purple,c=d?AppColors_1.AppColors.white:n;return<TouchableScale_1.default key={r.key}onPress={()=>g(r.key)}>
79
+ {Y.map(a=>{const d=i===a.key,n=a.themeColor||AppColors_1.AppColors.purple,c=d?AppColors_1.AppColors.white:n;return<TouchableScale_1.default key={a.key}onPress={()=>g(a.key)}>
80
80
  <react_native_1.View style={[styles.subTabPill,d&&{backgroundColor:n,borderColor:n},!d&&{backgroundColor:`${n}12`,borderColor:`${n}30`}]}>
81
- {r.icon(c)}
81
+ {a.icon(c)}
82
82
  <react_native_1.Text style={[styles.subTabPillText,d&&{color:AppColors_1.AppColors.white},!d&&{color:AppColors_1.AppColors.primaryBlack}]}>
83
- {r.label}
83
+ {a.label}
84
84
  </react_native_1.Text>
85
85
  </react_native_1.View>
86
86
  </TouchableScale_1.default>})}
@@ -90,7 +90,7 @@
90
90
 
91
91
  <react_native_1.ScrollView style={[styles.scrollArea,{flex:1}]}contentContainerStyle={[styles.scrollContent,{flexGrow:1}]}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled">
92
92
 
93
- {(!o.trim()||e("UDID Identifier",b)||e("UUID",b)||e("Device UUID",b))&&<react_native_1.View style={styles.featuredUuidCard}>
93
+ {(!o.trim()||e("UDID Identifier",h)||e("UUID",h)||e("Device UUID",h))&&<react_native_1.View style={styles.featuredUuidCard}>
94
94
  <react_native_1.View style={styles.featuredUuidHeader}>
95
95
  <react_native_1.View style={styles.featuredUuidTitleRow}>
96
96
  <react_native_1.View style={styles.featuredUuidIconWrap}>
@@ -109,15 +109,15 @@
109
109
  </react_native_1.View>
110
110
  </react_native_1.View>
111
111
 
112
- <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)(b,"Device UUID"),(0,toast_1.showToast)(i("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={styles.featuredCopyBtn}hitSlop={6}accessibilityRole="button"accessibilityLabel="Copy Device UUID">
112
+ <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)(h,"Device UUID"),(0,toast_1.showToast)(r("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={styles.featuredCopyBtn}hitSlop={6}accessibilityRole="button"accessibilityLabel="Copy Device UUID">
113
113
  <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.white}/>
114
114
  <react_native_1.Text style={styles.featuredCopyBtnText}>Copy</react_native_1.Text>
115
115
  </TouchableScale_1.default>
116
116
  </react_native_1.View>
117
117
 
118
- <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)(b,"Device UUID"),(0,toast_1.showToast)(i("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={styles.featuredUuidValueBox}hitSlop={4}accessibilityRole="button"accessibilityLabel="Tap to copy UUID">
118
+ <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)(h,"Device UUID"),(0,toast_1.showToast)(r("device.copiedUuid","Copied Device UUID to clipboard!"))}}style={styles.featuredUuidValueBox}hitSlop={4}accessibilityRole="button"accessibilityLabel="Tap to copy UUID">
119
119
  <react_native_1.Text style={styles.featuredUuidValueText}numberOfLines={1}ellipsizeMode="middle"selectable>
120
- {b}
120
+ {h}
121
121
  </react_native_1.Text>
122
122
  <NetworkIcons_1.CopyIcon size={12}color={AppColors_1.AppColors.brandPurple}/>
123
123
  </TouchableScale_1.default>
@@ -146,29 +146,29 @@
146
146
 
147
147
  <react_native_1.View style={styles.heroMetricsStrip}>
148
148
  <react_native_1.View style={styles.heroMetricItem}>
149
- <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{i("device.ipAddress","IP ADDRESS")}</react_native_1.Text>
149
+ <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{r("device.ipAddress","IP ADDRESS")}</react_native_1.Text>
150
150
  <react_native_1.Text style={styles.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
151
151
  {y}
152
152
  </react_native_1.Text>
153
153
  </react_native_1.View>
154
154
  <react_native_1.View style={styles.heroMetricDivider}/>
155
155
  <react_native_1.View style={styles.heroMetricItem}>
156
- <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{i("device.ramUsedTotal","RAM (USED/TOTAL)")}</react_native_1.Text>
156
+ <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{r("device.ramUsedTotal","RAM (USED/TOTAL)")}</react_native_1.Text>
157
157
  <react_native_1.Text style={styles.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">
158
158
  {I.toLocaleString()}/{u.toLocaleString()} MB
159
159
  </react_native_1.Text>
160
160
  </react_native_1.View>
161
161
  <react_native_1.View style={styles.heroMetricDivider}/>
162
162
  <react_native_1.View style={styles.heroMetricItem}>
163
- <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{i("device.uptime","UPTIME")}</react_native_1.Text>
163
+ <react_native_1.Text style={styles.heroMetricLabel}numberOfLines={1}ellipsizeMode="tail">{r("device.uptime","UPTIME")}</react_native_1.Text>
164
164
  <react_native_1.Text style={styles.heroMetricValue}numberOfLines={1}ellipsizeMode="tail">{_}</react_native_1.Text>
165
165
  </react_native_1.View>
166
166
  </react_native_1.View>
167
167
  </react_native_1.View>}
168
168
 
169
169
 
170
- {(a==="overview"||o.length>0)&&F&&<react_native_1.View style={styles.sectionCard}>
171
- <react_native_1.Text style={styles.sectionTitle}>DEVICE OVERVIEW</react_native_1.Text>
170
+ {(i==="overview"||o.length>0)&&F&&<react_native_1.View style={styles.sectionCard}>
171
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.deviceOverview","DEVICE OVERVIEW")}</react_native_1.Text>
172
172
  {e("Device Model",t.hardware.model)&&<InfoRow label="Device Model"value={t.hardware.model}/>}
173
173
  {e("Manufacturer",t.hardware.brand)&&<InfoRow label="Manufacturer / Brand"value={t.hardware.brand}/>}
174
174
  {e("Operating System",t.hardware.osVersion)&&<InfoRow label="Operating System"value={t.hardware.osVersion}badge={{text:react_native_1.Platform.OS.toUpperCase(),color:AppColors_1.AppColors.blue500,bg:`${AppColors_1.AppColors.blue500}18`}}/>}
@@ -177,12 +177,12 @@
177
177
  {e("Storage Capacity",`${A} GB Free / ${v} GB Total`)&&<InfoRow label="Internal Storage"value={`${A} GB Free / ${v} GB Total`}/>}
178
178
  {e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)&&<InfoRow label="Host App Version"value={`v${t.runtime.appVersion} (${t.runtime.appBuild})`}/>}
179
179
  {e("JavaScript Engine",m?"Hermes Bytecode Engine":"JavaScriptCore (JSC)")&&<InfoRow label="JS Runtime Engine"value={m?"Hermes Bytecode Engine":"JavaScriptCore (JSC)"}badge={m?{text:"HERMES",color:AppColors_1.AppColors.purple,bg:`${AppColors_1.AppColors.purple}18`}:{text:"JSC",color:AppColors_1.AppColors.sky500,bg:`${AppColors_1.AppColors.sky500}18`}}/>}
180
- {e("UDID Identifier",b)&&<InfoRow label="Pseudo-UDID"value={b}isLast/>}
180
+ {e("UDID Identifier",h)&&<InfoRow label="Pseudo-UDID"value={h}isLast/>}
181
181
  </react_native_1.View>}
182
182
 
183
183
 
184
- {(a==="hardware"||o.length>0)&&N&&<react_native_1.View style={styles.sectionCard}>
185
- <react_native_1.Text style={styles.sectionTitle}>HARDWARE & SYSTEM SPECIFICATIONS</react_native_1.Text>
184
+ {(i==="hardware"||o.length>0)&&N&&<react_native_1.View style={styles.sectionCard}>
185
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.hardwareSpecs","HARDWARE & SYSTEM SPECIFICATIONS")}</react_native_1.Text>
186
186
  {e("CPU Architecture",t.hardware.cpuAbi)&&<InfoRow label="CPU Architecture / ABI"value={t.hardware.cpuAbi}badge={{text:"64-BIT",color:AppColors_1.AppColors.purple,bg:`${AppColors_1.AppColors.purple}18`}}/>}
187
187
  {e("Total RAM",`${u.toLocaleString()} MB`)&&<InfoRow label="Total Physical RAM"value={`${u.toLocaleString()} MB`}/>}
188
188
  {e("Free RAM",`${C.toLocaleString()} MB`)&&<InfoRow label="Available Free RAM"value={`${C.toLocaleString()} MB`}badge={{text:C<500?"LOW":"HEALTHY",color:C<500?AppColors_1.AppColors.errorColor:AppColors_1.AppColors.emerald500,bg:C<500?`${AppColors_1.AppColors.errorColor}18`:`${AppColors_1.AppColors.emerald500}18`}}/>}
@@ -194,8 +194,8 @@
194
194
  </react_native_1.View>}
195
195
 
196
196
 
197
- {(a==="network"||o.length>0)&&U&&<react_native_1.View style={styles.sectionCard}>
198
- <react_native_1.Text style={styles.sectionTitle}>NETWORK & CONNECTIVITY</react_native_1.Text>
197
+ {(i==="network"||o.length>0)&&U&&<react_native_1.View style={styles.sectionCard}>
198
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.networkConnectivity","NETWORK & CONNECTIVITY")}</react_native_1.Text>
199
199
  {e("IP Address",y)&&<InfoRow label="Local Device IP"value={y}badge={{text:"IPV4",color:AppColors_1.AppColors.blue500,bg:`${AppColors_1.AppColors.blue500}18`}}/>}
200
200
  {e("Internet Reachability","Connected")&&<InfoRow label="Internet Reachability"value="Connected"badge={{text:"ONLINE",color:AppColors_1.AppColors.emerald500,bg:`${AppColors_1.AppColors.emerald500}18`}}/>}
201
201
  {e("Connection Type","Wi-Fi / Local Area Network")&&<InfoRow label="Active Connection Type"value="Wi-Fi / Local Area Network"/>}
@@ -205,10 +205,10 @@
205
205
  </react_native_1.View>}
206
206
 
207
207
 
208
- {(a==="display"||o.length>0)&&z&&<react_native_1.View style={styles.sectionCard}>
209
- <react_native_1.Text style={styles.sectionTitle}>DISPLAY & SCREEN GEOMETRY</react_native_1.Text>
208
+ {(i==="display"||o.length>0)&&z&&<react_native_1.View style={styles.sectionCard}>
209
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.displayGeometry","DISPLAY & SCREEN GEOMETRY")}</react_native_1.Text>
210
210
  {e("Window Resolution",`${Math.round(f.width).toLocaleString()} \xD7 ${Math.round(f.height).toLocaleString()} pt`)&&<InfoRow label="Window Logical Size"value={`${Math.round(f.width).toLocaleString()} \xD7 ${Math.round(f.height).toLocaleString()} pt`}/>}
211
- {e("Screen Physical Size",`${Math.round(h.width*p).toLocaleString()} \xD7 ${Math.round(h.height*p).toLocaleString()} px`)&&<InfoRow label="Physical Screen Size"value={`${Math.round(h.width*p).toLocaleString()} \xD7 ${Math.round(h.height*p).toLocaleString()} px`}/>}
211
+ {e("Screen Physical Size",`${Math.round(b.width*p).toLocaleString()} \xD7 ${Math.round(b.height*p).toLocaleString()} px`)&&<InfoRow label="Physical Screen Size"value={`${Math.round(b.width*p).toLocaleString()} \xD7 ${Math.round(b.height*p).toLocaleString()} px`}/>}
212
212
  {e("Pixel Density",`@${p}x (${Math.round(p*160).toLocaleString()} dpi)`)&&<InfoRow label="Pixel Ratio (DPI Scale)"value={`@${p}x (${Math.round(p*160).toLocaleString()} dpi)`}badge={{text:`@${p}x`,color:AppColors_1.AppColors.purple,bg:`${AppColors_1.AppColors.purple}18`}}/>}
213
213
  {e("Font Scale",`${M}x`)&&<InfoRow label="User Font Scale"value={`${M}x (${M===1?"Default":M>1?"Enlarged":"Compact"})`}/>}
214
214
  {e("Form Factor",T?"Tablet":"Smartphone")&&<InfoRow label="Device Form Factor"value={T?"Tablet":"Smartphone"}badge={{text:T?"TABLET":"PHONE",color:T?AppColors_1.AppColors.blue500:AppColors_1.AppColors.purple,bg:T?`${AppColors_1.AppColors.blue500}18`:`${AppColors_1.AppColors.purple}18`}}/>}
@@ -217,8 +217,8 @@
217
217
  </react_native_1.View>}
218
218
 
219
219
 
220
- {(a==="runtime"||o.length>0)&&H&&<react_native_1.View style={styles.sectionCard}>
221
- <react_native_1.Text style={styles.sectionTitle}>RUNTIME & APPLICATION</react_native_1.Text>
220
+ {(i==="runtime"||o.length>0)&&H&&<react_native_1.View style={styles.sectionCard}>
221
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.runtimeApp","RUNTIME & APPLICATION")}</react_native_1.Text>
222
222
  {e("App Name",t.runtime.appName)&&<InfoRow label="Application Name"value={t.runtime.appName}/>}
223
223
  {e("Bundle ID",t.identifiers.bundleId)&&<InfoRow label="Bundle Identifier / Package"value={t.identifiers.bundleId}/>}
224
224
  {e("App Version",`v${t.runtime.appVersion} (${t.runtime.appBuild})`)&&<InfoRow label="Application Version"value={`v${t.runtime.appVersion} (${t.runtime.appBuild})`}/>}
@@ -233,9 +233,9 @@
233
233
  </react_native_1.View>}
234
234
 
235
235
 
236
- {(a==="security"||o.length>0)&&W&&<react_native_1.View style={styles.sectionCard}>
237
- <react_native_1.Text style={styles.sectionTitle}>DEVICE IDENTIFIERS & SECURITY</react_native_1.Text>
238
- {e("Pseudo-UDID",b)&&<InfoRow label="Deterministic Pseudo-UDID"value={b}subtext="Stable hardware signature hash for testing & diagnostics"badge={{text:"PERSISTENT",color:AppColors_1.AppColors.purple,bg:`${AppColors_1.AppColors.purple}18`}}/>}
236
+ {(i==="security"||o.length>0)&&W&&<react_native_1.View style={styles.sectionCard}>
237
+ <react_native_1.Text style={styles.sectionTitle}>{r("deviceInfo.deviceSecurity","DEVICE IDENTIFIERS & SECURITY")}</react_native_1.Text>
238
+ {e("Pseudo-UDID",h)&&<InfoRow label="Deterministic Pseudo-UDID"value={h}subtext="Stable hardware signature hash for testing & diagnostics"badge={{text:"PERSISTENT",color:AppColors_1.AppColors.purple,bg:`${AppColors_1.AppColors.purple}18`}}/>}
239
239
  {e("Bundle ID",t.identifiers.bundleId)&&<InfoRow label="Application Bundle ID"value={t.identifiers.bundleId}/>}
240
240
  {e("Root / Jailbreak","Clean (Standard Sandbox)")&&<InfoRow label="Root / Jailbreak Heuristic"value="Clean (Standard Sandbox)"badge={{text:"SECURE",color:AppColors_1.AppColors.emerald500,bg:`${AppColors_1.AppColors.emerald500}18`}}/>}
241
241
  {e("Simulator / Emulator",react_native_1.Platform.constants?.Model?.includes?.("sdk")||react_native_1.Platform.constants?.Model?.includes?.("Emulator")||react_native_1.Platform.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device")&&<InfoRow label="Emulator / Physical Device"value={react_native_1.Platform.constants?.Model?.includes?.("sdk")||react_native_1.Platform.constants?.Model?.includes?.("Emulator")||react_native_1.Platform.constants?.Model?.includes?.("Simulator")?"Virtual Simulator":"Physical Device"}/>}
@@ -245,12 +245,12 @@
245
245
 
246
246
  {o.trim().length>0&&!Z&&<react_native_1.View style={styles.emptySearchCard}>
247
247
  <NetworkIcons_1.SearchIcon size={26}color={AppColors_1.AppColors.grayTextWeak}/>
248
- <react_native_1.Text style={styles.emptySearchTitle}>No matching device specifications</react_native_1.Text>
248
+ <react_native_1.Text style={styles.emptySearchTitle}>{r("deviceInfo.noMatchingSpecs","No matching device specifications")}</react_native_1.Text>
249
249
  <react_native_1.Text style={styles.emptySearchSubtitle}>
250
250
  No properties matched &ldquo;{o}&rdquo;
251
251
  </react_native_1.Text>
252
252
  <TouchableScale_1.default onPress={()=>s("")}style={styles.clearSearchBtn}>
253
- <react_native_1.Text style={styles.clearSearchBtnText}>Clear Search</react_native_1.Text>
253
+ <react_native_1.Text style={styles.clearSearchBtnText}>{r("deviceInfo.clearSearch","Clear Search")}</react_native_1.Text>
254
254
  </TouchableScale_1.default>
255
255
  </react_native_1.View>}
256
256
 
@@ -1,12 +1,12 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,i,o,a){a===void 0&&(a=o);var s=Object.getOwnPropertyDescriptor(i,o);(!s||("get"in s?!i.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return i[o]}}),Object.defineProperty(r,a,s)}):(function(r,i,o,a){a===void 0&&(a=o),r[a]=i[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,i){Object.defineProperty(r,"default",{enumerable:!0,value:i})}):function(r,i){r.default=i}),__importStar=this&&this.__importStar||(function(){var r=function(i){return r=Object.getOwnPropertyNames||function(o){var a=[];for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(a[a.length]=s);return a},r(i)};return function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a=r(i),s=0;s<a.length;s++)a[s]!=="default"&&__createBinding(o,i,a[s]);return __setModuleDefault(o,i),o}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppHeaderLogo_1=__importDefault(require("../AppHeaderLogo")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),helpers_1=require("../../helpers"),constants_1=require("../../constants"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),styles_1=__importDefault(require("../../styles")),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FabLauncher=()=>{const{setVisible:r,isMinimized:i,setIsMinimized:o,dismissInspector:a,appIcon:s,fabPan:l,fabPanResponder:ie,fabDraggedRef:T,pulseAnim:k,fabShineAnim:oe,refreshMediaCount:g,captureFps:L,captureScale:E,captureBitrate:O,captureMaxDurationSeconds:q,captureAudioMode:H}=(0,InspectorContext_1.useInspector)(),{width:_,height:b}=(0,react_native_1.useWindowDimensions)(),{t:n}=(0,i18n_1.useTranslation)(),[X]=(0,react_1.useState)(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),[p,I]=(0,react_1.useState)(!1),[Z,D]=(0,react_1.useState)(0),v=(0,react_1.useRef)(null),[$,C]=(0,react_1.useState)(null),[G,B]=(0,react_1.useState)(!1),[z,S]=(0,react_1.useState)(!1),f=(0,react_1.useRef)(!1),x=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,P=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,y=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=l.x.addListener(c=>y.current.x=c.value),t=l.y.addListener(c=>y.current.y=c.value);return()=>{l.x.removeListener(e),l.y.removeListener(t)}},[l]);const u=68,V=8,U=(0,react_1.useCallback)(()=>{const e=y.current.x,t=y.current.y,c=20,A=180,m=_-c-u/2+e,M=b-A-u/2+t;let N=e,F=t,R=!1;m<V+u/2?(N=e+(V+u/2-m),R=!0):m>_-V-u/2&&(N=e-(m-(_-V-u/2)),R=!0);const j=react_native_1.Platform.OS==="ios"?60:40,Y=react_native_1.Platform.OS==="ios"?40:24;M<j+u/2?(F=t+(j+u/2-M),R=!0):M>b-Y-u/2&&(F=t-(M-(b-Y-u/2)),R=!0),R&&react_native_1.Animated.spring(l,{toValue:{x:N,y:F},useNativeDriver:!1,tension:80,friction:8}).start()},[l,_,b]),K=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{T.current=!0,l.setOffset({x:y.current.x,y:y.current.y}),l.setValue({x:0,y:0}),f.current=!1,S(!1),B(!0),P.setValue(1),react_native_1.Animated.spring(x,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{l.setValue({x:t.dx,y:t.dy});const c=t.moveY,A=t.moveX,m=c>b-140&&Math.abs(A-_/2)<85;m&&!f.current?(f.current=!0,S(!0),(0,NativeInspector_1.triggerNativeHaptic)("medium"),react_native_1.Animated.spring(P,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!m&&f.current&&(f.current=!1,S(!1),react_native_1.Animated.spring(P,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=f.current;l.flattenOffset(),react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),S(!1),f.current=!1}),e?((0,NativeInspector_1.triggerNativeHaptic)("heavy"),a(),(0,toast_1.showToast)(n("common.inspectorDismissed","In-App Inspector closed for this session"))):U(),setTimeout(()=>{T.current=!1},100)},onPanResponderTerminate:()=>{l.flattenOffset(),T.current=!1,react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),S(!1),f.current=!1})}})).current,d=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,w=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=d.x.addListener(c=>w.current.x=c.value),t=d.y.addListener(c=>w.current.y=c.value);return()=>{d.x.removeListener(e),d.y.removeListener(t)}},[d]);const h=(0,react_1.useRef)(!1),J=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,d.setOffset({x:w.current.x,y:w.current.y}),d.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:d.x,dy:d.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{d.flattenOffset();const e=w.current.y,t=-(b-(react_native_1.Platform.OS==="ios"?34:18)-70),c=react_native_1.Platform.OS==="ios"?34:18;if(e<t||e>c){const A=Math.max(t,Math.min(c,e));react_native_1.Animated.spring(d,{toValue:{x:w.current.x,y:A},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{d.flattenOffset(),h.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{I(!!e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>(p?(D(0),v.current=setInterval(()=>{D(e=>e+1)},1e3)):(v.current&&(clearInterval(v.current),v.current=null),D(0)),()=>{v.current&&clearInterval(v.current)}),[p]);const Q=(0,react_1.useCallback)(async()=>{if(!h.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t={id:`screenshot_${e.timestamp}.png`,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`screenshot_${e.timestamp}.png`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};C(t),g?.().catch(()=>{}),(0,toast_1.showToast)(n("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(n("header.screenshotFailed","Failed to capture screenshot"))}catch{(0,toast_1.showToast)(n("header.screenshotError","Error capturing screenshot"))}},[g,n]),ee=(0,react_1.useCallback)(async()=>{if(!h.current)try{if(p){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(I(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t={id:`video_${e.timestamp}.${e.format}`,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`video_${e.timestamp}.${e.format}`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};C(t),g?.().catch(()=>{}),(0,toast_1.showToast)(n("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:L,scale:E,audioSource:H,bitrate:O>0?O:void 0,maxDurationSeconds:q})?(I(!0),(0,toast_1.showToast)(n("header.recordingStarted","Recording started"))):(0,toast_1.showToast)(n("header.recordingStartFailed","Failed to start recording"))}catch{(0,toast_1.showToast)(n("header.recordingError","Error during screen recording")),I(!1)}},[p,L,E,O,q,H,g,n]),W=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),o?.(!1),r(!0))},[o,r]),te=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),o?.(!1),r(!1))},[o,r]),re=e=>{const t=Math.floor(e/60),c=e%60;return`${t}:${c<10?"0":""}${c}`};return<>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,o,n,s){s===void 0&&(s=n);var c=Object.getOwnPropertyDescriptor(o,n);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return o[n]}}),Object.defineProperty(i,s,c)}):(function(i,o,n,s){s===void 0&&(s=n),i[s]=o[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}):function(i,o){i.default=o}),__importStar=this&&this.__importStar||(function(){var i=function(o){return i=Object.getOwnPropertyNames||function(n){var s=[];for(var c in n)Object.prototype.hasOwnProperty.call(n,c)&&(s[s.length]=c);return s},i(o)};return function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var s=i(o),c=0;c<s.length;c++)s[c]!=="default"&&__createBinding(n,o,s[c]);return __setModuleDefault(n,o),n}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppHeaderLogo_1=__importDefault(require("../AppHeaderLogo")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),helpers_1=require("../../helpers"),constants_1=require("../../constants"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),styles_1=__importDefault(require("../../styles")),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FabLauncher=()=>{const{setVisible:i,isMinimized:o,setIsMinimized:n,dismissInspector:s,appIcon:c,fabPan:l,fabPanResponder:ie,fabDraggedRef:T,pulseAnim:k,fabShineAnim:oe,refreshMediaCount:m,captureFps:L,captureScale:E,captureBitrate:O,captureMaxDurationSeconds:q,captureAudioMode:H,previewMediaItem:W,setPreviewMediaItem:C}=(0,InspectorContext_1.useInspector)(),{width:S,height:b}=(0,react_native_1.useWindowDimensions)(),{t:a}=(0,i18n_1.useTranslation)(),[X]=(0,react_1.useState)(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),[p,I]=(0,react_1.useState)(!1),[Z,D]=(0,react_1.useState)(0),v=(0,react_1.useRef)(null),[G,B]=(0,react_1.useState)(!1),[z,_]=(0,react_1.useState)(!1),f=(0,react_1.useRef)(!1),x=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,P=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,y=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=l.x.addListener(r=>y.current.x=r.value),t=l.y.addListener(r=>y.current.y=r.value);return()=>{l.x.removeListener(e),l.y.removeListener(t)}},[l]);const u=68,V=8,U=(0,react_1.useCallback)(()=>{const e=y.current.x,t=y.current.y,r=20,A=180,g=S-r-u/2+e,M=b-A-u/2+t;let N=e,F=t,R=!1;g<V+u/2?(N=e+(V+u/2-g),R=!0):g>S-V-u/2&&(N=e-(g-(S-V-u/2)),R=!0);const Y=react_native_1.Platform.OS==="ios"?60:40,$=react_native_1.Platform.OS==="ios"?40:24;M<Y+u/2?(F=t+(Y+u/2-M),R=!0):M>b-$-u/2&&(F=t-(M-(b-$-u/2)),R=!0),R&&react_native_1.Animated.spring(l,{toValue:{x:N,y:F},useNativeDriver:!1,tension:80,friction:8}).start()},[l,S,b]),K=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{T.current=!0,l.setOffset({x:y.current.x,y:y.current.y}),l.setValue({x:0,y:0}),f.current=!1,_(!1),B(!0),P.setValue(1),react_native_1.Animated.spring(x,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{l.setValue({x:t.dx,y:t.dy});const r=t.moveY,A=t.moveX,g=r>b-140&&Math.abs(A-S/2)<85;g&&!f.current?(f.current=!0,_(!0),(0,NativeInspector_1.triggerNativeHaptic)("medium"),react_native_1.Animated.spring(P,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!g&&f.current&&(f.current=!1,_(!1),react_native_1.Animated.spring(P,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=f.current;l.flattenOffset(),react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1}),e?((0,NativeInspector_1.triggerNativeHaptic)("heavy"),s(),(0,toast_1.showToast)(a("common.inspectorDismissed","In-App Inspector closed for this session"))):U(),setTimeout(()=>{T.current=!1},100)},onPanResponderTerminate:()=>{l.flattenOffset(),T.current=!1,react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1})}})).current,d=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,w=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=d.x.addListener(r=>w.current.x=r.value),t=d.y.addListener(r=>w.current.y=r.value);return()=>{d.x.removeListener(e),d.y.removeListener(t)}},[d]);const h=(0,react_1.useRef)(!1),J=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,d.setOffset({x:w.current.x,y:w.current.y}),d.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:d.x,dy:d.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{d.flattenOffset();const e=w.current.y,t=-(b-(react_native_1.Platform.OS==="ios"?34:18)-70),r=react_native_1.Platform.OS==="ios"?34:18;if(e<t||e>r){const A=Math.max(t,Math.min(r,e));react_native_1.Animated.spring(d,{toValue:{x:w.current.x,y:A},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{d.flattenOffset(),h.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{I(!!e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>(p?(D(0),v.current=setInterval(()=>{D(e=>e+1)},1e3)):(v.current&&(clearInterval(v.current),v.current=null),D(0)),()=>{v.current&&clearInterval(v.current)}),[p]);const Q=(0,react_1.useCallback)(async()=>{if(!h.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),r={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(a("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(a("header.screenshotFailed","Failed to capture screenshot"))}catch{(0,toast_1.showToast)(a("header.screenshotError","Error capturing screenshot"))}},[m,a]),ee=(0,react_1.useCallback)(async()=>{if(!h.current)try{if(p){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(I(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),r={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(a("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:L,scale:E,audioSource:H,bitrate:O>0?O:void 0,maxDurationSeconds:q})?(I(!0),(0,toast_1.showToast)(a("header.recordingStarted","Recording started"))):(0,toast_1.showToast)(a("header.recordingStartFailed","Failed to start recording"))}catch{(0,toast_1.showToast)(a("header.recordingError","Error during screen recording")),I(!1)}},[p,L,E,O,q,H,m,a]),j=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),n?.(!1),i(!0))},[n,i]),te=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),n?.(!1),i(!1))},[n,i]),re=e=>{const t=Math.floor(e/60),r=e%60;return`${t}:${r<10?"0":""}${r}`};return<>
2
2
 
3
- {i?<react_native_1.Animated.View style={[fabStyles.playerContainer,{transform:d.getTranslateTransform()}]}{...J.panHandlers}>
3
+ {o?<react_native_1.Animated.View style={[fabStyles.playerContainer,{transform:d.getTranslateTransform()}]}{...J.panHandlers}>
4
4
 
5
5
  <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.indigo600,AppColors_1.AppColors.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={fabStyles.gradientBg}pointerEvents="none"/>
6
6
 
7
7
 
8
- <react_native_1.TouchableOpacity activeOpacity={.75}onPress={W}style={fabStyles.brandSection}accessibilityRole="button"accessibilityLabel={n("mediaGallery.expand","Expand Inspector")}>
9
- <AppHeaderLogo_1.default size={36}customIcon={s}shape="circle"/>
8
+ <react_native_1.TouchableOpacity activeOpacity={.75}onPress={j}style={fabStyles.brandSection}accessibilityRole="button"accessibilityLabel={a("mediaGallery.expand","Expand Inspector")}>
9
+ <AppHeaderLogo_1.default size={36}customIcon={c}shape="circle"/>
10
10
  <react_native_1.View style={fabStyles.titleWrapper}>
11
11
  <react_native_1.Text style={fabStyles.appTitle}numberOfLines={1}>
12
12
  {(0,helpers_1.getAppName)()}
@@ -37,7 +37,7 @@
37
37
  <TouchableScale_1.default onPress={Q}hitSlop={{top:6,bottom:6,left:4,right:4}}style={fabStyles.actionBtn}>
38
38
  <NetworkIcons_1.ScreenshotCaptureIcon size={12}color={AppColors_1.AppColors.white}/>
39
39
  <react_native_1.Text style={fabStyles.actionText}>
40
- {n("header.photo","Photo")}
40
+ {a("header.photo","Photo")}
41
41
  </react_native_1.Text>
42
42
  </TouchableScale_1.default>
43
43
 
@@ -45,24 +45,24 @@
45
45
  <TouchableScale_1.default onPress={ee}hitSlop={{top:6,bottom:6,left:4,right:4}}style={[fabStyles.actionBtn,p&&fabStyles.recordingBtnActive]}>
46
46
  {p?<react_native_1.View style={fabStyles.recordingDot}/>:<NetworkIcons_1.ScreenRecordIcon size={12}color={AppColors_1.AppColors.white}/>}
47
47
  <react_native_1.Text style={[fabStyles.actionText,p&&{color:AppColors_1.AppColors.red300}]}>
48
- {p?`${n("header.rec","REC")} ${re(Z)}`:n("header.record","Record")}
48
+ {p?`${a("header.rec","REC")} ${re(Z)}`:a("header.record","Record")}
49
49
  </react_native_1.Text>
50
50
  </TouchableScale_1.default>
51
51
 
52
52
 
53
- <TouchableScale_1.default onPress={W}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={n("common.expand","Expand")}style={fabStyles.actionBtnSquare}>
53
+ <TouchableScale_1.default onPress={j}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={a("common.expand","Expand")}style={fabStyles.actionBtnSquare}>
54
54
  <NetworkIcons_1.MaximizeIcon size={12}color={AppColors_1.AppColors.white}/>
55
55
  </TouchableScale_1.default>
56
56
 
57
57
 
58
- <TouchableScale_1.default onPress={te}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={n("common.close","Close")}style={fabStyles.actionBtnSquare}>
58
+ <TouchableScale_1.default onPress={te}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={a("common.close","Close")}style={fabStyles.actionBtnSquare}>
59
59
  <NetworkIcons_1.CloseWhite size={10}color={AppColors_1.AppColors.white}/>
60
60
  </TouchableScale_1.default>
61
61
  </react_native_1.View>
62
62
  </react_native_1.Animated.View>:<react_native_1.Animated.View style={[styles_1.default.fabWrapper,{transform:l.getTranslateTransform()}]}{...K.panHandlers}>
63
- <TouchableScale_1.default style={{alignItems:"center",justifyContent:"center"}}onPress={()=>{T.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),r(!0))}}hitSlop={10}>
63
+ <TouchableScale_1.default style={{alignItems:"center",justifyContent:"center"}}onPress={()=>{T.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),i(!0))}}hitSlop={10}>
64
64
  <react_native_1.Animated.View style={[styles_1.default.fabPulseRing,{transform:[{scale:k}]}]}/>
65
- <AppHeaderLogo_1.default size={68}customIcon={s}shape="circle"/>
65
+ <AppHeaderLogo_1.default size={68}customIcon={c}shape="circle"/>
66
66
  </TouchableScale_1.default>
67
67
  </react_native_1.Animated.View>}
68
68
 
@@ -72,10 +72,10 @@
72
72
  <NetworkIcons_1.CloseWhite size={18}color={AppColors_1.AppColors.white}/>
73
73
  </react_native_1.View>
74
74
  <react_native_1.Text style={[fabStyles.dismissTargetLabel,z&&fabStyles.dismissTargetLabelActive]}>
75
- {z?n("common.releaseToHide","Release to hide"):n("common.dragToHide","Drag here to hide")}
75
+ {z?a("common.releaseToHide","Release to hide"):a("common.dragToHide","Drag here to hide")}
76
76
  </react_native_1.Text>
77
77
  </react_native_1.Animated.View>}
78
78
 
79
79
 
80
- <MediaPreviewModal_1.MediaPreviewModal item={$}visible={!!$}onClose={()=>C(null)}onDelete={async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),g?.().catch(()=>{}),C(null)}}onConvertToGif={async e=>{const t=await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480});t&&(g?.().catch(()=>{}),C({id:`anim_${t.timestamp}.gif`,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||`anim_${t.timestamp}.gif`,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs}))}}/>
80
+ <MediaPreviewModal_1.MediaPreviewModal item={W}visible={!!W}onClose={()=>C(null)}onDelete={async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),m?.().catch(()=>{}),C(null)}}onConvertToGif={async e=>{const t=await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480});if(t){m?.().catch(()=>{});const r=(0,capture_1.generateCaptureId)("anim","gif");C({id:r,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||r,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs})}}}/>
81
81
  </>},fabStyles=react_native_1.StyleSheet.create({dismissTargetContainer:{position:"absolute",bottom:react_native_1.Platform.OS==="ios"?42:26,left:0,right:0,alignItems:"center",justifyContent:"center",zIndex:999998},dismissTargetCircle:{width:54,height:54,borderRadius:27,backgroundColor:"rgba(23, 23, 37, 0.82)",borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:6},shadowOpacity:.4,shadowRadius:10,elevation:16},dismissTargetCircleActive:{backgroundColor:AppColors_1.AppColors.red600,borderColor:AppColors_1.AppColors.red300,shadowColor:AppColors_1.AppColors.red600,shadowOpacity:.65,shadowRadius:18,transform:[{scale:1.06}]},dismissTargetLabel:{marginTop:6,fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11,color:"rgba(255, 255, 255, 0.85)",textShadowColor:"rgba(0, 0, 0, 0.6)",textShadowOffset:{width:0,height:1},textShadowRadius:3},dismissTargetLabelActive:{color:AppColors_1.AppColors.red300,fontFamily:AppFonts_1.AppFonts.interBold},playerContainer:{position:"absolute",bottom:react_native_1.Platform.OS==="ios"?34:18,left:12,right:12,minHeight:58,flexDirection:"row",alignItems:"center",justifyContent:"space-between",borderRadius:16,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.28)",paddingHorizontal:12,paddingVertical:7,gap:8,zIndex:99999,elevation:25,shadowColor:AppColors_1.AppColors.indigo600,shadowOffset:{width:0,height:8},shadowOpacity:.45,shadowRadius:14,overflow:"hidden"},gradientBg:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16},playerShineClip:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16,overflow:"hidden"},playerShineStreak:{position:"absolute",top:-60,width:75,height:200},brandSection:{flexDirection:"row",alignItems:"center",gap:9,flex:1,minWidth:0,paddingVertical:2,overflow:"hidden"},titleWrapper:{flex:1,minWidth:0,justifyContent:"center",gap:2},appTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,color:AppColors_1.AppColors.white,letterSpacing:-.2},versionRow:{flexDirection:"row",alignItems:"center",gap:4,minWidth:0},versionChip:{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}1F`,borderRadius:5,paddingHorizontal:5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}2E`,flexShrink:1,minWidth:0},versionChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:8.5,color:`${AppColors_1.AppColors.white}EB`,letterSpacing:.1},actionsRow:{flexDirection:"row",alignItems:"center",gap:4.5,flexShrink:0},actionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"rgba(255, 255, 255, 0.22)",paddingHorizontal:8,paddingVertical:5.5,borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},actionBtnSquare:{alignItems:"center",justifyContent:"center",width:27,height:27,backgroundColor:"rgba(255, 255, 255, 0.22)",borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},recordingBtnActive:{backgroundColor:"rgba(239, 68, 68, 0.32)",borderColor:AppColors_1.AppColors.red500},recordingDot:{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.red500},actionText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,color:AppColors_1.AppColors.white}});exports.default=FabLauncher;
@@ -1,15 +1,15 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,a,o,n){n===void 0&&(n=o);var i=Object.getOwnPropertyDescriptor(a,o);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(r,n,i)}):(function(r,a,o,n){n===void 0&&(n=o),r[n]=a[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,a){Object.defineProperty(r,"default",{enumerable:!0,value:a})}):function(r,a){r.default=a}),__importStar=this&&this.__importStar||(function(){var r=function(a){return r=Object.getOwnPropertyNames||function(o){var n=[];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[n.length]=i);return n},r(a)};return function(a){if(a&&a.__esModule)return a;var o={};if(a!=null)for(var n=r(a),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(o,a,n[i]);return __setModuleDefault(o,a),o}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FloatingCaptureWidget=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FloatingCaptureWidget=()=>{const{refreshMediaCount:r,captureFps:a,captureScale:o,captureBitrate:n,captureMaxDurationSeconds:i,captureAudioMode:S,activeTab:M,settingsPage:T,peekMode:E}=(0,InspectorContext_1.useInspector)(),{t:c}=(0,i18n_1.useTranslation)(),[p,m]=(0,react_1.useState)(!1),[V,v]=(0,react_1.useState)(!1),[P,y]=(0,react_1.useState)(0),l=(0,react_1.useRef)(null),[C,f]=(0,react_1.useState)(null),h=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,w=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,s=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,u=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=s.x.addListener(d=>u.current.x=d.value),t=s.y.addListener(d=>u.current.y=d.value);return()=>{s.x.removeListener(e),s.y.removeListener(t)}},[s]);const g=(0,react_1.useRef)(!1),D=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onPanResponderGrant:()=>{g.current=!0,s.setOffset({x:u.current.x,y:u.current.y}),s.setValue({x:0,y:0})},onPanResponderMove:(e,t)=>{s.setValue({x:t.dx,y:t.dy})},onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{s.flattenOffset(),setTimeout(()=>{g.current=!1},150);const{width:e,height:t}=react_native_1.Dimensions.get("window"),d=e/2-30,R=-d,I=20,A=-(t-120),_=u.current.x,b=u.current.y;if(_<R||_>d||b<A||b>I){const F=Math.min(Math.max(_,R),d),q=Math.min(Math.max(b,A),I);react_native_1.Animated.spring(s,{toValue:{x:F,y:q},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{s.flattenOffset(),g.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{m(e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>{let e=null;return p?(y(0),l.current=setInterval(()=>{y(t=>t+1)},1e3),e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(h,{toValue:1.15,duration:500,useNativeDriver:!0}),react_native_1.Animated.timing(h,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(l.current&&(clearInterval(l.current),l.current=null),y(0),h.setValue(1)),()=>{l.current&&clearInterval(l.current),e&&e.stop()}},[p,h]);const O=(0,react_1.useCallback)(async()=>{if(!g.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light"),v(!0),await new Promise(t=>setTimeout(t,60));const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if(v(!1),react_native_1.Animated.sequence([react_native_1.Animated.timing(w,{toValue:.65,duration:70,useNativeDriver:!0}),react_native_1.Animated.timing(w,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t={id:`screenshot_${e.timestamp}.png`,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`screenshot_${e.timestamp}.png`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};f(t),r?.().catch(()=>{}),(0,toast_1.showToast)(c("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(c("header.screenshotFailed","Failed to capture screenshot"))}catch{v(!1),(0,toast_1.showToast)(c("header.screenshotError","Error capturing screenshot"))}},[r,w,c]),x=(0,react_1.useCallback)(async()=>{if(!g.current)try{if(p){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(m(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t={id:`video_${e.timestamp}.${e.format}`,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`video_${e.timestamp}.${e.format}`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};f(t),r?.().catch(()=>{}),(0,toast_1.showToast)(c("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:a,scale:o,audioSource:S,bitrate:n>0?n:void 0,maxDurationSeconds:i})?(m(!0),(0,toast_1.showToast)(c("header.recordingStarted","Recording started"))):(0,toast_1.showToast)(c("header.recordingStartFailed","Failed to start recording"))}catch{(0,toast_1.showToast)(c("header.recordingError","Error during screen recording")),m(!1)}},[p,a,o,n,i,S,r,c]),B=e=>{const t=Math.floor(e/60),d=e%60;return`${t<10?"0":""}${t}:${d<10?"0":""}${d}`};return M==="media"||T==="media"?null:<>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,a,s,n){n===void 0&&(n=s);var i=Object.getOwnPropertyDescriptor(a,s);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[s]}}),Object.defineProperty(r,n,i)}):(function(r,a,s,n){n===void 0&&(n=s),r[n]=a[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,a){Object.defineProperty(r,"default",{enumerable:!0,value:a})}):function(r,a){r.default=a}),__importStar=this&&this.__importStar||(function(){var r=function(a){return r=Object.getOwnPropertyNames||function(s){var n=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(n[n.length]=i);return n},r(a)};return function(a){if(a&&a.__esModule)return a;var s={};if(a!=null)for(var n=r(a),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(s,a,n[i]);return __setModuleDefault(s,a),s}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FloatingCaptureWidget=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FloatingCaptureWidget=()=>{const{refreshMediaCount:r,captureFps:a,captureScale:s,captureBitrate:n,captureMaxDurationSeconds:i,captureAudioMode:S,activeTab:T,settingsPage:M,peekMode:N,previewMediaItem:y,setPreviewMediaItem:p}=(0,InspectorContext_1.useInspector)(),{t:d}=(0,i18n_1.useTranslation)(),[f,h]=(0,react_1.useState)(!1),[V,w]=(0,react_1.useState)(!1),[P,_]=(0,react_1.useState)(0),u=(0,react_1.useRef)(null),g=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,v=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,c=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,l=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=c.x.addListener(o=>l.current.x=o.value),t=c.y.addListener(o=>l.current.y=o.value);return()=>{c.x.removeListener(e),c.y.removeListener(t)}},[c]);const m=(0,react_1.useRef)(!1),D=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!0,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{m.current=!0,c.setOffset({x:l.current.x,y:l.current.y}),c.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:c.x,dy:c.y}],{useNativeDriver:!1}),onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{c.flattenOffset(),setTimeout(()=>{m.current=!1},100);const{width:e,height:t}=react_native_1.Dimensions.get("window"),o=e/2-20,x=-o,R=20,A=-(t-140),C=l.current.x,b=l.current.y;if(C<x||C>o||b<A||b>R){const q=Math.min(Math.max(C,x),o),B=Math.min(Math.max(b,A),R);react_native_1.Animated.spring(c,{toValue:{x:q,y:B},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{c.flattenOffset(),m.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{h(e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>{let e=null;return f?(_(0),u.current=setInterval(()=>{_(t=>t+1)},1e3),e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(g,{toValue:1.15,duration:500,useNativeDriver:!0}),react_native_1.Animated.timing(g,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(u.current&&(clearInterval(u.current),u.current=null),_(0),g.setValue(1)),()=>{u.current&&clearInterval(u.current),e&&e.stop()}},[f,g]);const F=(0,react_1.useCallback)(async()=>{if(!m.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light"),w(!0),await new Promise(t=>setTimeout(t,60));const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if(w(!1),react_native_1.Animated.sequence([react_native_1.Animated.timing(v,{toValue:.65,duration:70,useNativeDriver:!0}),react_native_1.Animated.timing(v,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),o={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(d("header.screenshotFailed","Failed to capture screenshot"))}catch{w(!1),(0,toast_1.showToast)(d("header.screenshotError","Error capturing screenshot"))}},[r,v,d]),I=(0,react_1.useCallback)(async()=>{if(!m.current)try{if(f){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(h(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),o={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),h(!0),await capture_1.ScreenCapture.startRecording({fps:a,scale:s,audioSource:S,bitrate:n>0?n:void 0,maxDurationSeconds:i})?(0,toast_1.showToast)(d("header.recordingStarted","Recording started")):(h(!1),(0,toast_1.showToast)(d("header.recordingStartFailed","Failed to start recording")))}catch{(0,toast_1.showToast)(d("header.recordingError","Error during screen recording")),h(!1)}},[f,a,s,n,i,S,r,d]),O=e=>{const t=Math.floor(e/60),o=e%60;return`${t<10?"0":""}${t}:${o<10?"0":""}${o}`};return T==="media"||M==="media"?null:<>
2
2
 
3
- <react_native_1.Animated.View pointerEvents="none"style={[styles.flashOverlay,{opacity:w}]}/>
3
+ <react_native_1.Animated.View pointerEvents="none"style={[styles.flashOverlay,{opacity:v}]}/>
4
4
 
5
- {!V&&<react_native_1.Animated.View{...D.panHandlers}style={[styles.container,{transform:[{translateX:s.x},{translateY:s.y}]}]}>
5
+ {!V&&!y&&<react_native_1.Animated.View{...D.panHandlers}style={[styles.container,{transform:c.getTranslateTransform()}]}>
6
6
 
7
- {p?<react_native_1.View style={styles.recordingShadowWrapper}>
8
- <TouchableScale_1.default onPress={x}style={styles.recordingPillWrapper}>
9
- <react_native_linear_gradient_1.default colors={["#E11D48","#BE123C"]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.recordingPill}>
10
- <react_native_1.Animated.View style={[styles.recordingDot,{transform:[{scale:h}]}]}/>
7
+ {f?<react_native_1.View style={styles.recordingShadowWrapper}>
8
+ <TouchableScale_1.default onPress={I}style={styles.recordingPillWrapper}>
9
+ <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.rose600,AppColors_1.AppColors.rose700]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.recordingPill}>
10
+ <react_native_1.Animated.View style={[styles.recordingDot,{transform:[{scale:g}]}]}/>
11
11
  <react_native_1.Text style={styles.recordingText}>
12
- REC {B(P)}
12
+ REC {O(P)}
13
13
  </react_native_1.Text>
14
14
  <react_native_1.View style={styles.stopIconBadge}>
15
15
  <react_native_1.View style={styles.stopIconSquare}/>
@@ -17,19 +17,14 @@
17
17
  </react_native_linear_gradient_1.default>
18
18
  </TouchableScale_1.default>
19
19
  </react_native_1.View>:<react_native_1.View style={styles.dockShadowWrapper}>
20
- <react_native_linear_gradient_1.default colors={["#0E1326","#1A1E38","#0E1326"]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.dockBar}>
20
+ <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.navy900,AppColors_1.AppColors.navy800,AppColors_1.AppColors.navy900]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.dockBar}>
21
21
 
22
- <react_native_1.View style={styles.dragGripArea}pointerEvents="none">
23
- <NetworkIcons_1.GripVerticalIcon size={13}color="rgba(255, 255, 255, 0.45)"/>
24
- </react_native_1.View>
25
-
26
-
27
- <TouchableScale_1.default onPress={O}style={styles.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
28
- <react_native_1.View style={[styles.menuItemIconCircle,{backgroundColor:"rgba(56, 189, 248, 0.22)"}]}>
22
+ <TouchableScale_1.default onPress={F}style={styles.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
23
+ <react_native_1.View style={[styles.menuItemIconCircle,{backgroundColor:`${AppColors_1.AppColors.sky400}38`}]}>
29
24
  <NetworkIcons_1.ScreenshotCaptureIcon size={14}color={AppColors_1.AppColors.sky400}/>
30
25
  </react_native_1.View>
31
26
  <react_native_1.Text style={styles.menuItemText}>
32
- {c("header.screenshot","Screenshot")}
27
+ {d("header.screenshot","Screenshot")}
33
28
  </react_native_1.Text>
34
29
  </TouchableScale_1.default>
35
30
 
@@ -37,18 +32,23 @@
37
32
  <react_native_1.View style={styles.dockDivider}/>
38
33
 
39
34
 
40
- <TouchableScale_1.default onPress={x}style={styles.menuItemBtn}accessible={!0}accessibilityLabel={c("header.recordScreen","Record Screen")}>
41
- <react_native_1.View style={[styles.menuItemIconCircle,{backgroundColor:"rgba(244, 63, 94, 0.24)"}]}>
42
- <NetworkIcons_1.ScreenRecordIcon size={14}color={AppColors_1.AppColors.rose400||"#FB7185"}/>
35
+ <TouchableScale_1.default onPress={I}style={styles.menuItemBtn}accessible={!0}accessibilityLabel={d("header.recordScreen","Record Screen")}>
36
+ <react_native_1.View style={[styles.menuItemIconCircle,{backgroundColor:`${AppColors_1.AppColors.rose500}3D`}]}>
37
+ <NetworkIcons_1.ScreenRecordIcon size={14}color={AppColors_1.AppColors.rose400}/>
43
38
  </react_native_1.View>
44
39
  <react_native_1.Text style={styles.menuItemText}>
45
- {c("header.record","Record")}
40
+ {d("header.record","Record")}
46
41
  </react_native_1.Text>
47
42
  </TouchableScale_1.default>
43
+
44
+
45
+ <react_native_1.View style={styles.dragGripArea}>
46
+ <NetworkIcons_1.GripVerticalIcon size={14}color="rgba(255, 255, 255, 0.55)"/>
47
+ </react_native_1.View>
48
48
  </react_native_linear_gradient_1.default>
49
49
  </react_native_1.View>}
50
50
  </react_native_1.Animated.View>}
51
51
 
52
52
 
53
- <MediaPreviewModal_1.MediaPreviewModal item={C}visible={!!C}onClose={()=>f(null)}onDelete={async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),r?.().catch(()=>{}),f(null)}}onConvertToGif={async e=>{const t=await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480});t&&(r?.().catch(()=>{}),f({id:`anim_${t.timestamp}.gif`,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||`anim_${t.timestamp}.gif`,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs}))}}/>
54
- </>};exports.FloatingCaptureWidget=FloatingCaptureWidget;const styles=react_native_1.StyleSheet.create({flashOverlay:{...react_native_1.StyleSheet.absoluteFillObject,backgroundColor:AppColors_1.AppColors.white,zIndex:999999},container:{position:"absolute",bottom:react_native_1.Platform.OS==="ios"?22:16,alignSelf:"center",alignItems:"center",justifyContent:"center",zIndex:999999,elevation:999999},dockShadowWrapper:{borderRadius:24,backgroundColor:"#0D1120",...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:6},shadowOpacity:.45,shadowRadius:14},android:{elevation:16}})},dockBar:{flexDirection:"row",alignItems:"center",borderRadius:24,width:272,paddingVertical:0,paddingHorizontal:0,overflow:"hidden"},dragGripArea:{paddingLeft:10,paddingRight:2,paddingVertical:10,alignItems:"center",justifyContent:"center"},dockDivider:{width:1,height:20,backgroundColor:"rgba(255, 255, 255, 0.12)"},menuItemBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:7,paddingVertical:9,paddingHorizontal:10},menuItemIconCircle:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},menuItemText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:12,color:AppColors_1.AppColors.white,letterSpacing:.1},recordingShadowWrapper:{borderRadius:20,...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:4},shadowOpacity:.4,shadowRadius:10},android:{elevation:12}})},recordingPillWrapper:{borderRadius:20,overflow:"hidden"},recordingPill:{flexDirection:"row",alignItems:"center",gap:7,paddingVertical:6.5,paddingHorizontal:12,borderRadius:20,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.35)"},recordingDot:{width:7,height:7,borderRadius:3.5,backgroundColor:AppColors_1.AppColors.white},recordingText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.white,letterSpacing:.3},stopIconBadge:{width:16,height:16,borderRadius:8,backgroundColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",marginLeft:2},stopIconSquare:{width:5.5,height:5.5,borderRadius:1,backgroundColor:AppColors_1.AppColors.white}});exports.default=exports.FloatingCaptureWidget;
53
+ <MediaPreviewModal_1.MediaPreviewModal item={y}visible={!!y}onClose={()=>p(null)}onDelete={async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),r?.().catch(()=>{}),p(null)}}onConvertToGif={async e=>{const t=await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480});if(t){r?.().catch(()=>{});const o=(0,capture_1.generateCaptureId)("anim","gif");p({id:o,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||o,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs})}}}/>
54
+ </>};exports.FloatingCaptureWidget=FloatingCaptureWidget;const styles=react_native_1.StyleSheet.create({flashOverlay:{...react_native_1.StyleSheet.absoluteFillObject,backgroundColor:AppColors_1.AppColors.white,zIndex:999999},container:{position:"absolute",bottom:react_native_1.Platform.OS==="ios"?22:16,alignSelf:"center",alignItems:"center",justifyContent:"center",zIndex:999999,elevation:999999},dockShadowWrapper:{borderRadius:24,backgroundColor:"#0D1120",...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:6},shadowOpacity:.45,shadowRadius:14},android:{elevation:16}})},dockBar:{flexDirection:"row",alignItems:"center",borderRadius:24,overflow:"hidden"},dragGripArea:{paddingLeft:6,paddingRight:12,paddingVertical:10,alignItems:"center",justifyContent:"center"},dockDivider:{width:1,height:18,backgroundColor:"rgba(255, 255, 255, 0.14)"},menuItemBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:7,paddingVertical:8.5,paddingHorizontal:12},menuItemIconCircle:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},menuItemText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:12,color:AppColors_1.AppColors.white,letterSpacing:.1},recordingShadowWrapper:{borderRadius:22,alignItems:"center",justifyContent:"center",...react_native_1.Platform.select({ios:{shadowColor:"#E11D48",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:12},android:{elevation:14}})},recordingPillWrapper:{borderRadius:22,overflow:"hidden"},recordingPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,height:38,paddingHorizontal:14,borderRadius:22,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.45)"},recordingDot:{width:8,height:8,borderRadius:4,backgroundColor:"#FFFFFF"},recordingText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.white,letterSpacing:.4},stopIconBadge:{width:18,height:18,borderRadius:9,backgroundColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",marginLeft:3},stopIconSquare:{width:6,height:6,borderRadius:1.5,backgroundColor:AppColors_1.AppColors.white}});exports.default=exports.FloatingCaptureWidget;