react-native-inapp-inspector 2.5.12 → 2.5.14

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 (392) hide show
  1. package/README.md +0 -8
  2. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  4. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  9. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  11. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/9.2.0/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  17. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  18. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  19. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  20. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  21. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  22. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  23. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  24. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  25. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.dex +0 -0
  26. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  27. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  28. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  29. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  30. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  31. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  32. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  33. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  34. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +176 -0
  35. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  36. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +236 -0
  37. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  42. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  43. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  44. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +337 -0
  45. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  46. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  47. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  48. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  49. package/android/build/generated/source/codegen/schema.json +1 -0
  50. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +19 -0
  51. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  52. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  53. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  54. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  55. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  56. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
  57. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_inappinspector_file_paths.xml.flat +0 -0
  58. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
  59. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  60. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  61. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  62. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  63. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  64. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  65. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  66. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
  67. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +28 -0
  68. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +19 -0
  69. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  70. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  71. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/inappinspector_file_paths.xml +7 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  86. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  172. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  173. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  174. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  175. package/android/build/outputs/logs/manifest-merger-debug-report.txt +35 -0
  176. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  186. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  187. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  188. package/android/src/main/AndroidManifest.xml +11 -0
  189. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +492 -45
  190. package/android/src/main/res/xml/inappinspector_file_paths.xml +7 -0
  191. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +47 -49
  192. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  193. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
  194. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
  195. package/dist/commonjs/components/Inspector/ConsoleTab.js +7 -7
  196. package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
  197. package/dist/commonjs/components/Inspector/DebuggingTab.js +37 -37
  198. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
  199. package/dist/commonjs/components/Inspector/FabLauncher.js +4 -4
  200. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
  201. package/dist/commonjs/components/Inspector/InspectorHeader.js +36 -36
  202. package/dist/commonjs/components/Inspector/MainScreen.js +38 -75
  203. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +10 -10
  204. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
  205. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
  206. package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
  207. package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
  208. package/dist/commonjs/components/Inspector/NetworkTab.js +60 -53
  209. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
  210. package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
  211. package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
  212. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  213. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +17 -16
  214. package/dist/commonjs/components/Inspector/SettingsPanel.js +43 -47
  215. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  216. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +34 -3
  217. package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
  218. package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
  219. package/dist/commonjs/components/Inspector/TabBar.js +9 -15
  220. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  221. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
  222. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
  223. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
  224. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  225. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
  226. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
  227. package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
  228. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  229. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
  230. package/dist/commonjs/components/Inspector/index.d.ts +28 -0
  231. package/dist/commonjs/components/Inspector/index.js +1 -0
  232. package/dist/commonjs/components/LogCard.js +12 -10
  233. package/dist/commonjs/components/SkeletonPlaceholder.d.ts +3 -0
  234. package/dist/commonjs/components/SkeletonPlaceholder.js +34 -3
  235. package/dist/commonjs/constants/index.js +1 -1
  236. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  237. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  238. package/dist/commonjs/constants/version.d.ts +1 -1
  239. package/dist/commonjs/constants/version.js +1 -1
  240. package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
  241. package/dist/commonjs/customHooks/crashHandler.js +6 -6
  242. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
  243. package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
  244. package/dist/commonjs/helpers/index.js +1 -3
  245. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  246. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
  247. package/dist/commonjs/helpers/searchQueryParser.js +7 -5
  248. package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
  249. package/dist/commonjs/helpers/shareFormatter.js +16 -9
  250. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
  251. package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
  252. package/dist/commonjs/i18n/locales/ar.json +1 -1
  253. package/dist/commonjs/i18n/locales/bn.json +1 -1
  254. package/dist/commonjs/i18n/locales/de.json +1 -1
  255. package/dist/commonjs/i18n/locales/en.json +1 -1
  256. package/dist/commonjs/i18n/locales/es.json +1 -1
  257. package/dist/commonjs/i18n/locales/fr.json +1 -1
  258. package/dist/commonjs/i18n/locales/gu.json +1 -1
  259. package/dist/commonjs/i18n/locales/hi.json +1 -1
  260. package/dist/commonjs/i18n/locales/id.json +1 -1
  261. package/dist/commonjs/i18n/locales/it.json +1 -1
  262. package/dist/commonjs/i18n/locales/ja.json +1 -1
  263. package/dist/commonjs/i18n/locales/kn.json +1 -1
  264. package/dist/commonjs/i18n/locales/ko.json +1 -1
  265. package/dist/commonjs/i18n/locales/ml.json +1 -1
  266. package/dist/commonjs/i18n/locales/mr.json +1 -1
  267. package/dist/commonjs/i18n/locales/nl.json +1 -1
  268. package/dist/commonjs/i18n/locales/pa.json +1 -1
  269. package/dist/commonjs/i18n/locales/pl.json +1 -1
  270. package/dist/commonjs/i18n/locales/pt.json +1 -1
  271. package/dist/commonjs/i18n/locales/ru.json +1 -1
  272. package/dist/commonjs/i18n/locales/ta.json +1 -1
  273. package/dist/commonjs/i18n/locales/te.json +1 -1
  274. package/dist/commonjs/i18n/locales/tr.json +1 -1
  275. package/dist/commonjs/i18n/locales/vi.json +1 -1
  276. package/dist/commonjs/i18n/locales/zh.json +1 -1
  277. package/dist/commonjs/index.d.ts +4 -2
  278. package/dist/commonjs/index.js +3 -3
  279. package/dist/commonjs/native/NativeInspector.d.ts +4 -0
  280. package/dist/commonjs/native/NativeInspector.js +1 -1
  281. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  282. package/dist/commonjs/styles/AppFonts.d.ts +4 -0
  283. package/dist/commonjs/styles/AppFonts.js +1 -1
  284. package/dist/commonjs/styles/index.d.ts +2 -0
  285. package/dist/commonjs/styles/index.js +1 -1
  286. package/dist/commonjs/types/editor.d.ts +31 -0
  287. package/dist/commonjs/types/enums.d.ts +0 -2
  288. package/dist/commonjs/types/enums.js +1 -1
  289. package/dist/commonjs/types/interfaces.d.ts +1 -1
  290. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
  291. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  292. package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
  293. package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
  294. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  295. package/dist/esm/components/Inspector/CrashTab.js +58 -58
  296. package/dist/esm/components/Inspector/DebuggingTab.js +105 -105
  297. package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
  298. package/dist/esm/components/Inspector/FabLauncher.js +50 -50
  299. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
  300. package/dist/esm/components/Inspector/InspectorHeader.js +64 -64
  301. package/dist/esm/components/Inspector/MainScreen.js +87 -124
  302. package/dist/esm/components/Inspector/MediaGalleryTab.js +151 -151
  303. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
  304. package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
  305. package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
  306. package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
  307. package/dist/esm/components/Inspector/NetworkTab.js +143 -136
  308. package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
  309. package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
  310. package/dist/esm/components/Inspector/ReduxTab.js +9 -9
  311. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  312. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +23 -22
  313. package/dist/esm/components/Inspector/SettingsPanel.js +109 -113
  314. package/dist/esm/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  315. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +42 -11
  316. package/dist/esm/components/Inspector/SocketCard.js +13 -13
  317. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  318. package/dist/esm/components/Inspector/TabBar.js +35 -41
  319. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  320. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
  321. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
  322. package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
  323. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  324. package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
  325. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
  326. package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
  327. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  328. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
  329. package/dist/esm/components/Inspector/index.d.ts +28 -0
  330. package/dist/esm/components/Inspector/index.js +1 -0
  331. package/dist/esm/components/LogCard.js +24 -22
  332. package/dist/esm/components/SkeletonPlaceholder.d.ts +3 -0
  333. package/dist/esm/components/SkeletonPlaceholder.js +42 -11
  334. package/dist/esm/constants/index.js +1 -1
  335. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  336. package/dist/esm/constants/telemetryConfig.js +1 -1
  337. package/dist/esm/constants/version.d.ts +1 -1
  338. package/dist/esm/constants/version.js +1 -1
  339. package/dist/esm/customHooks/crashHandler.d.ts +1 -1
  340. package/dist/esm/customHooks/crashHandler.js +6 -6
  341. package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
  342. package/dist/esm/customHooks/uiInspectorManager.js +1 -0
  343. package/dist/esm/helpers/index.js +4 -6
  344. package/dist/esm/helpers/remoteConfig.js +1 -1
  345. package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
  346. package/dist/esm/helpers/searchQueryParser.js +7 -5
  347. package/dist/esm/helpers/shareFormatter.d.ts +16 -0
  348. package/dist/esm/helpers/shareFormatter.js +20 -13
  349. package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
  350. package/dist/esm/helpers/uiInspectorEngine.js +19 -0
  351. package/dist/esm/i18n/locales/ar.json +1 -1
  352. package/dist/esm/i18n/locales/bn.json +1 -1
  353. package/dist/esm/i18n/locales/de.json +1 -1
  354. package/dist/esm/i18n/locales/en.json +1 -1
  355. package/dist/esm/i18n/locales/es.json +1 -1
  356. package/dist/esm/i18n/locales/fr.json +1 -1
  357. package/dist/esm/i18n/locales/gu.json +1 -1
  358. package/dist/esm/i18n/locales/hi.json +1 -1
  359. package/dist/esm/i18n/locales/id.json +1 -1
  360. package/dist/esm/i18n/locales/it.json +1 -1
  361. package/dist/esm/i18n/locales/ja.json +1 -1
  362. package/dist/esm/i18n/locales/kn.json +1 -1
  363. package/dist/esm/i18n/locales/ko.json +1 -1
  364. package/dist/esm/i18n/locales/ml.json +1 -1
  365. package/dist/esm/i18n/locales/mr.json +1 -1
  366. package/dist/esm/i18n/locales/nl.json +1 -1
  367. package/dist/esm/i18n/locales/pa.json +1 -1
  368. package/dist/esm/i18n/locales/pl.json +1 -1
  369. package/dist/esm/i18n/locales/pt.json +1 -1
  370. package/dist/esm/i18n/locales/ru.json +1 -1
  371. package/dist/esm/i18n/locales/ta.json +1 -1
  372. package/dist/esm/i18n/locales/te.json +1 -1
  373. package/dist/esm/i18n/locales/tr.json +1 -1
  374. package/dist/esm/i18n/locales/vi.json +1 -1
  375. package/dist/esm/i18n/locales/zh.json +1 -1
  376. package/dist/esm/index.d.ts +4 -2
  377. package/dist/esm/index.js +8 -8
  378. package/dist/esm/native/NativeInspector.d.ts +4 -0
  379. package/dist/esm/native/NativeInspector.js +1 -1
  380. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  381. package/dist/esm/styles/AppFonts.d.ts +4 -0
  382. package/dist/esm/styles/AppFonts.js +1 -1
  383. package/dist/esm/styles/index.d.ts +2 -0
  384. package/dist/esm/styles/index.js +1 -1
  385. package/dist/esm/types/editor.d.ts +31 -0
  386. package/dist/esm/types/enums.d.ts +0 -2
  387. package/dist/esm/types/enums.js +1 -1
  388. package/dist/esm/types/interfaces.d.ts +1 -1
  389. package/ios/NetworkInspectorModule.mm +597 -336
  390. package/package.json +1 -1
  391. package/src/native/NativeInspector.ts +67 -0
  392. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -1,6 +1,6 @@
