react-native-inapp-inspector 2.5.12 → 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 (186) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/8.9/gc.properties +0 -0
  7. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  8. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/9.2.0/gc.properties +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  14. package/android/.gradle/vcs-1/gc.properties +0 -0
  15. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  16. package/android/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/Inspector/AnalyticsFilterModal.js +47 -49
  20. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  21. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
  22. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
  23. package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
  24. package/dist/commonjs/components/Inspector/DebuggingTab.js +24 -24
  25. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
  26. package/dist/commonjs/components/Inspector/FabLauncher.js +2 -2
  27. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
  28. package/dist/commonjs/components/Inspector/InspectorHeader.js +10 -10
  29. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +10 -10
  30. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
  31. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
  32. package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
  33. package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
  34. package/dist/commonjs/components/Inspector/NetworkTab.js +48 -41
  35. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
  36. package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
  37. package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
  38. package/dist/commonjs/components/Inspector/SettingsPanel.js +3 -6
  39. package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
  40. package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
  41. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  42. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
  43. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
  44. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
  45. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  46. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
  47. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
  48. package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
  49. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  50. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
  51. package/dist/commonjs/components/Inspector/index.d.ts +28 -0
  52. package/dist/commonjs/components/Inspector/index.js +1 -0
  53. package/dist/commonjs/components/LogCard.js +9 -7
  54. package/dist/commonjs/constants/index.js +1 -1
  55. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  56. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  57. package/dist/commonjs/constants/version.d.ts +1 -1
  58. package/dist/commonjs/constants/version.js +1 -1
  59. package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
  60. package/dist/commonjs/customHooks/crashHandler.js +6 -6
  61. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
  62. package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
  63. package/dist/commonjs/helpers/index.js +1 -3
  64. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
  65. package/dist/commonjs/helpers/searchQueryParser.js +7 -5
  66. package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
  67. package/dist/commonjs/helpers/shareFormatter.js +16 -9
  68. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
  69. package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
  70. package/dist/commonjs/i18n/locales/ar.json +1 -1
  71. package/dist/commonjs/i18n/locales/bn.json +1 -1
  72. package/dist/commonjs/i18n/locales/de.json +1 -1
  73. package/dist/commonjs/i18n/locales/en.json +1 -1
  74. package/dist/commonjs/i18n/locales/es.json +1 -1
  75. package/dist/commonjs/i18n/locales/fr.json +1 -1
  76. package/dist/commonjs/i18n/locales/gu.json +1 -1
  77. package/dist/commonjs/i18n/locales/hi.json +1 -1
  78. package/dist/commonjs/i18n/locales/id.json +1 -1
  79. package/dist/commonjs/i18n/locales/it.json +1 -1
  80. package/dist/commonjs/i18n/locales/ja.json +1 -1
  81. package/dist/commonjs/i18n/locales/kn.json +1 -1
  82. package/dist/commonjs/i18n/locales/ko.json +1 -1
  83. package/dist/commonjs/i18n/locales/ml.json +1 -1
  84. package/dist/commonjs/i18n/locales/mr.json +1 -1
  85. package/dist/commonjs/i18n/locales/nl.json +1 -1
  86. package/dist/commonjs/i18n/locales/pa.json +1 -1
  87. package/dist/commonjs/i18n/locales/pl.json +1 -1
  88. package/dist/commonjs/i18n/locales/pt.json +1 -1
  89. package/dist/commonjs/i18n/locales/ru.json +1 -1
  90. package/dist/commonjs/i18n/locales/ta.json +1 -1
  91. package/dist/commonjs/i18n/locales/te.json +1 -1
  92. package/dist/commonjs/i18n/locales/tr.json +1 -1
  93. package/dist/commonjs/i18n/locales/vi.json +1 -1
  94. package/dist/commonjs/i18n/locales/zh.json +1 -1
  95. package/dist/commonjs/index.d.ts +3 -1
  96. package/dist/commonjs/index.js +3 -3
  97. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  98. package/dist/commonjs/native/NativeInspector.js +1 -1
  99. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  100. package/dist/commonjs/types/editor.d.ts +31 -0
  101. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
  102. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  103. package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
  104. package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
  105. package/dist/esm/components/Inspector/CrashTab.js +58 -58
  106. package/dist/esm/components/Inspector/DebuggingTab.js +89 -89
  107. package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
  108. package/dist/esm/components/Inspector/FabLauncher.js +21 -21
  109. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
  110. package/dist/esm/components/Inspector/InspectorHeader.js +26 -26
  111. package/dist/esm/components/Inspector/MediaGalleryTab.js +151 -151
  112. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
  113. package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
  114. package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
  115. package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
  116. package/dist/esm/components/Inspector/NetworkTab.js +118 -111
  117. package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
  118. package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
  119. package/dist/esm/components/Inspector/ReduxTab.js +9 -9
  120. package/dist/esm/components/Inspector/SettingsPanel.js +3 -6
  121. package/dist/esm/components/Inspector/SocketCard.js +13 -13
  122. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  123. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  124. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
  125. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
  126. package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
  127. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  128. package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
  129. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
  130. package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
  131. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  132. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
  133. package/dist/esm/components/Inspector/index.d.ts +28 -0
  134. package/dist/esm/components/Inspector/index.js +1 -0
  135. package/dist/esm/components/LogCard.js +57 -55
  136. package/dist/esm/constants/index.js +1 -1
  137. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  138. package/dist/esm/constants/telemetryConfig.js +1 -1
  139. package/dist/esm/constants/version.d.ts +1 -1
  140. package/dist/esm/constants/version.js +1 -1
  141. package/dist/esm/customHooks/crashHandler.d.ts +1 -1
  142. package/dist/esm/customHooks/crashHandler.js +6 -6
  143. package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
  144. package/dist/esm/customHooks/uiInspectorManager.js +1 -0
  145. package/dist/esm/helpers/index.js +4 -6
  146. package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
  147. package/dist/esm/helpers/searchQueryParser.js +7 -5
  148. package/dist/esm/helpers/shareFormatter.d.ts +16 -0
  149. package/dist/esm/helpers/shareFormatter.js +20 -13
  150. package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
  151. package/dist/esm/helpers/uiInspectorEngine.js +19 -0
  152. package/dist/esm/i18n/locales/ar.json +1 -1
  153. package/dist/esm/i18n/locales/bn.json +1 -1
  154. package/dist/esm/i18n/locales/de.json +1 -1
  155. package/dist/esm/i18n/locales/en.json +1 -1
  156. package/dist/esm/i18n/locales/es.json +1 -1
  157. package/dist/esm/i18n/locales/fr.json +1 -1
  158. package/dist/esm/i18n/locales/gu.json +1 -1
  159. package/dist/esm/i18n/locales/hi.json +1 -1
  160. package/dist/esm/i18n/locales/id.json +1 -1
  161. package/dist/esm/i18n/locales/it.json +1 -1
  162. package/dist/esm/i18n/locales/ja.json +1 -1
  163. package/dist/esm/i18n/locales/kn.json +1 -1
  164. package/dist/esm/i18n/locales/ko.json +1 -1
  165. package/dist/esm/i18n/locales/ml.json +1 -1
  166. package/dist/esm/i18n/locales/mr.json +1 -1
  167. package/dist/esm/i18n/locales/nl.json +1 -1
  168. package/dist/esm/i18n/locales/pa.json +1 -1
  169. package/dist/esm/i18n/locales/pl.json +1 -1
  170. package/dist/esm/i18n/locales/pt.json +1 -1
  171. package/dist/esm/i18n/locales/ru.json +1 -1
  172. package/dist/esm/i18n/locales/ta.json +1 -1
  173. package/dist/esm/i18n/locales/te.json +1 -1
  174. package/dist/esm/i18n/locales/tr.json +1 -1
  175. package/dist/esm/i18n/locales/vi.json +1 -1
  176. package/dist/esm/i18n/locales/zh.json +1 -1
  177. package/dist/esm/index.d.ts +3 -1
  178. package/dist/esm/index.js +7 -7
  179. package/dist/esm/native/NativeInspector.d.ts +2 -0
  180. package/dist/esm/native/NativeInspector.js +1 -1
  181. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  182. package/dist/esm/types/editor.d.ts +31 -0
  183. package/ios/NetworkInspectorModule.mm +314 -16
  184. package/package.json +1 -1
  185. package/src/native/NativeInspector.ts +37 -0
  186. package/src/native/NativeNetworkInspector.ts +2 -0
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { NetworkLog } from '../../types';
3
+ export interface NetworkExportModalProps {
4
+ visible: boolean;
5
+ onClose: () => void;
6
+ filteredLogs: NetworkLog[];
7
+ allLogs: NetworkLog[];
8
+ }
9
+ export declare const NetworkExportModal: React.FC<NetworkExportModalProps>;
10
+ export default NetworkExportModal;
@@ -0,0 +1,333 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,r,n,a){a===void 0&&(a=n);var t=Object.getOwnPropertyDescriptor(r,n);(!t||("get"in t?!r.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return r[n]}}),Object.defineProperty(i,a,t)}):(function(i,r,n,a){a===void 0&&(a=n),i[a]=r[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,r){Object.defineProperty(i,"default",{enumerable:!0,value:r})}):function(i,r){i.default=r}),__importStar=this&&this.__importStar||(function(){var i=function(r){return i=Object.getOwnPropertyNames||function(n){var a=[];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(a[a.length]=t);return a},i(r)};return function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var a=i(r),t=0;t<a.length;t++)a[t]!=="default"&&__createBinding(n,r,a[t]);return __setModuleDefault(n,r),n}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NetworkExportModal=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),NativeInspector_1=require("../../native/NativeInspector"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),i18n_1=require("../../i18n"),NetworkExportModal=({visible:i,onClose:r,filteredLogs:n,allLogs:a})=>{const{t}=(0,i18n_1.useTranslation)(),[k,D]=(0,react_1.useState)("config"),[b,Y]=(0,react_1.useState)("filtered"),[S,Z]=(0,react_1.useState)("all"),[w,M]=(0,react_1.useState)("all"),[q,ee]=(0,react_1.useState)("50"),[B,te]=(0,react_1.useState)(""),[T,oe]=(0,react_1.useState)("txt"),[j,re]=(0,react_1.useState)(!1),[W,ie]=(0,react_1.useState)(!1),[$,ae]=(0,react_1.useState)(!1),[U,ne]=(0,react_1.useState)(!1),[G,le]=(0,react_1.useState)(!1),[K,se]=(0,react_1.useState)(!1),[Q,ce]=(0,react_1.useState)(!1),[ge,J]=(0,react_1.useState)(0),[fe,X]=(0,react_1.useState)(0),[_,pe]=(0,react_1.useState)(""),[A,de]=(0,react_1.useState)(""),[Ce,ue]=(0,react_1.useState)(0),V=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,E=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,F=(0,react_1.useMemo)(()=>{if(!B||B.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp(B.trim(),"i")}}catch(e){return{isValid:!1,error:e?.message||"Invalid pattern",regex:null}}},[B]),P=(0,react_1.useMemo)(()=>({includeRequestHeaders:j,includeRequestBody:W,includeResponseHeaders:$,includeResponseBody:U,includeCurlCommand:G,includeTimestamps:K,includeAppInfo:Q,ignorePattern:w==="custom"&&F.isValid?B.trim():void 0}),[j,W,$,U,G,K,Q,w,F.isValid,B]);(0,react_1.useEffect)(()=>{if(k==="progress"){const e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(E,{toValue:1.05,duration:600,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!0}),react_native_1.Animated.timing(E,{toValue:1,duration:600,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!0})]));return e.start(),()=>e.stop()}},[k,E]),(0,react_1.useEffect)(()=>{i&&(D("config"),M("all"),Z("all"),oe("txt"),ee("50"),te(""),re(!1),ie(!1),ae(!1),ne(!1),le(!1),se(!1),ce(!1),J(0),X(0),pe(""),de(""),ue(0),V.setValue(0))},[i,V]);const I=(0,react_1.useMemo)(()=>b==="filtered"?n:a,[b,n,a]),R=(0,react_1.useMemo)(()=>{let e=0,o=0,C=0,v=0,m=0;return I.forEach(y=>{const x=typeof y.status=="number"?y.status:parseInt(String(y.status),10);y.status===0||y.status==null||!isNaN(x)&&x>=400?o++:!isNaN(x)&&x>=200&&x<400&&e++,(y.duration||0)>=500&&C++;const L=(y.method||"").toUpperCase();L==="POST"&&v++,L==="GET"&&m++}),{all:I.length,success:e,error:o,slow:C,post:v,get:m}},[I]),z=(0,react_1.useMemo)(()=>S==="all"?I:I.filter(e=>{const o=typeof e.status=="number"?e.status:parseInt(String(e.status),10),C=e.status===0||e.status==null||!isNaN(o)&&o>=400,v=!isNaN(o)&&o>=200&&o<400,m=(e.duration||0)>=500,y=(e.method||"").toUpperCase();return S==="success"?v:S==="error"?C:S==="slow"?m:S==="POST"?y==="POST":S==="GET"?y==="GET":!0}),[I,S]),{selectedLogs:h,ignoredCount:O}=(0,react_1.useMemo)(()=>{if(z.length===0)return{selectedLogs:[],ignoredCount:0};let o=z,C=0;if(w==="custom"&&F.regex){const m=F.regex,y=o.length;o=o.filter(x=>{const L=x.url||"",Te=x.method||"",Ae=x.client||"",_e=x.request?JSON.stringify(x.request):"",ve=x.response?JSON.stringify(x.response):"";return!m.test(L)&&!m.test(Te)&&!m.test(Ae)&&!m.test(_e)&&!m.test(ve)}),C=y-o.length}let v=o.length;if(w==="all")v=o.length;else if(w==="custom"){const m=parseInt(q,10);v=isNaN(m)||m<=0?o.length:Math.min(m,o.length)}return{selectedLogs:o.slice(-v),ignoredCount:C}},[z,w,q,F.regex]),N=(0,react_1.useMemo)(()=>(0,shareFormatter_1.estimateNetworkLogsExportSize)(h,T,P),[h,T,P]),H=e=>e<=0?"0 KB":e<1024?`${(e/1024).toFixed(2)} KB`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`,me=(0,react_1.useCallback)(()=>{if(h.length===0){(0,helpers_1.showToast)(t("network.noLogsToExport","No API requests available to export"));return}(0,NativeInspector_1.triggerNativeHaptic)("medium"),D("progress"),J(0),X(0),V.setValue(0);const e=h.length,o=Math.max(1,Math.floor(e/10));let C=0;const v=setInterval(()=>{C=Math.min(C+o,e);const m=C/e;J(Math.round(m*100)),X(C),react_native_1.Animated.timing(V,{toValue:m,duration:120,easing:react_native_1.Easing.linear,useNativeDriver:!1}).start(),C>=e&&(clearInterval(v),setTimeout(()=>{const y=(0,shareFormatter_1.formatNetworkLogsExport)(h,T,P),x=(0,shareFormatter_1.generateNetworkLogsFilename)(T);pe(y),de(x),ue(y.length),D("complete"),(0,NativeInspector_1.triggerNativeHaptic)("heavy")},180))},45)},[h,T,P,V,t]),ye=(0,react_1.useCallback)(async()=>{if(_){(0,NativeInspector_1.triggerNativeHaptic)("light");try{const e=await(0,NativeInspector_1.writeNativeExportFile)(A,_);if(e){const o=T==="json"?"application/json":"text/plain";if(await(0,NativeInspector_1.shareNativeFile)(e,o,A))return}await react_native_1.Share.share({title:A,message:_,url:e||void 0},{dialogTitle:`Share ${A}`,subject:A})}catch(e){e?.message!=="User did not share"&&(0,helpers_1.showToast)(e?.message||"Failed to open share sheet")}}},[_,A,T]),xe=(0,react_1.useCallback)(async()=>{if(_){(0,NativeInspector_1.triggerNativeHaptic)("medium");try{const e=await(0,NativeInspector_1.writeNativeExportFile)(A,_);if(e){const o=T==="json"?"application/json":"text/plain";if(await(0,NativeInspector_1.shareNativeFile)(e,o,`Save ${A}`)){(0,helpers_1.showToast)(t("network.savePromptOpened","Opened save to disk dialog"));return}}await react_native_1.Share.share({title:`Save ${A}`,message:_,url:e||void 0},{dialogTitle:`Save to Disk (${A})`,subject:A}),(0,helpers_1.showToast)(t("network.savePromptOpened","Opened save to disk dialog"))}catch(e){e?.message!=="User did not share"&&(0,helpers_1.showToast)(e?.message||"Save error")}}},[_,A,T,t]),he=(0,react_1.useCallback)(()=>{_&&((0,NativeInspector_1.triggerNativeHaptic)("light"),(0,helpers_1.copyToClipboard)(_,"API Network Logs"),(0,helpers_1.showToast)(t("network.copiedLogs","API requests copied to clipboard!")))},[_,t]),we=n.length!==a.length;return<react_native_1.Modal visible={i}transparent animationType="slide"onRequestClose={r}>
2
+ <react_native_1.View style={styles.overlay}>
3
+ <react_native_1.Pressable style={styles.backdrop}onPress={r}/>
4
+
5
+ <react_native_1.View style={styles.bottomSheetCard}>
6
+
7
+ <react_native_1.View style={styles.sheetHandleContainer}>
8
+ <react_native_1.View style={styles.sheetHandle}/>
9
+ </react_native_1.View>
10
+
11
+
12
+ <react_native_1.View style={styles.headerRow}>
13
+ <react_native_1.View style={styles.headerLeft}>
14
+ <react_native_1.View style={styles.iconBadge}>
15
+ <NetworkIcons_1.ExportIcon size={18}color={AppColors_1.AppColors.purple}/>
16
+ </react_native_1.View>
17
+ <react_native_1.View style={styles.headerTextGroup}>
18
+ <react_native_1.Text style={styles.title}>
19
+ {t("network.exportTitle","Export API Logs")}
20
+ </react_native_1.Text>
21
+ <react_native_1.Text style={styles.subtitle}>
22
+ {k==="config"?`${h.length} requests ready for export`:k==="progress"?"Preparing exported file...":"Export complete"}
23
+ </react_native_1.Text>
24
+ </react_native_1.View>
25
+ </react_native_1.View>
26
+ <TouchableScale_1.default onPress={r}hitSlop={10}style={styles.closeBtn}>
27
+ <NetworkIcons_1.CloseWhite size={12}color={AppColors_1.AppColors.grayTextWeak}/>
28
+ </TouchableScale_1.default>
29
+ </react_native_1.View>
30
+
31
+
32
+ {k==="config"&&<>
33
+ <react_native_1.ScrollView showsVerticalScrollIndicator={!1}contentContainerStyle={styles.configContainer}>
34
+
35
+ {we&&<react_native_1.View style={styles.section}>
36
+ <react_native_1.Text style={styles.sectionLabel}>
37
+ {t("network.exportScope","REQUEST SOURCE SCOPE")}
38
+ </react_native_1.Text>
39
+ <react_native_1.View style={styles.segmentedRow}>
40
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),Y("filtered")}}style={[styles.segmentBtn,b==="filtered"&&styles.segmentBtnActive]}>
41
+ <NetworkIcons_1.FilterIcon size={13}color={b==="filtered"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}/>
42
+ <react_native_1.Text style={[styles.segmentBtnText,b==="filtered"&&styles.segmentBtnTextActive]}>
43
+ {t("network.filteredView","Active Filter")} (
44
+ {n.length})
45
+ </react_native_1.Text>
46
+ </TouchableScale_1.default>
47
+
48
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),Y("all")}}style={[styles.segmentBtn,b==="all"&&styles.segmentBtnActive]}>
49
+ <NetworkIcons_1.LayersIcon size={13}color={b==="all"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}/>
50
+ <react_native_1.Text style={[styles.segmentBtnText,b==="all"&&styles.segmentBtnTextActive]}>
51
+ {t("network.allLogsScope","All Requests")} ({a.length})
52
+ </react_native_1.Text>
53
+ </TouchableScale_1.default>
54
+ </react_native_1.View>
55
+ </react_native_1.View>}
56
+
57
+
58
+ <react_native_1.View style={styles.section}>
59
+ <react_native_1.Text style={styles.sectionLabel}>
60
+ {t("network.logCategoryFilter","REQUEST CATEGORY FILTER")}
61
+ </react_native_1.Text>
62
+ <react_native_1.View style={styles.levelRow}>
63
+ {[{id:"all",label:"All",count:R.all,color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:"success",label:"2xx OK",count:R.success,color:AppColors_1.AppColors.greenColor,Icon:NetworkIcons_1.CircleCheckIcon},{id:"error",label:"Errors",count:R.error,color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.CircleXIcon},{id:"slow",label:"Slow >500ms",count:R.slow,color:AppColors_1.AppColors.warningIconGold,Icon:NetworkIcons_1.ClockIcon},{id:"POST",label:"POST",count:R.post,color:AppColors_1.AppColors.blue500||"#3B82F6",Icon:NetworkIcons_1.RequestIcon},{id:"GET",label:"GET",count:R.get,color:AppColors_1.AppColors.emerald500||"#10B981",Icon:NetworkIcons_1.ResponseIcon}].map(e=>{const o=S===e.id,C=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),Z(e.id)}}style={[styles.levelChip,o&&{backgroundColor:`${e.color}15`,borderColor:e.color}]}>
64
+ <C size={11}color={o?e.color:AppColors_1.AppColors.grayTextWeak}/>
65
+ <react_native_1.Text style={[styles.levelChipText,o&&{color:e.color,fontFamily:AppFonts_1.AppFonts.interBold}]}>
66
+ {e.label}
67
+ </react_native_1.Text>
68
+ <react_native_1.View style={[styles.levelCountBadge,o&&{backgroundColor:`${e.color}25`}]}>
69
+ <react_native_1.Text style={[styles.levelCountText,o&&{color:e.color}]}>
70
+ {e.count}
71
+ </react_native_1.Text>
72
+ </react_native_1.View>
73
+ </TouchableScale_1.default>})}
74
+ </react_native_1.View>
75
+ </react_native_1.View>
76
+
77
+
78
+ <react_native_1.View style={styles.section}>
79
+ <react_native_1.View style={styles.sectionHeaderRow}>
80
+ <react_native_1.Text style={styles.sectionLabel}>
81
+ {t("network.logsCountRange","REQUESTS COUNT RANGE")}
82
+ </react_native_1.Text>
83
+ <react_native_1.View style={styles.countPill}>
84
+ <react_native_1.Text style={styles.countPillText}>
85
+ Matched: {z.length}
86
+ </react_native_1.Text>
87
+ </react_native_1.View>
88
+ </react_native_1.View>
89
+
90
+
91
+ <react_native_1.View style={styles.segmentedRow}>
92
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),M("all")}}style={[styles.segmentBtn,w==="all"&&styles.segmentBtnActive]}>
93
+ <NetworkIcons_1.ZapIcon size={13}color={w==="all"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}/>
94
+ <react_native_1.Text style={[styles.segmentBtnText,w==="all"&&styles.segmentBtnTextActive]}>
95
+ All ({z.length})
96
+ </react_native_1.Text>
97
+ </TouchableScale_1.default>
98
+
99
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),M("custom")}}style={[styles.segmentBtn,w==="custom"&&styles.segmentBtnActive]}>
100
+ <NetworkIcons_1.PenIcon size={12}color={w==="custom"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}/>
101
+ <react_native_1.Text style={[styles.segmentBtnText,w==="custom"&&styles.segmentBtnTextActive]}>
102
+ Custom
103
+ </react_native_1.Text>
104
+ </TouchableScale_1.default>
105
+ </react_native_1.View>
106
+
107
+
108
+ {w==="custom"&&<react_native_1.View style={styles.customOptionsContainer}>
109
+
110
+ <react_native_1.View style={styles.customFieldRow}>
111
+ <react_native_1.Text style={styles.customFieldLabel}>
112
+ {t("network.enterCount","Enter number of requests:")}
113
+ </react_native_1.Text>
114
+ <react_native_1.TextInput keyboardType="number-pad"value={q}onChangeText={ee}style={styles.customCountInput}placeholder="e.g. 50"placeholderTextColor={AppColors_1.AppColors.slate400}/>
115
+ </react_native_1.View>
116
+
117
+
118
+ <react_native_1.View style={styles.regexFieldBlock}>
119
+ <react_native_1.View style={styles.regexLabelRow}>
120
+ <react_native_1.Text style={styles.customFieldLabel}>
121
+ {t("network.ignorePatterns","Ignore Patterns (Regex):")}
122
+ </react_native_1.Text>
123
+ {F.isValid&&O>0&&<react_native_1.View style={styles.regexExclusionBadge}>
124
+ <react_native_1.Text style={styles.regexExclusionBadgeText}>
125
+ -{O} excluded
126
+ </react_native_1.Text>
127
+ </react_native_1.View>}
128
+ </react_native_1.View>
129
+
130
+ <react_native_1.TextInput autoCapitalize="none"autoCorrect={!1}value={B}onChangeText={te}style={[styles.regexInput,!F.isValid&&styles.regexInputError]}placeholder="e.g. ^https://analytics|ping|token=.*"placeholderTextColor={AppColors_1.AppColors.slate400}/>
131
+
132
+ {F.isValid?<react_native_1.Text style={styles.regexHelpText}>
133
+ {t("network.ignorePatternsDesc","Requests matching this regex in URL, headers, or body will be excluded.")}
134
+ </react_native_1.Text>:<react_native_1.Text style={styles.regexErrorText}>
135
+ ⚠️{" "}
136
+ {t("network.invalidRegex","Invalid regular expression syntax")}
137
+ </react_native_1.Text>}
138
+ </react_native_1.View>
139
+ </react_native_1.View>}
140
+ </react_native_1.View>
141
+
142
+
143
+ <react_native_1.View style={styles.section}>
144
+ <react_native_1.Text style={styles.sectionLabel}>
145
+ {t("network.exportFormat","EXPORT FORMAT")}
146
+ </react_native_1.Text>
147
+ <react_native_1.View style={styles.formatRowInline}>
148
+ {[{id:"txt",label:"Plain Text (.txt)",desc:"Universal text with structured banners"},{id:"log",label:"Log File (.log)",desc:"Standard log format with frame blocks"}].map(e=>{const o=T===e.id;return<TouchableScale_1.default key={e.id}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),oe(e.id)}}style={[styles.formatCardInline,o&&styles.formatCardInlineActive]}>
149
+ <react_native_1.View style={styles.formatCardInlineHeader}>
150
+ <react_native_1.View style={[styles.radioCircle,o&&styles.radioCircleActive]}>
151
+ {o&&<react_native_1.View style={styles.radioDot}/>}
152
+ </react_native_1.View>
153
+ <react_native_1.Text style={[styles.formatCardTitle,o&&styles.formatCardTitleActive]}>
154
+ {e.label}
155
+ </react_native_1.Text>
156
+ </react_native_1.View>
157
+ <react_native_1.Text style={styles.formatCardDesc}>{e.desc}</react_native_1.Text>
158
+ </TouchableScale_1.default>})}
159
+ </react_native_1.View>
160
+ </react_native_1.View>
161
+
162
+
163
+ <react_native_1.View style={styles.section}>
164
+ <react_native_1.Text style={styles.sectionLabel}>
165
+ {t("network.contentOptions","CONTENT OPTIONS")}
166
+ </react_native_1.Text>
167
+ <react_native_1.View style={styles.optionsGrid}>
168
+ {[{key:"reqHeaders",label:"Request Headers",value:j,toggle:()=>re(e=>!e)},{key:"reqBody",label:"Request Body / Payload",value:W,toggle:()=>ie(e=>!e)},{key:"resHeaders",label:"Response Headers",value:$,toggle:()=>ae(e=>!e)},{key:"resBody",label:"Response Data / Body",value:U,toggle:()=>ne(e=>!e)},{key:"curl",label:"cURL Command",value:G,toggle:()=>le(e=>!e)},{key:"timestamps",label:"Exact Timestamps & Duration",value:K,toggle:()=>se(e=>!e)},{key:"appinfo",label:"System Header Banner",value:Q,toggle:()=>ce(e=>!e)}].map(e=><TouchableScale_1.default key={e.key}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),e.toggle()}}style={[styles.optionRow,e.value&&styles.optionRowActive]}>
169
+ <react_native_1.View style={[styles.checkbox,e.value&&styles.checkboxActive]}>
170
+ {e.value&&<NetworkIcons_1.CheckIcon size={10}color={AppColors_1.AppColors.white}/>}
171
+ </react_native_1.View>
172
+ <react_native_1.Text style={[styles.optionLabel,e.value&&styles.optionLabelActive]}>
173
+ {e.label}
174
+ </react_native_1.Text>
175
+ </TouchableScale_1.default>)}
176
+ </react_native_1.View>
177
+ </react_native_1.View>
178
+ </react_native_1.ScrollView>
179
+
180
+
181
+ <react_native_1.View style={styles.staticFooter}>
182
+ <react_native_1.View style={styles.footerMinimalSummary}>
183
+ <react_native_1.View style={styles.footerSummaryLeft}>
184
+ <react_native_1.View style={styles.footerSummaryDot}/>
185
+ <react_native_1.Text style={styles.footerSummaryCountText}>
186
+ {h.length} requests
187
+ </react_native_1.Text>
188
+ <react_native_1.Text style={styles.footerSummaryDivider}>•</react_native_1.Text>
189
+ <react_native_1.Text style={styles.footerSummarySizeText}>
190
+ ~{H(N)}
191
+ </react_native_1.Text>
192
+ <react_native_1.Text style={styles.footerSummaryDivider}>•</react_native_1.Text>
193
+ <react_native_1.Text style={styles.footerSummaryFormatText}>
194
+ .{T.toUpperCase()}
195
+ </react_native_1.Text>
196
+ </react_native_1.View>
197
+
198
+ {O>0&&<react_native_1.View style={styles.footerIgnoredPill}>
199
+ <react_native_1.Text style={styles.footerIgnoredPillText}>
200
+ -{O} ignored
201
+ </react_native_1.Text>
202
+ </react_native_1.View>}
203
+ </react_native_1.View>
204
+
205
+ <TouchableScale_1.default onPress={me}disabled={h.length===0}style={[styles.exportActionBtn,h.length===0&&styles.exportActionBtnDisabled]}>
206
+ <NetworkIcons_1.ExportIcon size={17}color={AppColors_1.AppColors.white}/>
207
+ <react_native_1.Text style={styles.exportActionBtnText}>
208
+ {t("network.exportLogsAction",{count:h.length,size:H(N),defaultValue:`Export ${h.length} Requests (${H(N)})`})}
209
+ </react_native_1.Text>
210
+ </TouchableScale_1.default>
211
+ </react_native_1.View>
212
+ </>}
213
+
214
+
215
+ {k==="progress"&&<react_native_1.View style={styles.progressContainer}>
216
+ <react_native_1.Animated.View style={[styles.progressIconBadge,{transform:[{scale:E}]}]}>
217
+ <NetworkIcons_1.ExportIcon size={30}color={AppColors_1.AppColors.purple}/>
218
+ </react_native_1.Animated.View>
219
+
220
+ <react_native_1.Text style={styles.progressHeading}>
221
+ {t("network.exportingLogs","Exporting API Requests...")}
222
+ </react_native_1.Text>
223
+ <react_native_1.Text style={styles.progressSub}>
224
+ {t("network.processingItem","Processing")} {fe} /{" "}
225
+ {h.length} {t("network.records","records")} (
226
+ {ge}%)
227
+ </react_native_1.Text>
228
+
229
+
230
+ <react_native_1.View style={styles.progressTrack}>
231
+ <react_native_1.Animated.View style={[styles.progressBar,{width:V.interpolate({inputRange:[0,1],outputRange:["0%","100%"]})}]}/>
232
+ </react_native_1.View>
233
+
234
+ <react_native_1.Text style={styles.progressFootnote}>
235
+ Formatting .{T.toUpperCase()} payload with structured details •{" "}
236
+ {H(N)}
237
+ </react_native_1.Text>
238
+ </react_native_1.View>}
239
+
240
+
241
+ {k==="complete"&&<react_native_1.View style={styles.completeContainer}>
242
+ <react_native_1.View style={styles.completeSuccessBadge}>
243
+ <NetworkIcons_1.CircleCheckIcon size={34}color={AppColors_1.AppColors.emerald500}/>
244
+ </react_native_1.View>
245
+
246
+ <react_native_1.Text style={styles.completeTitle}>
247
+ {t("network.exportSuccessTitle","API Export Ready!")}
248
+ </react_native_1.Text>
249
+ <react_native_1.Text style={styles.completeSub}>
250
+ {t("network.exportSuccessDesc","Generated full formatted API request bundle ready to share or save.")}
251
+ </react_native_1.Text>
252
+
253
+
254
+ <react_native_1.View style={styles.fileDetailsCard}>
255
+ <react_native_1.View style={styles.fileDetailsRow}>
256
+ <react_native_1.Text style={styles.fileDetailLabel}>
257
+ 📁 {t("network.exportFileLabel","File:")}
258
+ </react_native_1.Text>
259
+ <react_native_1.Text style={styles.fileDetailValue}numberOfLines={1}>
260
+ {A}
261
+ </react_native_1.Text>
262
+ </react_native_1.View>
263
+ <react_native_1.View style={styles.fileDetailsRow}>
264
+ <react_native_1.Text style={styles.fileDetailLabel}>
265
+ 📊 {t("network.exportLogCountLabel","Request Count:")}
266
+ </react_native_1.Text>
267
+ <react_native_1.Text style={styles.fileDetailValue}>
268
+ {h.length} requests
269
+ </react_native_1.Text>
270
+ </react_native_1.View>
271
+ <react_native_1.View style={styles.fileDetailsRow}>
272
+ <react_native_1.Text style={styles.fileDetailLabel}>
273
+ 💾 {t("network.exportFinalSizeLabel","Final Size:")}
274
+ </react_native_1.Text>
275
+ <react_native_1.Text style={[styles.fileDetailValue,{color:AppColors_1.AppColors.emerald500,fontFamily:AppFonts_1.AppFonts.interBold}]}>
276
+ {H(Ce)}
277
+ </react_native_1.Text>
278
+ </react_native_1.View>
279
+ <react_native_1.View style={styles.fileDetailsRow}>
280
+ <react_native_1.Text style={styles.fileDetailLabel}>
281
+ ⚙️ {t("network.exportFormatLabel","Format:")}
282
+ </react_native_1.Text>
283
+ <react_native_1.Text style={styles.fileDetailValue}>
284
+ .{T.toUpperCase()}
285
+ </react_native_1.Text>
286
+ </react_native_1.View>
287
+ </react_native_1.View>
288
+
289
+
290
+ <react_native_1.View style={styles.actionButtonGroup}>
291
+
292
+ <TouchableScale_1.default onPress={ye}style={[styles.primaryActionBtn,styles.shareBtn]}>
293
+ <NetworkIcons_1.ShareIcon size={15}color={AppColors_1.AppColors.white}/>
294
+ <react_native_1.Text style={styles.primaryActionBtnText}>
295
+ {t("network.shareReport","Share Requests")}
296
+ </react_native_1.Text>
297
+ </TouchableScale_1.default>
298
+
299
+
300
+ <TouchableScale_1.default onPress={xe}style={[styles.primaryActionBtn,styles.saveDiskBtn]}>
301
+ <NetworkIcons_1.SaveIcon size={15}color={AppColors_1.AppColors.white}/>
302
+ <react_native_1.Text style={styles.primaryActionBtnText}>
303
+ {t("network.saveToDisk","Save to Disk")}
304
+ </react_native_1.Text>
305
+ </TouchableScale_1.default>
306
+
307
+
308
+ <TouchableScale_1.default onPress={he}style={styles.secondaryActionBtn}>
309
+ <NetworkIcons_1.CopyIcon size={14}color={AppColors_1.AppColors.purple}/>
310
+ <react_native_1.Text style={styles.secondaryActionBtnText}>
311
+ {t("network.copyToClipboard","Copy Content")}
312
+ </react_native_1.Text>
313
+ </TouchableScale_1.default>
314
+ </react_native_1.View>
315
+
316
+
317
+ <react_native_1.View style={styles.bottomFooterRow}>
318
+ <TouchableScale_1.default onPress={()=>D("config")}style={styles.textBtn}>
319
+ <react_native_1.Text style={styles.textBtnText}>
320
+ {t("network.exportAnother","\u2190 Export Another")}
321
+ </react_native_1.Text>
322
+ </TouchableScale_1.default>
323
+
324
+ <TouchableScale_1.default onPress={r}style={styles.doneBtn}>
325
+ <react_native_1.Text style={styles.doneBtnText}>
326
+ {t("common.done","Done")}
327
+ </react_native_1.Text>
328
+ </TouchableScale_1.default>
329
+ </react_native_1.View>
330
+ </react_native_1.View>}
331
+ </react_native_1.View>
332
+ </react_native_1.View>
333
+ </react_native_1.Modal>};exports.NetworkExportModal=NetworkExportModal;const styles=react_native_1.StyleSheet.create({overlay:{flex:1,backgroundColor:"rgba(0,0,0,0.55)",justifyContent:"flex-end"},backdrop:{...react_native_1.StyleSheet.absoluteFillObject},bottomSheetCard:{width:"100%",maxHeight:"86%",backgroundColor:AppColors_1.AppColors.white,borderTopLeftRadius:24,borderTopRightRadius:24,overflow:"hidden",shadowColor:"#000",shadowOffset:{width:0,height:-6},shadowOpacity:.18,shadowRadius:16,elevation:24},sheetHandleContainer:{width:"100%",alignItems:"center",paddingTop:8,paddingBottom:4,backgroundColor:"#FAF9FE"},sheetHandle:{width:38,height:4,borderRadius:2,backgroundColor:`${AppColors_1.AppColors.grayTextWeak}40`},headerRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingVertical:12,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,backgroundColor:"#FAF9FE",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:4,elevation:3},headerLeft:{flexDirection:"row",alignItems:"center",gap:12,flex:1},headerTextGroup:{gap:2},iconBadge:{width:36,height:36,borderRadius:10,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}28`,justifyContent:"center",alignItems:"center"},title:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:15.5,lineHeight:20,color:AppColors_1.AppColors.primaryBlack,letterSpacing:-.2},subtitle:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextWeak},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:AppColors_1.AppColors.dividerColor,justifyContent:"center",alignItems:"center"},configContainer:{padding:16,gap:14},section:{gap:7},sectionHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},sectionLabel:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.6},levelRow:{flexDirection:"row",flexWrap:"wrap",gap:6},levelChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:5.5,borderRadius:8,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:5},levelChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.primaryBlack},levelCountBadge:{backgroundColor:"rgba(0,0,0,0.06)",paddingHorizontal:4.5,paddingVertical:1,borderRadius:5},levelCountText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayTextStrong},countPill:{backgroundColor:`${AppColors_1.AppColors.purple}12`,paddingHorizontal:8,paddingVertical:2,borderRadius:6},countPillText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,color:AppColors_1.AppColors.purple},segmentedRow:{flexDirection:"row",gap:7},segmentBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:8.5,borderRadius:9,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},segmentBtnActive:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:AppColors_1.AppColors.purple},segmentBtnText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},segmentBtnTextActive:{color:AppColors_1.AppColors.purple,fontFamily:AppFonts_1.AppFonts.interBold},customOptionsContainer:{marginTop:8,padding:12,backgroundColor:"#F8FAFC",borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:12},customFieldRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10},customFieldLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack,flex:1},customCountInput:{width:75,height:32,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,borderRadius:7,backgroundColor:AppColors_1.AppColors.white,paddingHorizontal:8,paddingVertical:4,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.primaryBlack,textAlign:"center"},regexFieldBlock:{gap:5},regexLabelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},regexExclusionBadge:{backgroundColor:`${AppColors_1.AppColors.errorColor}15`,paddingHorizontal:6,paddingVertical:1,borderRadius:4},regexExclusionBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.errorColor},regexInput:{height:34,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,borderRadius:7,backgroundColor:AppColors_1.AppColors.white,paddingHorizontal:10,fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack},regexInputError:{borderColor:AppColors_1.AppColors.errorColor,backgroundColor:"#FFF5F5"},regexErrorText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.errorColor,marginTop:2},regexHelpText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak,marginTop:2},formatRowInline:{flexDirection:"row",gap:8},formatCardInline:{flex:1,padding:10,borderRadius:10,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:4},formatCardInlineActive:{backgroundColor:`${AppColors_1.AppColors.purple}0C`,borderColor:AppColors_1.AppColors.purple},formatCardInlineHeader:{flexDirection:"row",alignItems:"center",gap:6},radioCircle:{width:14,height:14,borderRadius:7,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,justifyContent:"center",alignItems:"center"},radioCircleActive:{borderColor:AppColors_1.AppColors.purple},radioDot:{width:7,height:7,borderRadius:3.5,backgroundColor:AppColors_1.AppColors.purple},formatCardTitle:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},formatCardTitleActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.purple},formatCardDesc:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak,paddingLeft:20},optionsGrid:{gap:6},optionRow:{flexDirection:"row",alignItems:"center",paddingVertical:7,paddingHorizontal:10,borderRadius:8,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:8},optionRowActive:{backgroundColor:`${AppColors_1.AppColors.purple}0A`,borderColor:`${AppColors_1.AppColors.purple}30`},checkbox:{width:16,height:16,borderRadius:4,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,justifyContent:"center",alignItems:"center",backgroundColor:AppColors_1.AppColors.white},checkboxActive:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},optionLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},optionLabelActive:{color:AppColors_1.AppColors.primaryBlack,fontFamily:AppFonts_1.AppFonts.interSemiBold},staticFooter:{paddingHorizontal:16,paddingTop:10,paddingBottom:16,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor,backgroundColor:"#FAF9FE",gap:10},footerMinimalSummary:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},footerSummaryLeft:{flexDirection:"row",alignItems:"center",gap:6},footerSummaryDot:{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.emerald500||"#10B981"},footerSummaryCountText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},footerSummaryDivider:{fontSize:10,color:AppColors_1.AppColors.grayTextWeak},footerSummarySizeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.purple},footerSummaryFormatText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak},footerIgnoredPill:{backgroundColor:`${AppColors_1.AppColors.errorColor}12`,paddingHorizontal:7,paddingVertical:1.5,borderRadius:5},footerIgnoredPillText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10,color:AppColors_1.AppColors.errorColor},exportActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.purple,paddingVertical:12,borderRadius:12,gap:7,shadowColor:AppColors_1.AppColors.purple,shadowOffset:{width:0,height:4},shadowOpacity:.25,shadowRadius:8,elevation:4},exportActionBtnDisabled:{opacity:.5},exportActionBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:17,color:AppColors_1.AppColors.white,letterSpacing:.1},progressContainer:{padding:28,alignItems:"center",justifyContent:"center"},progressIconBadge:{width:60,height:60,borderRadius:30,backgroundColor:`${AppColors_1.AppColors.purple}18`,justifyContent:"center",alignItems:"center",marginBottom:14},progressHeading:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:15.5,lineHeight:21,color:AppColors_1.AppColors.primaryBlack,marginBottom:3},progressSub:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,lineHeight:16,color:AppColors_1.AppColors.grayTextWeak,marginBottom:18},progressTrack:{width:"100%",height:9,backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:4.5,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,marginBottom:10},progressBar:{height:"100%",backgroundColor:AppColors_1.AppColors.purple,borderRadius:4.5},progressFootnote:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak},completeContainer:{padding:20,alignItems:"center"},completeSuccessBadge:{width:58,height:58,borderRadius:29,backgroundColor:`${AppColors_1.AppColors.emerald500}18`,justifyContent:"center",alignItems:"center",marginBottom:12},completeTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:16.5,lineHeight:22,color:AppColors_1.AppColors.primaryBlack},completeSub:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,lineHeight:16,color:AppColors_1.AppColors.grayTextWeak,textAlign:"center",marginTop:3,marginBottom:16},fileDetailsCard:{width:"100%",backgroundColor:"#F8FAFC",borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:7,marginBottom:16},fileDetailsRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},fileDetailLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},fileDetailValue:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack},actionButtonGroup:{width:"100%",gap:8,marginBottom:14},primaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:12,borderRadius:10,gap:7},shareBtn:{backgroundColor:AppColors_1.AppColors.purple,shadowColor:AppColors_1.AppColors.purple,shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},saveDiskBtn:{backgroundColor:AppColors_1.AppColors.teal600||"#0D9488",shadowColor:AppColors_1.AppColors.teal600||"#0D9488",shadowOffset:{width:0,height:3},shadowOpacity:.2,shadowRadius:6,elevation:3},primaryActionBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,color:AppColors_1.AppColors.white},secondaryActionBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:10,borderRadius:10,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}40`,backgroundColor:`${AppColors_1.AppColors.purple}0C`,gap:6},secondaryActionBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:12,lineHeight:15,color:AppColors_1.AppColors.purple},bottomFooterRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%",paddingTop:8,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},textBtn:{paddingVertical:5,paddingHorizontal:8},textBtnText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},doneBtn:{paddingVertical:5,paddingHorizontal:14,borderRadius:6,backgroundColor:AppColors_1.AppColors.dividerColor},doneBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack}});exports.default=exports.NetworkExportModal;