react-native-inapp-inspector 2.5.11 → 2.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/README.ar.md +0 -8
  2. package/README.de.md +0 -8
  3. package/README.es.md +0 -8
  4. package/README.fr.md +0 -8
  5. package/README.hi.md +0 -8
  6. package/README.ja.md +0 -8
  7. package/README.ko.md +0 -8
  8. package/README.md +54 -26
  9. package/README.pt-BR.md +0 -8
  10. package/README.ru.md +0 -8
  11. package/README.zh-CN.md +0 -8
  12. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  13. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  16. package/android/src/main/AndroidManifest.xml +11 -0
  17. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +379 -19
  18. package/android/src/main/res/xml/inappinspector_file_paths.xml +7 -0
  19. package/dist/commonjs/components/ConsoleLogCard.js +32 -26
  20. package/dist/commonjs/components/Inspector/AboutModal.js +1 -4
  21. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +47 -49
  22. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  23. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
  24. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
  25. package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
  26. package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
  27. package/dist/commonjs/components/Inspector/DebuggingTab.js +24 -24
  28. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
  29. package/dist/commonjs/components/Inspector/FabLauncher.js +2 -2
  30. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
  31. package/dist/commonjs/components/Inspector/InspectorHeader.js +15 -15
  32. package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
  33. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
  34. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
  35. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
  36. package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
  37. package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
  38. package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
  39. package/dist/commonjs/components/Inspector/NetworkTab.js +48 -42
  40. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
  41. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
  42. package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
  43. package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
  44. package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
  45. package/dist/commonjs/components/Inspector/SettingsPanel.js +259 -255
  46. package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
  47. package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
  48. package/dist/commonjs/components/Inspector/TabBar.js +17 -16
  49. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  50. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
  51. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
  52. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
  53. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  54. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
  55. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
  56. package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
  57. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  58. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
  59. package/dist/commonjs/components/Inspector/index.d.ts +28 -0
  60. package/dist/commonjs/components/Inspector/index.js +1 -0
  61. package/dist/commonjs/components/LogCard.js +15 -10
  62. package/dist/commonjs/components/NetworkIcons.d.ts +6 -0
  63. package/dist/commonjs/components/NetworkIcons.js +35 -3
  64. package/dist/commonjs/constants/index.d.ts +1 -0
  65. package/dist/commonjs/constants/index.js +1 -1
  66. package/dist/commonjs/constants/version.d.ts +1 -1
  67. package/dist/commonjs/constants/version.js +1 -1
  68. package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
  69. package/dist/commonjs/customHooks/crashHandler.js +6 -6
  70. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
  71. package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
  72. package/dist/commonjs/helpers/index.d.ts +3 -0
  73. package/dist/commonjs/helpers/index.js +6 -6
  74. package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
  75. package/dist/commonjs/helpers/performanceSampler.js +1 -0
  76. package/dist/commonjs/helpers/remoteConfig.d.ts +0 -2
  77. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  78. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
  79. package/dist/commonjs/helpers/searchQueryParser.js +7 -5
  80. package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
  81. package/dist/commonjs/helpers/shareFormatter.js +16 -9
  82. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
  83. package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
  84. package/dist/commonjs/i18n/locales/ar.json +1 -1
  85. package/dist/commonjs/i18n/locales/bn.json +1 -1
  86. package/dist/commonjs/i18n/locales/de.json +1 -1
  87. package/dist/commonjs/i18n/locales/en.json +1 -1
  88. package/dist/commonjs/i18n/locales/es.json +1 -1
  89. package/dist/commonjs/i18n/locales/fr.json +1 -1
  90. package/dist/commonjs/i18n/locales/gu.json +1 -1
  91. package/dist/commonjs/i18n/locales/hi.json +1 -1
  92. package/dist/commonjs/i18n/locales/id.json +1 -1
  93. package/dist/commonjs/i18n/locales/it.json +1 -1
  94. package/dist/commonjs/i18n/locales/ja.json +1 -1
  95. package/dist/commonjs/i18n/locales/kn.json +1 -1
  96. package/dist/commonjs/i18n/locales/ko.json +1 -1
  97. package/dist/commonjs/i18n/locales/ml.json +1 -1
  98. package/dist/commonjs/i18n/locales/mr.json +1 -1
  99. package/dist/commonjs/i18n/locales/nl.json +1 -1
  100. package/dist/commonjs/i18n/locales/pa.json +1 -1
  101. package/dist/commonjs/i18n/locales/pl.json +1 -1
  102. package/dist/commonjs/i18n/locales/pt.json +1 -1
  103. package/dist/commonjs/i18n/locales/ru.json +1 -1
  104. package/dist/commonjs/i18n/locales/ta.json +1 -1
  105. package/dist/commonjs/i18n/locales/te.json +1 -1
  106. package/dist/commonjs/i18n/locales/tr.json +1 -1
  107. package/dist/commonjs/i18n/locales/vi.json +1 -1
  108. package/dist/commonjs/i18n/locales/zh.json +1 -1
  109. package/dist/commonjs/index.d.ts +6 -4
  110. package/dist/commonjs/index.js +3 -3
  111. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  112. package/dist/commonjs/native/NativeInspector.js +1 -1
  113. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  114. package/dist/commonjs/styles/index.js +1 -1
  115. package/dist/commonjs/types/editor.d.ts +31 -0
  116. package/dist/commonjs/types/enums.d.ts +1 -0
  117. package/dist/commonjs/types/enums.js +1 -1
  118. package/dist/commonjs/types/interfaces.d.ts +8 -0
  119. package/dist/esm/components/ConsoleLogCard.js +67 -61
  120. package/dist/esm/components/Inspector/AboutModal.js +14 -17
  121. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
  122. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  123. package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
  124. package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
  125. package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
  126. package/dist/esm/components/Inspector/CrashTab.js +58 -58
  127. package/dist/esm/components/Inspector/DebuggingTab.js +89 -89
  128. package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
  129. package/dist/esm/components/Inspector/FabLauncher.js +21 -21
  130. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
  131. package/dist/esm/components/Inspector/InspectorHeader.js +31 -31
  132. package/dist/esm/components/Inspector/MainScreen.js +61 -58
  133. package/dist/esm/components/Inspector/MediaGalleryTab.js +244 -147
  134. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
  135. package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
  136. package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
  137. package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
  138. package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
  139. package/dist/esm/components/Inspector/NetworkTab.js +76 -70
  140. package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
  141. package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
  142. package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
  143. package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
  144. package/dist/esm/components/Inspector/ReduxTab.js +9 -9
  145. package/dist/esm/components/Inspector/SettingsPanel.js +302 -298
  146. package/dist/esm/components/Inspector/SocketCard.js +13 -13
  147. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  148. package/dist/esm/components/Inspector/TabBar.js +4 -3
  149. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  150. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
  151. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
  152. package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
  153. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  154. package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
  155. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
  156. package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
  157. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  158. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
  159. package/dist/esm/components/Inspector/index.d.ts +28 -0
  160. package/dist/esm/components/Inspector/index.js +1 -0
  161. package/dist/esm/components/LogCard.js +60 -55
  162. package/dist/esm/components/NetworkIcons.d.ts +6 -0
  163. package/dist/esm/components/NetworkIcons.js +32 -0
  164. package/dist/esm/constants/index.d.ts +1 -0
  165. package/dist/esm/constants/index.js +1 -1
  166. package/dist/esm/constants/version.d.ts +1 -1
  167. package/dist/esm/constants/version.js +1 -1
  168. package/dist/esm/customHooks/crashHandler.d.ts +1 -1
  169. package/dist/esm/customHooks/crashHandler.js +6 -6
  170. package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
  171. package/dist/esm/customHooks/uiInspectorManager.js +1 -0
  172. package/dist/esm/helpers/index.d.ts +3 -0
  173. package/dist/esm/helpers/index.js +6 -6
  174. package/dist/esm/helpers/performanceSampler.d.ts +88 -0
  175. package/dist/esm/helpers/performanceSampler.js +1 -0
  176. package/dist/esm/helpers/remoteConfig.d.ts +0 -2
  177. package/dist/esm/helpers/remoteConfig.js +1 -1
  178. package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
  179. package/dist/esm/helpers/searchQueryParser.js +7 -5
  180. package/dist/esm/helpers/shareFormatter.d.ts +16 -0
  181. package/dist/esm/helpers/shareFormatter.js +20 -13
  182. package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
  183. package/dist/esm/helpers/uiInspectorEngine.js +19 -0
  184. package/dist/esm/i18n/locales/ar.json +1 -1
  185. package/dist/esm/i18n/locales/bn.json +1 -1
  186. package/dist/esm/i18n/locales/de.json +1 -1
  187. package/dist/esm/i18n/locales/en.json +1 -1
  188. package/dist/esm/i18n/locales/es.json +1 -1
  189. package/dist/esm/i18n/locales/fr.json +1 -1
  190. package/dist/esm/i18n/locales/gu.json +1 -1
  191. package/dist/esm/i18n/locales/hi.json +1 -1
  192. package/dist/esm/i18n/locales/id.json +1 -1
  193. package/dist/esm/i18n/locales/it.json +1 -1
  194. package/dist/esm/i18n/locales/ja.json +1 -1
  195. package/dist/esm/i18n/locales/kn.json +1 -1
  196. package/dist/esm/i18n/locales/ko.json +1 -1
  197. package/dist/esm/i18n/locales/ml.json +1 -1
  198. package/dist/esm/i18n/locales/mr.json +1 -1
  199. package/dist/esm/i18n/locales/nl.json +1 -1
  200. package/dist/esm/i18n/locales/pa.json +1 -1
  201. package/dist/esm/i18n/locales/pl.json +1 -1
  202. package/dist/esm/i18n/locales/pt.json +1 -1
  203. package/dist/esm/i18n/locales/ru.json +1 -1
  204. package/dist/esm/i18n/locales/ta.json +1 -1
  205. package/dist/esm/i18n/locales/te.json +1 -1
  206. package/dist/esm/i18n/locales/tr.json +1 -1
  207. package/dist/esm/i18n/locales/vi.json +1 -1
  208. package/dist/esm/i18n/locales/zh.json +1 -1
  209. package/dist/esm/index.d.ts +6 -4
  210. package/dist/esm/index.js +8 -8
  211. package/dist/esm/native/NativeInspector.d.ts +2 -0
  212. package/dist/esm/native/NativeInspector.js +1 -1
  213. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  214. package/dist/esm/styles/index.js +1 -1
  215. package/dist/esm/types/editor.d.ts +31 -0
  216. package/dist/esm/types/enums.d.ts +1 -0
  217. package/dist/esm/types/enums.js +1 -1
  218. package/dist/esm/types/interfaces.d.ts +8 -0
  219. package/ios/NetworkInspectorModule.mm +314 -16
  220. package/package.json +24 -1
  221. package/src/native/NativeInspector.ts +37 -0
  222. package/src/native/NativeNetworkInspector.ts +2 -0
  223. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +0 -1
  224. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  225. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  226. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  227. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  228. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  229. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  230. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  231. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.dex +0 -0
  232. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  233. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  234. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  235. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  236. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  237. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +0 -1
  238. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  239. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +0 -10
  240. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +0 -160
  241. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
  242. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +0 -212
  243. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +0 -31
  244. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +0 -22
  245. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +0 -24
  246. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +0 -16
  247. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +0 -17
  248. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +0 -19
  249. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +0 -18
  250. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +0 -300
  251. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +0 -17
  252. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +0 -23
  253. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +0 -16
  254. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +0 -20
  255. package/android/build/generated/source/codegen/schema.json +0 -1
  256. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  257. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  258. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  259. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  260. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  261. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  262. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  263. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  264. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  265. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  266. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  267. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  268. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  269. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  270. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  271. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  272. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  273. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  274. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  275. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  276. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  277. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  278. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  279. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  280. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  281. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  282. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  283. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  284. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  285. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  286. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  287. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  288. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  289. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  290. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  370. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  371. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  372. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  373. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  374. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  375. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  376. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  377. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  378. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  379. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
  380. package/android/build/reports/problems/problems-report.html +0 -659
  381. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  382. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  383. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  384. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  385. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  386. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  387. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  388. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  389. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  390. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  391. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  392. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  393. package/dist/commonjs/a11y.d.ts +0 -2
  394. package/dist/commonjs/a11y.js +0 -1
  395. package/dist/commonjs/components/Inspector/A11yTab.d.ts +0 -2
  396. package/dist/commonjs/components/Inspector/A11yTab.js +0 -268
  397. package/dist/commonjs/components/Inspector/DeveloperSponsorCard.d.ts +0 -9
  398. package/dist/commonjs/components/Inspector/DeveloperSponsorCard.js +0 -52
  399. package/dist/commonjs/customHooks/a11yAdapter.d.ts +0 -11
  400. package/dist/commonjs/customHooks/a11yAdapter.js +0 -1
  401. package/dist/commonjs/helpers/sponsorService.d.ts +0 -20
  402. package/dist/commonjs/helpers/sponsorService.js +0 -1
  403. package/dist/esm/a11y.d.ts +0 -2
  404. package/dist/esm/a11y.js +0 -1
  405. package/dist/esm/components/Inspector/A11yTab.d.ts +0 -2
  406. package/dist/esm/components/Inspector/A11yTab.js +0 -268
  407. package/dist/esm/components/Inspector/DeveloperSponsorCard.d.ts +0 -9
  408. package/dist/esm/components/Inspector/DeveloperSponsorCard.js +0 -52
  409. package/dist/esm/customHooks/a11yAdapter.d.ts +0 -11
  410. package/dist/esm/customHooks/a11yAdapter.js +0 -1
  411. package/dist/esm/helpers/sponsorService.d.ts +0 -20
  412. package/dist/esm/helpers/sponsorService.js +0 -1
