react-native-inapp-inspector 2.5.13 → 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 (252) hide show
  1. package/README.md +0 -8
  2. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  3. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  4. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  5. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  6. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  7. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  8. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  9. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  10. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.dex +0 -0
  11. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  12. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  13. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  14. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  15. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  16. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  17. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  18. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  19. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +176 -0
  20. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  21. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +236 -0
  22. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  23. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  24. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  25. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  26. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  27. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  28. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  29. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +337 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  34. package/android/build/generated/source/codegen/schema.json +1 -0
  35. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +19 -0
  36. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  37. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  38. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  39. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  40. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  41. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
  42. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_inappinspector_file_paths.xml.flat +0 -0
  43. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
  44. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  45. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  46. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  47. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  48. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  49. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  50. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  51. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
  52. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +28 -0
  53. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +19 -0
  54. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  55. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  56. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/inappinspector_file_paths.xml +7 -0
  57. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  58. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  59. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  60. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  61. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  62. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  63. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  64. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  65. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  66. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  67. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  71. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  160. package/android/build/outputs/logs/manifest-merger-debug-report.txt +35 -0
  161. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  162. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  163. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  164. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  165. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  166. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  167. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  168. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$62$$inlined$sortedByDescending$1.class +0 -0
  169. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  170. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  171. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  172. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  173. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +118 -31
  174. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +1 -1
  175. package/dist/commonjs/components/Inspector/ConsoleTab.js +7 -7
  176. package/dist/commonjs/components/Inspector/DebuggingTab.js +21 -21
  177. package/dist/commonjs/components/Inspector/FabLauncher.js +3 -3
  178. package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -30
  179. package/dist/commonjs/components/Inspector/MainScreen.js +38 -75
  180. package/dist/commonjs/components/Inspector/NetworkExportModal.js +4 -4
  181. package/dist/commonjs/components/Inspector/NetworkTab.js +51 -51
  182. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  183. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +17 -16
  184. package/dist/commonjs/components/Inspector/SettingsPanel.js +40 -41
  185. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  186. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +34 -3
  187. package/dist/commonjs/components/Inspector/TabBar.js +9 -15
  188. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +16 -16
  189. package/dist/commonjs/components/LogCard.js +7 -7
  190. package/dist/commonjs/components/SkeletonPlaceholder.d.ts +3 -0
  191. package/dist/commonjs/components/SkeletonPlaceholder.js +34 -3
  192. package/dist/commonjs/constants/version.d.ts +1 -1
  193. package/dist/commonjs/constants/version.js +1 -1
  194. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  195. package/dist/commonjs/helpers/shareFormatter.js +14 -14
  196. package/dist/commonjs/helpers/uiInspectorEngine.js +9 -9
  197. package/dist/commonjs/index.d.ts +1 -1
  198. package/dist/commonjs/index.js +3 -3
  199. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  200. package/dist/commonjs/native/NativeInspector.js +1 -1
  201. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  202. package/dist/commonjs/styles/AppFonts.d.ts +4 -0
  203. package/dist/commonjs/styles/AppFonts.js +1 -1
  204. package/dist/commonjs/styles/index.d.ts +2 -0
  205. package/dist/commonjs/styles/index.js +1 -1
  206. package/dist/commonjs/types/enums.d.ts +0 -2
  207. package/dist/commonjs/types/enums.js +1 -1
  208. package/dist/commonjs/types/interfaces.d.ts +1 -1
  209. package/dist/esm/components/Inspector/BoxModelVisualizer.js +3 -3
  210. package/dist/esm/components/Inspector/ConsoleExportModal.js +1 -1
  211. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  212. package/dist/esm/components/Inspector/DebuggingTab.js +106 -106
  213. package/dist/esm/components/Inspector/FabLauncher.js +42 -42
  214. package/dist/esm/components/Inspector/InspectorHeader.js +50 -50
  215. package/dist/esm/components/Inspector/MainScreen.js +87 -124
  216. package/dist/esm/components/Inspector/NetworkExportModal.js +1 -1
  217. package/dist/esm/components/Inspector/NetworkTab.js +83 -83
  218. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  219. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +23 -22
  220. package/dist/esm/components/Inspector/SettingsPanel.js +106 -107
  221. package/dist/esm/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  222. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +42 -11
  223. package/dist/esm/components/Inspector/TabBar.js +35 -41
  224. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +4 -4
  225. package/dist/esm/components/Inspector/UiInspectorDetail.js +141 -141
  226. package/dist/esm/components/Inspector/UiInspectorOverlay.js +81 -81
  227. package/dist/esm/components/Inspector/UiInspectorTab.js +10 -10
  228. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +35 -35
  229. package/dist/esm/components/LogCard.js +53 -53
  230. package/dist/esm/components/SkeletonPlaceholder.d.ts +3 -0
  231. package/dist/esm/components/SkeletonPlaceholder.js +42 -11
  232. package/dist/esm/constants/version.d.ts +1 -1
  233. package/dist/esm/constants/version.js +1 -1
  234. package/dist/esm/helpers/remoteConfig.js +1 -1
  235. package/dist/esm/helpers/shareFormatter.js +14 -14
  236. package/dist/esm/helpers/uiInspectorEngine.js +8 -8
  237. package/dist/esm/index.d.ts +1 -1
  238. package/dist/esm/index.js +8 -8
  239. package/dist/esm/native/NativeInspector.d.ts +2 -0
  240. package/dist/esm/native/NativeInspector.js +1 -1
  241. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  242. package/dist/esm/styles/AppFonts.d.ts +4 -0
  243. package/dist/esm/styles/AppFonts.js +1 -1
  244. package/dist/esm/styles/index.d.ts +2 -0
  245. package/dist/esm/styles/index.js +1 -1
  246. package/dist/esm/types/enums.d.ts +0 -2
  247. package/dist/esm/types/enums.js +1 -1
  248. package/dist/esm/types/interfaces.d.ts +1 -1
  249. package/ios/NetworkInspectorModule.mm +288 -325
  250. package/package.json +1 -1
  251. package/src/native/NativeInspector.ts +30 -0
  252. package/src/native/NativeNetworkInspector.ts +2 -0