1
- import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k}from"react";import{Modal as Ze,View as T,Text as C,TextInput as Le,StyleSheet as Pe,Pressable as Qe,Animated as L,Easing as J,ScrollView as Ye,Platform as _e,Share as Ee}from"react-native";import F from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as w}from"../../styles/AppFonts";import{ExportIcon as Ce,ShareIcon as Ct,SaveIcon as Tt,CopyIcon as St,CloseWhite as Bt,CircleCheckIcon as Ft,InfoCircleIcon as Vt,WarningTriangleIcon as It,ErrorCircleIcon as Rt,LayersIcon as We,FilterIcon as At,CheckIcon as Dt,ZapIcon as Ht,PenIcon as Lt}from"../NetworkIcons";import{triggerNativeHaptic as R}from"../../native/NativeInspector";import{copyToClipboard as Pt,showToast as X}from"../../helpers";import{formatConsoleLogsExport as Et,estimateConsoleLogsExportSize as Wt,generateConsoleLogsFilename as Ot}from"../../helpers/shareFormatter";import{useTranslation as Mt}from"../../i18n";export const ConsoleExportModal=({visible:ae,onClose:Z,filteredLogs:Q,allLogs:Y})=>{const{t:S}=Mt(),[O,_]=k("config"),[P,be]=k("filtered"),[j,Te]=k("info"),[V,se]=k("all"),[de,we]=k("50"),[M,Se]=k(""),[A,Be]=k("txt"),[ce,ke]=k(!1),[ge,ve]=k(!1),[ue,Fe]=k(!1),[pe,Ve]=k(!1),[me,Ie]=k(!1),[Oe,fe]=k(0),[Me,ye]=k(0),[D,Re]=k(""),[H,ze]=k(""),[$e,Ae]=k(0),N=He(new L.Value(0)).current,ee=He(new L.Value(1)).current,E=$(()=>{if(!M||M.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp(M.trim(),"i")}}catch(o){return{isValid:!1,error:o?.message||"Invalid pattern",regex:null}}},[M]),te=$(()=>({includeStackTrace:ce,includeArguments:ge,includeCaller:ue,includeTimestamps:pe,includeAppInfo:me,includeDuplicates:!1,ignorePattern:V==="custom"&&E.isValid?M.trim():void 0}),[ce,ge,ue,pe,me,V,E.isValid,M]);De(()=>{if(O==="progress"){const o=L.loop(L.sequence([L.timing(ee,{toValue:1.05,duration:600,easing:J.inOut(J.ease),useNativeDriver:!0}),L.timing(ee,{toValue:1,duration:600,easing:J.inOut(J.ease),useNativeDriver:!0})]));return o.start(),()=>o.stop()}},[O,ee]),De(()=>{ae&&(_("config"),se("all"),Te("info"),Be("txt"),we("50"),Se(""),ke(!1),ve(!1),Fe(!1),Ve(!1),Ie(!1),fe(0),ye(0),Re(""),ze(""),Ae(0),N.setValue(0))},[ae,N]);const G=$(()=>P==="filtered"?Q:Y,[P,Q,Y]),K=$(()=>j==="all"?G:G.filter(o=>j==="info"?o.type==="info"||o.sourceMethod==="log"||o.sourceMethod==="info":j==="warn"?o.type==="warn":j==="error"?o.type==="error":!0),[G,j]),oe=$(()=>{let o=0,B=0,I=0;return G.forEach(W=>{W.type==="error"?I++:W.type==="warn"?B++:o++}),{all:G.length,info:o,warn:B,error:I}},[G]),{selectedLogs:v,ignoredCount:re}=$(()=>{if(K.length===0)return{selectedLogs:[],ignoredCount:0};let B=K,I=0;if(V==="custom"&&E.regex){const z=E.regex,ie=B.length;B=B.filter(U=>{const qe=U.message||"",Je=U.rawArgs?JSON.stringify(U.rawArgs):"",Xe=U.caller||"";return!z.test(qe)&&!z.test(Je)&&!z.test(Xe)}),I=ie-B.length}let W=B.length;if(V==="all")W=B.length;else if(V==="custom"){const z=parseInt(de,10);W=isNaN(z)||z<=0?B.length:Math.min(z,B.length)}return{selectedLogs:B.slice(-W),ignoredCount:I}},[K,V,de,E.regex]),le=$(()=>Wt(v,A,te),[v,A,te]),q=o=>o<=0?"0 KB":o<1024?`${(o/1024).toFixed(2)} KB`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(2)} MB`,je=ne(()=>{if(v.length===0){X(S("console.noLogsToExport","No logs available to export"));return}R("medium"),_("progress"),fe(0),ye(0),N.setValue(0);const o=v.length,B=Math.max(1,Math.floor(o/10));let I=0;const W=setInterval(()=>{I=Math.min(I+B,o);const z=I/o;fe(Math.round(z*100)),ye(I),L.timing(N,{toValue:z,duration:120,easing:J.linear,useNativeDriver:!1}).start(),I>=o&&(clearInterval(W),setTimeout(()=>{const ie=Et(v,A,te),U=Ot(A);Re(ie),ze(U),Ae(ie.length),_("complete"),R("heavy")},180))},45)},[v,A,te,N,S]),Ne=ne(async()=>{if(D){R("light");try{await Ee.share({title:H,message:D},{dialogTitle:`Share ${H}`,subject:H})}catch(o){o?.message!=="User did not share"&&X(o?.message||"Failed to open share sheet")}}},[D,H]),Ge=ne(async()=>{if(D){R("medium");try{await Ee.share({title:`Save ${H}`,message:D},{dialogTitle:`Save to Disk (${H})`,subject:H}),X(S("console.savePromptOpened","Opened save to disk dialog"))}catch(o){o?.message!=="User did not share"&&X(o?.message||"Save error")}}},[D,H,S]),Ue=ne(()=>{D&&(R("light"),Pt(D,"Console Logs"),X(S("console.copiedLogs","Logs copied to clipboard!")))},[D,S]),Ke=Q.length!==Y.length;return<Ze visible={ae}transparent animationType="slide"onRequestClose={Z}>
1
+ import{useCallback as ae,useEffect as De,useMemo as j,useRef as Le,useState as v}from"react";import{Modal as Ye,View as T,Text as C,TextInput as He,StyleSheet as Pe,Pressable as _e,Animated as P,Easing as Z,ScrollView as Ct,Platform as bt,Share as Ee}from"react-native";import F from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as w}from"../../styles/AppFonts";import{ExportIcon as Ce,ShareIcon as Tt,SaveIcon as St,CopyIcon as Bt,CloseWhite as Ft,CircleCheckIcon as Vt,InfoCircleIcon as It,WarningTriangleIcon as Rt,ErrorCircleIcon as zt,LayersIcon as Oe,FilterIcon as At,CheckIcon as Dt,ZapIcon as Lt,PenIcon as Ht}from"../NetworkIcons";import{triggerNativeHaptic as D,writeNativeExportFile as We,shareNativeFile as Me}from"../../native/NativeInspector";import{copyToClipboard as Pt,showToast as q}from"../../helpers";import{formatConsoleLogsExport as Et,estimateConsoleLogsExportSize as Ot,generateConsoleLogsFilename as Wt}from"../../helpers/shareFormatter";import{useTranslation as Mt}from"../../i18n";export const ConsoleExportModal=({visible:se,onClose:Q,filteredLogs:Y,allLogs:_})=>{const{t:S}=Mt(),[M,ee]=v("config"),[E,be]=v("filtered"),[N,Te]=v("info"),[V,de]=v("all"),[ce,we]=v("50"),[$,Se]=v(""),[I,Be]=v("txt"),[ge,ve]=v(!0),[ue,ke]=v(!0),[pe,Fe]=v(!0),[me,Ve]=v(!0),[fe,Ie]=v(!0),[$e,ye]=v(0),[je,he]=v(0),[L,Re]=v(""),[R,ze]=v(""),[Ne,Ae]=v(0),G=Le(new P.Value(0)).current,te=Le(new P.Value(1)).current,O=j(()=>{if(!$||$.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp($.trim(),"i")}}catch(o){return{isValid:!1,error:o?.message||"Invalid pattern",regex:null}}},[$]),oe=j(()=>({includeStackTrace:ge,includeArguments:ue,includeCaller:pe,includeTimestamps:me,includeAppInfo:fe,includeDuplicates:!1,ignorePattern:V==="custom"&&O.isValid?$.trim():void 0}),[ge,ue,pe,me,fe,V,O.isValid,$]);De(()=>{if(M==="progress"){const o=P.loop(P.sequence([P.timing(te,{toValue:1.05,duration:600,easing:Z.inOut(Z.ease),useNativeDriver:!0}),P.timing(te,{toValue:1,duration:600,easing:Z.inOut(Z.ease),useNativeDriver:!0})]));return o.start(),()=>o.stop()}},[M,te]),De(()=>{se&&(ee("config"),de("all"),Te("info"),Be("txt"),we("50"),Se(""),ve(!1),ke(!1),Fe(!1),Ve(!1),Ie(!1),ye(0),he(0),Re(""),ze(""),Ae(0),G.setValue(0))},[se,G]);const U=j(()=>E==="filtered"?Y:_,[E,Y,_]),J=j(()=>N==="all"?U:U.filter(o=>N==="info"?o.type==="info"||o.sourceMethod==="log"||o.sourceMethod==="info":N==="warn"?o.type==="warn":N==="error"?o.type==="error":!0),[U,N]),re=j(()=>{let o=0,B=0,A=0;return U.forEach(W=>{W.type==="error"?A++:W.type==="warn"?B++:o++}),{all:U.length,info:o,warn:B,error:A}},[U]),{selectedLogs:k,ignoredCount:le}=j(()=>{if(J.length===0)return{selectedLogs:[],ignoredCount:0};let B=J,A=0;if(V==="custom"&&O.regex){const H=O.regex,ne=B.length;B=B.filter(K=>{const Xe=K.message||"",Ze=K.rawArgs?JSON.stringify(K.rawArgs):"",Qe=K.caller||"";return!H.test(Xe)&&!H.test(Ze)&&!H.test(Qe)}),A=ne-B.length}let W=B.length;if(V==="all")W=B.length;else if(V==="custom"){const H=parseInt(ce,10);W=isNaN(H)||H<=0?B.length:Math.min(H,B.length)}return{selectedLogs:B.slice(-W),ignoredCount:A}},[J,V,ce,O.regex]),ie=j(()=>Ot(k,I,oe),[k,I,oe]),X=o=>o<=0?"0 KB":o<1024?`${(o/1024).toFixed(2)} KB`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(2)} MB`,Ge=ae(()=>{if(k.length===0){q(S("console.noLogsToExport","No logs available to export"));return}D("medium"),ee("progress"),ye(0),he(0),G.setValue(0);const o=k.length,B=Math.max(1,Math.floor(o/10));let A=0;const W=setInterval(()=>{A=Math.min(A+B,o);const H=A/o;ye(Math.round(H*100)),he(A),P.timing(G,{toValue:H,duration:120,easing:Z.linear,useNativeDriver:!1}).start(),A>=o&&(clearInterval(W),setTimeout(()=>{const ne=Et(k,I,oe),K=Wt(I);Re(ne),ze(K),Ae(ne.length),ee("complete"),D("heavy")},180))},45)},[k,I,oe,G,S]),Ue=ae(async()=>{if(L){D("light");try{const o=await We(R,L);if(o&&await Me(o,"text/plain",R))return;await Ee.share({title:R,message:L,url:o||void 0},{dialogTitle:`Share ${R}`,subject:R})}catch(o){o?.message!=="User did not share"&&q(o?.message||"Failed to open share sheet")}}},[L,R,I]),Ke=ae(async()=>{if(L){D("medium");try{const o=await We(R,L);if(o&&await Me(o,"text/plain",`Save ${R}`)){q(S("console.savePromptOpened","Opened save to disk dialog"));return}await Ee.share({title:`Save ${R}`,message:L,url:o||void 0},{dialogTitle:`Save to Disk (${R})`,subject:R}),q(S("console.savePromptOpened","Opened save to disk dialog"))}catch(o){o?.message!=="User did not share"&&q(o?.message||"Save error")}}},[L,R,I,S]),qe=ae(()=>{L&&(D("light"),Pt(L,"Console Logs"),q(S("console.copiedLogs","Logs copied to clipboard!")))},[L,S]),Je=Y.length!==_.length;return<Ye visible={se}transparent animationType="slide"onRequestClose={Q}>
2
2
  <T style={e.overlay}>