@@ -1,59 +1,68 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,r,l,s){s===void 0&&(s=l);var n=Object.getOwnPropertyDescriptor(r,l);(!n||("get"in n?!r.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return r[l]}}),Object.defineProperty(t,s,n)}):(function(t,r,l,s){s===void 0&&(s=l),t[s]=r[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,r){Object.defineProperty(t,"default",{enumerable:!0,value:r})}):function(t,r){t.default=r}),__importStar=this&&this.__importStar||(function(){var t=function(r){return t=Object.getOwnPropertyNames||function(l){var s=[];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(s[s.length]=n);return s},t(r)};return function(r){if(r&&r.__esModule)return r;var l={};if(r!=null)for(var s=t(r),n=0;n<s.length;n++)s[n]!=="default"&&__createBinding(l,r,s[n]);return __setModuleDefault(l,r),l}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaGalleryTab=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),EmptyState_1=__importDefault(require("../EmptyState")),NetworkIcons_1=require("../NetworkIcons"),MediaPreviewModal_1=require("./MediaPreviewModal"),capture_1=require("../../capture"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),ConfirmationModal_1=require("./ConfirmationModal"),MediaGalleryTab=()=>{const{t}=(0,i18n_1.useTranslation)(),{refreshMediaCount:r,switchActiveTab:l,previewMediaItem:s,setPreviewMediaItem:n}=(0,InspectorContext_1.useInspector)(),[c,A]=(0,react_1.useState)([]),[z,v]=(0,react_1.useState)(!1),[p,V]=(0,react_1.useState)("all"),[d,f]=(0,react_1.useState)(new Set),[u,S]=(0,react_1.useState)("grid"),[C,m]=(0,react_1.useState)({visible:!1,title:"",message:"",onConfirm:()=>{}}),x=async()=>{try{const e=p==="image"?"image":p==="video"?"video":"any",o=await capture_1.ScreenCapture.pickMedia({mediaType:e});o&&(await h(),r?.().catch(()=>{}),(0,toast_1.showToast)(o.type==="video"?t("mediaGallery.importedVideo","Video imported from Camera Roll"):t("mediaGallery.importedPhoto","Photo imported from Camera Roll")),n(o))}catch{(0,toast_1.showToast)(t("mediaGallery.importFailed","Failed to import media"))}},h=(0,react_1.useCallback)(async()=>{try{const e=await capture_1.ScreenCapture.getMediaList();A(e),r?.().catch(()=>{})}catch{A([])}},[r]);(0,react_1.useEffect)(()=>{h()},[h]);const M=async()=>{v(!0),await h(),v(!1)},g=(0,react_1.useMemo)(()=>p==="all"?c:c.filter(e=>e.type===p),[c,p]),w=(0,react_1.useMemo)(()=>c.reduce((e,o)=>e+(o.sizeBytes||0),0),[c]),I=(0,react_1.useCallback)(e=>{f(o=>{const i=new Set(o);return i.has(e)?i.delete(e):i.add(e),i})},[]),B=async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),f(i=>{const a=new Set(i);return a.delete(e.id),a}),await h(),await r?.()===0&&l("apis"),(0,toast_1.showToast)(t("mediaGallery.deleted"))},k=e=>{e?.uri&&(0,helpers_1.copyImageOrMediaToClipboard)(e.uri,e.type==="image"?"Image":"Media")},R=()=>{const e=c.filter(i=>d.has(i.id));if(e.length===0)return;const o=e.map(i=>i.uri).join(`
2
- `);(0,helpers_1.copyToClipboard)(o,`${e.length} Media URIs`),(0,toast_1.showToast)(`${e.length} file URIs copied to clipboard`)},O=async e=>{try{const o=e.uri.startsWith("file://")||e.uri.startsWith("content://")||e.uri.startsWith("http")?e.uri:`file://${e.uri}`;await react_native_1.Share.share({url:o,title:e.filename,message:e.filename})}catch{(0,toast_1.showToast)(t("mediaGallery.shareUnavailable","Sharing not available on this device"))}},G=async()=>{const e=c.filter(o=>d.has(o.id));if(e.length!==0)try{const o=e[0],i=o.uri.startsWith("file://")||o.uri.startsWith("content://")||o.uri.startsWith("http")?o.uri:`file://${o.uri}`;await react_native_1.Share.share({url:i,title:o.filename,message:e.length===1?o.filename:`${e.length} items: ${e.map(a=>a.filename).join(", ")}`})}catch{(0,toast_1.showToast)(t("mediaGallery.shareUnavailable","Sharing not available on this device"))}},D=()=>{const e=d.size;e!==0&&m({visible:!0,title:t("mediaGallery.deleteSelectedTitle","Delete Selected Media"),message:t("mediaGallery.deleteSelectedMessage",{count:e,defaultValue:`Are you sure you want to permanently delete ${e} media items?`}),confirmText:t("mediaGallery.delete","Delete"),cancelText:t("common.cancel","Cancel"),onConfirm:async()=>{m(a=>({...a,visible:!1}));const o=c.filter(a=>d.has(a.id));for(const a of o)await capture_1.ScreenCapture.deleteMedia(a.uri);f(new Set),await h(),await r?.()===0&&l("apis"),(0,toast_1.showToast)(t("mediaGallery.deletedCount",{count:o.length}))}})},F=()=>{m({visible:!0,title:t("mediaGallery.purgeTitle","Purge Gallery"),message:t("mediaGallery.purgeMessage",{count:c.length,size:(0,helpers_1.formatBytes)(w),defaultValue:`Are you sure you want to delete all ${c.length} media files (${(0,helpers_1.formatBytes)(w)})? This cannot be undone.`}),confirmText:t("common.clearAll","Clear All"),cancelText:t("common.cancel","Cancel"),onConfirm:async()=>{m(e=>({...e,visible:!1})),await capture_1.ScreenCapture.clearAllMedia(),f(new Set),await h(),await r?.(),l("apis"),(0,toast_1.showToast)(t("mediaGallery.allPurged"))}})},P=async e=>{await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480})&&(await h(),r?.().catch(()=>{}))},W=(e,o)=>{const i=o?AppColors_1.AppColors.sky400:AppColors_1.AppColors.slate400,a=12;switch(e){case"all":return<NetworkIcons_1.ScreencastIcon size={a}color={i}/>;case"image":return<NetworkIcons_1.ImageIcon size={a}color={i}/>;case"video":return<NetworkIcons_1.FilmIcon size={a}color={i}/>;case"gif":return<NetworkIcons_1.GifIcon size={a}color={i}/>}},$=({item:e})=>{if(!e)return null;const o=e.type==="video",i=e.type==="gif",a=o&&e.thumbnailUri||e.uri,y=!!(e.id&&d.has(e.id)),T=(e.format||(o?"mp4":i?"gif":"png")).toUpperCase(),_=e.filename||(e.uri?e.uri.split("/").pop():"")||"Capture",b=e.timestamp?new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"";return<TouchableScale_1.default onPress={()=>n(e)}style={[galleryStyles.card,y&&galleryStyles.cardSelected]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,a,n,l){l===void 0&&(l=n);var i=Object.getOwnPropertyDescriptor(a,n);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[n]}}),Object.defineProperty(o,l,i)}):(function(o,a,n,l){l===void 0&&(l=n),o[l]=a[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,a){Object.defineProperty(o,"default",{enumerable:!0,value:a})}):function(o,a){o.default=a}),__importStar=this&&this.__importStar||(function(){var o=function(a){return o=Object.getOwnPropertyNames||function(n){var l=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(l[l.length]=i);return l},o(a)};return function(a){if(a&&a.__esModule)return a;var n={};if(a!=null)for(var l=o(a),i=0;i<l.length;i++)l[i]!=="default"&&__createBinding(n,a,l[i]);return __setModuleDefault(n,a),n}})(),__importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaGalleryTab=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),MediaPreviewModal_1=require("./MediaPreviewModal"),capture_1=require("../../capture"),helpers_1=require("../../helpers"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),ConfirmationModal_1=require("./ConfirmationModal"),MediaGalleryTab=()=>{const{t:o}=(0,i18n_1.useTranslation)(),{refreshMediaCount:a,switchActiveTab:n,previewMediaItem:l,setPreviewMediaItem:i}=(0,InspectorContext_1.useInspector)(),[s,I]=(0,react_1.useState)([]),[W,z]=(0,react_1.useState)(!1),[d,$]=(0,react_1.useState)("all"),[p,w]=(0,react_1.useState)(new Set),[h,R]=(0,react_1.useState)("grid"),[g,_]=(0,react_1.useState)(!1),[F,x]=(0,react_1.useState)(0),C=react_1.default.useRef(null),[f,b]=(0,react_1.useState)({visible:!1,title:"",message:"",onConfirm:()=>{}}),c=(0,react_1.useCallback)(async()=>{try{const e=await capture_1.ScreenCapture.getMediaList();I(e),a?.().catch(()=>{})}catch{I([])}},[a]);(0,react_1.useEffect)(()=>{c()},[c]),(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>_(e)).catch(()=>{})},[]),(0,react_1.useEffect)(()=>(g?(x(0),C.current=setInterval(()=>{x(e=>e+1)},1e3)):(C.current&&(clearInterval(C.current),C.current=null),x(0)),()=>{C.current&&clearInterval(C.current)}),[g]);const G=async()=>{z(!0),await c(),z(!1)},m=(0,react_1.useMemo)(()=>{let e=0,t=0,r=0;return s.forEach(u=>{u.type==="image"?e++:u.type==="video"?t++:u.type==="gif"&&r++}),{all:s.length,image:e,video:t,gif:r}},[s]),v=(0,react_1.useMemo)(()=>d==="all"?s:s.filter(e=>e.type===d),[s,d]),A=(0,react_1.useMemo)(()=>s.reduce((e,t)=>e+(t.sizeBytes||0),0),[s]),M=(0,react_1.useCallback)(async()=>{try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),r={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};i(r),await c(),a?.().catch(()=>{}),(0,toast_1.showToast)(o("header.screenshotCaptured","Screenshot captured & saved"))}else(0,toast_1.showToast)(o("header.screenshotFailed","Failed to capture screenshot"))}catch{(0,toast_1.showToast)(o("header.screenshotError","Error capturing screenshot"))}},[c,a,i,o]),S=(0,react_1.useCallback)(async()=>{try{if(g){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(_(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),r={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio};i(r),await c(),a?.().catch(()=>{}),(0,toast_1.showToast)(o("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:24,audioSource:"none"})?(_(!0),(0,toast_1.showToast)(o("header.recordingStarted","Screen recording started"))):(0,toast_1.showToast)(o("header.recordingStartFailed","Failed to start screen recording"))}catch{(0,toast_1.showToast)(o("header.recordingError","Screen recording error")),_(!1)}},[g,c,a,i,o]),P=async()=>{try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=d==="image"?"image":d==="video"?"video":"any",t=await capture_1.ScreenCapture.pickMedia({mediaType:e});t&&((0,NativeInspector_1.triggerNativeHaptic)("success"),await c(),a?.().catch(()=>{}),(0,toast_1.showToast)(t.type==="video"?o("mediaGallery.importedVideo","Video imported from Camera Roll"):o("mediaGallery.importedPhoto","Photo imported from Camera Roll")),i(t))}catch{(0,toast_1.showToast)(o("mediaGallery.importFailed","Failed to import media"))}},D=(0,react_1.useCallback)(e=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),w(t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),O=async e=>{(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.deleteMedia(e.uri),w(t=>{const r=new Set(t);return r.delete(e.id),r}),await c(),await a?.(),(0,toast_1.showToast)(o("mediaGallery.deleted","Media deleted"))},H=e=>{e?.uri&&((0,NativeInspector_1.triggerNativeHaptic)("light"),(0,helpers_1.copyImageOrMediaToClipboard)(e.uri,e.type==="image"?"Image":"Media"))},q=()=>{const e=s.filter(r=>p.has(r.id));if(e.length===0)return;(0,NativeInspector_1.triggerNativeHaptic)("light");const t=e.map(r=>r.uri).join(`
2
+ `);(0,helpers_1.copyToClipboard)(t,`${e.length} Media URIs`),(0,toast_1.showToast)(`${e.length} file URIs copied to clipboard`)},N=async e=>{try{(0,NativeInspector_1.triggerNativeHaptic)("light");const t=e.uri.startsWith("file://")||e.uri.startsWith("content://")||e.uri.startsWith("http")?e.uri:`file://${e.uri}`;await react_native_1.Share.share({url:t,title:e.filename,message:e.filename})}catch{(0,toast_1.showToast)(o("mediaGallery.shareUnavailable","Sharing not available on this device"))}},j=async()=>{const e=s.filter(t=>p.has(t.id));if(e.length!==0)try{(0,NativeInspector_1.triggerNativeHaptic)("light");const t=e[0],r=t.uri.startsWith("file://")||t.uri.startsWith("content://")||t.uri.startsWith("http")?t.uri:`file://${t.uri}`;await react_native_1.Share.share({url:r,title:t.filename,message:e.length===1?t.filename:`${e.length} items: ${e.map(u=>u.filename).join(", ")}`})}catch{(0,toast_1.showToast)(o("mediaGallery.shareUnavailable","Sharing not available on this device"))}},L=()=>{const e=p.size;e!==0&&b({visible:!0,title:o("mediaGallery.deleteSelectedTitle","Delete Selected Media"),message:o("mediaGallery.deleteSelectedMessage",{count:e,defaultValue:`Are you sure you want to permanently delete ${e} media items?`}),confirmText:o("mediaGallery.delete","Delete"),cancelText:o("common.cancel","Cancel"),onConfirm:async()=>{b(r=>({...r,visible:!1}));const t=s.filter(r=>p.has(r.id));for(const r of t)await capture_1.ScreenCapture.deleteMedia(r.uri);w(new Set),await c(),await a?.(),(0,toast_1.showToast)(o("mediaGallery.deletedCount",{count:t.length,defaultValue:`Deleted ${t.length} items`}))}})},U=()=>{b({visible:!0,title:o("mediaGallery.purgeTitle","Purge Gallery"),message:o("mediaGallery.purgeMessage",{count:s.length,size:(0,helpers_1.formatBytes)(A),defaultValue:`Are you sure you want to delete all ${s.length} media files (${(0,helpers_1.formatBytes)(A)})? This cannot be undone.`}),confirmText:o("common.clearAll","Clear All"),cancelText:o("common.cancel","Cancel"),onConfirm:async()=>{b(e=>({...e,visible:!1})),await capture_1.ScreenCapture.clearAllMedia(),w(new Set),await c(),await a?.(),(0,toast_1.showToast)(o("mediaGallery.allPurged","All screencast files deleted"))}})},E=async e=>{await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480})&&(await c(),a?.().catch(()=>{}))},B=e=>{const t=Math.floor(e/60),r=e%60;return`${t.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`},Y=({item:e})=>{if(!e)return null;const t=e.type==="video",r=e.type==="gif",u=t&&e.thumbnailUri||e.uri,y=!!(e.id&&p.has(e.id)),k=(e.format||(t?"mp4":r?"gif":"png")).toUpperCase(),V=e.filename||(e.uri?e.uri.split("/").pop():"")||"Capture",T=e.timestamp?new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"";return<TouchableScale_1.default onPress={()=>i(e)}style={[galleryStyles.card,y&&galleryStyles.cardSelected]}>
3
3
  <react_native_1.View style={galleryStyles.thumbnailContainer}>
4
- {a?<react_native_1.Image source={{uri:a}}style={galleryStyles.thumbnail}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.thumbnailFallback}>
5
- {o?<NetworkIcons_1.FilmIcon size={26}color={AppColors_1.AppColors.sky400}/>:<NetworkIcons_1.ImageIcon size={26}color={AppColors_1.AppColors.slate400}/>}
4
+ {u?<react_native_1.Image source={{uri:u}}style={galleryStyles.thumbnail}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.thumbnailFallback}>
5
+ {t?<NetworkIcons_1.FilmIcon size={28}color={AppColors_1.AppColors.sky500}/>:<NetworkIcons_1.ImageIcon size={28}color={AppColors_1.AppColors.grayTextWeak}/>}
6
6
  </react_native_1.View>}
7
7
 
8
8
 
9
- <react_native_1.TouchableOpacity onPress={()=>e.id&&I(e.id)}style={[galleryStyles.checkbox,y&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
10
- {y&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.white}/>}
9
+ <react_native_1.TouchableOpacity onPress={()=>e.id&&D(e.id)}style={[galleryStyles.checkbox,y&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
10
+ {y&&<NetworkIcons_1.CheckIcon size={11}color={AppColors_1.AppColors.white}/>}
11
11
  </react_native_1.TouchableOpacity>
12
12
 
13
- {o&&<react_native_1.View style={galleryStyles.miniPlayCircle}>
13
+
14
+ {t&&<react_native_1.View style={galleryStyles.miniPlayCircle}>
14
15
  <NetworkIcons_1.PlayIcon size={14}color={AppColors_1.AppColors.white}/>
15
16
  </react_native_1.View>}
16
- <react_native_1.View style={galleryStyles.typeBadge}>
17
- {o?<NetworkIcons_1.FilmIcon size={11}color={AppColors_1.AppColors.sky400}/>:i?<NetworkIcons_1.GifIcon size={11}color={AppColors_1.AppColors.warningAmber}/>:<NetworkIcons_1.ImageIcon size={11}color={AppColors_1.AppColors.emerald500}/>}
17
+
18
+
19
+ <react_native_1.View style={[galleryStyles.typeBadge,{backgroundColor:t?"rgba(14, 165, 233, 0.88)":r?"rgba(245, 158, 11, 0.88)":"rgba(16, 185, 129, 0.88)"}]}>
18
20
  <react_native_1.Text style={galleryStyles.typeBadgeText}>
19
- {T}
21
+ {k}
20
22
  </react_native_1.Text>
21
23
  </react_native_1.View>
24
+
25
+
26
+ {t&&e.durationMs?<react_native_1.View style={galleryStyles.durationBadge}>
27
+ <react_native_1.Text style={galleryStyles.durationBadgeText}>
28
+ {B(Math.round(e.durationMs/1e3))}
29
+ </react_native_1.Text>
30
+ </react_native_1.View>:null}
22
31
  </react_native_1.View>
23
32
 
24
33
  <react_native_1.View style={galleryStyles.cardInfo}>
25
34
  <react_native_1.Text style={galleryStyles.cardTitle}numberOfLines={1}>
26
- {_}
35
+ {V}
27
36
  </react_native_1.Text>
28
37
  <react_native_1.View style={galleryStyles.cardMetaRow}>
29
38
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4,flex:1,minWidth:0}}>
30
39
  <react_native_1.Text style={galleryStyles.cardMeta}numberOfLines={1}>
31
40
  {(0,helpers_1.formatBytes)(e.sizeBytes||0)}
32
41
  </react_native_1.Text>
33
- {b?<>
42
+ {T?<>
34
43
  <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
35
44
  <react_native_1.Text style={galleryStyles.cardMeta}numberOfLines={1}>
36
- {b}
45
+ {T}
37
46
  </react_native_1.Text>
38
47
  </>:null}
39
48
  </react_native_1.View>
40
- <react_native_1.TouchableOpacity onPress={()=>k(e)}style={galleryStyles.gridCopyBtn}hitSlop={{top:6,bottom:6,left:6,right:6}}>
41
- <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.slate400}/>
49
+ <react_native_1.TouchableOpacity onPress={()=>H(e)}style={galleryStyles.gridCopyBtn}hitSlop={{top:6,bottom:6,left:6,right:6}}>
50
+ <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.grayText}/>
42
51
  </react_native_1.TouchableOpacity>
43
52
  </react_native_1.View>
44
53
  </react_native_1.View>
45
- </TouchableScale_1.default>},L=({item:e})=>{if(!e)return null;const o=e.type==="video",i=e.type==="gif",a=o&&e.thumbnailUri||e.uri,y=!!(e.id&&d.has(e.id)),T=(e.format||(o?"mp4":i?"gif":"png")).toUpperCase(),_=e.filename||(e.uri?e.uri.split("/").pop():"")||"Capture",b=e.timestamp?`${new Date(e.timestamp).toLocaleDateString([],{month:"short",day:"numeric"})} ${new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`:"";return<TouchableScale_1.default onPress={()=>n(e)}style={[galleryStyles.listRow,y&&galleryStyles.listRowSelected]}>
54
+ </TouchableScale_1.default>},K=({item:e})=>{if(!e)return null;const t=e.type==="video",r=e.type==="gif",u=t&&e.thumbnailUri||e.uri,y=!!(e.id&&p.has(e.id)),k=(e.format||(t?"mp4":r?"gif":"png")).toUpperCase(),V=e.filename||(e.uri?e.uri.split("/").pop():"")||"Capture",T=e.timestamp?`${new Date(e.timestamp).toLocaleDateString([],{month:"short",day:"numeric"})} ${new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`:"";return<TouchableScale_1.default onPress={()=>i(e)}style={[galleryStyles.listRow,y&&galleryStyles.listRowSelected]}>
46
55
 
47
- <react_native_1.TouchableOpacity onPress={()=>e.id&&I(e.id)}style={[galleryStyles.listCheckbox,y&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
48
- {y&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.white}/>}
56
+ <react_native_1.TouchableOpacity onPress={()=>e.id&&D(e.id)}style={[galleryStyles.listCheckbox,y&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
57
+ {y&&<NetworkIcons_1.CheckIcon size={11}color={AppColors_1.AppColors.white}/>}
49
58
  </react_native_1.TouchableOpacity>
50
59
 
51
60
 
52
61
  <react_native_1.View style={galleryStyles.listThumbContainer}>
53
- {a?<react_native_1.Image source={{uri:a}}style={galleryStyles.listThumb}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.listThumbFallback}>
54
- {o?<NetworkIcons_1.FilmIcon size={18}color={AppColors_1.AppColors.sky400}/>:<NetworkIcons_1.ImageIcon size={18}color={AppColors_1.AppColors.slate400}/>}
62
+ {u?<react_native_1.Image source={{uri:u}}style={galleryStyles.listThumb}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.listThumbFallback}>
63
+ {t?<NetworkIcons_1.FilmIcon size={18}color={AppColors_1.AppColors.sky500}/>:<NetworkIcons_1.ImageIcon size={18}color={AppColors_1.AppColors.grayTextWeak}/>}
55
64
  </react_native_1.View>}
56
- {o&&<react_native_1.View style={galleryStyles.listMiniPlay}>
65
+ {t&&<react_native_1.View style={galleryStyles.listMiniPlay}>
57
66
  <NetworkIcons_1.PlayIcon size={10}color={AppColors_1.AppColors.white}/>
58
67
  </react_native_1.View>}
59
68
  </react_native_1.View>
@@ -61,22 +70,21 @@
61
70
 
62
71
  <react_native_1.View style={galleryStyles.listInfo}>
63
72
  <react_native_1.Text style={galleryStyles.listTitle}numberOfLines={1}>
64
- {_}
73
+ {V}
65
74
  </react_native_1.Text>
66
75
  <react_native_1.View style={galleryStyles.listMetaRow}>
67
- <react_native_1.View style={galleryStyles.listBadge}>
68
- {o?<NetworkIcons_1.FilmIcon size={10}color={AppColors_1.AppColors.sky400}/>:i?<NetworkIcons_1.GifIcon size={10}color={AppColors_1.AppColors.warningAmber}/>:<NetworkIcons_1.ImageIcon size={10}color={AppColors_1.AppColors.emerald500}/>}
69
- <react_native_1.Text style={galleryStyles.listBadgeText}>
70
- {T}
76
+ <react_native_1.View style={[galleryStyles.listBadge,{backgroundColor:t?`${AppColors_1.AppColors.sky500}18`:r?`${AppColors_1.AppColors.amber500}18`:`${AppColors_1.AppColors.green600}18`}]}>
77
+ <react_native_1.Text style={[galleryStyles.listBadgeText,{color:t?AppColors_1.AppColors.sky600:r?AppColors_1.AppColors.amber500:AppColors_1.AppColors.green600}]}>
78
+ {k}
71
79
  </react_native_1.Text>
72
80
  </react_native_1.View>
73
81
  <react_native_1.Text style={galleryStyles.cardMeta}>
74
82
  {(0,helpers_1.formatBytes)(e.sizeBytes||0)}
75
83
  </react_native_1.Text>
76
- {b?<>
84
+ {T?<>
77
85
  <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
78
86
  <react_native_1.Text style={galleryStyles.cardMeta}>
79
- {b}
87
+ {T}
80
88
  </react_native_1.Text>
81
89
  </>:null}
82
90
  </react_native_1.View>
@@ -84,119 +92,208 @@
84
92
 
85
93
 
86
94
  <react_native_1.View style={galleryStyles.listActionsRow}>
87
- <react_native_1.TouchableOpacity onPress={()=>k(e)}style={galleryStyles.listCopyBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
88
- <NetworkIcons_1.CopyIcon size={13}color={AppColors_1.AppColors.slate200}/>
95
+ <react_native_1.TouchableOpacity onPress={()=>H(e)}style={galleryStyles.listActionBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
96
+ <NetworkIcons_1.CopyIcon size={13}color={AppColors_1.AppColors.grayText}/>
89
97
  </react_native_1.TouchableOpacity>
90
98
 
91
- <react_native_1.TouchableOpacity onPress={()=>O(e)}style={galleryStyles.listShareBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
92
- <NetworkIcons_1.ShareIcon size={13}color={AppColors_1.AppColors.sky400}/>
99
+ <react_native_1.TouchableOpacity onPress={()=>N(e)}style={galleryStyles.listActionBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
100
+ <NetworkIcons_1.ShareIcon size={13}color={AppColors_1.AppColors.sky600}/>
93
101
  </react_native_1.TouchableOpacity>
94
102
 
95
- <react_native_1.TouchableOpacity onPress={()=>B(e)}style={galleryStyles.listDeleteBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
103
+ <react_native_1.TouchableOpacity onPress={()=>O(e)}style={galleryStyles.listActionBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
96
104
  <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
97
105
  </react_native_1.TouchableOpacity>
98
106
  </react_native_1.View>
99
107
  </TouchableScale_1.default>};return<react_native_1.View style={galleryStyles.container}>
100
108
 
101
109
  <react_native_1.View style={galleryStyles.topHeaderBar}>
102
- <react_native_1.TouchableOpacity onPress={()=>l("apis")}style={galleryStyles.backToTabBtn}accessibilityLabel="Back to Inspector"hitSlop={{top:8,bottom:8,left:8,right:8}}>
103
- <NetworkIcons_1.WhiteBackNavigation size={15}color={AppColors_1.AppColors.purple}/>
110
+ <react_native_1.TouchableOpacity onPress={()=>n("apis")}style={galleryStyles.backToTabBtn}accessibilityLabel="Back to Inspector"hitSlop={{top:8,bottom:8,left:8,right:8}}>
111
+ <NetworkIcons_1.WhiteBackNavigation size={14}color={AppColors_1.AppColors.purple}/>
104
112
  <react_native_1.Text style={galleryStyles.backToTabText}>
105
- {t("common.back","Back to Inspector")}
113
+ {o("common.back","Back")}
106
114
  </react_native_1.Text>
107
115
  </react_native_1.TouchableOpacity>
108
116
 
109
- <react_native_1.TouchableOpacity onPress={()=>l("apis")}style={galleryStyles.closeCircleBtn}accessibilityLabel="Close Screencast"hitSlop={{top:8,bottom:8,left:8,right:8}}>
110
- <NetworkIcons_1.CloseWhite size={14}color={AppColors_1.AppColors.grayTextStrong}/>
117
+ <react_native_1.View style={galleryStyles.headerCenterTitle}>
118
+ <NetworkIcons_1.ScreencastIcon size={15}color={AppColors_1.AppColors.purple}/>
119
+ <react_native_1.Text style={galleryStyles.headerStudioTitle}>
120
+ {o("tabs.media","Screencast")}
121
+ </react_native_1.Text>
122
+ {m.all>0&&<react_native_1.View style={galleryStyles.headerBadge}>
123
+ <react_native_1.Text style={galleryStyles.headerBadgeText}>{m.all}</react_native_1.Text>
124
+ </react_native_1.View>}
125
+ </react_native_1.View>
126
+
127
+ <react_native_1.TouchableOpacity onPress={()=>n("apis")}style={galleryStyles.closeCircleBtn}accessibilityLabel="Close Screencast"hitSlop={{top:8,bottom:8,left:8,right:8}}>
128
+ <NetworkIcons_1.CloseWhite size={12}color={AppColors_1.AppColors.grayTextStrong}/>
111
129
  </react_native_1.TouchableOpacity>
112
130
  </react_native_1.View>
113
131
 
114
132
 
133
+ {g&&<react_native_1.View style={galleryStyles.recordingBanner}>
134
+ <react_native_1.View style={galleryStyles.recordingDot}/>
135
+ <react_native_1.Text style={galleryStyles.recordingBannerText}>
136
+ {o("header.recordingScreen","Screen Recording Active")} • {B(F)}
137
+ </react_native_1.Text>
138
+ <react_native_1.TouchableOpacity onPress={S}style={galleryStyles.stopRecordBtn}activeOpacity={.8}>
139
+ <react_native_1.View style={galleryStyles.stopSquare}/>
140
+ <react_native_1.Text style={galleryStyles.stopRecordBtnText}>{o("media.stopAndSave","Stop & Save")}</react_native_1.Text>
141
+ </react_native_1.TouchableOpacity>
142
+ </react_native_1.View>}
143
+
144
+
145
+ <react_native_1.View style={galleryStyles.quickActionsBar}>
146
+ <TouchableScale_1.default onPress={M}style={[galleryStyles.quickBtn,{backgroundColor:`${AppColors_1.AppColors.purple}10`,borderColor:`${AppColors_1.AppColors.purple}30`}]}>
147
+ <NetworkIcons_1.CameraIcon size={14}color={AppColors_1.AppColors.purple}/>
148
+ <react_native_1.Text style={[galleryStyles.quickBtnText,{color:AppColors_1.AppColors.purple}]}>
149
+ {o("header.screenshot","Screenshot")}
150
+ </react_native_1.Text>
151
+ </TouchableScale_1.default>
152
+
153
+ <TouchableScale_1.default onPress={S}style={[galleryStyles.quickBtn,g?{backgroundColor:`${AppColors_1.AppColors.red500}18`,borderColor:AppColors_1.AppColors.red500}:{backgroundColor:`${AppColors_1.AppColors.sky600}10`,borderColor:`${AppColors_1.AppColors.sky600}30`}]}>
154
+ <NetworkIcons_1.VideoCameraIcon size={14}color={g?AppColors_1.AppColors.red500:AppColors_1.AppColors.sky600}/>
155
+ <react_native_1.Text style={[galleryStyles.quickBtnText,{color:g?AppColors_1.AppColors.red500:AppColors_1.AppColors.sky600}]}>
156
+ {g?`Stop (${B(F)})`:o("header.videoRecord","Record Video")}
157
+ </react_native_1.Text>
158
+ </TouchableScale_1.default>
159
+
160
+ <TouchableScale_1.default onPress={P}style={[galleryStyles.quickBtn,{backgroundColor:`${AppColors_1.AppColors.emerald500}10`,borderColor:`${AppColors_1.AppColors.emerald500}30`}]}>
161
+ <NetworkIcons_1.CameraRollIcon size={14}color={AppColors_1.AppColors.green600}/>
162
+ <react_native_1.Text style={[galleryStyles.quickBtnText,{color:AppColors_1.AppColors.green600}]}>
163
+ {o("common.import","Import")}
164
+ </react_native_1.Text>
165
+ </TouchableScale_1.default>
166
+ </react_native_1.View>
167
+
168
+
115
169
  <react_native_1.View style={galleryStyles.filterBar}>
116
170
  <react_native_1.View style={galleryStyles.chipGroup}>
117
- {["all","image","video","gif"].map(e=>{const o=p===e,i=e==="all"?t("mediaGallery.all",{count:c.length}):t(e==="image"?"mediaGallery.photos":e==="video"?"mediaGallery.videos":"mediaGallery.gifs");return<react_native_1.TouchableOpacity key={e}onPress={()=>V(e)}style={[galleryStyles.chip,o&&galleryStyles.chipActive]}>
118
- {W(e,o)}
119
- <react_native_1.Text style={[galleryStyles.chipText,o&&galleryStyles.chipTextActive]}>
120
- {i}
171
+ {[{key:"all",label:o("common.all","All"),count:m.all},{key:"image",label:o("mediaGallery.photos","Photos"),count:m.image},{key:"video",label:o("mediaGallery.videos","Videos"),count:m.video},{key:"gif",label:o("mediaGallery.gifs","GIFs"),count:m.gif}].map(e=>{const t=d===e.key;return<react_native_1.TouchableOpacity key={e.key}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),$(e.key)}}style={[galleryStyles.chip,t&&galleryStyles.chipActive]}>
172
+ <react_native_1.Text style={[galleryStyles.chipText,t&&galleryStyles.chipTextActive]}>
173
+ {e.label}
121
174
  </react_native_1.Text>
175
+ <react_native_1.View style={[galleryStyles.chipBadge,t&&galleryStyles.chipBadgeActive]}>
176
+ <react_native_1.Text style={[galleryStyles.chipBadgeText,t&&galleryStyles.chipBadgeTextActive]}>
177
+ {e.count}
178
+ </react_native_1.Text>
179
+ </react_native_1.View>
122
180
  </react_native_1.TouchableOpacity>})}
123
181
  </react_native_1.View>
124
182
 
125
183
 
126
- <react_native_1.View style={galleryStyles.rightControls}>
127
- <react_native_1.TouchableOpacity onPress={x}style={galleryStyles.importBtn}accessibilityLabel="Open Camera Roll"hitSlop={{top:6,bottom:6,left:6,right:6}}>
128
- <NetworkIcons_1.CameraRollIcon size={12}color={AppColors_1.AppColors.sky400}/>
129
- <react_native_1.Text style={galleryStyles.importBtnText}>
130
- {p==="image"?"Photos":p==="video"?"Videos":"Import"}
131
- </react_native_1.Text>
184
+ <react_native_1.View style={galleryStyles.viewToggleContainer}>
185
+ <react_native_1.TouchableOpacity onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),R("grid")}}style={[galleryStyles.viewToggleBtn,h==="grid"&&galleryStyles.viewToggleBtnActive]}>
186
+ <NetworkIcons_1.GridIcon size={13}color={h==="grid"?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>
187
+ </react_native_1.TouchableOpacity>
188
+ <react_native_1.TouchableOpacity onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),R("list")}}style={[galleryStyles.viewToggleBtn,h==="list"&&galleryStyles.viewToggleBtnActive]}>
189
+ <NetworkIcons_1.ListIcon size={13}color={h==="list"?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>
132
190
  </react_native_1.TouchableOpacity>
133
-
134
-
135
- <react_native_1.View style={galleryStyles.viewToggleContainer}>
136
- <react_native_1.TouchableOpacity onPress={()=>S("grid")}style={[galleryStyles.viewToggleBtn,u==="grid"&&galleryStyles.viewToggleBtnActive]}>
137
- <NetworkIcons_1.GridIcon size={13}color={u==="grid"?AppColors_1.AppColors.white:AppColors_1.AppColors.slate400}/>
138
- </react_native_1.TouchableOpacity>
139
- <react_native_1.TouchableOpacity onPress={()=>S("list")}style={[galleryStyles.viewToggleBtn,u==="list"&&galleryStyles.viewToggleBtnActive]}>
140
- <NetworkIcons_1.ListIcon size={13}color={u==="list"?AppColors_1.AppColors.white:AppColors_1.AppColors.slate400}/>
141
- </react_native_1.TouchableOpacity>
142
- </react_native_1.View>
143
191
  </react_native_1.View>
144
192
  </react_native_1.View>
145
193
 
146
194
 
147
- {c.length>0&&<react_native_1.View style={galleryStyles.subBar}>
195
+ {s.length>0&&<react_native_1.View style={galleryStyles.subBar}>
148
196
  <react_native_1.View style={galleryStyles.resultCountWrapper}>
149
- <react_native_1.Text style={[galleryStyles.resultCountText,d.size>0&&galleryStyles.resultCountTextSelected]}>
150
- {d.size>0?t("mediaGallery.selectedOfResults",{selected:d.size,total:g.length,defaultValue:`Selected ${d.size} of ${g.length} results`}):g.length!==c.length?t("mediaGallery.showingFilteredResults",{count:g.length,total:c.length,defaultValue:`Showing ${g.length} of ${c.length} results`}):t("mediaGallery.showingResults",{count:g.length,defaultValue:`Showing ${g.length} results`})}
197
+ <react_native_1.Text style={[galleryStyles.resultCountText,p.size>0&&galleryStyles.resultCountTextSelected]}>
198
+ {p.size>0?`${p.size} of ${v.length} selected`:`${v.length} ${v.length===1?"item":"items"} \u2022 ${(0,helpers_1.formatBytes)(A)}`}
151
199
  </react_native_1.Text>
152
200
  </react_native_1.View>
153
201
 
154
202
  <react_native_1.View style={galleryStyles.actionsGroup}>
155
- {d.size>0&&<>
156
- <react_native_1.TouchableOpacity onPress={R}style={galleryStyles.copySelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
157
- <NetworkIcons_1.CopyIcon size={12}color={AppColors_1.AppColors.slate200}/>
203
+ {p.size>0?<>
204
+ <react_native_1.TouchableOpacity onPress={q}style={galleryStyles.copySelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
205
+ <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.grayTextStrong}/>
158
206
  <react_native_1.Text style={galleryStyles.copySelectedBtnText}>
159
- {t("mediaGallery.copyUri","Copy URI")}
207
+ Copy
160
208
  </react_native_1.Text>
161
209
  </react_native_1.TouchableOpacity>
162
210
 
163
- <react_native_1.TouchableOpacity onPress={G}style={galleryStyles.shareSelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
164
- <NetworkIcons_1.ShareIcon size={12}color={AppColors_1.AppColors.sky400}/>
211
+ <react_native_1.TouchableOpacity onPress={j}style={galleryStyles.shareSelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
212
+ <NetworkIcons_1.ShareIcon size={11}color={AppColors_1.AppColors.sky600}/>
165
213
  <react_native_1.Text style={galleryStyles.shareSelectedBtnText}>
166
- {t("mediaGallery.share","Share")}
214
+ Share
167
215
  </react_native_1.Text>
168
216
  </react_native_1.TouchableOpacity>
169
217
 
170
- <react_native_1.TouchableOpacity onPress={D}style={galleryStyles.deleteBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
171
- <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
218
+ <react_native_1.TouchableOpacity onPress={L}style={galleryStyles.deleteBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
219
+ <NetworkIcons_1.TrashIcon size={11}color={AppColors_1.AppColors.red500}/>
172
220
  <react_native_1.Text style={galleryStyles.deleteBtnText}>
173
- {t("mediaGallery.deleteSelected",{count:d.size})}
221
+ Delete ({p.size})
174
222
  </react_native_1.Text>
175
223
  </react_native_1.TouchableOpacity>
176
- </>}
177
-
178
- <react_native_1.TouchableOpacity onPress={F}style={galleryStyles.clearBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
179
- <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
180
- <react_native_1.Text style={galleryStyles.clearBtnText}>
181
- {t("mediaGallery.purge",{size:(0,helpers_1.formatBytes)(w)})}
182
- </react_native_1.Text>
183
- </react_native_1.TouchableOpacity>
224
+ </>:<react_native_1.TouchableOpacity onPress={U}style={galleryStyles.clearBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
225
+ <NetworkIcons_1.TrashIcon size={11}color={AppColors_1.AppColors.red500}/>
226
+ <react_native_1.Text style={galleryStyles.clearBtnText}>
227
+ Purge All
228
+ </react_native_1.Text>
229
+ </react_native_1.TouchableOpacity>}
184
230
  </react_native_1.View>
185
231
  </react_native_1.View>}
186
232
 
187
233
 
188
- <react_native_1.FlatList key={u}data={g}keyExtractor={e=>e.id}renderItem={u==="grid"?$:L}numColumns={u==="grid"?2:1}columnWrapperStyle={u==="grid"?galleryStyles.columnWrapper:void 0}style={{flex:1}}contentContainerStyle={[galleryStyles.listContent,{flexGrow:1}]}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled"refreshControl={<react_native_1.RefreshControl refreshing={z}onRefresh={M}tintColor={AppColors_1.AppColors.sky400}/>}ListEmptyComponent={<react_native_1.View style={galleryStyles.emptyContainer}>
189
- <EmptyState_1.default customTitle={p==="image"?"No Photos Found":p==="video"?"No Videos Found":t("mediaGallery.noMediaTitle")}customSub={p==="image"?"Take a screenshot or import photos from Camera Roll.":p==="video"?"Record a video or import videos from Camera Roll.":t("mediaGallery.noMediaDesc")}showReload={!1}/>
190
- <react_native_1.TouchableOpacity onPress={x}style={galleryStyles.emptyImportBtn}activeOpacity={.8}>
191
- <NetworkIcons_1.CameraRollIcon size={14}color={AppColors_1.AppColors.white}/>
192
- <react_native_1.Text style={galleryStyles.emptyImportBtnText}>
193
- {p==="image"?t("mediaGallery.importPhotos","Import Photos from Camera Roll"):p==="video"?t("mediaGallery.importVideos","Import Videos from Camera Roll"):t("mediaGallery.openCameraRoll","Open Camera Roll")}
194
- </react_native_1.Text>
195
- </react_native_1.TouchableOpacity>
234
+ <react_native_1.FlatList key={h}data={v}keyExtractor={e=>e.id}renderItem={h==="grid"?Y:K}numColumns={h==="grid"?2:1}columnWrapperStyle={h==="grid"?galleryStyles.columnWrapper:void 0}style={{flex:1}}contentContainerStyle={[galleryStyles.listContent,{flexGrow:1}]}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled"refreshControl={<react_native_1.RefreshControl refreshing={W}onRefresh={G}tintColor={AppColors_1.AppColors.purple}/>}ListEmptyComponent={<react_native_1.View style={galleryStyles.emptyHeroCard}>
235
+ <react_native_1.View style={galleryStyles.emptyIconCircle}>
236
+ <NetworkIcons_1.ScreencastIcon size={32}color={AppColors_1.AppColors.purple}/>
237
+ </react_native_1.View>
238
+
239
+ <react_native_1.Text style={galleryStyles.emptyHeroTitle}>
240
+ {d==="image"?"No Screenshots Yet":d==="video"?"No Screen Recordings Yet":d==="gif"?"No Animated GIFs Yet":"Screencast & Media Studio"}
241
+ </react_native_1.Text>
242
+
243
+ <react_native_1.Text style={galleryStyles.emptyHeroSubtitle}>
244
+ {d==="image"?"Take a full-screen application snapshot or import photos from your device library.":d==="video"?"Record high-FPS screen videos with audio narration to reproduce and debug issues.":"Capture pixel-perfect screenshots, record 60fps screen videos, and export GIF animations with zero background overhead."}
245
+ </react_native_1.Text>
246
+
247
+
248
+ <react_native_1.View style={galleryStyles.emptyActionsGrid}>
249
+ <TouchableScale_1.default onPress={M}style={galleryStyles.emptyActionCard}>
250
+ <react_native_1.View style={[galleryStyles.actionCardIconBox,{backgroundColor:`${AppColors_1.AppColors.purple}14`}]}>
251
+ <NetworkIcons_1.CameraIcon size={18}color={AppColors_1.AppColors.purple}/>
252
+ </react_native_1.View>
253
+ <react_native_1.View style={galleryStyles.actionCardTextBox}>
254
+ <react_native_1.Text style={galleryStyles.actionCardTitle}>Take Screenshot</react_native_1.Text>
255
+ <react_native_1.Text style={galleryStyles.actionCardDesc}>Full-window lossless PNG</react_native_1.Text>
256
+ </react_native_1.View>
257
+ </TouchableScale_1.default>
258
+
259
+ <TouchableScale_1.default onPress={S}style={galleryStyles.emptyActionCard}>
260
+ <react_native_1.View style={[galleryStyles.actionCardIconBox,{backgroundColor:`${AppColors_1.AppColors.sky600}14`}]}>
261
+ <NetworkIcons_1.VideoCameraIcon size={18}color={AppColors_1.AppColors.sky600}/>
262
+ </react_native_1.View>
263
+ <react_native_1.View style={galleryStyles.actionCardTextBox}>
264
+ <react_native_1.Text style={galleryStyles.actionCardTitle}>Record Screen Video</react_native_1.Text>
265
+ <react_native_1.Text style={galleryStyles.actionCardDesc}>High-FPS MP4 with audio</react_native_1.Text>
266
+ </react_native_1.View>
267
+ </TouchableScale_1.default>
268
+
269
+ <TouchableScale_1.default onPress={P}style={galleryStyles.emptyActionCard}>
270
+ <react_native_1.View style={[galleryStyles.actionCardIconBox,{backgroundColor:`${AppColors_1.AppColors.emerald500}14`}]}>
271
+ <NetworkIcons_1.CameraRollIcon size={18}color={AppColors_1.AppColors.green600}/>
272
+ </react_native_1.View>
273
+ <react_native_1.View style={galleryStyles.actionCardTextBox}>
274
+ <react_native_1.Text style={galleryStyles.actionCardTitle}>Import from Camera Roll</react_native_1.Text>
275
+ <react_native_1.Text style={galleryStyles.actionCardDesc}>Device photos & videos</react_native_1.Text>
276
+ </react_native_1.View>
277
+ </TouchableScale_1.default>
278
+ </react_native_1.View>
279
+
280
+
281
+ <react_native_1.View style={galleryStyles.featurePillsRow}>
282
+ <react_native_1.View style={galleryStyles.featurePill}>
283
+ <react_native_1.Text style={galleryStyles.featurePillText}>{o("media.zeroOverhead","\u26A1 Zero Overhead")}</react_native_1.Text>
284
+ </react_native_1.View>
285
+ <react_native_1.View style={galleryStyles.featurePill}>
286
+ <react_native_1.Text style={galleryStyles.featurePillText}>{o("media.cropAndAnnotate","\u2702\uFE0F Crop & Annotate")}</react_native_1.Text>
287
+ </react_native_1.View>
288
+ <react_native_1.View style={galleryStyles.featurePill}>
289
+ <react_native_1.Text style={galleryStyles.featurePillText}>{o("media.convertToGif","\u{1F39E}\uFE0F Convert to GIF")}</react_native_1.Text>
290
+ </react_native_1.View>
291
+ </react_native_1.View>
196
292
  </react_native_1.View>}/>
197
293
 
198
294
 
199
- <MediaPreviewModal_1.MediaPreviewModal item={s}visible={!!s}onClose={()=>n(null)}onDelete={B}onConvertToGif={P}/>
295
+ <MediaPreviewModal_1.MediaPreviewModal item={l}visible={!!l}onClose={()=>i(null)}onDelete={O}onConvertToGif={E}onSave={e=>{i(e),c()}}/>
200
296
 
201
- <ConfirmationModal_1.ConfirmationModal visible={C.visible}title={C.title}message={C.message}confirmText={C.confirmText}cancelText={C.cancelText}isDestructive={!0}icon="trash"onConfirm={C.onConfirm}onCancel={()=>m(e=>({...e,visible:!1}))}/>
202
- </react_native_1.View>};exports.MediaGalleryTab=MediaGalleryTab;const{width:WINDOW_WIDTH}=react_native_1.Dimensions.get("window"),CARD_WIDTH=(WINDOW_WIDTH-36)/2,galleryStyles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.slate850},topHeaderBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:8,backgroundColor:AppColors_1.AppColors.primaryLight,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},backToTabBtn:{flexDirection:"row",alignItems:"center",gap:6,paddingVertical:3,paddingHorizontal:6},backToTabText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:12,color:AppColors_1.AppColors.purple},closeCircleBtn:{width:26,height:26,borderRadius:13,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,alignItems:"center",justifyContent:"center"},filterBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:9,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.borderGlassLight,gap:8},chipGroup:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1},chip:{flexDirection:"row",alignItems:"center",gap:4.5,paddingHorizontal:8,paddingVertical:4.5,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha06,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha10},chipActive:{backgroundColor:`${AppColors_1.AppColors.sky400}2E`,borderColor:AppColors_1.AppColors.sky400},chipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.slate400},chipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.sky400},subBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:7,backgroundColor:`${AppColors_1.AppColors.slate900}99`,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.borderGlassLight,gap:8},resultCountWrapper:{flexDirection:"row",alignItems:"center",flexShrink:1},resultCountText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.slate400},resultCountTextSelected:{fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.sky400},actionsGroup:{flexDirection:"row",alignItems:"center",gap:6},rightControls:{flexDirection:"row",alignItems:"center",gap:6},importBtn:{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${AppColors_1.AppColors.sky500}1F`,borderColor:`${AppColors_1.AppColors.sky400}44`,borderWidth:1,paddingHorizontal:8,paddingVertical:4.5,borderRadius:6},importBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11,color:AppColors_1.AppColors.sky400},emptyContainer:{alignItems:"center",justifyContent:"center",paddingVertical:36},emptyImportBtn:{flexDirection:"row",alignItems:"center",gap:7,backgroundColor:AppColors_1.AppColors.sky500,paddingHorizontal:16,paddingVertical:10,borderRadius:8,marginTop:18,shadowColor:AppColors_1.AppColors.sky500,shadowOffset:{width:0,height:2},shadowOpacity:.35,shadowRadius:6,elevation:3},emptyImportBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:13,color:AppColors_1.AppColors.white},viewToggleContainer:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.whiteAlpha06,borderRadius:6,padding:2,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha10},viewToggleBtn:{paddingHorizontal:7,paddingVertical:4,borderRadius:4,alignItems:"center",justifyContent:"center"},viewToggleBtnActive:{backgroundColor:`${AppColors_1.AppColors.violet600}80`},deleteBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}26`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}80`},deleteBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.red500},clearBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}1F`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}4D`},clearBtnText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.red500},listContent:{padding:12,gap:10},columnWrapper:{gap:12},card:{width:CARD_WIDTH,backgroundColor:AppColors_1.AppColors.slate800,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassLight,overflow:"hidden"},cardSelected:{borderColor:AppColors_1.AppColors.violet600,borderWidth:1.5},thumbnailContainer:{width:"100%",height:110,backgroundColor:AppColors_1.AppColors.slate850,position:"relative"},thumbnail:{width:"100%",height:"100%"},thumbnailFallback:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.slate900},checkbox:{position:"absolute",top:6,left:6,width:22,height:22,borderRadius:5,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.65)",backgroundColor:"rgba(15, 23, 42, 0.65)",alignItems:"center",justifyContent:"center",zIndex:10},checkboxSelected:{backgroundColor:AppColors_1.AppColors.violet600,borderColor:AppColors_1.AppColors.violet600},miniPlayCircle:{position:"absolute",top:"50%",left:"50%",width:32,height:32,marginTop:-16,marginLeft:-16,borderRadius:16,backgroundColor:`${AppColors_1.AppColors.sky400}D9`,alignItems:"center",justifyContent:"center",paddingLeft:2,shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:4},typeBadge:{position:"absolute",top:6,right:6,flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.badgeGlassDark,paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassMedium},typeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.slate200},cardInfo:{padding:8,gap:3},cardTitle:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,color:AppColors_1.AppColors.white},cardMetaRow:{flexDirection:"row",alignItems:"center",gap:4},cardMeta:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.slate400},cardMetaDot:{fontSize:10,color:AppColors_1.AppColors.whiteAlpha30},listRow:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.slate800,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassLight,padding:8,gap:10},listRowSelected:{borderColor:AppColors_1.AppColors.violet600,borderWidth:1.5,backgroundColor:`${AppColors_1.AppColors.violet600}14`},listCheckbox:{width:20,height:20,borderRadius:4,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.65)",backgroundColor:"rgba(15, 23, 42, 0.65)",alignItems:"center",justifyContent:"center"},listThumbContainer:{width:46,height:46,borderRadius:6,backgroundColor:AppColors_1.AppColors.slate850,overflow:"hidden",position:"relative"},listThumb:{width:"100%",height:"100%"},listThumbFallback:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.slate900},listMiniPlay:{position:"absolute",top:"50%",left:"50%",width:20,height:20,marginTop:-10,marginLeft:-10,borderRadius:10,backgroundColor:`${AppColors_1.AppColors.sky400}D9`,alignItems:"center",justifyContent:"center",paddingLeft:1},listInfo:{flex:1,gap:4,minWidth:0},listTitle:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.white},listMetaRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"},listBadge:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.badgeGlassDark,paddingHorizontal:4,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassMedium},listBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.slate200},gridCopyBtn:{padding:3,borderRadius:4,backgroundColor:AppColors_1.AppColors.whiteAlpha08},listActionsRow:{flexDirection:"row",alignItems:"center",gap:6},listCopyBtn:{padding:6,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha10,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha15},listShareBtn:{padding:6,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky400}18`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}40`},listDeleteBtn:{padding:6,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}33`},copySelectedBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha10,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha20},copySelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,color:AppColors_1.AppColors.slate200},shareSelectedBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky400}20`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}60`},shareSelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.sky400}});
297
+
298
+ <ConfirmationModal_1.ConfirmationModal visible={f.visible}title={f.title}message={f.message}confirmText={f.confirmText}cancelText={f.cancelText}isDestructive={!0}icon="trash"onConfirm={f.onConfirm}onCancel={()=>b(e=>({...e,visible:!1}))}/>
299
+ </react_native_1.View>};exports.MediaGalleryTab=MediaGalleryTab;const{width:WINDOW_WIDTH}=react_native_1.Dimensions.get("window"),CARD_WIDTH=(WINDOW_WIDTH-36)/2,galleryStyles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground},topHeaderBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,backgroundColor:AppColors_1.AppColors.primaryLight,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.grayBorderSecondary},backToTabBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingVertical:4,paddingHorizontal:8,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.purple}12`},backToTabText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.purple},headerCenterTitle:{flexDirection:"row",alignItems:"center",gap:6},headerStudioTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,color:AppColors_1.AppColors.grayTextStrong},headerBadge:{backgroundColor:`${AppColors_1.AppColors.purple}1A`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:10},headerBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.purple},closeCircleBtn:{width:26,height:26,borderRadius:13,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center"},recordingBanner:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:`${AppColors_1.AppColors.red500}15`,borderBottomWidth:1,borderBottomColor:`${AppColors_1.AppColors.red500}30`,paddingHorizontal:14,paddingVertical:8},recordingDot:{width:8,height:8,borderRadius:4,backgroundColor:AppColors_1.AppColors.red500,marginRight:6},recordingBannerText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.red500,flex:1},stopRecordBtn:{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:AppColors_1.AppColors.red500,paddingHorizontal:10,paddingVertical:4.5,borderRadius:6},stopSquare:{width:8,height:8,backgroundColor:AppColors_1.AppColors.white,borderRadius:1},stopRecordBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.white},quickActionsBar:{flexDirection:"row",alignItems:"center",gap:8,paddingHorizontal:12,paddingTop:10,paddingBottom:6},quickBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:5,paddingVertical:7,paddingHorizontal:4,borderRadius:8,borderWidth:1},quickBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11},filterBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:8,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.grayBorderSecondary,gap:8},chipGroup:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1},chip:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4.5,borderRadius:8,backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},chipActive:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:AppColors_1.AppColors.purple},chipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayText},chipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.purple},chipBadge:{backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:4.5,paddingVertical:1,borderRadius:6},chipBadgeActive:{backgroundColor:AppColors_1.AppColors.purple},chipBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.grayTextWeak},chipBadgeTextActive:{color:AppColors_1.AppColors.white},viewToggleContainer:{flexDirection:"row",backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:2},viewToggleBtn:{paddingHorizontal:7,paddingVertical:4,borderRadius:6},viewToggleBtnActive:{backgroundColor:AppColors_1.AppColors.purple},subBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:6.5,backgroundColor:AppColors_1.AppColors.primaryLight,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.grayBorderSecondary},resultCountWrapper:{flex:1},resultCountText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak},resultCountTextSelected:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.purple},actionsGroup:{flexDirection:"row",alignItems:"center",gap:6},copySelectedBtn:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:7,paddingVertical:3.5,borderRadius:6,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},copySelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.grayTextStrong},shareSelectedBtn:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:7,paddingVertical:3.5,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky600}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky600}30`},shareSelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.sky600},deleteBtn:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:7,paddingVertical:3.5,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}30`},deleteBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.red500},clearBtn:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:7,paddingVertical:3.5,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}10`},clearBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.red500},listContent:{padding:12,paddingBottom:40},columnWrapper:{justifyContent:"space-between",marginBottom:10},card:{width:CARD_WIDTH,backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:4,elevation:2},cardSelected:{borderColor:AppColors_1.AppColors.purple,borderWidth:2},thumbnailContainer:{width:"100%",height:110,backgroundColor:AppColors_1.AppColors.grayBackground,position:"relative"},thumbnail:{width:"100%",height:"100%"},thumbnailFallback:{flex:1,alignItems:"center",justifyContent:"center"},checkbox:{position:"absolute",top:7,left:7,width:19,height:19,borderRadius:5,backgroundColor:"rgba(0, 0, 0, 0.45)",borderWidth:1.5,borderColor:AppColors_1.AppColors.white,alignItems:"center",justifyContent:"center",zIndex:5},checkboxSelected:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},miniPlayCircle:{position:"absolute",top:"50%",left:"50%",transform:[{translateX:-16},{translateY:-16}],width:32,height:32,borderRadius:16,backgroundColor:"rgba(0, 0, 0, 0.65)",alignItems:"center",justifyContent:"center"},typeBadge:{position:"absolute",top:7,right:7,paddingHorizontal:5,paddingVertical:2,borderRadius:4},typeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.white,letterSpacing:.3},durationBadge:{position:"absolute",bottom:6,right:6,backgroundColor:"rgba(0, 0, 0, 0.72)",paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},durationBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.white},cardInfo:{padding:8,gap:4},cardTitle:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11,color:AppColors_1.AppColors.grayTextStrong},cardMetaRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},cardMeta:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},cardMetaDot:{fontSize:9,color:AppColors_1.AppColors.grayTextWeak},gridCopyBtn:{padding:2},listRow:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:8,marginBottom:8,gap:10},listRowSelected:{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5},listCheckbox:{width:18,height:18,borderRadius:4,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center"},listThumbContainer:{width:48,height:48,borderRadius:8,backgroundColor:AppColors_1.AppColors.grayBackground,overflow:"hidden",position:"relative"},listThumb:{width:"100%",height:"100%"},listThumbFallback:{flex:1,alignItems:"center",justifyContent:"center"},listMiniPlay:{position:"absolute",bottom:2,right:2,backgroundColor:"rgba(0, 0, 0, 0.65)",borderRadius:3,padding:1.5},listInfo:{flex:1,gap:3},listTitle:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:12,color:AppColors_1.AppColors.grayTextStrong},listMetaRow:{flexDirection:"row",alignItems:"center",gap:5},listBadge:{paddingHorizontal:4.5,paddingVertical:1,borderRadius:4},listBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,letterSpacing:.3},listActionsRow:{flexDirection:"row",alignItems:"center",gap:4},listActionBtn:{padding:5,borderRadius:6,backgroundColor:AppColors_1.AppColors.grayBackground},emptyHeroCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:16,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:20,alignItems:"center",marginTop:8,shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:2},shadowOpacity:.03,shadowRadius:6,elevation:2},emptyIconCircle:{width:64,height:64,borderRadius:32,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}25`,alignItems:"center",justifyContent:"center",marginBottom:12},emptyHeroTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:16,color:AppColors_1.AppColors.grayTextStrong,textAlign:"center",marginBottom:6},emptyHeroSubtitle:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,lineHeight:17,color:AppColors_1.AppColors.grayText,textAlign:"center",marginBottom:18,paddingHorizontal:8},emptyActionsGrid:{width:"100%",gap:8,marginBottom:16},emptyActionCard:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:10,gap:12},actionCardIconBox:{width:38,height:38,borderRadius:8,alignItems:"center",justifyContent:"center"},actionCardTextBox:{flex:1,gap:1.5},actionCardTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.grayTextStrong},actionCardDesc:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10.5,color:AppColors_1.AppColors.grayTextWeak},featurePillsRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,flexWrap:"wrap",paddingTop:4},featurePill:{backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:8,paddingVertical:3.5,borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},featurePillText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak}});
@@ -44,6 +44,7 @@ interface MediaPreviewModalProps {
44
44
  onClose: () => void;
45
45
  onDelete: (item: CapturedMediaItem) => void;
46
46
  onConvertToGif?: (item: CapturedMediaItem) => void;
47
+ onSave?: (savedItem: CapturedMediaItem) => void;
47
48
  }
48
49
  export declare const MediaPreviewModal: React.FC<MediaPreviewModalProps>;
49
50
  export {};