@@ -1,109 +1,109 @@
1
- import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image as Ie,Modal as _e,ScrollView as Q,StyleSheet as ze,Text as C,TextInput as Ct,TouchableOpacity as A,View as T}from"react-native";import{useInspector as gt}from"./InspectorContext";import{auditAccessibility as ut,categorizeStyles as ht,extractBoxModel as Tt,generateCssSnippet as Ee,generateFullJsxSegmentSnippet as Ft,generateStyleSheetSnippet as Z}from"../../helpers/uiInspectorEngine";import{BoxModelVisualizer as St}from"./BoxModelVisualizer";import{UiA11yAuditPanel as Bt}from"./UiA11yAuditPanel";import It from"../JsonViewer";import _ from"../TouchableScale";import{AccessibilityIcon as zt,BoxModelIcon as Et,ChevronIcon as Re,CloseIcon as Ae,CodeBracketsIcon as Ce,CopyIcon as O,LayersIcon as Rt,SearchIcon as Pe}from"../NetworkIcons";import{AppColors as f}from"../../styles/AppColors";import{AppFonts as F}from"../../styles/AppFonts";import{triggerNativeHaptic as D}from"../../native/NativeInspector";import{showToast as G}from"../../helpers/toast";import U from"@react-native-clipboard/clipboard";export const UiInspectorDetail=()=>{const{selectedUiElement:M,setSelectedUiElement:ge,uiActiveSubTab:V,setUiActiveSubTab:He}=gt(),[$,Le]=Y(""),[De,q]=Y(!1),[Ve,ue]=Y(null),[v,he]=Y("rn"),ve=Qe(null);if(!M)return null;const{componentName:z,hierarchy:W,props:X,flattenedStyles:je,boxModel:E,a11y:Ne,layout:B,snapshotUri:J}=M,K=Ze.get("window"),Te=K.width*K.height,Fe=B.width*B.height,Me=Te>0?(Fe/Te*100).toFixed(1):"0.0",We=B.height>0?(B.width/B.height).toFixed(2):"1.00",P={...je},R=ht(P),Oe=typeof z=="string"&&(z.startsWith("RCT")||["View","Text","Image","ScrollView","TextInput","Modal"].includes(z)),k=Ft(z,X,P),fe=()=>{U.setString(k.code),D(),G("Copied full JSX to clipboard")},Ge=()=>{k.sourceFile&&(U.setString(`${k.sourceFile}:${k.lineNumber||1}`),D(),G("Copied source location"))},we=()=>{const w=v==="rn"?Z(z,P):Ee(z,P);U.setString(w),D(),G(v==="rn"?"Copied StyleSheet":"Copied CSS")},Ue=()=>{U.setString(JSON.stringify(X,null,2)),D(),G("Copied props as JSON")},$e=(w,x)=>{U.setString(String(x)),D(),ue(w),G(`Copied "${w}: ${x}"`),setTimeout(()=>ue(null),1500)},xe=w=>{if(w.componentName===z)return;D();const x=w.props||{},S=w.styles||(x.style?ze.flatten(x.style):{})||{},I=w.layout||{...B,width:S.width||B.width,height:S.height||B.height},H=Tt(S,I),L=ut(x,I,S);ge({...M,componentName:w.componentName,displayName:w.displayName,props:x,originalStyles:S,flattenedStyles:S,tweakedStyles:{},layout:I,boxModel:H,a11y:L})},Xe=(w,x)=>{if(typeof x!="string")return!1;const S=w.toLowerCase();return S.includes("color")||S.includes("background")||x.startsWith("#")||x.startsWith("rgb")||x.startsWith("hsl")},j=(w,x,S,I)=>{const H=Object.entries(x);return H.length===0?null:<T key={w}style={[e.styleGroupCard,{borderLeftColor:I}]}>
1
+ import Ze,{useRef as et,useState as _}from"react";import{Dimensions as tt,Image as Re,Modal as Ct,ScrollView as Z,StyleSheet as ke,Text as C,TextInput as Tt,TouchableOpacity as H,View as T}from"react-native";import{useInspector as Ft}from"./InspectorContext";import{auditAccessibility as ft,categorizeStyles as Bt,extractBoxModel as St,generateCssSnippet as Pe,generateFullJsxSegmentSnippet as xt,generateStyleSheetSnippet as ee}from"../../helpers/uiInspectorEngine";import{BoxModelVisualizer as It}from"./BoxModelVisualizer";import{UiA11yAuditPanel as Et}from"./UiA11yAuditPanel";import At from"../JsonViewer";import Ce from"../TouchableScale";import{AccessibilityIcon as Rt,BoxModelIcon as kt,ChevronIcon as He,CloseIcon as De,CodeBracketsIcon as Te,CopyIcon as U,LayersIcon as Pt,SearchIcon as Ve}from"../NetworkIcons";import{AppColors as f}from"../../styles/AppColors";import{AppFonts as F}from"../../styles/AppFonts";import{triggerNativeHaptic as v}from"../../native/NativeInspector";import{showToast as $}from"../../helpers/toast";import X from"@react-native-clipboard/clipboard";export const UiInspectorDetail=()=>{const{selectedUiElement:N,setSelectedUiElement:Fe,uiActiveSubTab:j,setUiActiveSubTab:Le}=Ft(),[J,ve]=_(""),[je,Q]=_(!1),[We,fe]=_(null),[W,Be]=_("rn"),Me=et(null);if(!N)return null;const{componentName:A,hierarchy:G,props:K,flattenedStyles:Oe,boxModel:R,a11y:Ne,layout:z,snapshotUri:q}=N,Y=tt.get("window"),Se=Y.width*Y.height,xe=z.width*z.height,Ge=Se>0?(xe/Se*100).toFixed(1):"0.0",Ue=z.height>0?(z.width/z.height).toFixed(2):"1.00",D={...Oe},k=Bt(D),$e=typeof A=="string"&&(A.startsWith("RCT")||["View","Text","Image","ScrollView","TextInput","Modal"].includes(A)),P=xt(A,K,D),we=()=>{X.setString(P.code),v(),$("Copied full JSX to clipboard")},Xe=()=>{P.sourceFile&&(X.setString(`${P.sourceFile}:${P.lineNumber||1}`),v(),$("Copied source location"))},Ie=()=>{const B=W==="rn"?ee(A,D):Pe(A,D);X.setString(B),v(),$(W==="rn"?"Copied StyleSheet":"Copied CSS")},Je=()=>{X.setString(JSON.stringify(K,null,2)),v(),$("Copied props as JSON")},Ke=(B,S)=>{X.setString(String(S)),v(),fe(B),$(`Copied "${B}: ${S}"`),setTimeout(()=>fe(null),1500)},ze=B=>{if(B.componentName===A)return;v();const S=B.props||{},I=B.styles||(S.style?ke.flatten(S.style):{})||{},E=B.layout||{...z,width:I.width||z.width,height:I.height||z.height},V=St(I,E),L=ft(S,E,I);Fe({...N,componentName:B.componentName,displayName:B.displayName,props:S,originalStyles:I,flattenedStyles:I,tweakedStyles:{},layout:E,boxModel:V,a11y:L})},qe=(B,S)=>{if(typeof S!="string")return!1;const I=B.toLowerCase();return I.includes("color")||I.includes("background")||S.startsWith("#")||S.startsWith("rgb")||S.startsWith("hsl")},M=(B,S,I,E)=>{const V=Object.entries(S);return V.length===0?null:<T key={B}style={[e.styleGroupCard,{borderLeftColor:E}]}>
2
2
  <T style={e.styleGroupHeader}>
3
3
  <T style={e.styleGroupTitleRow}>
4
- <C style={e.styleGroupIcon}>{S}</C>
5
- <C style={[e.styleGroupTitle,{color:I}]}>{w.toUpperCase()}</C>
4
+ <C style={e.styleGroupIcon}>{I}</C>
5
+ <C style={[e.styleGroupTitle,{color:E}]}>{B.toUpperCase()}</C>
6
6
  </T>
7
- <T style={[e.styleGroupBadge,{backgroundColor:`${I}18`}]}>
8
- <C style={[e.styleGroupBadgeText,{color:I}]}>{H.length}</C>
7
+ <T style={[e.styleGroupBadge,{backgroundColor:`${E}18`}]}>
8
+ <C style={[e.styleGroupBadgeText,{color:E}]}>{V.length}</C>
9
9
  </T>
10
10
  </T>
11
11
 
12
12
  <T style={e.styleRowsContainer}>
13
- {H.map(([L,N])=>{const Be=Xe(L,N),Ye=Ve===L;return<A key={L}activeOpacity={.7}style={[e.styleRow,Ye&&e.styleRowCopied]}onPress={()=>$e(L,N)}>
13
+ {V.map(([L,O])=>{const Ae=qe(L,O),Qe=We===L;return<H key={L}activeOpacity={.7}style={[e.styleRow,Qe&&e.styleRowCopied]}onPress={()=>Ke(L,O)}>
14
14
  <C style={e.stylePropKey}>{L}</C>
15
15
  <T style={e.styleValueContainer}>
16
- {Be&&<T style={[e.colorSwatchPreview,{backgroundColor:String(N)}]}/>}
17
- <C style={[e.stylePropValue,Be&&e.stylePropColorValue]}>
18
- {typeof N=="object"?JSON.stringify(N):String(N)}
16
+ {Ae&&<T style={[e.colorSwatchPreview,{backgroundColor:String(O)}]}/>}
17
+ <C style={[e.stylePropValue,Ae&&e.stylePropColorValue]}>
18
+ {typeof O=="object"?JSON.stringify(O):String(O)}
19
19
  </C>
20
- {typeof N=="number"&&<C style={e.styleUnitText}>pt</C>}
20
+ {typeof O=="number"&&<C style={e.styleUnitText}>pt</C>}
21
21
  </T>
22
- </A>})}
22
+ </H>})}
23
23
  </T>
24
- </T>},Se=Object.entries(X).filter(([w,x])=>{if(!$)return!0;const S=$.toLowerCase();return w.toLowerCase().includes(S)||String(x).toLowerCase().includes(S)}),Je=[{key:"styles",label:"Styles",icon:Rt},{key:"jsx",label:"JSX Code",icon:Ce},{key:"boxmodel",label:"Box Model",icon:Et},{key:"tree",label:`Hierarchy (${W.length})`,icon:Re},{key:"props",label:`Props (${Object.keys(X).length})`,icon:Pe},{key:"a11y",label:"A11y",icon:zt}],Ke=Object.keys(R.layout).length>0||Object.keys(R.spacing).length>0||Object.keys(R.appearance).length>0||Object.keys(R.typography).length>0||Object.keys(R.borders).length>0||Object.keys(R.transforms).length>0||Object.keys(R.other).length>0;return<T style={e.container}>
24
+ </T>},Ee=Object.entries(K).filter(([B,S])=>{if(!J)return!0;const I=J.toLowerCase();return B.toLowerCase().includes(I)||String(S).toLowerCase().includes(I)}),Ye=[{key:"styles",label:"Styles",icon:Pt},{key:"jsx",label:"JSX Code",icon:Te},{key:"boxmodel",label:"Box Model",icon:kt},{key:"tree",label:`Hierarchy (${G.length})`,icon:He},{key:"props",label:`Props (${Object.keys(K).length})`,icon:Ve},{key:"a11y",label:"A11y",icon:Rt}],_e=Object.keys(k.layout).length>0||Object.keys(k.spacing).length>0||Object.keys(k.appearance).length>0||Object.keys(k.typography).length>0||Object.keys(k.borders).length>0||Object.keys(k.transforms).length>0||Object.keys(k.other).length>0;return<T style={e.container}>
25
25
 
26
26
  <T style={e.topControlBar}>
27
27
  <T style={e.elementTagRow}>
28
28
  <T style={e.componentPill}>
29
29
  <C style={e.componentTagBracket}>&lt;</C>
30
- <C style={e.componentTagName}>{z}</C>
30
+ <C style={e.componentTagName}>{A}</C>
31
31
  <C style={e.componentTagBracket}> /&gt;</C>
32
32
  <T style={e.typeBadge}>
33
33
  <C style={e.typeBadgeText}>
34
- {Oe?"Native":"React"}
34
+ {$e?"Native":"React"}
35
35
  </C>
36
36
  </T>
37
37
  </T>
38
38
 
39
39
 
40
- <Q horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={e.breadcrumbScroll}>
41
- {W.map((w,x)=>{const S=x===W.length-1||w.componentName===z;return<qe.Fragment key={w.id||x}>
42
- <Re color="#94A3B8"size={8}direction="right"/>
43
- <A style={[e.crumbChip,S&&e.crumbChipActive]}onPress={()=>xe(w)}>
44
- <C style={[e.crumbChipText,S&&e.crumbChipTextActive]}numberOfLines={1}>
45
- {w.displayName}
40
+ <Z horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={e.breadcrumbScroll}>
41
+ {G.map((B,S)=>{const I=S===G.length-1||B.componentName===A;return<Ze.Fragment key={B.id||S}>
42
+ <He color="#94A3B8"size={8}direction="right"/>
43
+ <H style={[e.crumbChip,I&&e.crumbChipActive]}onPress={()=>ze(B)}>
44
+ <C style={[e.crumbChipText,I&&e.crumbChipTextActive]}numberOfLines={1}>
45
+ {B.displayName}
46
46
  </C>
47
- </A>
48
- </qe.Fragment>})}
49
- </Q>
47
+ </H>
48
+ </Ze.Fragment>})}
49
+ </Z>
50
50
  </T>
51
51
 
52
52
  <T style={e.topActions}>
53
- <_ style={e.quickActionBtn}onPress={fe}>
54
- <Ce color={f.brandPurple}size={11}/>
53
+ <Ce style={e.quickActionBtn}onPress={we}>
54
+ <Te color={f.brandPurple}size={11}/>
55
55
  <C style={e.quickActionBtnText}>JSX</C>
56
- </_>
57
- <_ style={e.closeBtn}onPress={()=>{D(),ge(null)}}>
58
- <Ae color={f.slate600}size={12}/>
59
- </_>
56
+ </Ce>
57
+ <Ce style={e.closeBtn}onPress={()=>{v(),Fe(null)}}>
58
+ <De color={f.slate600}size={12}/>
59
+ </Ce>
60
60
  </T>
61
61
  </T>
62
62
 
63
63
 
64
- <_e visible={De}transparent animationType="fade"onRequestClose={()=>q(!1)}>
64
+ <Ct visible={je}transparent animationType="fade"onRequestClose={()=>Q(!1)}>
65
65
  <T style={e.modalBackdrop}>
66
66
  <T style={e.modalCard}>
67
67
  <T style={e.modalHeader}>
68
68
  <C style={e.modalTitle}>
69
- &lt;{z}&gt; Preview ({Math.round(B.width)} × {Math.round(B.height)} pt)
69
+ &lt;{A}&gt; Preview ({Math.round(z.width)} × {Math.round(z.height)} pt)
70
70
  </C>
71
- <A style={e.modalCloseBtn}onPress={()=>q(!1)}>
72
- <Ae color={f.white}size={15}/>
73
- </A>
71
+ <H style={e.modalCloseBtn}onPress={()=>Q(!1)}>
72
+ <De color={f.white}size={15}/>
73
+ </H>
74
74
  </T>
75
- {J&&<T style={e.modalImageContainer}>
76
- <Ie source={{uri:J}}style={e.modalImage}resizeMode="contain"/>
75
+ {q&&<T style={e.modalImageContainer}>
76
+ <Re source={{uri:q}}style={e.modalImage}resizeMode="contain"/>
77
77
  </T>}
78
78
  </T>
79
79
  </T>
80
- </_e>
80
+ </Ct>
81
81
 
82
82
 
83
83
  <T style={e.subTabBarWrapper}>
84
- <Q ref={ve}horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={e.subTabBarContent}>
85
- {Je.map(w=>{const x=V===w.key,S=w.icon;return<A key={w.key}style={[e.subTabItem,x&&e.subTabItemActive]}onPress={()=>{D(),He(w.key)}}>
86
- <S color={x?f.white:"#64748B"}size={12}/>
87
- <C style={[e.subTabText,x&&e.subTabTextActive]}>
88
- {w.label}
84
+ <Z ref={Me}horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={e.subTabBarContent}>
85
+ {Ye.map(B=>{const S=j===B.key,I=B.icon;return<H key={B.key}style={[e.subTabItem,S&&e.subTabItemActive]}onPress={()=>{v(),Le(B.key)}}>
86
+ <I color={S?f.white:"#64748B"}size={12}/>
87
+ <C style={[e.subTabText,S&&e.subTabTextActive]}>
88
+ {B.label}
89
89
  </C>
90
- </A>})}
91
- </Q>
90
+ </H>})}
91
+ </Z>
92
92
  </T>
93
93
 
94
94
 
95
- <Q style={e.tabScrollContent}contentContainerStyle={e.tabScrollInner}showsVerticalScrollIndicator={!1}>
95
+ <Z style={e.tabScrollContent}contentContainerStyle={e.tabScrollInner}showsVerticalScrollIndicator={!1}>
96
96
 
97
- {V==="styles"&&<T style={e.stylesTabContainer}>
97
+ {j==="styles"&&<T style={e.stylesTabContainer}>
98
98
 
99
99
  <T style={e.heroSnapshotCard}>
100
100
  <T style={e.heroImageFrame}>
101
- {J?<A activeOpacity={.9}style={e.heroImageTouchable}onPress={()=>q(!0)}>
102
- <Ie source={{uri:J}}style={e.heroImage}resizeMode="contain"/>
101
+ {q?<H activeOpacity={.9}style={e.heroImageTouchable}onPress={()=>Q(!0)}>
102
+ <Re source={{uri:q}}style={e.heroImage}resizeMode="contain"/>
103
103
  <T style={e.zoomGlassBadge}>
104
104
  <C style={e.zoomGlassBadgeText}>🔍 Zoom Lightbox</C>
105
105
  </T>
106
- </A>:<T style={e.heroPlaceholder}>
106
+ </H>:<T style={e.heroPlaceholder}>
107
107
  <C style={e.heroPlaceholderIcon}>🎨</C>
108
108
  <C style={e.heroPlaceholderText}>Rendered Component Frame</C>
109
109
  </T>}
@@ -113,19 +113,19 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
113
113
  <T style={e.metricsGrid}>
114
114
  <T style={e.metricCell}>
115
115
  <C style={e.metricCellLabel}>WIDTH</C>
116
- <C style={e.metricCellValue}>{Math.round(B.width)}<C style={e.metricUnit}> pt</C></C>
116
+ <C style={e.metricCellValue}>{Math.round(z.width)}<C style={e.metricUnit}> pt</C></C>
117
117
  </T>
118
118
  <T style={e.metricCell}>
119
119
  <C style={e.metricCellLabel}>HEIGHT</C>
120
- <C style={e.metricCellValue}>{Math.round(B.height)}<C style={e.metricUnit}> pt</C></C>
120
+ <C style={e.metricCellValue}>{Math.round(z.height)}<C style={e.metricUnit}> pt</C></C>
121
121
  </T>
122
122
  <T style={e.metricCell}>
123
123
  <C style={e.metricCellLabel}>PAGE X</C>
124
- <C style={e.metricCellValue}>{Math.round(B.pageX)}<C style={e.metricUnit}> pt</C></C>
124
+ <C style={e.metricCellValue}>{Math.round(z.pageX)}<C style={e.metricUnit}> pt</C></C>
125
125
  </T>
126
126
  <T style={e.metricCell}>
127
127
  <C style={e.metricCellLabel}>PAGE Y</C>
128
- <C style={e.metricCellValue}>{Math.round(B.pageY)}<C style={e.metricUnit}> pt</C></C>
128
+ <C style={e.metricCellValue}>{Math.round(z.pageY)}<C style={e.metricUnit}> pt</C></C>
129
129
  </T>
130
130
  </T>
131
131
 
@@ -133,11 +133,11 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
133
133
  <T style={e.specsBar}>
134
134
  <T style={e.specsTag}>
135
135
  <C style={e.specsTagLabel}>Coverage</C>
136
- <C style={e.specsTagVal}>{Me}% ({We}:1)</C>
136
+ <C style={e.specsTagVal}>{Ge}% ({Ue}:1)</C>
137
137
  </T>
138
138
  <T style={e.specsTag}>
139
139
  <C style={e.specsTagLabel}>Tag ID</C>
140
- <C style={e.specsTagVal}>{M.nativeTag?`#${M.nativeTag}`:"Virtual Fiber"}</C>
140
+ <C style={e.specsTagVal}>{N.nativeTag?`#${N.nativeTag}`:"Virtual Fiber"}</C>
141
141
  </T>
142
142
  </T>
143
143
  </T>
@@ -151,15 +151,15 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
151
151
  <T style={e.computedGrid}>
152
152
  <T style={e.computedItem}>
153
153
  <C style={e.computedItemKey}>Display</C>
154
- <C style={e.computedItemVal}>{P.display||"flex"}</C>
154
+ <C style={e.computedItemVal}>{D.display||"flex"}</C>
155
155
  </T>
156
156
  <T style={e.computedItem}>
157
157
  <C style={e.computedItemKey}>Position</C>
158
- <C style={e.computedItemVal}>{P.position||"relative"}</C>
158
+ <C style={e.computedItemVal}>{D.position||"relative"}</C>
159
159
  </T>
160
160
  <T style={e.computedItem}>
161
161
  <C style={e.computedItemKey}>Flex Direction</C>
162
- <C style={e.computedItemVal}>{P.flexDirection||"column"}</C>
162
+ <C style={e.computedItemVal}>{D.flexDirection||"column"}</C>
163
163
  </T>
164
164
  <T style={e.computedItem}>
165
165
  <C style={e.computedItemKey}>Box Sizing</C>
@@ -169,62 +169,62 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
169
169
  </T>
170
170
 
171
171
 
172
- {Ke&&<>
173
- {j("Flex Layout",R.layout,"\u26A1","#8B5CF6")}
174
- {j("Spacing & Margins",R.spacing,"\u{1F4E6}","#10B981")}
175
- {j("Appearance & Color",R.appearance,"\u{1F3A8}","#F43F5E")}
176
- {j("Typography",R.typography,"\u{1F524}","#F59E0B")}
177
- {j("Borders & Corners",R.borders,"\u{1F532}","#0D9488")}
178
- {j("Transforms",R.transforms,"\u{1F504}","#EC4899")}
179
- {j("Other Properties",R.other,"\u2699\uFE0F","#64748B")}
172
+ {_e&&<>
173
+ {M("Flex Layout",k.layout,"\u26A1","#8B5CF6")}
174
+ {M("Spacing & Margins",k.spacing,"\u{1F4E6}","#10B981")}
175
+ {M("Appearance & Color",k.appearance,"\u{1F3A8}","#F43F5E")}
176
+ {M("Typography",k.typography,"\u{1F524}","#F59E0B")}
177
+ {M("Borders & Corners",k.borders,"\u{1F532}","#0D9488")}
178
+ {M("Transforms",k.transforms,"\u{1F504}","#EC4899")}
179
+ {M("Other Properties",k.other,"\u2699\uFE0F","#64748B")}
180
180
  </>}
181
181
 
182
182
 
183
183
  <T style={e.codeSnippetCard}>
184
184
  <T style={e.codeSnippetHeader}>
185
185
  <T style={e.codeSnippetTabs}>
186
- <A style={[e.codeFormatBtn,v==="rn"&&e.codeFormatBtnActive]}onPress={()=>he("rn")}>
187
- <C style={[e.codeFormatBtnText,v==="rn"&&e.codeFormatBtnTextActive]}>
186
+ <H style={[e.codeFormatBtn,W==="rn"&&e.codeFormatBtnActive]}onPress={()=>Be("rn")}>
187
+ <C style={[e.codeFormatBtnText,W==="rn"&&e.codeFormatBtnTextActive]}>
188
188
  React Native StyleSheet
189
189
  </C>
190
- </A>
191
- <A style={[e.codeFormatBtn,v==="css"&&e.codeFormatBtnActive]}onPress={()=>he("css")}>
192
- <C style={[e.codeFormatBtnText,v==="css"&&e.codeFormatBtnTextActive]}>
190
+ </H>
191
+ <H style={[e.codeFormatBtn,W==="css"&&e.codeFormatBtnActive]}onPress={()=>Be("css")}>
192
+ <C style={[e.codeFormatBtnText,W==="css"&&e.codeFormatBtnTextActive]}>
193
193
  Web CSS
194
194
  </C>
195
- </A>
195
+ </H>
196
196
  </T>
197
197
 
198
- <A style={e.codeCopyBtn}onPress={we}>
199
- <O color={f.brandPurple}size={11}/>
198
+ <H style={e.codeCopyBtn}onPress={Ie}>
199
+ <U color={f.brandPurple}size={11}/>
200
200
  <C style={e.codeCopyBtnText}>Copy</C>
201
- </A>
201
+ </H>
202
202
  </T>
203
203
  <T style={e.codeSnippetBody}>
204
204
  <C style={e.codeSnippetText}numberOfLines={14}>
205
- {v==="rn"?Z(z,P):Ee(z,P)}
205
+ {W==="rn"?ee(A,D):Pe(A,D)}
206
206
  </C>
207
207
  </T>
208
208
  </T>
209
209
  </T>}
210
210
 
211
211
 
212
- {V==="jsx"&&<T style={e.jsxTabContainer}>
212
+ {j==="jsx"&&<T style={e.jsxTabContainer}>
213
213
 
214
214
  <T style={e.sourceLocationCard}>
215
215
  <T style={e.sourceLocationHeader}>
216
216
  <C style={e.sourceLocationTitle}>📍 CODEBASE LOCATION</C>
217
- {k.sourceFile&&<A style={e.copyPathBtn}onPress={Ge}>
218
- <O color={f.brandPurple}size={11}/>
217
+ {P.sourceFile&&<H style={e.copyPathBtn}onPress={Xe}>
218
+ <U color={f.brandPurple}size={11}/>
219
219
  <C style={e.copyPathBtnText}>Copy Path</C>
220
- </A>}
220
+ </H>}
221
221
  </T>
222
222
  <T style={e.sourceLocationBody}>
223
223
  <C style={e.sourceLocationText}>
224
- {k.sourceLocation||(k.sourceFile?`${k.sourceFile}:${k.lineNumber||1}`:`${z}.tsx (Rendered React Node)`)}
224
+ {P.sourceLocation||(P.sourceFile?`${P.sourceFile}:${P.lineNumber||1}`:`${A}.tsx (Rendered React Node)`)}
225
225
  </C>
226
- {k.lineNumber!=null&&<T style={e.lineNumberBadge}>
227
- <C style={e.lineNumberBadgeText}>Line {k.lineNumber}</C>
226
+ {P.lineNumber!=null&&<T style={e.lineNumberBadge}>
227
+ <C style={e.lineNumberBadgeText}>Line {P.lineNumber}</C>
228
228
  </T>}
229
229
  </T>
230
230
  </T>
@@ -233,18 +233,18 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
233
233
  <T style={e.jsxCodeCard}>
234
234
  <T style={e.jsxCodeHeader}>
235
235
  <T style={e.jsxCodeTitleRow}>
236
- <Ce color={f.brandPurple}size={14}/>
236
+ <Te color={f.brandPurple}size={14}/>
237
237
  <C style={e.jsxCodeTitle}>FULL JSX CODE</C>
238
238
  </T>
239
- <A style={e.jsxCopyActionBtn}onPress={fe}>
240
- <O color={f.white}size={11}/>
239
+ <H style={e.jsxCopyActionBtn}onPress={we}>
240
+ <U color={f.white}size={11}/>
241
241
  <C style={e.jsxCopyActionBtnText}>Copy JSX</C>
242
- </A>
242
+ </H>
243
243
  </T>
244
244
 
245
245
  <T style={e.jsxCodeBody}>
246
246
  <C style={e.jsxCodeContent}selectable>
247
- {k.code}
247
+ {P.code}
248
248
  </C>
249
249
  </T>
250
250
  </T>
@@ -253,24 +253,24 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
253
253
  <T style={e.codeSnippetCard}>
254
254
  <T style={e.codeSnippetHeader}>
255
255
  <C style={e.connectedStyleTitle}>🎨 CONNECTED STYLESHEET</C>
256
- <A style={e.codeCopyBtn}onPress={we}>
257
- <O color={f.brandPurple}size={11}/>
256
+ <H style={e.codeCopyBtn}onPress={Ie}>
257
+ <U color={f.brandPurple}size={11}/>
258
258
  <C style={e.codeCopyBtnText}>Copy Styles</C>
259
- </A>
259
+ </H>
260
260
  </T>
261
261
  <T style={e.codeSnippetBody}>
262
262
  <C style={e.codeSnippetText}numberOfLines={14}>
263
- {Z(z,P)}
263
+ {ee(A,D)}
264
264
  </C>
265
265
  </T>
266
266
  </T>
267
267
  </T>}
268
268
 
269
269
 
270
- {V==="boxmodel"&&<T style={e.boxModelTabContainer}>
270
+ {j==="boxmodel"&&<T style={e.boxModelTabContainer}>
271
271
  <T style={e.boxModelCard}>
272
272
  <C style={e.boxModelSectionTitle}>📦 VISUAL BOX MODEL (CSS METRICS)</C>
273
- <St boxModel={E}/>
273
+ <It boxModel={R}/>
274
274
  </T>
275
275
 
276
276
 
@@ -285,29 +285,29 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
285
285
  </T>
286
286
  <T style={e.tableRow}>
287
287
  <C style={[e.tableCell,{color:"#D97706",fontFamily:F.bold}]}>Margin</C>
288
- <C style={e.tableCell}>{E.margin.top} pt</C>
289
- <C style={e.tableCell}>{E.margin.right} pt</C>
290
- <C style={e.tableCell}>{E.margin.bottom} pt</C>
291
- <C style={e.tableCell}>{E.margin.left} pt</C>
288
+ <C style={e.tableCell}>{R.margin.top} pt</C>
289
+ <C style={e.tableCell}>{R.margin.right} pt</C>
290
+ <C style={e.tableCell}>{R.margin.bottom} pt</C>
291
+ <C style={e.tableCell}>{R.margin.left} pt</C>
292
292
  </T>
293
293
  <T style={e.tableRow}>
294
294
  <C style={[e.tableCell,{color:"#CA8A04",fontFamily:F.bold}]}>Border</C>
295
- <C style={e.tableCell}>{E.border.top} pt</C>
296
- <C style={e.tableCell}>{E.border.right} pt</C>
297
- <C style={e.tableCell}>{E.border.bottom} pt</C>
298
- <C style={e.tableCell}>{E.border.left} pt</C>
295
+ <C style={e.tableCell}>{R.border.top} pt</C>
296
+ <C style={e.tableCell}>{R.border.right} pt</C>
297
+ <C style={e.tableCell}>{R.border.bottom} pt</C>
298
+ <C style={e.tableCell}>{R.border.left} pt</C>
299
299
  </T>
300
300
  <T style={e.tableRow}>
301
301
  <C style={[e.tableCell,{color:"#059669",fontFamily:F.bold}]}>Padding</C>
302
- <C style={e.tableCell}>{E.padding.top} pt</C>
303
- <C style={e.tableCell}>{E.padding.right} pt</C>
304
- <C style={e.tableCell}>{E.padding.bottom} pt</C>
305
- <C style={e.tableCell}>{E.padding.left} pt</C>
302
+ <C style={e.tableCell}>{R.padding.top} pt</C>
303
+ <C style={e.tableCell}>{R.padding.right} pt</C>
304
+ <C style={e.tableCell}>{R.padding.bottom} pt</C>
305
+ <C style={e.tableCell}>{R.padding.left} pt</C>
306
306
  </T>
307
307
  <T style={e.tableRow}>
308
308
  <C style={[e.tableCell,{color:"#4F46E5",fontFamily:F.bold}]}>Content</C>
309
309
  <C style={[e.tableCell,{flex:4}]}>
310
- {E.content.width} × {E.content.height} pt (Area: {Math.round(Fe)} pt²)
310
+ {R.content.width} × {R.content.height} pt (Area: {Math.round(xe)} pt²)
311
311
  </C>
312
312
  </T>
313
313
  </T>
@@ -318,22 +318,22 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
318
318
  <T style={e.insetsGrid}>
319
319
  <T style={e.insetRow}>
320
320
  <C style={e.insetLabel}>Distance from Screen Top:</C>
321
- <C style={e.insetValue}>{Math.round(B.pageY)} pt</C>
321
+ <C style={e.insetValue}>{Math.round(z.pageY)} pt</C>
322
322
  </T>
323
323
  <T style={e.insetRow}>
324
324
  <C style={e.insetLabel}>Distance from Screen Left:</C>
325
- <C style={e.insetValue}>{Math.round(B.pageX)} pt</C>
325
+ <C style={e.insetValue}>{Math.round(z.pageX)} pt</C>
326
326
  </T>
327
327
  <T style={e.insetRow}>
328
328
  <C style={e.insetLabel}>Distance from Screen Bottom:</C>
329
329
  <C style={e.insetValue}>
330
- {Math.max(0,Math.round(K.height-(B.pageY+B.height)))} pt
330
+ {Math.max(0,Math.round(Y.height-(z.pageY+z.height)))} pt
331
331
  </C>
332
332
  </T>
333
333
  <T style={e.insetRow}>
334
334
  <C style={e.insetLabel}>Distance from Screen Right:</C>
335
335
  <C style={e.insetValue}>
336
- {Math.max(0,Math.round(K.width-(B.pageX+B.width)))} pt
336
+ {Math.max(0,Math.round(Y.width-(z.pageX+z.width)))} pt
337
337
  </C>
338
338
  </T>
339
339
  </T>
@@ -341,7 +341,7 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
341
341
  </T>}
342
342
 
343
343
 
344
- {V==="tree"&&<T style={e.treeTabContainer}>
344
+ {j==="tree"&&<T style={e.treeTabContainer}>
345
345
  <T style={e.treeHeaderCard}>
346
346
  <C style={e.treeHeaderTitle}>COMPONENT ANCESTOR TREE</C>
347
347
  <C style={e.treeHeaderSubtitle}>
@@ -350,73 +350,73 @@ import qe,{useRef as Qe,useState as Y}from"react";import{Dimensions as Ze,Image
350
350
  </T>
351
351
 
352
352
  <T style={e.treeList}>
353
- {W.map((w,x)=>{const S=x===W.length-1||w.componentName===z,I=x;return<A key={w.id||x}activeOpacity={.7}style={[e.treeItemCard,{marginLeft:I*14},S&&e.treeItemCardActive]}onPress={()=>xe(w)}>
353
+ {G.map((B,S)=>{const I=S===G.length-1||B.componentName===A,E=S;return<H key={B.id||S}activeOpacity={.7}style={[e.treeItemCard,{marginLeft:E*14},I&&e.treeItemCardActive]}onPress={()=>ze(B)}>
354
354
  <T style={e.treeItemTopRow}>
355
355
  <T style={e.treeTagRow}>
356
- <T style={[e.depthBadge,S&&e.depthBadgeActive]}>
357
- <C style={[e.depthBadgeText,S&&e.depthBadgeTextActive]}>
358
- L{I}
356
+ <T style={[e.depthBadge,I&&e.depthBadgeActive]}>
357
+ <C style={[e.depthBadgeText,I&&e.depthBadgeTextActive]}>
358
+ L{E}
359
359
  </C>
360
360
  </T>
361
- <C style={[e.treeTagName,S&&e.treeTagNameActive]}>
362
- &lt;{w.displayName}&gt;
361
+ <C style={[e.treeTagName,I&&e.treeTagNameActive]}>
362
+ &lt;{B.displayName}&gt;
363
363
  </C>
364
364
  </T>
365
365
 
366
- {S?<T style={e.activePillBadge}>
366
+ {I?<T style={e.activePillBadge}>
367
367
  <C style={e.activePillBadgeText}>CURRENT</C>
368
368
  </T>:<T style={e.inspectArrowBtn}>
369
369
  <C style={e.inspectArrowBtnText}>Inspect →</C>
370
370
  </T>}
371
371
  </T>
372
372
 
373
- {w.layout&&<T style={e.treeItemBottomRow}>
373
+ {B.layout&&<T style={e.treeItemBottomRow}>
374
374
  <C style={e.treeItemMetric}>
375
- Frame: {Math.round(w.layout.width)} × {Math.round(w.layout.height)} pt
375
+ Frame: {Math.round(B.layout.width)} × {Math.round(B.layout.height)} pt
376
376
  </C>
377
- {w.isHostComponent&&<C style={e.treeItemHostBadge}>Native</C>}
377
+ {B.isHostComponent&&<C style={e.treeItemHostBadge}>Native</C>}
378
378
  </T>}
379
- </A>})}
379
+ </H>})}
380
380
  </T>
381
381
  </T>}
382
382
 
383
383
 
384
- {V==="props"&&<T style={e.propsTabContainer}>
384
+ {j==="props"&&<T style={e.propsTabContainer}>
385
385
  <T style={e.propsSearchRow}>
386
386
  <T style={e.searchBar}>
387
- <Pe color={f.slate400}size={14}/>
388
- <Ct style={e.searchInput}placeholder="Filter props by name or value..."placeholderTextColor={f.slate400}value={$}onChangeText={Le}/>
387
+ <Ve color={f.slate400}size={14}/>
388
+ <Tt style={e.searchInput}placeholder="Filter props by name or value..."placeholderTextColor={f.slate400}value={J}onChangeText={ve}/>
389
389
  </T>
390
390
 
391
- <_ style={e.copyPropsBtn}onPress={Ue}>
392
- <O color={f.white}size={11}/>
391
+ <Ce style={e.copyPropsBtn}onPress={Je}>
392
+ <U color={f.white}size={11}/>
393
393
  <C style={e.copyPropsBtnText}>Copy All</C>
394
- </_>
394
+ </Ce>
395
395
  </T>
396
396
 
397
- {Se.length===0?<T style={e.emptyPropsBox}>
398
- <C style={e.emptyPropsText}>No props match "{$}"</C>
397
+ {Ee.length===0?<T style={e.emptyPropsBox}>
398
+ <C style={e.emptyPropsText}>No props match "{J}"</C>
399
399
  </T>:<T style={e.propsList}>
400
- {Se.map(([w,x])=>{const S=typeof x,I=S==="function",H=S==="object"&&x!==null,L=!I&&!H;return<T key={w}style={e.propItemCard}>
400
+ {Ee.map(([B,S])=>{const I=typeof S,E=I==="function",V=I==="object"&&S!==null,L=!E&&!V;return<T key={B}style={e.propItemCard}>
401
401
  <T style={e.propHeader}>
402
- <C style={e.propKeyName}>{w}</C>
403
- <T style={[e.typeBadgePrimary,I&&e.typeBadgeFn,H&&e.typeBadgeObj,L&&e.typeBadgePrim]}>
402
+ <C style={e.propKeyName}>{B}</C>
403
+ <T style={[e.typeBadgePrimary,E&&e.typeBadgeFn,V&&e.typeBadgeObj,L&&e.typeBadgePrim]}>
404
404
  <C style={e.typeBadgePrimaryText}>
405
- {I?"function":H?"object":S}
405
+ {E?"function":V?"object":I}
406
406
  </C>
407
407
  </T>
408
408
  </T>
409
409
 
410
- {H?<T style={e.jsonViewerWrapper}>
411
- <It data={x}defaultExpandDepth={1}/>
410
+ {V?<T style={e.jsonViewerWrapper}>
411
+ <At data={S}defaultExpandDepth={1}/>
412
412
  </T>:<C style={e.propValueText}numberOfLines={3}>
413
- {I?"\u0192 () { [native / custom handler] }":String(x)}
413
+ {E?"\u0192 () { [native / custom handler] }":String(S)}
414
414
  </C>}
415
415
  </T>})}
416
416
  </T>}
417
417
  </T>}
418
418
 
419
419
 
420
- {V==="a11y"&&<Bt a11y={Ne}/>}
421
- </Q>
422
- </T>};const e=ze.create({container:{flex:1,backgroundColor:"#F8FAFC"},topControlBar:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:f.white,paddingHorizontal:12,paddingVertical:8,borderBottomWidth:1,borderBottomColor:"#E2E8F0"},elementTagRow:{flex:1,flexDirection:"row",alignItems:"center",gap:6,marginRight:8},componentPill:{flexDirection:"row",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1,borderColor:"#C7D2FE"},componentTagBracket:{fontSize:12,fontFamily:F.bold,color:"#D97706"},componentTagName:{fontSize:12,fontFamily:F.bold,color:f.brandPurple,paddingHorizontal:2},typeBadge:{backgroundColor:"#FFFFFF",paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,marginLeft:5,borderWidth:1,borderColor:"#E2E8F0"},typeBadgeText:{fontSize:9,fontFamily:F.semiBold,color:"#64748B"},breadcrumbScroll:{alignItems:"center",gap:4},crumbChip:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:4,backgroundColor:"#F1F5F9"},crumbChipActive:{backgroundColor:f.brandPurple},crumbChipText:{fontSize:10,fontFamily:F.medium,color:"#64748B"},crumbChipTextActive:{color:f.white,fontFamily:F.bold},topActions:{flexDirection:"row",alignItems:"center",gap:6},quickActionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"#EEF2FF",paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1,borderColor:"#C7D2FE"},quickActionBtnText:{fontSize:10,fontFamily:F.bold,color:f.brandPurple},closeBtn:{padding:5,borderRadius:6,backgroundColor:"#F1F5F9",borderWidth:1,borderColor:"#E2E8F0"},subTabBarWrapper:{backgroundColor:f.white,borderBottomWidth:1,borderBottomColor:"#E2E8F0",paddingVertical:6},subTabBarContent:{paddingHorizontal:10,gap:6,alignItems:"center"},subTabItem:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:"#F1F5F9",gap:4.5,borderWidth:1,borderColor:"#E2E8F0"},subTabItemActive:{backgroundColor:f.brandPurple,borderColor:"#4338CA",shadowColor:f.brandPurple,shadowOffset:{width:0,height:1.5},shadowOpacity:.2,shadowRadius:2,elevation:2},subTabText:{fontSize:11,fontFamily:F.medium,color:"#475569"},subTabTextActive:{color:f.white,fontFamily:F.bold},tabScrollContent:{flex:1},tabScrollInner:{padding:12,paddingBottom:32},stylesTabContainer:{gap:10},heroSnapshotCard:{backgroundColor:f.white,borderRadius:12,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden",shadowColor:"#0F172A",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},heroImageFrame:{width:"100%",height:125,backgroundColor:"#0F172A",justifyContent:"center",alignItems:"center",position:"relative"},heroImageTouchable:{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",padding:10},heroImage:{width:"100%",height:"100%"},zoomGlassBadge:{position:"absolute",top:8,right:8,backgroundColor:"rgba(15, 23, 42, 0.75)",paddingHorizontal:8,paddingVertical:3.5,borderRadius:6,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.2)"},zoomGlassBadgeText:{fontSize:9.5,fontFamily:F.bold,color:"#FFFFFF"},heroPlaceholder:{alignItems:"center",justifyContent:"center"},heroPlaceholderIcon:{fontSize:24,marginBottom:4},heroPlaceholderText:{fontSize:10,fontFamily:F.bold,color:"#94A3B8"},metricsGrid:{flexDirection:"row",borderTopWidth:1,borderTopColor:"#E2E8F0",backgroundColor:"#FFFFFF"},metricCell:{flex:1,paddingVertical:8,paddingHorizontal:6,alignItems:"center",borderRightWidth:1,borderRightColor:"#F1F5F9"},metricCellLabel:{fontSize:8.5,fontFamily:F.bold,color:"#94A3B8",letterSpacing:.5},metricCellValue:{fontSize:12.5,fontFamily:F.bold,color:"#0F172A",marginTop:2},metricUnit:{fontSize:9,fontFamily:F.regular,color:"#64748B"},specsBar:{flexDirection:"row",justifyContent:"space-between",backgroundColor:"#F8FAFC",paddingHorizontal:12,paddingVertical:6.5,borderTopWidth:1,borderTopColor:"#E2E8F0"},specsTag:{flexDirection:"row",alignItems:"center",gap:4},specsTagLabel:{fontSize:9.5,fontFamily:F.medium,color:"#64748B"},specsTagVal:{fontSize:9.5,fontFamily:F.bold,color:"#0F172A"},computedLayoutCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},computedLayoutHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8,paddingBottom:6,borderBottomWidth:1,borderBottomColor:"#F1F5F9"},computedLayoutTitle:{fontSize:10.5,fontFamily:F.bold,color:"#6366F1",letterSpacing:.6},computedLayoutSub:{fontSize:9.5,fontFamily:F.medium,color:"#94A3B8"},computedGrid:{flexDirection:"row",flexWrap:"wrap",gap:8},computedItem:{width:"48%",backgroundColor:"#F8FAFC",paddingHorizontal:8,paddingVertical:6,borderRadius:6,borderWidth:1,borderColor:"#E2E8F0",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},computedItemKey:{fontSize:10,fontFamily:F.medium,color:"#64748B"},computedItemVal:{fontSize:10.5,fontFamily:F.bold,color:"#0F172A"},styleGroupCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0",borderLeftWidth:3.5,shadowColor:"#0F172A",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},styleGroupHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8,paddingBottom:6,borderBottomWidth:1,borderBottomColor:"#F1F5F9"},styleGroupTitleRow:{flexDirection:"row",alignItems:"center",gap:6},styleGroupIcon:{fontSize:13},styleGroupTitle:{fontSize:11,fontFamily:F.bold,letterSpacing:.6},styleGroupBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:10},styleGroupBadgeText:{fontSize:9.5,fontFamily:F.bold},styleRowsContainer:{gap:2},styleRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:4.5,paddingHorizontal:6,borderRadius:6},styleRowCopied:{backgroundColor:"#ECFDF5"},stylePropKey:{fontSize:11.5,fontFamily:F.medium,color:"#475569"},styleValueContainer:{flexDirection:"row",alignItems:"center",gap:6},colorSwatchPreview:{width:13,height:13,borderRadius:3,borderWidth:1,borderColor:"rgba(0,0,0,0.15)"},stylePropValue:{fontSize:11.5,fontFamily:F.semiBold,color:"#0F172A"},stylePropColorValue:{fontFamily:F.bold,color:"#6366F1"},styleUnitText:{fontSize:9.5,fontFamily:F.regular,color:"#94A3B8"},codeSnippetCard:{backgroundColor:"#F8FAFC",borderRadius:10,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden"},codeSnippetHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:10,paddingVertical:6,borderBottomWidth:1,borderBottomColor:"#E2E8F0",backgroundColor:"#EEF2FF"},codeSnippetTabs:{flexDirection:"row",gap:4},codeFormatBtn:{paddingHorizontal:8,paddingVertical:3,borderRadius:5},codeFormatBtnActive:{backgroundColor:f.white,shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:1,elevation:1},codeFormatBtnText:{fontSize:9.5,fontFamily:F.medium,color:"#64748B"},codeFormatBtnTextActive:{color:f.brandPurple,fontFamily:F.bold},codeCopyBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.white,paddingHorizontal:8,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:"#C7D2FE"},codeCopyBtnText:{fontSize:10,fontFamily:F.bold,color:f.brandPurple},codeSnippetBody:{padding:10,backgroundColor:"#FFFFFF"},codeSnippetText:{fontSize:11,fontFamily:"Courier",color:"#334155",lineHeight:16},jsxTabContainer:{gap:12},sourceLocationCard:{backgroundColor:f.white,borderRadius:10,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden"},sourceLocationHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:12,paddingVertical:7,borderBottomWidth:1,borderBottomColor:"#E0E7FF"},sourceLocationTitle:{fontSize:10,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},copyPathBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.white,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4,borderWidth:1,borderColor:"#C7D2FE"},copyPathBtnText:{fontSize:9.5,fontFamily:F.bold,color:f.brandPurple},sourceLocationBody:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:10},sourceLocationText:{flex:1,fontSize:11.5,fontFamily:F.bold,color:"#1E293B"},lineNumberBadge:{backgroundColor:"#F1F5F9",paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:"#E2E8F0"},lineNumberBadgeText:{fontSize:9.5,fontFamily:F.semiBold,color:"#64748B"},jsxCodeCard:{backgroundColor:f.white,borderRadius:10,borderWidth:1,borderColor:"#C7D2FE",overflow:"hidden"},jsxCodeHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:12,paddingVertical:8,borderBottomWidth:1,borderBottomColor:"#E0E7FF"},jsxCodeTitleRow:{flexDirection:"row",alignItems:"center",gap:6},jsxCodeTitle:{fontSize:10.5,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},jsxCopyActionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.brandPurple,paddingHorizontal:9,paddingVertical:4,borderRadius:6},jsxCopyActionBtnText:{fontSize:10.5,fontFamily:F.bold,color:f.white},jsxCodeBody:{padding:12,backgroundColor:"#FAF5FF"},jsxCodeContent:{fontSize:12,fontFamily:"Courier",color:"#4C1D95",lineHeight:18},connectedStyleTitle:{fontSize:10,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},boxModelTabContainer:{gap:12},boxModelCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},boxModelSectionTitle:{fontSize:10.5,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:8},boxModelMetricsTable:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},tableTitle:{fontSize:10,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:8},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:"#F1F5F9",paddingVertical:6},tableHeaderCell:{flex:1,fontSize:10,fontFamily:F.bold,color:"#94A3B8",textAlign:"center"},tableCell:{flex:1,fontSize:11,fontFamily:F.medium,color:"#334155",textAlign:"center"},insetsCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},insetsGrid:{gap:6},insetRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:4,borderBottomWidth:1,borderBottomColor:"#F8FAFC"},insetLabel:{fontSize:11,fontFamily:F.medium,color:"#64748B"},insetValue:{fontSize:11.5,fontFamily:F.bold,color:"#0F172A"},treeTabContainer:{gap:10},treeHeaderCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},treeHeaderTitle:{fontSize:10.5,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:4},treeHeaderSubtitle:{fontSize:11,fontFamily:F.regular,color:"#94A3B8",lineHeight:16},treeList:{gap:6},treeItemCard:{backgroundColor:f.white,borderRadius:8,padding:10,borderWidth:1,borderColor:"#E2E8F0"},treeItemCardActive:{backgroundColor:"#EEF2FF",borderColor:"#6366F1",borderLeftWidth:3.5,borderLeftColor:f.brandPurple},treeItemTopRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},treeTagRow:{flexDirection:"row",alignItems:"center",gap:6},depthBadge:{backgroundColor:"#F1F5F9",paddingHorizontal:5,paddingVertical:2,borderRadius:4},depthBadgeActive:{backgroundColor:f.brandPurple},depthBadgeText:{fontSize:9,fontFamily:F.bold,color:"#64748B"},depthBadgeTextActive:{color:f.white},treeTagName:{fontSize:12,fontFamily:F.bold,color:"#334155"},treeTagNameActive:{color:f.brandPurple},activePillBadge:{backgroundColor:"#10B98118",paddingHorizontal:6,paddingVertical:2,borderRadius:4},activePillBadgeText:{fontSize:9,fontFamily:F.bold,color:"#059669"},inspectArrowBtn:{paddingHorizontal:6,paddingVertical:2,borderRadius:4,backgroundColor:"#F8FAFC"},inspectArrowBtnText:{fontSize:10,fontFamily:F.medium,color:"#64748B"},treeItemBottomRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginTop:6,paddingTop:4,borderTopWidth:1,borderTopColor:"#F1F5F9"},treeItemMetric:{fontSize:9.5,fontFamily:F.regular,color:"#94A3B8"},treeItemHostBadge:{fontSize:9,fontFamily:F.semiBold,color:"#6366F1"},propsTabContainer:{gap:10},propsSearchRow:{flexDirection:"row",gap:8,alignItems:"center"},searchBar:{flex:1,flexDirection:"row",alignItems:"center",gap:8,backgroundColor:f.white,paddingHorizontal:10,borderRadius:8,borderWidth:1,borderColor:"#E2E8F0",height:36},searchInput:{flex:1,fontSize:11.5,fontFamily:F.regular,color:"#0F172A",padding:0},copyPropsBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.brandPurple,paddingHorizontal:10,height:36,borderRadius:8},copyPropsBtnText:{fontSize:10.5,fontFamily:F.bold,color:f.white},emptyPropsBox:{padding:24,alignItems:"center",backgroundColor:f.white,borderRadius:8,borderWidth:1,borderColor:"#E2E8F0"},emptyPropsText:{fontSize:12,fontFamily:F.medium,color:"#94A3B8"},propsList:{gap:6},propItemCard:{backgroundColor:f.white,borderRadius:8,padding:10,borderWidth:1,borderColor:"#E2E8F0"},propHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:4},propKeyName:{fontSize:12,fontFamily:F.bold,color:"#1E293B"},typeBadgePrimary:{paddingHorizontal:6,paddingVertical:2,borderRadius:4,backgroundColor:"#F1F5F9"},typeBadgeFn:{backgroundColor:"#EEF2FF"},typeBadgeObj:{backgroundColor:"#FEF3C7"},typeBadgePrim:{backgroundColor:"#ECFDF5"},typeBadgePrimaryText:{fontSize:9,fontFamily:F.bold,color:"#475569"},propValueText:{fontSize:11,fontFamily:"Courier",color:"#334155",marginTop:2},jsonViewerWrapper:{marginTop:4},modalBackdrop:{flex:1,backgroundColor:"rgba(15, 23, 42, 0.85)",justifyContent:"center",alignItems:"center",padding:20},modalCard:{width:"100%",maxHeight:"80%",backgroundColor:"#1E293B",borderRadius:14,overflow:"hidden",borderWidth:1,borderColor:"#334155"},modalHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:14,paddingVertical:10,borderBottomWidth:1,borderBottomColor:"#334155"},modalTitle:{fontSize:12,fontFamily:F.bold,color:f.white},modalCloseBtn:{padding:4},modalImageContainer:{padding:12,alignItems:"center",justifyContent:"center"},modalImage:{width:"100%",height:260}});
420
+ {j==="a11y"&&<Et a11y={Ne}/>}
421
+ </Z>
422
+ </T>};const e=ke.create({container:{flex:1,backgroundColor:"#F8FAFC"},topControlBar:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:f.white,paddingHorizontal:12,paddingVertical:8,borderBottomWidth:1,borderBottomColor:"#E2E8F0"},elementTagRow:{flex:1,flexDirection:"row",alignItems:"center",gap:6,marginRight:8},componentPill:{flexDirection:"row",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1,borderColor:"#C7D2FE"},componentTagBracket:{fontSize:12,fontFamily:F.bold,color:"#D97706"},componentTagName:{fontSize:12,fontFamily:F.bold,color:f.brandPurple,paddingHorizontal:2},typeBadge:{backgroundColor:"#FFFFFF",paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,marginLeft:5,borderWidth:1,borderColor:"#E2E8F0"},typeBadgeText:{fontSize:9,fontFamily:F.semiBold,color:"#64748B"},breadcrumbScroll:{alignItems:"center",gap:4},crumbChip:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:4,backgroundColor:"#F1F5F9"},crumbChipActive:{backgroundColor:f.brandPurple},crumbChipText:{fontSize:10,fontFamily:F.medium,color:"#64748B"},crumbChipTextActive:{color:f.white,fontFamily:F.bold},topActions:{flexDirection:"row",alignItems:"center",gap:6},quickActionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"#EEF2FF",paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1,borderColor:"#C7D2FE"},quickActionBtnText:{fontSize:10,fontFamily:F.bold,color:f.brandPurple},closeBtn:{padding:5,borderRadius:6,backgroundColor:"#F1F5F9",borderWidth:1,borderColor:"#E2E8F0"},subTabBarWrapper:{backgroundColor:f.white,borderBottomWidth:1,borderBottomColor:"#E2E8F0",paddingVertical:6},subTabBarContent:{paddingHorizontal:10,gap:6,alignItems:"center"},subTabItem:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:"#F1F5F9",gap:4.5,borderWidth:1,borderColor:"#E2E8F0"},subTabItemActive:{backgroundColor:f.brandPurple,borderColor:"#4338CA",shadowColor:f.brandPurple,shadowOffset:{width:0,height:1.5},shadowOpacity:.2,shadowRadius:2,elevation:2},subTabText:{fontSize:11,fontFamily:F.medium,color:"#475569"},subTabTextActive:{color:f.white,fontFamily:F.bold},tabScrollContent:{flex:1},tabScrollInner:{padding:12,paddingBottom:32},stylesTabContainer:{gap:10},heroSnapshotCard:{backgroundColor:f.white,borderRadius:12,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden",shadowColor:"#0F172A",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},heroImageFrame:{width:"100%",height:125,backgroundColor:"#0F172A",justifyContent:"center",alignItems:"center",position:"relative"},heroImageTouchable:{width:"100%",height:"100%",justifyContent:"center",alignItems:"center",padding:10},heroImage:{width:"100%",height:"100%"},zoomGlassBadge:{position:"absolute",top:8,right:8,backgroundColor:"rgba(15, 23, 42, 0.75)",paddingHorizontal:8,paddingVertical:3.5,borderRadius:6,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.2)"},zoomGlassBadgeText:{fontSize:9.5,fontFamily:F.bold,color:"#FFFFFF"},heroPlaceholder:{alignItems:"center",justifyContent:"center"},heroPlaceholderIcon:{fontSize:24,marginBottom:4},heroPlaceholderText:{fontSize:10,fontFamily:F.bold,color:"#94A3B8"},metricsGrid:{flexDirection:"row",borderTopWidth:1,borderTopColor:"#E2E8F0",backgroundColor:"#FFFFFF"},metricCell:{flex:1,paddingVertical:8,paddingHorizontal:6,alignItems:"center",borderRightWidth:1,borderRightColor:"#F1F5F9"},metricCellLabel:{fontSize:8.5,fontFamily:F.bold,color:"#94A3B8",letterSpacing:.5},metricCellValue:{fontSize:12.5,fontFamily:F.bold,color:"#0F172A",marginTop:2},metricUnit:{fontSize:9,fontFamily:F.regular,color:"#64748B"},specsBar:{flexDirection:"row",justifyContent:"space-between",backgroundColor:"#F8FAFC",paddingHorizontal:12,paddingVertical:6.5,borderTopWidth:1,borderTopColor:"#E2E8F0"},specsTag:{flexDirection:"row",alignItems:"center",gap:4},specsTagLabel:{fontSize:9.5,fontFamily:F.medium,color:"#64748B"},specsTagVal:{fontSize:9.5,fontFamily:F.bold,color:"#0F172A"},computedLayoutCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},computedLayoutHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8,paddingBottom:6,borderBottomWidth:1,borderBottomColor:"#F1F5F9"},computedLayoutTitle:{fontSize:10.5,fontFamily:F.bold,color:"#6366F1",letterSpacing:.6},computedLayoutSub:{fontSize:9.5,fontFamily:F.medium,color:"#94A3B8"},computedGrid:{flexDirection:"row",flexWrap:"wrap",gap:8},computedItem:{width:"48%",backgroundColor:"#F8FAFC",paddingHorizontal:8,paddingVertical:6,borderRadius:6,borderWidth:1,borderColor:"#E2E8F0",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},computedItemKey:{fontSize:10,fontFamily:F.medium,color:"#64748B"},computedItemVal:{fontSize:10.5,fontFamily:F.bold,color:"#0F172A"},styleGroupCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0",borderLeftWidth:3.5,shadowColor:"#0F172A",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},styleGroupHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8,paddingBottom:6,borderBottomWidth:1,borderBottomColor:"#F1F5F9"},styleGroupTitleRow:{flexDirection:"row",alignItems:"center",gap:6},styleGroupIcon:{fontSize:13},styleGroupTitle:{fontSize:11,fontFamily:F.bold,letterSpacing:.6},styleGroupBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:10},styleGroupBadgeText:{fontSize:9.5,fontFamily:F.bold},styleRowsContainer:{gap:2},styleRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:4.5,paddingHorizontal:6,borderRadius:6},styleRowCopied:{backgroundColor:"#ECFDF5"},stylePropKey:{fontSize:11.5,fontFamily:F.medium,color:"#475569"},styleValueContainer:{flexDirection:"row",alignItems:"center",gap:6},colorSwatchPreview:{width:13,height:13,borderRadius:3,borderWidth:1,borderColor:"rgba(0,0,0,0.15)"},stylePropValue:{fontSize:11.5,fontFamily:F.semiBold,color:"#0F172A"},stylePropColorValue:{fontFamily:F.bold,color:"#6366F1"},styleUnitText:{fontSize:9.5,fontFamily:F.regular,color:"#94A3B8"},codeSnippetCard:{backgroundColor:"#F8FAFC",borderRadius:10,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden"},codeSnippetHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:10,paddingVertical:6,borderBottomWidth:1,borderBottomColor:"#E2E8F0",backgroundColor:"#EEF2FF"},codeSnippetTabs:{flexDirection:"row",gap:4},codeFormatBtn:{paddingHorizontal:8,paddingVertical:3,borderRadius:5},codeFormatBtnActive:{backgroundColor:f.white,shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.1,shadowRadius:1,elevation:1},codeFormatBtnText:{fontSize:9.5,fontFamily:F.medium,color:"#64748B"},codeFormatBtnTextActive:{color:f.brandPurple,fontFamily:F.bold},codeCopyBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.white,paddingHorizontal:8,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:"#C7D2FE"},codeCopyBtnText:{fontSize:10,fontFamily:F.bold,color:f.brandPurple},codeSnippetBody:{padding:10,backgroundColor:"#FFFFFF"},codeSnippetText:{fontSize:11,fontFamily:"Courier",color:"#334155",lineHeight:16},jsxTabContainer:{gap:12},sourceLocationCard:{backgroundColor:f.white,borderRadius:10,borderWidth:1,borderColor:"#E2E8F0",overflow:"hidden"},sourceLocationHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:12,paddingVertical:7,borderBottomWidth:1,borderBottomColor:"#E0E7FF"},sourceLocationTitle:{fontSize:10,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},copyPathBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.white,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4,borderWidth:1,borderColor:"#C7D2FE"},copyPathBtnText:{fontSize:9.5,fontFamily:F.bold,color:f.brandPurple},sourceLocationBody:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:10},sourceLocationText:{flex:1,fontSize:11.5,fontFamily:F.bold,color:"#1E293B"},lineNumberBadge:{backgroundColor:"#F1F5F9",paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:"#E2E8F0"},lineNumberBadgeText:{fontSize:9.5,fontFamily:F.semiBold,color:"#64748B"},jsxCodeCard:{backgroundColor:f.white,borderRadius:10,borderWidth:1,borderColor:"#C7D2FE",overflow:"hidden"},jsxCodeHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",backgroundColor:"#EEF2FF",paddingHorizontal:12,paddingVertical:8,borderBottomWidth:1,borderBottomColor:"#E0E7FF"},jsxCodeTitleRow:{flexDirection:"row",alignItems:"center",gap:6},jsxCodeTitle:{fontSize:10.5,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},jsxCopyActionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.brandPurple,paddingHorizontal:9,paddingVertical:4,borderRadius:6},jsxCopyActionBtnText:{fontSize:10.5,fontFamily:F.bold,color:f.white},jsxCodeBody:{padding:12,backgroundColor:"#FAF5FF"},jsxCodeContent:{fontSize:12,fontFamily:"Courier",color:"#4C1D95",lineHeight:18},connectedStyleTitle:{fontSize:10,fontFamily:F.bold,color:f.brandPurple,letterSpacing:.6},boxModelTabContainer:{gap:12},boxModelCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},boxModelSectionTitle:{fontSize:10.5,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:8},boxModelMetricsTable:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},tableTitle:{fontSize:10,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:8},tableRow:{flexDirection:"row",borderBottomWidth:1,borderBottomColor:"#F1F5F9",paddingVertical:6},tableHeaderCell:{flex:1,fontSize:10,fontFamily:F.bold,color:"#94A3B8",textAlign:"center"},tableCell:{flex:1,fontSize:11,fontFamily:F.medium,color:"#334155",textAlign:"center"},insetsCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},insetsGrid:{gap:6},insetRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:4,borderBottomWidth:1,borderBottomColor:"#F8FAFC"},insetLabel:{fontSize:11,fontFamily:F.medium,color:"#64748B"},insetValue:{fontSize:11.5,fontFamily:F.bold,color:"#0F172A"},treeTabContainer:{gap:10},treeHeaderCard:{backgroundColor:f.white,borderRadius:10,padding:12,borderWidth:1,borderColor:"#E2E8F0"},treeHeaderTitle:{fontSize:10.5,fontFamily:F.bold,color:"#64748B",letterSpacing:.5,marginBottom:4},treeHeaderSubtitle:{fontSize:11,fontFamily:F.regular,color:"#94A3B8",lineHeight:16},treeList:{gap:6},treeItemCard:{backgroundColor:f.white,borderRadius:8,padding:10,borderWidth:1,borderColor:"#E2E8F0"},treeItemCardActive:{backgroundColor:"#EEF2FF",borderColor:"#6366F1",borderLeftWidth:3.5,borderLeftColor:f.brandPurple},treeItemTopRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},treeTagRow:{flexDirection:"row",alignItems:"center",gap:6},depthBadge:{backgroundColor:"#F1F5F9",paddingHorizontal:5,paddingVertical:2,borderRadius:4},depthBadgeActive:{backgroundColor:f.brandPurple},depthBadgeText:{fontSize:9,fontFamily:F.bold,color:"#64748B"},depthBadgeTextActive:{color:f.white},treeTagName:{fontSize:12,fontFamily:F.bold,color:"#334155"},treeTagNameActive:{color:f.brandPurple},activePillBadge:{backgroundColor:"#10B98118",paddingHorizontal:6,paddingVertical:2,borderRadius:4},activePillBadgeText:{fontSize:9,fontFamily:F.bold,color:"#059669"},inspectArrowBtn:{paddingHorizontal:6,paddingVertical:2,borderRadius:4,backgroundColor:"#F8FAFC"},inspectArrowBtnText:{fontSize:10,fontFamily:F.medium,color:"#64748B"},treeItemBottomRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginTop:6,paddingTop:4,borderTopWidth:1,borderTopColor:"#F1F5F9"},treeItemMetric:{fontSize:9.5,fontFamily:F.regular,color:"#94A3B8"},treeItemHostBadge:{fontSize:9,fontFamily:F.semiBold,color:"#6366F1"},propsTabContainer:{gap:10},propsSearchRow:{flexDirection:"row",gap:8,alignItems:"center"},searchBar:{flex:1,flexDirection:"row",alignItems:"center",gap:8,backgroundColor:f.white,paddingHorizontal:10,borderRadius:8,borderWidth:1,borderColor:"#E2E8F0",height:36},searchInput:{flex:1,fontSize:11.5,fontFamily:F.regular,color:"#0F172A",padding:0},copyPropsBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:f.brandPurple,paddingHorizontal:10,height:36,borderRadius:8},copyPropsBtnText:{fontSize:10.5,fontFamily:F.bold,color:f.white},emptyPropsBox:{padding:24,alignItems:"center",backgroundColor:f.white,borderRadius:8,borderWidth:1,borderColor:"#E2E8F0"},emptyPropsText:{fontSize:12,fontFamily:F.medium,color:"#94A3B8"},propsList:{gap:6},propItemCard:{backgroundColor:f.white,borderRadius:8,padding:10,borderWidth:1,borderColor:"#E2E8F0"},propHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:4},propKeyName:{fontSize:12,fontFamily:F.bold,color:"#1E293B"},typeBadgePrimary:{paddingHorizontal:6,paddingVertical:2,borderRadius:4,backgroundColor:"#F1F5F9"},typeBadgeFn:{backgroundColor:"#EEF2FF"},typeBadgeObj:{backgroundColor:"#FEF3C7"},typeBadgePrim:{backgroundColor:"#ECFDF5"},typeBadgePrimaryText:{fontSize:9,fontFamily:F.bold,color:"#475569"},propValueText:{fontSize:11,fontFamily:"Courier",color:"#334155",marginTop:2},jsonViewerWrapper:{marginTop:4},modalBackdrop:{flex:1,backgroundColor:"rgba(15, 23, 42, 0.85)",justifyContent:"center",alignItems:"center",padding:20},modalCard:{width:"100%",maxHeight:"80%",backgroundColor:"#1E293B",borderRadius:14,overflow:"hidden",borderWidth:1,borderColor:"#334155"},modalHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:14,paddingVertical:10,borderBottomWidth:1,borderBottomColor:"#334155"},modalTitle:{fontSize:12,fontFamily:F.bold,color:f.white},modalCloseBtn:{padding:4},modalImageContainer:{padding:12,alignItems:"center",justifyContent:"center"},modalImage:{width:"100%",height:260}});