3
- <Qe style={e.backdrop}onPress={Z}/>
3
+ <_e style={e.backdrop}onPress={Q}/>
4
4
 
5
5
  <T style={e.bottomSheetCard}>
6
6
 
@@ -19,36 +19,36 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
19
19
  {S("console.exportTitle","Export Console Logs")}
20
20
  </C>
21
21
  <C style={e.subtitle}>
22
- {O==="config"?`${v.length} logs ready for export`:O==="progress"?"Preparing exported file...":"Export complete"}
22
+ {M==="config"?`${k.length} logs ready for export`:M==="progress"?"Preparing exported file...":"Export complete"}
23
23
  </C>
24
24
  </T>
25
25
  </T>
26
- <F onPress={Z}hitSlop={10}style={e.closeBtn}>
27
- <Bt size={12}color={t.grayTextWeak}/>
26
+ <F onPress={Q}hitSlop={10}style={e.closeBtn}>
27
+ <Ft size={12}color={t.grayTextWeak}/>
28
28
  </F>
29
29
  </T>
30
30
 
31
31
 
32
- {O==="config"&&<>
33
- <Ye showsVerticalScrollIndicator={!1}contentContainerStyle={e.configContainer}>
32
+ {M==="config"&&<>
33
+ <Ct showsVerticalScrollIndicator={!1}contentContainerStyle={e.configContainer}>
34
34
 
35
- {Ke&&<T style={e.section}>
35
+ {Je&&<T style={e.section}>
36
36
  <C style={e.sectionLabel}>
37
37
  {S("console.exportScope","LOG SOURCE SCOPE")}
38
38
  </C>
39
39
  <T style={e.segmentedRow}>
40
- <F onPress={()=>{R("light"),be("filtered")}}style={[e.segmentBtn,P==="filtered"&&e.segmentBtnActive]}>
41
- <At size={13}color={P==="filtered"?t.purple:t.grayTextWeak}/>
42
- <C style={[e.segmentBtnText,P==="filtered"&&e.segmentBtnTextActive]}>
40
+ <F onPress={()=>{D("light"),be("filtered")}}style={[e.segmentBtn,E==="filtered"&&e.segmentBtnActive]}>
41
+ <At size={13}color={E==="filtered"?t.purple:t.grayTextWeak}/>
42
+ <C style={[e.segmentBtnText,E==="filtered"&&e.segmentBtnTextActive]}>
43
43
  {S("console.filteredView","Active Filter")} (
44
- {Q.length})
44
+ {Y.length})
45
45
  </C>
46
46
  </F>
47
47
 
48
- <F onPress={()=>{R("light"),be("all")}}style={[e.segmentBtn,P==="all"&&e.segmentBtnActive]}>
49
- <We size={13}color={P==="all"?t.purple:t.grayTextWeak}/>
50
- <C style={[e.segmentBtnText,P==="all"&&e.segmentBtnTextActive]}>
51
- {S("console.allLogsScope","All Logs")} ({Y.length})
48
+ <F onPress={()=>{D("light"),be("all")}}style={[e.segmentBtn,E==="all"&&e.segmentBtnActive]}>
49
+ <Oe size={13}color={E==="all"?t.purple:t.grayTextWeak}/>
50
+ <C style={[e.segmentBtnText,E==="all"&&e.segmentBtnTextActive]}>
51
+ {S("console.allLogsScope","All Logs")} ({_.length})
52
52
  </C>
53
53
  </F>
54
54
  </T>
@@ -58,8 +58,8 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
58
58
  <T style={e.section}>
59
59
  <C style={e.sectionLabel}>LOG LEVEL FILTER</C>
60
60
  <T style={e.levelRow}>
61
- {[{id:"all",label:"All",count:oe.all,color:t.purple,Icon:We},{id:"info",label:"Info / Log",count:oe.info,color:t.sky600,Icon:Vt},{id:"warn",label:"Warn",count:oe.warn,color:t.amber600,Icon:It},{id:"error",label:"Error",count:oe.error,color:t.errorColor,Icon:Rt}].map(o=>{const B=j===o.id,I=o.Icon;return<F key={o.id}onPress={()=>{R("light"),Te(o.id)}}style={[e.levelChip,B&&{backgroundColor:`${o.color}15`,borderColor:o.color}]}>
62
- <I size={11}color={B?o.color:t.grayTextWeak}/>
61
+ {[{id:"all",label:"All",count:re.all,color:t.purple,Icon:Oe},{id:"info",label:"Info / Log",count:re.info,color:t.sky600,Icon:It},{id:"warn",label:"Warn",count:re.warn,color:t.amber600,Icon:Rt},{id:"error",label:"Error",count:re.error,color:t.errorColor,Icon:zt}].map(o=>{const B=N===o.id,A=o.Icon;return<F key={o.id}onPress={()=>{D("light"),Te(o.id)}}style={[e.levelChip,B&&{backgroundColor:`${o.color}15`,borderColor:o.color}]}>
62
+ <A size={11}color={B?o.color:t.grayTextWeak}/>
63
63
  <C style={[e.levelChipText,B&&{color:o.color,fontFamily:w.interBold}]}>
64
64
  {o.label}
65
65
  </C>
@@ -78,22 +78,22 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
78
78
  <C style={e.sectionLabel}>LOGS COUNT RANGE</C>
79
79
  <T style={e.countPill}>
80
80
  <C style={e.countPillText}>
81
- Matched: {K.length}
81
+ Matched: {J.length}
82
82
  </C>
83
83
  </T>
84
84
  </T>
85
85
 
86
86
 
87
87
  <T style={e.segmentedRow}>
88
- <F onPress={()=>{R("light"),se("all")}}style={[e.segmentBtn,V==="all"&&e.segmentBtnActive]}>
89
- <Ht size={13}color={V==="all"?t.purple:t.grayTextStrong}/>
88
+ <F onPress={()=>{D("light"),de("all")}}style={[e.segmentBtn,V==="all"&&e.segmentBtnActive]}>
89
+ <Lt size={13}color={V==="all"?t.purple:t.grayTextStrong}/>
90
90
  <C style={[e.segmentBtnText,V==="all"&&e.segmentBtnTextActive]}>
91
- All ({K.length})
91
+ All ({J.length})
92
92
  </C>
93
93
  </F>
94
94
 
95
- <F onPress={()=>{R("light"),se("custom")}}style={[e.segmentBtn,V==="custom"&&e.segmentBtnActive]}>
96
- <Lt size={12}color={V==="custom"?t.purple:t.grayTextStrong}/>
95
+ <F onPress={()=>{D("light"),de("custom")}}style={[e.segmentBtn,V==="custom"&&e.segmentBtnActive]}>
96
+ <Ht size={12}color={V==="custom"?t.purple:t.grayTextStrong}/>
97
97
  <C style={[e.segmentBtnText,V==="custom"&&e.segmentBtnTextActive]}>
98
98
  Custom
99
99
  </C>
@@ -107,7 +107,7 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
107
107
  <C style={e.customFieldLabel}>
108
108
  {S("console.enterCount","Enter number of logs:")}
109
109
  </C>
110
- <Le keyboardType="number-pad"value={de}onChangeText={we}style={e.customCountInput}placeholder="e.g. 50"placeholderTextColor={t.slate400}/>
110
+ <He keyboardType="number-pad"value={ce}onChangeText={we}style={e.customCountInput}placeholder="e.g. 50"placeholderTextColor={t.slate400}/>
111
111
  </T>
112
112
 
113
113
 
@@ -116,16 +116,16 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
116
116
  <C style={e.customFieldLabel}>
117
117
  {S("console.ignorePatterns","Ignore Patterns (Regex):")}
118
118
  </C>
119
- {E.isValid&&re>0&&<T style={e.regexExclusionBadge}>
119
+ {O.isValid&&le>0&&<T style={e.regexExclusionBadge}>
120
120
  <C style={e.regexExclusionBadgeText}>
121
- -{re} excluded
121
+ -{le} excluded
122
122
  </C>
123
123
  </T>}
124
124
  </T>
125
125
 
126
- <Le autoCapitalize="none"autoCorrect={!1}value={M}onChangeText={Se}style={[e.regexInput,!E.isValid&&e.regexInputError]}placeholder="e.g. ^\[DEBUG\]|analytics|token=.*"placeholderTextColor={t.slate400}/>
126
+ <He autoCapitalize="none"autoCorrect={!1}value={$}onChangeText={Se}style={[e.regexInput,!O.isValid&&e.regexInputError]}placeholder="e.g. ^\[DEBUG\]|analytics|token=.*"placeholderTextColor={t.slate400}/>
127
127
 
128
- {E.isValid?<C style={e.regexHelpText}>
128
+ {O.isValid?<C style={e.regexHelpText}>
129
129
  {S("console.ignorePatternsDesc","Logs matching this regex will be excluded from export.")}
130
130
  </C>:<C style={e.regexErrorText}>
131
131
  ⚠️{" "}
@@ -139,7 +139,7 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
139
139
  <T style={e.section}>
140
140
  <C style={e.sectionLabel}>EXPORT FORMAT</C>
141
141
  <T style={e.formatRowInline}>
142
- {[{id:"txt",label:"Plain Text (.txt)",desc:"Universal text with structured banners"},{id:"log",label:"Log File (.log)",desc:"Standard log format with frame blocks"}].map(o=>{const B=A===o.id;return<F key={o.id}onPress={()=>{R("light"),Be(o.id)}}style={[e.formatCardInline,B&&e.formatCardInlineActive]}>
142
+ {[{id:"txt",label:"Plain Text (.txt)",desc:"Universal text with structured banners"},{id:"log",label:"Log File (.log)",desc:"Standard log format with frame blocks"}].map(o=>{const B=I===o.id;return<F key={o.id}onPress={()=>{D("light"),Be(o.id)}}style={[e.formatCardInline,B&&e.formatCardInlineActive]}>
143
143
  <T style={e.formatCardInlineHeader}>
144
144
  <T style={[e.radioCircle,B&&e.radioCircleActive]}>
145
145
  {B&&<T style={e.radioDot}/>}
@@ -157,7 +157,7 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
157
157
  <T style={e.section}>
158
158
  <C style={e.sectionLabel}>CONTENT OPTIONS</C>
159
159
  <T style={e.optionsGrid}>
160
- {[{key:"stack",label:"Stack Trace & Frames",value:ce,toggle:()=>ke(o=>!o)},{key:"args",label:"Arguments & Payloads",value:ge,toggle:()=>ve(o=>!o)},{key:"caller",label:"Caller & File Origin",value:ue,toggle:()=>Fe(o=>!o)},{key:"timestamps",label:"Exact Timestamps",value:pe,toggle:()=>Ve(o=>!o)},{key:"appinfo",label:"System Header Banner",value:me,toggle:()=>Ie(o=>!o)}].map(o=><F key={o.key}onPress={()=>{R("light"),o.toggle()}}style={[e.optionRow,o.value&&e.optionRowActive]}>
160
+ {[{key:"stack",label:"Stack Trace & Frames",value:ge,toggle:()=>ve(o=>!o)},{key:"args",label:"Arguments & Payloads",value:ue,toggle:()=>ke(o=>!o)},{key:"caller",label:"Caller & File Origin",value:pe,toggle:()=>Fe(o=>!o)},{key:"timestamps",label:"Exact Timestamps",value:me,toggle:()=>Ve(o=>!o)},{key:"appinfo",label:"System Header Banner",value:fe,toggle:()=>Ie(o=>!o)}].map(o=><F key={o.key}onPress={()=>{D("light"),o.toggle()}}style={[e.optionRow,o.value&&e.optionRowActive]}>
161
161
  <T style={[e.checkbox,o.value&&e.checkboxActive]}>
162
162
  {o.value&&<Dt size={10}color={t.white}/>}
163
163
  </T>
@@ -167,7 +167,7 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
167
167
  </F>)}
168
168
  </T>
169
169
  </T>
170
- </Ye>
170
+ </Ct>
171
171
 
172
172
 
173
173
  <T style={e.staticFooter}>
@@ -175,64 +175,64 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
175
175
  <T style={e.footerSummaryLeft}>
176
176
  <T style={e.footerSummaryDot}/>
177
177
  <C style={e.footerSummaryCountText}>
178
- {v.length} logs
178
+ {k.length} logs
179
179
  </C>
180
180
  <C style={e.footerSummaryDivider}>•</C>
181
181
  <C style={e.footerSummarySizeText}>
182
- ~{q(le)}
182
+ ~{X(ie)}
183
183
  </C>
184
184
  <C style={e.footerSummaryDivider}>•</C>
185
185
  <C style={e.footerSummaryFormatText}>
186
- .{A.toUpperCase()}
186
+ .{I.toUpperCase()}
187
187
  </C>
188
188
  </T>
189
189
 
190
- {re>0&&<T style={e.footerIgnoredPill}>
190
+ {le>0&&<T style={e.footerIgnoredPill}>
191
191
  <C style={e.footerIgnoredPillText}>
192
- -{re} ignored
192
+ -{le} ignored
193
193
  </C>
194
194
  </T>}
195
195
  </T>
196
196
 
197
- <F onPress={je}disabled={v.length===0}style={[e.exportActionBtn,v.length===0&&e.exportActionBtnDisabled]}>
197
+ <F onPress={Ge}disabled={k.length===0}style={[e.exportActionBtn,k.length===0&&e.exportActionBtnDisabled]}>
198
198
  <Ce size={17}color={t.white}/>
199
199
  <C style={e.exportActionBtnText}>
200
- {S("console.exportLogsAction",{count:v.length,size:q(le),defaultValue:`Export ${v.length} Logs (${q(le)})`})}
200
+ {S("console.exportLogsAction",{count:k.length,size:X(ie),defaultValue:`Export ${k.length} Logs (${X(ie)})`})}
201
201
  </C>
202
202
  </F>
203
203
  </T>
204
204
  </>}
205
205
 
206
206
 
207
- {O==="progress"&&<T style={e.progressContainer}>
208
- <L.View style={[e.progressIconBadge,{transform:[{scale:ee}]}]}>
207
+ {M==="progress"&&<T style={e.progressContainer}>
208
+ <P.View style={[e.progressIconBadge,{transform:[{scale:te}]}]}>
209
209
  <Ce size={30}color={t.purple}/>
210
- </L.View>
210
+ </P.View>
211
211
 
212
212
  <C style={e.progressHeading}>
213
213
  {S("console.exportingLogs","Exporting Console Logs...")}
214
214
  </C>
215
215
  <C style={e.progressSub}>
216
- {S("console.processingItem","Processing")} {Me} /{" "}
217
- {v.length} {S("console.records","records")} (
218
- {Oe}%)
216
+ {S("console.processingItem","Processing")} {je} /{" "}
217
+ {k.length} {S("console.records","records")} (
218
+ {$e}%)
219
219
  </C>
220
220
 
221
221
 
222
222
  <T style={e.progressTrack}>
223
- <L.View style={[e.progressBar,{width:N.interpolate({inputRange:[0,1],outputRange:["0%","100%"]})}]}/>
223
+ <P.View style={[e.progressBar,{width:G.interpolate({inputRange:[0,1],outputRange:["0%","100%"]})}]}/>
224
224
  </T>
225
225
 
226
226
  <C style={e.progressFootnote}>
227
- Formatting .{A.toUpperCase()} payload with separators •{" "}
228
- {q(le)}
227
+ Formatting .{I.toUpperCase()} payload with separators •{" "}
228
+ {X(ie)}
229
229
  </C>
230
230
  </T>}
231
231
 
232
232
 
233
- {O==="complete"&&<T style={e.completeContainer}>
233
+ {M==="complete"&&<T style={e.completeContainer}>
234
234
  <T style={e.completeSuccessBadge}>
235
- <Ft size={34}color={t.emerald500}/>
235
+ <Vt size={34}color={t.emerald500}/>
236
236
  </T>
237
237
 
238
238
  <C style={e.completeTitle}>
@@ -245,27 +245,27 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
245
245
 
246
246
  <T style={e.fileDetailsCard}>
247
247
  <T style={e.fileDetailsRow}>
248
- <C style={e.fileDetailLabel}>📁 File:</C>
248
+ <C style={e.fileDetailLabel}>📁 {S("console.exportFileLabel","File:")}</C>
249
249
  <C style={e.fileDetailValue}numberOfLines={1}>
250
- {H}
250
+ {R}
251
251
  </C>
252
252
  </T>
253
253
  <T style={e.fileDetailsRow}>
254
- <C style={e.fileDetailLabel}>📊 Log Count:</C>
254
+ <C style={e.fileDetailLabel}>📊 {S("console.exportLogCountLabel","Log Count:")}</C>
255
255
  <C style={e.fileDetailValue}>
256
- {v.length} logs
256
+ {k.length} logs
257
257
  </C>
258
258
  </T>
259
259
  <T style={e.fileDetailsRow}>
260
- <C style={e.fileDetailLabel}>💾 Final Size:</C>
260
+ <C style={e.fileDetailLabel}>💾 {S("console.exportFinalSizeLabel","Final Size:")}</C>
261
261
  <C style={[e.fileDetailValue,{color:t.emerald500,fontFamily:w.interBold}]}>
262
- {q($e)}
262
+ {X(Ne)}
263
263
  </C>
264
264
  </T>
265
265
  <T style={e.fileDetailsRow}>
266
- <C style={e.fileDetailLabel}>⚙️ Format:</C>
266
+ <C style={e.fileDetailLabel}>⚙️ {S("console.exportFormatLabel","Format:")}</C>
267
267
  <C style={e.fileDetailValue}>
268
- .{A.toUpperCase()}
268
+ .{I.toUpperCase()}
269
269
  </C>
270
270
  </T>
271
271
  </T>
@@ -273,24 +273,24 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
273
273
 
274
274
  <T style={e.actionButtonGroup}>
275
275
 
276
- <F onPress={Ne}style={[e.primaryActionBtn,e.shareBtn]}>
277
- <Ct size={15}color={t.white}/>
276
+ <F onPress={Ue}style={[e.primaryActionBtn,e.shareBtn]}>
277
+ <Tt size={15}color={t.white}/>
278
278
  <C style={e.primaryActionBtnText}>
279
279
  {S("console.shareReport","Share Logs")}
280
280
  </C>
281
281
  </F>
282
282
 
283
283
 
284
- <F onPress={Ge}style={[e.primaryActionBtn,e.saveDiskBtn]}>
285
- <Tt size={15}color={t.white}/>
284
+ <F onPress={Ke}style={[e.primaryActionBtn,e.saveDiskBtn]}>
285
+ <St size={15}color={t.white}/>
286
286
  <C style={e.primaryActionBtnText}>
287
287
  {S("console.saveToDisk","Save to Disk")}
288
288
  </C>
289
289
  </F>
290
290
 
291
291
 
292
- <F onPress={Ue}style={e.secondaryActionBtn}>
293
- <St size={14}color={t.purple}/>
292
+ <F onPress={qe}style={e.secondaryActionBtn}>
293
+ <Bt size={14}color={t.purple}/>
294
294
  <C style={e.secondaryActionBtnText}>
295
295
  {S("console.copyToClipboard","Copy Content")}
296
296
  </C>
@@ -299,13 +299,13 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
299
299
 
300
300
 
301
301
  <T style={e.bottomFooterRow}>
302
- <F onPress={()=>_("config")}style={e.textBtn}>
302
+ <F onPress={()=>ee("config")}style={e.textBtn}>
303
303
  <C style={e.textBtnText}>
304
304
  {S("console.exportAnother","\u2190 Export Another")}
305
305
  </C>
306
306
  </F>
307
307
 
308
- <F onPress={Z}style={e.doneBtn}>
308
+ <F onPress={Q}style={e.doneBtn}>
309
309
  <C style={e.doneBtnText}>
310
310
  {S("common.done","Done")}
311
311
  </C>
@@ -314,4 +314,4 @@ import{useCallback as ne,useEffect as De,useMemo as $,useRef as He,useState as k
314
314
  </T>}
315
315
  </T>
316
316
  </T>
317
- </Ze>};const e=Pe.create({overlay:{flex:1,backgroundColor:"rgba(0,0,0,0.55)",justifyContent:"flex-end"},backdrop:{...Pe.absoluteFillObject},bottomSheetCard:{width:"100%",maxHeight:"86%",backgroundColor:t.white,borderTopLeftRadius:24,borderTopRightRadius:24,overflow:"hidden",shadowColor:"#000",shadowOffset:{width:0,height:-6},shadowOpacity:.18,shadowRadius:16,elevation:24},sheetHandleContainer:{width:"100%",alignItems:"center",paddingTop:8,paddingBottom:4,backgroundColor:"#FAF9FE"},sheetHandle:{width:38,height:4,borderRadius:2,backgroundColor:`${t.grayTextWeak}40`},headerRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingVertical:12,borderBottomWidth:1,borderBottomColor:t.dividerColor,backgroundColor:"#FAF9FE",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:4,elevation:3},headerLeft:{flexDirection:"row",alignItems:"center",gap:12,flex:1},headerTextGroup:{gap:2},iconBadge:{width:36,height:36,borderRadius:10,backgroundColor:`${t.purple}14`,borderWidth:1,borderColor:`${t.purple}28`,justifyContent:"center",alignItems:"center"},title:{fontFamily:w.interBold,fontSize:15.5,lineHeight:20,color:t.primaryBlack,letterSpacing:-.2},subtitle:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextWeak},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.dividerColor,justifyContent:"center",alignItems:"center"},configContainer:{padding:16,gap:14},section:{gap:7},sectionHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},sectionLabel:{fontFamily:w.interBold,fontSize:10.5,lineHeight:14,color:t.grayTextWeak,letterSpacing:.6},levelRow:{flexDirection:"row",flexWrap:"wrap",gap:6},levelChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:5.5,borderRadius:8,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:5},levelChipText:{fontFamily:w.interMedium,fontSize:11,lineHeight:15,color:t.primaryBlack},levelCountBadge:{backgroundColor:"rgba(0,0,0,0.06)",paddingHorizontal:4.5,paddingVertical:1,borderRadius:5},levelCountText:{fontFamily:w.interBold,fontSize:9.5,color:t.grayTextStrong},countPill:{backgroundColor:`${t.purple}12`,paddingHorizontal:8,paddingVertical:2,borderRadius:6},countPillText:{fontFamily:w.interSemiBold,fontSize:10.5,color:t.purple},segmentedRow:{flexDirection:"row",gap:7},segmentBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:8.5,borderRadius:9,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor},segmentBtnActive:{backgroundColor:`${t.purple}14`,borderColor:t.purple},segmentBtnText:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},segmentBtnTextActive:{color:t.purple,fontFamily:w.interBold},customOptionsContainer:{marginTop:6,padding:11,borderRadius:10,backgroundColor:"#F8FAFC",borderWidth:1,borderColor:t.dividerColor,gap:10},customFieldRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10},customFieldLabel:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},customCountInput:{width:90,backgroundColor:t.white,borderWidth:1,borderColor:t.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:5.5,fontSize:12.5,fontFamily:w.interSemiBold,color:t.primaryBlack,textAlign:"center"},regexFieldBlock:{gap:5,paddingTop:4,borderTopWidth:1,borderTopColor:t.dividerColor},regexLabelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},regexExclusionBadge:{backgroundColor:`${t.purple}14`,paddingHorizontal:7,paddingVertical:2,borderRadius:5},regexExclusionBadgeText:{fontFamily:w.interBold,fontSize:10,color:t.purple},regexInput:{backgroundColor:t.white,borderWidth:1,borderColor:t.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:6,fontSize:12,fontFamily:w.interRegular,color:t.primaryBlack},regexInputError:{borderColor:t.errorColor,backgroundColor:`${t.errorColor}08`},regexErrorText:{fontFamily:w.interMedium,fontSize:10.5,lineHeight:14,color:t.errorColor},regexHelpText:{fontFamily:w.interRegular,fontSize:10.5,lineHeight:14,color:t.grayTextWeak},formatRowInline:{flexDirection:"row",gap:8},formatCardInline:{flex:1,padding:10,borderRadius:10,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:4},formatCardInlineActive:{backgroundColor:`${t.purple}0C`,borderColor:t.purple},formatCardInlineHeader:{flexDirection:"row",alignItems:"center",gap:6},radioCircle:{width:14,height:14,borderRadius:7,borderWidth:1.5,borderColor:t.grayTextWeak,justifyContent:"center",alignItems:"center"},radioCircleActive:{borderColor:t.purple},radioDot:{width:7,height:7,borderRadius:3.5,backgroundColor:t.purple},formatCardTitle:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},formatCardTitleActive:{fontFamily:w.interBold,color:t.purple},formatCardDesc:{fontFamily:w.interRegular,fontSize:10,lineHeight:13,color:t.grayTextWeak,paddingLeft:20},optionsGrid:{flexDirection:"column",gap:5},optionRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:7,borderRadius:8,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:8},optionRowActive:{backgroundColor:`${t.purple}0A`,borderColor:`${t.purple}30`},checkbox:{width:15,height:15,borderRadius:3.5,borderWidth:1.5,borderColor:t.grayTextWeak,justifyContent:"center",alignItems:"center"},checkboxActive:{backgroundColor:t.purple,borderColor:t.purple},optionLabel:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},optionLabelActive:{fontFamily:w.interSemiBold,color:t.primaryBlack},staticFooter:{paddingHorizontal:16,paddingTop:10,paddingBottom:_e.OS==="ios"?26:14,backgroundColor:t.white,borderTopWidth:1,borderTopColor:t.dividerColor,shadowColor:t.purple,shadowOffset:{width:0,height:-4},shadowOpacity:.12,shadowRadius:8,elevation:8,gap:8},footerMinimalSummary:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},footerSummaryLeft:{flexDirection:"row",alignItems:"center",gap:6},footerSummaryDot:{width:6,height:6,borderRadius:3,backgroundColor:t.emerald500||"#10B981"},footerSummaryCountText:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},footerSummaryDivider:{fontSize:10,color:t.grayTextWeak},footerSummarySizeText:{fontFamily:w.interBold,fontSize:11.5,lineHeight:15,color:t.purple},footerSummaryFormatText:{fontFamily:w.interMedium,fontSize:11,lineHeight:14,color:t.grayTextWeak},footerIgnoredPill:{backgroundColor:`${t.errorColor}12`,paddingHorizontal:7,paddingVertical:1.5,borderRadius:5},footerIgnoredPillText:{fontFamily:w.interSemiBold,fontSize:10,color:t.errorColor},exportActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",backgroundColor:t.purple,paddingVertical:12,borderRadius:12,gap:7,shadowColor:t.purple,shadowOffset:{width:0,height:4},shadowOpacity:.25,shadowRadius:8,elevation:4},exportActionBtnDisabled:{opacity:.5},exportActionBtnText:{fontFamily:w.interBold,fontSize:13.5,lineHeight:17,color:t.white,letterSpacing:.1},progressContainer:{padding:28,alignItems:"center",justifyContent:"center"},progressIconBadge:{width:60,height:60,borderRadius:30,backgroundColor:`${t.purple}18`,justifyContent:"center",alignItems:"center",marginBottom:14},progressHeading:{fontFamily:w.interBold,fontSize:15.5,lineHeight:21,color:t.primaryBlack,marginBottom:3},progressSub:{fontFamily:w.interMedium,fontSize:12,lineHeight:16,color:t.grayTextWeak,marginBottom:18},progressTrack:{width:"100%",height:9,backgroundColor:t.grayBackground,borderRadius:4.5,overflow:"hidden",borderWidth:1,borderColor:t.dividerColor,marginBottom:10},progressBar:{height:"100%",backgroundColor:t.purple,borderRadius:4.5},progressFootnote:{fontFamily:w.interMedium,fontSize:11,lineHeight:14,color:t.grayTextWeak},completeContainer:{padding:20,alignItems:"center"},completeSuccessBadge:{width:58,height:58,borderRadius:29,backgroundColor:`${t.emerald500}18`,justifyContent:"center",alignItems:"center",marginBottom:12},completeTitle:{fontFamily:w.interBold,fontSize:16.5,lineHeight:22,color:t.primaryBlack},completeSub:{fontFamily:w.interMedium,fontSize:12,lineHeight:16,color:t.grayTextWeak,textAlign:"center",marginTop:3,marginBottom:16},fileDetailsCard:{width:"100%",backgroundColor:"#F8FAFC",borderRadius:12,padding:12,borderWidth:1,borderColor:t.dividerColor,gap:7,marginBottom:16},fileDetailsRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},fileDetailLabel:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},fileDetailValue:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.primaryBlack},actionButtonGroup:{width:"100%",gap:8,marginBottom:14},primaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:12,borderRadius:10,gap:7},shareBtn:{backgroundColor:t.purple,shadowColor:t.purple,shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},saveDiskBtn:{backgroundColor:t.teal600,shadowColor:t.teal600,shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},primaryActionBtnText:{fontFamily:w.interBold,fontSize:13,lineHeight:17,color:t.white},secondaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:10,borderRadius:10,borderWidth:1,borderColor:`${t.purple}40`,backgroundColor:`${t.purple}0C`,gap:6},secondaryActionBtnText:{fontFamily:w.interSemiBold,fontSize:12,lineHeight:15,color:t.purple},bottomFooterRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%",paddingTop:8,borderTopWidth:1,borderTopColor:t.dividerColor},textBtn:{paddingVertical:5,paddingHorizontal:8},textBtnText:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},doneBtn:{paddingVertical:5,paddingHorizontal:14,borderRadius:6,backgroundColor:t.dividerColor},doneBtnText:{fontFamily:w.interBold,fontSize:11.5,lineHeight:15,color:t.primaryBlack}});export default ConsoleExportModal;
317
+ </Ye>};const e=Pe.create({overlay:{flex:1,backgroundColor:"rgba(0,0,0,0.55)",justifyContent:"flex-end"},backdrop:{...Pe.absoluteFillObject},bottomSheetCard:{width:"100%",maxHeight:"86%",backgroundColor:t.white,borderTopLeftRadius:24,borderTopRightRadius:24,overflow:"hidden",shadowColor:"#000",shadowOffset:{width:0,height:-6},shadowOpacity:.18,shadowRadius:16,elevation:24},sheetHandleContainer:{width:"100%",alignItems:"center",paddingTop:8,paddingBottom:4,backgroundColor:"#FAF9FE"},sheetHandle:{width:38,height:4,borderRadius:2,backgroundColor:`${t.grayTextWeak}40`},headerRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingVertical:12,borderBottomWidth:1,borderBottomColor:t.dividerColor,backgroundColor:"#FAF9FE",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:4,elevation:3},headerLeft:{flexDirection:"row",alignItems:"center",gap:12,flex:1},headerTextGroup:{gap:2},iconBadge:{width:36,height:36,borderRadius:10,backgroundColor:`${t.purple}14`,borderWidth:1,borderColor:`${t.purple}28`,justifyContent:"center",alignItems:"center"},title:{fontFamily:w.interBold,fontSize:15.5,lineHeight:20,color:t.primaryBlack,letterSpacing:-.2},subtitle:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextWeak},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.dividerColor,justifyContent:"center",alignItems:"center"},configContainer:{padding:16,gap:14},section:{gap:7},sectionHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},sectionLabel:{fontFamily:w.interBold,fontSize:10.5,lineHeight:14,color:t.grayTextWeak,letterSpacing:.6},levelRow:{flexDirection:"row",flexWrap:"wrap",gap:6},levelChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:5.5,borderRadius:8,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:5},levelChipText:{fontFamily:w.interMedium,fontSize:11,lineHeight:15,color:t.primaryBlack},levelCountBadge:{backgroundColor:"rgba(0,0,0,0.06)",paddingHorizontal:4.5,paddingVertical:1,borderRadius:5},levelCountText:{fontFamily:w.interBold,fontSize:9.5,color:t.grayTextStrong},countPill:{backgroundColor:`${t.purple}12`,paddingHorizontal:8,paddingVertical:2,borderRadius:6},countPillText:{fontFamily:w.interSemiBold,fontSize:10.5,color:t.purple},segmentedRow:{flexDirection:"row",gap:7},segmentBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:8.5,borderRadius:9,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor},segmentBtnActive:{backgroundColor:`${t.purple}14`,borderColor:t.purple},segmentBtnText:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},segmentBtnTextActive:{color:t.purple,fontFamily:w.interBold},customOptionsContainer:{marginTop:6,padding:11,borderRadius:10,backgroundColor:"#F8FAFC",borderWidth:1,borderColor:t.dividerColor,gap:10},customFieldRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10},customFieldLabel:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},customCountInput:{width:90,backgroundColor:t.white,borderWidth:1,borderColor:t.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:5.5,fontSize:12.5,fontFamily:w.interSemiBold,color:t.primaryBlack,textAlign:"center"},regexFieldBlock:{gap:5,paddingTop:4,borderTopWidth:1,borderTopColor:t.dividerColor},regexLabelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},regexExclusionBadge:{backgroundColor:`${t.purple}14`,paddingHorizontal:7,paddingVertical:2,borderRadius:5},regexExclusionBadgeText:{fontFamily:w.interBold,fontSize:10,color:t.purple},regexInput:{backgroundColor:t.white,borderWidth:1,borderColor:t.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:6,fontSize:12,fontFamily:w.interRegular,color:t.primaryBlack},regexInputError:{borderColor:t.errorColor,backgroundColor:`${t.errorColor}08`},regexErrorText:{fontFamily:w.interMedium,fontSize:10.5,lineHeight:14,color:t.errorColor},regexHelpText:{fontFamily:w.interRegular,fontSize:10.5,lineHeight:14,color:t.grayTextWeak},formatRowInline:{flexDirection:"row",gap:8},formatCardInline:{flex:1,padding:10,borderRadius:10,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:4},formatCardInlineActive:{backgroundColor:`${t.purple}0C`,borderColor:t.purple},formatCardInlineHeader:{flexDirection:"row",alignItems:"center",gap:6},radioCircle:{width:14,height:14,borderRadius:7,borderWidth:1.5,borderColor:t.grayTextWeak,justifyContent:"center",alignItems:"center"},radioCircleActive:{borderColor:t.purple},radioDot:{width:7,height:7,borderRadius:3.5,backgroundColor:t.purple},formatCardTitle:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},formatCardTitleActive:{fontFamily:w.interBold,color:t.purple},formatCardDesc:{fontFamily:w.interRegular,fontSize:10,lineHeight:13,color:t.grayTextWeak,paddingLeft:20},optionsGrid:{flexDirection:"column",gap:5},optionRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:7,borderRadius:8,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.dividerColor,gap:8},optionRowActive:{backgroundColor:`${t.purple}0A`,borderColor:`${t.purple}30`},checkbox:{width:15,height:15,borderRadius:3.5,borderWidth:1.5,borderColor:t.grayTextWeak,justifyContent:"center",alignItems:"center"},checkboxActive:{backgroundColor:t.purple,borderColor:t.purple},optionLabel:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},optionLabelActive:{fontFamily:w.interSemiBold,color:t.primaryBlack},staticFooter:{paddingHorizontal:16,paddingTop:10,paddingBottom:bt.OS==="ios"?26:14,backgroundColor:t.white,borderTopWidth:1,borderTopColor:t.dividerColor,shadowColor:t.purple,shadowOffset:{width:0,height:-4},shadowOpacity:.12,shadowRadius:8,elevation:8,gap:8},footerMinimalSummary:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},footerSummaryLeft:{flexDirection:"row",alignItems:"center",gap:6},footerSummaryDot:{width:6,height:6,borderRadius:3,backgroundColor:t.emerald500||"#10B981"},footerSummaryCountText:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},footerSummaryDivider:{fontSize:10,color:t.grayTextWeak},footerSummarySizeText:{fontFamily:w.interBold,fontSize:11.5,lineHeight:15,color:t.purple},footerSummaryFormatText:{fontFamily:w.interMedium,fontSize:11,lineHeight:14,color:t.grayTextWeak},footerIgnoredPill:{backgroundColor:`${t.errorColor}12`,paddingHorizontal:7,paddingVertical:1.5,borderRadius:5},footerIgnoredPillText:{fontFamily:w.interSemiBold,fontSize:10,color:t.errorColor},exportActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",backgroundColor:t.purple,paddingVertical:12,borderRadius:12,gap:7,shadowColor:t.purple,shadowOffset:{width:0,height:4},shadowOpacity:.25,shadowRadius:8,elevation:4},exportActionBtnDisabled:{opacity:.5},exportActionBtnText:{fontFamily:w.interBold,fontSize:13.5,lineHeight:17,color:t.white,letterSpacing:.1},progressContainer:{padding:28,alignItems:"center",justifyContent:"center"},progressIconBadge:{width:60,height:60,borderRadius:30,backgroundColor:`${t.purple}18`,justifyContent:"center",alignItems:"center",marginBottom:14},progressHeading:{fontFamily:w.interBold,fontSize:15.5,lineHeight:21,color:t.primaryBlack,marginBottom:3},progressSub:{fontFamily:w.interMedium,fontSize:12,lineHeight:16,color:t.grayTextWeak,marginBottom:18},progressTrack:{width:"100%",height:9,backgroundColor:t.grayBackground,borderRadius:4.5,overflow:"hidden",borderWidth:1,borderColor:t.dividerColor,marginBottom:10},progressBar:{height:"100%",backgroundColor:t.purple,borderRadius:4.5},progressFootnote:{fontFamily:w.interMedium,fontSize:11,lineHeight:14,color:t.grayTextWeak},completeContainer:{padding:20,alignItems:"center"},completeSuccessBadge:{width:58,height:58,borderRadius:29,backgroundColor:`${t.emerald500}18`,justifyContent:"center",alignItems:"center",marginBottom:12},completeTitle:{fontFamily:w.interBold,fontSize:16.5,lineHeight:22,color:t.primaryBlack},completeSub:{fontFamily:w.interMedium,fontSize:12,lineHeight:16,color:t.grayTextWeak,textAlign:"center",marginTop:3,marginBottom:16},fileDetailsCard:{width:"100%",backgroundColor:"#F8FAFC",borderRadius:12,padding:12,borderWidth:1,borderColor:t.dividerColor,gap:7,marginBottom:16},fileDetailsRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},fileDetailLabel:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},fileDetailValue:{fontFamily:w.interSemiBold,fontSize:11.5,lineHeight:15,color:t.primaryBlack},actionButtonGroup:{width:"100%",gap:8,marginBottom:14},primaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:12,borderRadius:10,gap:7},shareBtn:{backgroundColor:t.purple,shadowColor:t.purple,shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},saveDiskBtn:{backgroundColor:t.teal600,shadowColor:t.teal600,shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},primaryActionBtnText:{fontFamily:w.interBold,fontSize:13,lineHeight:17,color:t.white},secondaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:10,borderRadius:10,borderWidth:1,borderColor:`${t.purple}40`,backgroundColor:`${t.purple}0C`,gap:6},secondaryActionBtnText:{fontFamily:w.interSemiBold,fontSize:12,lineHeight:15,color:t.purple},bottomFooterRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%",paddingTop:8,borderTopWidth:1,borderTopColor:t.dividerColor},textBtn:{paddingVertical:5,paddingHorizontal:8},textBtnText:{fontFamily:w.interMedium,fontSize:11.5,lineHeight:15,color:t.grayTextStrong},doneBtn:{paddingVertical:5,paddingHorizontal:14,borderRadius:6,backgroundColor:t.dividerColor},doneBtnText:{fontFamily:w.interBold,fontSize:11.5,lineHeight:15,color:t.primaryBlack}});export default ConsoleExportModal;
@@ -1,81 +1,81 @@
1
- import F,{useCallback as R,useMemo as $,useRef as pe}from"react";import{FlatList as Se,Pressable as Ce,ScrollView as J,Text as A,TextInput as Ie,View as S}from"react-native";import{useInspector as we}from"./InspectorContext";import{useTranslation as Te}from"../../i18n";import P from"../TouchableScale";import Le from"../AnimatedEntrance";import{ConsoleLogCard as Ae}from"../ConsoleLogCard";import Ee from"../EmptyState";import Ve from"../EndOfListFooter";import Be from"./ConsoleExportModal";import h from"../../styles";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as z}from"../../styles/AppFonts";import{LogFilter as E}from"../../types";import{SearchIcon as Fe,ClearIcon as Pe,SortArrowIcon as He,TrashIcon as Re,LayersIcon as $e,UserIcon as De,InfoCircleIcon as We,WarningTriangleIcon as Oe,ErrorCircleIcon as Me,AnalyticsIcon as Ne,ExportIcon as Ue}from"../NetworkIcons";const Z=10,ve=F.memo(()=>{const{t:w}=Te(),{logSearch:C,setLogSearch:V,logSortOrder:ee,setLogSortOrder:oe,handleDelete:te,logFilters:b,setLogFilters:D,logCounts:x,filteredConsoleLogs:I,visibleConsoleLogs:W,maxConsoleLogs:O,setSelectedLog:U,selectedConsoleLogs:H,toggleSelectConsoleLog:v}=we(),le=O||100,G=pe(null),[_,Q]=F.useState(le),[re,Y]=F.useState(!1);F.useEffect(()=>{Q(O||100),G.current?.scrollToOffset({offset:0,animated:!1})},[C,b,O]);const M=$(()=>I.slice(0,_),[I,_]),K=R(e=>{U(e)},[U]),ne=R(({item:e,index:t})=><Le index={t}distance={8}>
2
- <Ae testID={`inspector.console.item.${t}`}item={e}searchStr={C}onPress={K}isSelected={H.has(e.id)}onToggleSelect={v}/>
3
- </Le>,[C,K,H,v]),ie=R((e,t)=>({length:148,offset:148*t,index:t}),[]),se=R((e,t)=>e?.id?.toString()??t.toString(),[]),ae=$(()=>{const e=W.length,t=I.length;if(b.has("all")||!Array.from(b).some(B=>B!=="all"))return<S style={{paddingHorizontal:8,paddingTop:8,paddingBottom:3}}>
4
- <A style={{fontFamily:z.interMedium,fontSize:11,color:o.grayTextWeak,letterSpacing:.2}}>
1
+ import B,{useCallback as O,useMemo as P,useRef as se}from"react";import{FlatList as Se,Pressable as Ce,ScrollView as K,Text as L,TextInput as Te,View as S}from"react-native";import{useInspector as Ie}from"./InspectorContext";import{useTranslation as xe}from"../../i18n";import F from"../TouchableScale";import Le from"../AnimatedEntrance";import{ConsoleLogCard as Ae}from"../ConsoleLogCard";import Ee from"../EmptyState";import Ve from"../EndOfListFooter";import Be from"./ConsoleExportModal";import h from"../../styles";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as A}from"../../styles/AppFonts";import{LogFilter as z}from"../../types";import{SearchIcon as Fe,ClearIcon as Pe,SortArrowIcon as He,TrashIcon as Re,LayersIcon as $e,UserIcon as De,InfoCircleIcon as We,WarningTriangleIcon as Oe,ErrorCircleIcon as Me,AnalyticsIcon as Ne,ExportIcon as Ue}from"../NetworkIcons";const X=10,ve=B.memo(()=>{const{t:w}=xe(),{logSearch:y,setLogSearch:E,logSortOrder:j,setLogSortOrder:q,handleDelete:J,logFilters:C,setLogFilters:H,logCounts:I,filteredConsoleLogs:b,visibleConsoleLogs:R,maxConsoleLogs:$,setSelectedLog:M,selectedConsoleLogs:k,toggleSelectConsoleLog:N}=Ie(),Z=$||100,U=se(null),[v,G]=B.useState(Z),[ee,_]=B.useState(!1);B.useEffect(()=>{G($||100),U.current?.scrollToOffset({offset:0,animated:!1})},[y,C,$]);const D=P(()=>b.slice(0,v),[b,v]),Q=O(e=>{M(e)},[M]),oe=O(({item:e,index:t})=><Le index={t}distance={8}>
2
+ <Ae testID={`inspector.console.item.${t}`}item={e}searchStr={y}onPress={Q}isSelected={k.has(e.id)}onToggleSelect={N}/>
3
+ </Le>,[y,Q,k,N]),te=O((e,t)=>e?.id?.toString()??t.toString(),[]),le=P(()=>{const e=R.length,t=b.length;if(C.has("all")||!Array.from(C).some(V=>V!=="all"))return<S style={{paddingHorizontal:8,paddingTop:8,paddingBottom:3}}>
4
+ <L style={{fontFamily:A.interMedium,fontSize:11,color:o.grayTextWeak,letterSpacing:.2}}>
5
5
  {t===e?`Showing ${e} logs`:`Showing ${t} of ${e} logs`}
6
- </A>
7
- </S>;{const B=Array.from(b).filter(T=>T!=="all").map(T=>T==="user-log"?"Log":T==="analytics"?"Analytics":T.charAt(0).toUpperCase()+T.slice(1));return<S style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
8
- <A style={{fontFamily:z.interMedium,fontSize:11,color:o.grayTextWeak,letterSpacing:.2}}>
9
- Filtered by {B.join(", ")} ({t} of {e} logs)
10
- </A>
11
- </S>}},[W.length,I.length,b]),[N,X]=F.useState(!1),ce=$(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),de=$(()=>[{id:E.All,label:w("common.all","All"),count:x.all?.split("/")?.[0]??"0",color:o.purple,Icon:$e},{id:E.UserLog,label:w("console.log","Log"),count:x["user-log"]?.split("/")?.[0]??"0",color:o.teal600,Icon:De},{id:E.Info,label:w("console.info","Info"),count:x.info?.split("/")?.[0]??"0",color:o.sky600,Icon:We},{id:E.Warn,label:w("console.warning","Warn"),count:x.warn?.split("/")?.[0]??"0",color:o.amber600,Icon:Oe},{id:E.Error,label:w("console.error","Error"),count:x.error?.split("/")?.[0]??"0",color:o.errorColor,Icon:Me},{id:E.Analytics,label:w("console.analytics","Analytics"),count:x.analytics?.split("/")?.[0]??"0",color:o.violet600,Icon:Ne}],[x,w]);return<S style={{flex:1}}>
6
+ </L>
7
+ </S>;{const V=Array.from(C).filter(T=>T!=="all").map(T=>T==="user-log"?"Log":T==="analytics"?"Analytics":T.charAt(0).toUpperCase()+T.slice(1));return<S style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
8
+ <L style={{fontFamily:A.interMedium,fontSize:11,color:o.grayTextWeak,letterSpacing:.2}}>
9
+ Filtered by {V.join(", ")} ({t} of {e} logs)
10
+ </L>
11
+ </S>}},[R.length,b.length,C]),[W,Y]=B.useState(!1),re=P(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),ne=P(()=>[{id:z.All,label:w("common.all","All"),count:I.all?.split("/")?.[0]??"0",color:o.purple,Icon:$e},{id:z.UserLog,label:w("console.log","Log"),count:I["user-log"]?.split("/")?.[0]??"0",color:o.teal600,Icon:De},{id:z.Info,label:w("console.info","Info"),count:I.info?.split("/")?.[0]??"0",color:o.sky600,Icon:We},{id:z.Warn,label:w("console.warning","Warn"),count:I.warn?.split("/")?.[0]??"0",color:o.amber600,Icon:Oe},{id:z.Error,label:w("console.error","Error"),count:I.error?.split("/")?.[0]??"0",color:o.errorColor,Icon:Me},{id:z.Analytics,label:w("console.analytics","Analytics"),count:I.analytics?.split("/")?.[0]??"0",color:o.violet600,Icon:Ne}],[I,w]);return<S style={{flex:1}}>
12
12
  <S style={{backgroundColor:o.white,borderBottomWidth:1,borderBottomColor:o.dividerColor,paddingBottom:6}}>
13
13
  <S style={[h.toolbarRow,{marginTop:12,marginBottom:8}]}>
14
- <S style={[h.searchContainer,N&&{borderColor:o.purple,borderWidth:1.5}]}>
15
- <Fe color={N?o.purple:o.grayTextWeak}size={16}/>
16
- <Ie placeholder={w("console.searchPlaceholder")}placeholderTextColor={o.grayTextWeak}value={C}onChangeText={V}onFocus={()=>X(!0)}onBlur={()=>X(!1)}style={h.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
- {C.length>0&&<S style={{flexDirection:"row",alignItems:"center",gap:4}}>
14
+ <S style={[h.searchContainer,W&&{borderColor:o.purple,borderWidth:1.5}]}>
15
+ <Fe color={W?o.purple:o.grayTextWeak}size={16}/>
16
+ <Te placeholder={w("console.searchPlaceholder")}placeholderTextColor={o.grayTextWeak}value={y}onChangeText={E}onFocus={()=>Y(!0)}onBlur={()=>Y(!1)}style={h.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
+ {y.length>0&&<S style={{flexDirection:"row",alignItems:"center",gap:4}}>
18
18
  <S style={{backgroundColor:`${o.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:2}}>
19
- <A style={{color:o.purple,fontSize:10,fontFamily:z.interBold}}>
20
- {I.length}
21
- </A>
19
+ <L style={{color:o.purple,fontSize:10,fontFamily:A.interBold}}>
20
+ {b.length}
21
+ </L>
22
22
  </S>
23
- <Ce onPress={()=>V("")}hitSlop={10}style={h.clearBtn}>
23
+ <Ce onPress={()=>E("")}hitSlop={10}style={h.clearBtn}>
24
24
  <Pe color={o.grayTextWeak}size={14}/>
25
25
  </Ce>
26
26
  </S>}
27
27
  </S>
28
28
 
29
29
  <S style={h.toolbarRight}>
30
- <P style={[h.toolbarBtn,{borderColor:`${o.purple}38`,backgroundColor:`${o.purple}0F`}]}onPress={()=>Y(!0)}hitSlop={6}testID="inspector.console.exportBtn">
30
+ <F style={[h.toolbarBtn,{borderColor:`${o.purple}38`,backgroundColor:`${o.purple}0F`}]}onPress={()=>_(!0)}hitSlop={6}testID="inspector.console.exportBtn">
31
31
  <Ue color={o.purple}size={15}/>
32
- </P>
33
- <P style={h.toolbarBtn}onPress={()=>oe(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
34
- <He color={o.grayTextStrong}size={18}direction={ee==="newest"?"down":"up"}/>
35
- </P>
36
- <P style={[h.toolbarBtn,{borderColor:`${o.errorColor}38`,backgroundColor:`${o.errorColor}0F`}]}onPress={te}hitSlop={6}>
32
+ </F>
33
+ <F style={h.toolbarBtn}onPress={()=>q(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
34
+ <He color={o.grayTextStrong}size={18}direction={j==="newest"?"down":"up"}/>
35
+ </F>
36
+ <F style={[h.toolbarBtn,{borderColor:`${o.errorColor}38`,backgroundColor:`${o.errorColor}0F`}]}onPress={J}hitSlop={6}>
37
37
  <Re color={o.errorColor}size={15}/>
38
- {H.size>0&&<S style={h.trashBadge}>
39
- <A style={h.trashBadgeText}>
40
- {H.size}
41
- </A>
38
+ {k.size>0&&<S style={h.trashBadge}>
39
+ <L style={h.trashBadgeText}>
40
+ {k.size}
41
+ </L>
42
42
  </S>}
43
- </P>
43
+ </F>
44
44
  </S>
45
45
  </S>
46
46
 
47
47
 
48
- {(N||C.length>0)&&<J horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:8,flexDirection:"row",alignItems:"center",gap:6}}>
49
- {ce.map(e=>{const t=C.includes(e);return<P key={e}onPress={()=>{V(t?y=>y.replace(e,"").trim():y=>y?`${y} ${e}`.trim():e)}}>
48
+ {(W||y.length>0)&&<K horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:8,flexDirection:"row",alignItems:"center",gap:6}}>
49
+ {re.map(e=>{const t=y.includes(e);return<F key={e}onPress={()=>{E(t?f=>f.replace(e,"").trim():f=>f?`${f} ${e}`.trim():e)}}>
50
50
  <S style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:t?o.purple:`${o.purple}14`,borderWidth:1,borderColor:t?o.purple:`${o.purple}30`}}>
51
- <A style={{fontFamily:z.interBold,fontSize:10,color:t?o.white:o.purple}}>
51
+ <L style={{fontFamily:A.interBold,fontSize:10,color:t?o.white:o.purple}}>
52
52
  {e}
53
- </A>
53
+ </L>
54
54
  </S>
55
- </P>})}
56
- </J>}
55
+ </F>})}
56
+ </K>}
57
57
 
58
58
 
59
59
  <S style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
60
- <J horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
61
- {de.map(e=>{const t=e.id==="all"?b.has("all"):b.has(e.id)&&!b.has("all"),y=e.color||o.purple,B=t?o.white:y,T=e.Icon;return<P testID={`inspector.console.filter.${e.id}`}key={e.id}onPress={()=>{e.id==="all"?D(new Set(["all"])):D(ge=>{const L=new Set(ge);return L.delete("all"),L.has(e.id)?L.delete(e.id):L.add(e.id),L.size===0&&L.add("all"),L})}}>
62
- <S style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:t?y:`${y}12`,borderWidth:1,borderColor:t?y:`${y}30`,gap:5}}>
63
- <T size={11}color={B}/>
64
- <A style={{fontFamily:z.interBold,fontSize:10.5,color:t?o.white:o.primaryBlack}}>
60
+ <K horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
61
+ {ne.map(e=>{const t=e.id==="all"?C.has("all"):C.has(e.id)&&!C.has("all"),f=e.color||o.purple,V=t?o.white:f,T=e.Icon;return<F testID={`inspector.console.filter.${e.id}`}key={e.id}onPress={()=>{e.id==="all"?H(new Set(["all"])):H(ie=>{const x=new Set(ie);return x.delete("all"),x.has(e.id)?x.delete(e.id):x.add(e.id),x.size===0&&x.add("all"),x})}}>
62
+ <S style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:t?f:`${f}12`,borderWidth:1,borderColor:t?f:`${f}30`,gap:5}}>
63
+ <T size={11}color={V}/>
64
+ <L style={{fontFamily:A.interBold,fontSize:10.5,color:t?o.white:o.primaryBlack}}>
65
65
  {e.label}
66
- </A>
67
- <S style={{backgroundColor:t?"rgba(255,255,255,0.25)":`${y}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
68
- <A style={{fontFamily:z.interBold,fontSize:9,color:t?o.white:y}}>
66
+ </L>
67
+ <S style={{backgroundColor:t?"rgba(255,255,255,0.25)":`${f}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
68
+ <L style={{fontFamily:A.interBold,fontSize:9,color:t?o.white:f}}>
69
69
  {e.count}
70
- </A>
70
+ </L>
71
71
  </S>
72
72
  </S>
73
- </P>})}
74
- </J>
73
+ </F>})}
74
+ </K>
75
75
  </S>
76
76
  </S>
77
77
 
78
- <Se ref={G}data={M}keyExtractor={se}ListHeaderComponent={ae}renderItem={ne}getItemLayout={ie}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<Ee isSearch={C.length>0||!b.has("all")}searchQuery={C}customTitle={C.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{V(""),D(new Set(["all"]))}}/>}ListFooterComponent={I.length>0?<Ve count={M.length}totalCount={I.length}label="logs"loadMoreStep={Z}hasMore={M.length<I.length}onLoadMore={()=>Q(e=>e+Z)}/>:null}style={{flex:1}}contentContainerStyle={[h.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
78
+ <Se ref={U}data={D}keyExtractor={te}ListHeaderComponent={le}renderItem={oe}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<Ee isSearch={y.length>0||!C.has("all")}searchQuery={y}customTitle={y.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{E(""),H(new Set(["all"]))}}/>}ListFooterComponent={b.length>0?<Ve count={D.length}totalCount={b.length}label="logs"loadMoreStep={X}hasMore={D.length<b.length}onLoadMore={()=>G(e=>e+X)}/>:null}style={{flex:1}}contentContainerStyle={[h.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
79
79
 
80
- <Be visible={re}onClose={()=>Y(!1)}filteredLogs={I}allLogs={W}/>
80
+ <Be visible={ee}onClose={()=>_(!1)}filteredLogs={b}allLogs={R}/>
81
81
  </S>});export default ve;