react-native-inapp-inspector 2.5.8 → 2.5.10

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 (97) hide show
  1. package/dist/commonjs/components/BrandCircleIcon.js +8 -3
  2. package/dist/commonjs/components/Inspector/ConsoleExportModal.d.ts +10 -0
  3. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +317 -0
  4. package/dist/commonjs/components/Inspector/ConsoleTab.js +20 -15
  5. package/dist/commonjs/components/Inspector/FabLauncher.js +8 -8
  6. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
  7. package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -45
  8. package/dist/commonjs/components/Inspector/MainScreen.js +1 -1
  9. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +34 -20
  10. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +49 -44
  11. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +5 -5
  12. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +3 -3
  13. package/dist/commonjs/components/SkeletonPlaceholder.js +3 -3
  14. package/dist/commonjs/constants/version.d.ts +1 -1
  15. package/dist/commonjs/constants/version.js +1 -1
  16. package/dist/commonjs/customHooks/networkLogger.d.ts +1 -17
  17. package/dist/commonjs/customHooks/networkLogger.js +1 -1
  18. package/dist/commonjs/helpers/shareFormatter.d.ts +15 -0
  19. package/dist/commonjs/helpers/shareFormatter.js +15 -8
  20. package/dist/commonjs/i18n/locales/ar.json +1 -1
  21. package/dist/commonjs/i18n/locales/bn.json +1 -1
  22. package/dist/commonjs/i18n/locales/de.json +1 -1
  23. package/dist/commonjs/i18n/locales/en.json +1 -1
  24. package/dist/commonjs/i18n/locales/es.json +1 -1
  25. package/dist/commonjs/i18n/locales/fr.json +1 -1
  26. package/dist/commonjs/i18n/locales/gu.json +1 -1
  27. package/dist/commonjs/i18n/locales/hi.json +1 -1
  28. package/dist/commonjs/i18n/locales/id.json +1 -1
  29. package/dist/commonjs/i18n/locales/it.json +1 -1
  30. package/dist/commonjs/i18n/locales/ja.json +1 -1
  31. package/dist/commonjs/i18n/locales/kn.json +1 -1
  32. package/dist/commonjs/i18n/locales/ko.json +1 -1
  33. package/dist/commonjs/i18n/locales/ml.json +1 -1
  34. package/dist/commonjs/i18n/locales/mr.json +1 -1
  35. package/dist/commonjs/i18n/locales/nl.json +1 -1
  36. package/dist/commonjs/i18n/locales/pa.json +1 -1
  37. package/dist/commonjs/i18n/locales/pl.json +1 -1
  38. package/dist/commonjs/i18n/locales/pt.json +1 -1
  39. package/dist/commonjs/i18n/locales/ru.json +1 -1
  40. package/dist/commonjs/i18n/locales/ta.json +1 -1
  41. package/dist/commonjs/i18n/locales/te.json +1 -1
  42. package/dist/commonjs/i18n/locales/tr.json +1 -1
  43. package/dist/commonjs/i18n/locales/vi.json +1 -1
  44. package/dist/commonjs/i18n/locales/zh.json +1 -1
  45. package/dist/commonjs/index.js +1 -1
  46. package/dist/commonjs/styles/index.d.ts +3 -0
  47. package/dist/commonjs/styles/index.js +1 -1
  48. package/dist/commonjs/types/interfaces.d.ts +4 -2
  49. package/dist/esm/components/BrandCircleIcon.js +9 -4
  50. package/dist/esm/components/Inspector/ConsoleExportModal.d.ts +10 -0
  51. package/dist/esm/components/Inspector/ConsoleExportModal.js +317 -0
  52. package/dist/esm/components/Inspector/ConsoleTab.js +38 -33
  53. package/dist/esm/components/Inspector/FabLauncher.js +1 -1
  54. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +9 -9
  55. package/dist/esm/components/Inspector/InspectorHeader.js +75 -90
  56. package/dist/esm/components/Inspector/MainScreen.js +1 -1
  57. package/dist/esm/components/Inspector/MediaGalleryTab.js +88 -74
  58. package/dist/esm/components/Inspector/MediaPreviewModal.js +178 -173
  59. package/dist/esm/components/Inspector/NpmUpdateToast.js +18 -18
  60. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +11 -11
  61. package/dist/esm/components/SkeletonPlaceholder.js +11 -11
  62. package/dist/esm/constants/version.d.ts +1 -1
  63. package/dist/esm/constants/version.js +1 -1
  64. package/dist/esm/customHooks/networkLogger.d.ts +1 -17
  65. package/dist/esm/customHooks/networkLogger.js +1 -1
  66. package/dist/esm/helpers/shareFormatter.d.ts +15 -0
  67. package/dist/esm/helpers/shareFormatter.js +15 -8
  68. package/dist/esm/i18n/locales/ar.json +1 -1
  69. package/dist/esm/i18n/locales/bn.json +1 -1
  70. package/dist/esm/i18n/locales/de.json +1 -1
  71. package/dist/esm/i18n/locales/en.json +1 -1
  72. package/dist/esm/i18n/locales/es.json +1 -1
  73. package/dist/esm/i18n/locales/fr.json +1 -1
  74. package/dist/esm/i18n/locales/gu.json +1 -1
  75. package/dist/esm/i18n/locales/hi.json +1 -1
  76. package/dist/esm/i18n/locales/id.json +1 -1
  77. package/dist/esm/i18n/locales/it.json +1 -1
  78. package/dist/esm/i18n/locales/ja.json +1 -1
  79. package/dist/esm/i18n/locales/kn.json +1 -1
  80. package/dist/esm/i18n/locales/ko.json +1 -1
  81. package/dist/esm/i18n/locales/ml.json +1 -1
  82. package/dist/esm/i18n/locales/mr.json +1 -1
  83. package/dist/esm/i18n/locales/nl.json +1 -1
  84. package/dist/esm/i18n/locales/pa.json +1 -1
  85. package/dist/esm/i18n/locales/pl.json +1 -1
  86. package/dist/esm/i18n/locales/pt.json +1 -1
  87. package/dist/esm/i18n/locales/ru.json +1 -1
  88. package/dist/esm/i18n/locales/ta.json +1 -1
  89. package/dist/esm/i18n/locales/te.json +1 -1
  90. package/dist/esm/i18n/locales/tr.json +1 -1
  91. package/dist/esm/i18n/locales/vi.json +1 -1
  92. package/dist/esm/i18n/locales/zh.json +1 -1
  93. package/dist/esm/index.js +4 -4
  94. package/dist/esm/styles/index.d.ts +3 -0
  95. package/dist/esm/styles/index.js +1 -1
  96. package/dist/esm/types/interfaces.d.ts +4 -2
  97. package/package.json +1 -1
@@ -1,5 +1,8 @@
1
1
  "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,i,r){r===void 0&&(r=i);var o=Object.getOwnPropertyDescriptor(e,i);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[i]}}),Object.defineProperty(t,r,o)}):(function(t,e,i,r){r===void 0&&(r=i),t[r]=e[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(i){var r=[];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var i={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&__createBinding(i,e,r[o]);return __setModuleDefault(i,e),i}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BrandCircleIcon=void 0;const react_1=__importDefault(require("react")),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),BrandCircleIcon=({size:t=56})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 256 256"fill="none">
2
2
  <react_native_svg_1.Defs>
3
+ <react_native_svg_1.ClipPath id="brand_circle_clip">
4
+ <react_native_svg_1.Circle cx="128"cy="128"r="127"/>
5
+ </react_native_svg_1.ClipPath>
3
6
  <react_native_svg_1.LinearGradient id="tile"x1="30"y1="30"x2="210"y2="222"gradientUnits="userSpaceOnUse">
4
7
  <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.navy900}/>
5
8
  <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy950}/>
@@ -52,9 +55,10 @@
52
55
  <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy700}/>
53
56
  </react_native_svg_1.LinearGradient>
54
57
  </react_native_svg_1.Defs>
55
- <react_native_svg_1.Circle cx="128"cy="128"r="122"fill="url(#tile)"/>
56
- <react_native_svg_1.Circle cx="128"cy="128"r="121.4"fill="none"stroke="url(#edge)"strokeOpacity={.7}strokeWidth={1.4}/>
57
- <react_native_svg_1.Circle cx="128"cy="128"r="100"fill="url(#halo)"/>
58
+ <react_native_svg_1.Circle cx="128"cy="128"r="127"fill="url(#tile)"/>
59
+ <react_native_svg_1.Circle cx="128"cy="128"r="126"fill="none"stroke="url(#edge)"strokeOpacity={.7}strokeWidth={1.5}/>
60
+ <react_native_svg_1.Circle cx="128"cy="128"r="110"fill="url(#halo)"/>
61
+ <react_native_svg_1.G clipPath="url(#brand_circle_clip)">
58
62
  <react_native_svg_1.G transform="translate(128 132) scale(1.05) translate(-128 -134)">
59
63
 
60
64
  <react_native_svg_1.Path d="M74 124 C58 154 60 190 86 204 C79 176 77 148 88 126 Z"fill="url(#wing)"stroke="url(#beam)"strokeWidth={2.5}strokeOpacity={.45}/>
@@ -132,4 +136,5 @@
132
136
  <react_native_svg_1.Ellipse cx={83}cy={127}rx={9}ry={6}fill="url(#blush)"/>
133
137
  <react_native_svg_1.Ellipse cx={167}cy={122}rx={9}ry={6}fill="url(#blush)"/>
134
138
  </react_native_svg_1.G>
139
+ </react_native_svg_1.G>
135
140
  </react_native_svg_1.default>;exports.BrandCircleIcon=BrandCircleIcon,exports.default=exports.BrandCircleIcon;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ConsoleLog } from '../../types';
3
+ export interface ConsoleExportModalProps {
4
+ visible: boolean;
5
+ onClose: () => void;
6
+ filteredLogs: ConsoleLog[];
7
+ allLogs: ConsoleLog[];
8
+ }
9
+ export declare const ConsoleExportModal: React.FC<ConsoleExportModalProps>;
10
+ export default ConsoleExportModal;
@@ -0,0 +1,317 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,r,n,l){l===void 0&&(l=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,l,t)}):(function(i,r,n,l){l===void 0&&(l=n),i[l]=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 l=[];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(l[l.length]=t);return l},i(r)};return function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var l=i(r),t=0;t<l.length;t++)l[t]!=="default"&&__createBinding(n,r,l[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.ConsoleExportModal=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"),ConsoleExportModal=({visible:i,onClose:r,filteredLogs:n,allLogs:l})=>{const{t}=(0,i18n_1.useTranslation)(),[A,I]=(0,react_1.useState)("config"),[T,U]=(0,react_1.useState)("filtered"),[b,K]=(0,react_1.useState)("info"),[s,P]=(0,react_1.useState)("all"),[O,J]=(0,react_1.useState)("50"),[v,X]=(0,react_1.useState)(""),[x,Z]=(0,react_1.useState)("txt"),[M,Q]=(0,react_1.useState)(!1),[W,Y]=(0,react_1.useState)(!1),[j,ee]=(0,react_1.useState)(!1),[N,te]=(0,react_1.useState)(!1),[$,oe]=(0,react_1.useState)(!1),[ne,q]=(0,react_1.useState)(0),[ae,G]=(0,react_1.useState)(0),[y,re]=(0,react_1.useState)(""),[h,ie]=(0,react_1.useState)(""),[se,le]=(0,react_1.useState)(0),S=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,R=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,w=(0,react_1.useMemo)(()=>{if(!v||v.trim().length===0)return{isValid:!0,error:null,regex:null};try{return{isValid:!0,error:null,regex:new RegExp(v.trim(),"i")}}catch(e){return{isValid:!1,error:e?.message||"Invalid pattern",regex:null}}},[v]),z=(0,react_1.useMemo)(()=>({includeStackTrace:M,includeArguments:W,includeCaller:j,includeTimestamps:N,includeAppInfo:$,includeDuplicates:!1,ignorePattern:s==="custom"&&w.isValid?v.trim():void 0}),[M,W,j,N,$,s,w.isValid,v]);(0,react_1.useEffect)(()=>{if(A==="progress"){const e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(R,{toValue:1.05,duration:600,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!0}),react_native_1.Animated.timing(R,{toValue:1,duration:600,easing:react_native_1.Easing.inOut(react_native_1.Easing.ease),useNativeDriver:!0})]));return e.start(),()=>e.stop()}},[A,R]),(0,react_1.useEffect)(()=>{i&&(I("config"),P("all"),K("info"),Z("txt"),J("50"),X(""),Q(!1),Y(!1),ee(!1),te(!1),oe(!1),q(0),G(0),re(""),ie(""),le(0),S.setValue(0))},[i,S]);const V=(0,react_1.useMemo)(()=>T==="filtered"?n:l,[T,n,l]),B=(0,react_1.useMemo)(()=>b==="all"?V:V.filter(e=>b==="info"?e.type==="info"||e.sourceMethod==="log"||e.sourceMethod==="info":b==="warn"?e.type==="warn":b==="error"?e.type==="error":!0),[V,b]),D=(0,react_1.useMemo)(()=>{let e=0,o=0,C=0;return V.forEach(_=>{_.type==="error"?C++:_.type==="warn"?o++:e++}),{all:V.length,info:e,warn:o,error:C}},[V]),{selectedLogs:a,ignoredCount:H}=(0,react_1.useMemo)(()=>{if(B.length===0)return{selectedLogs:[],ignoredCount:0};let o=B,C=0;if(s==="custom"&&w.regex){const m=w.regex,E=o.length;o=o.filter(F=>{const fe=F.message||"",Ce=F.rawArgs?JSON.stringify(F.rawArgs):"",me=F.caller||"";return!m.test(fe)&&!m.test(Ce)&&!m.test(me)}),C=E-o.length}let _=o.length;if(s==="all")_=o.length;else if(s==="custom"){const m=parseInt(O,10);_=isNaN(m)||m<=0?o.length:Math.min(m,o.length)}return{selectedLogs:o.slice(-_),ignoredCount:C}},[B,s,O,w.regex]),L=(0,react_1.useMemo)(()=>(0,shareFormatter_1.estimateConsoleLogsExportSize)(a,x,z),[a,x,z]),k=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`,ce=(0,react_1.useCallback)(()=>{if(a.length===0){(0,helpers_1.showToast)(t("console.noLogsToExport","No logs available to export"));return}(0,NativeInspector_1.triggerNativeHaptic)("medium"),I("progress"),q(0),G(0),S.setValue(0);const e=a.length,o=Math.max(1,Math.floor(e/10));let C=0;const _=setInterval(()=>{C=Math.min(C+o,e);const m=C/e;q(Math.round(m*100)),G(C),react_native_1.Animated.timing(S,{toValue:m,duration:120,easing:react_native_1.Easing.linear,useNativeDriver:!1}).start(),C>=e&&(clearInterval(_),setTimeout(()=>{const E=(0,shareFormatter_1.formatConsoleLogsExport)(a,x,z),F=(0,shareFormatter_1.generateConsoleLogsFilename)(x);re(E),ie(F),le(E.length),I("complete"),(0,NativeInspector_1.triggerNativeHaptic)("heavy")},180))},45)},[a,x,z,S,t]),pe=(0,react_1.useCallback)(async()=>{if(y){(0,NativeInspector_1.triggerNativeHaptic)("light");try{await react_native_1.Share.share({title:h,message:y},{dialogTitle:`Share ${h}`,subject:h})}catch(e){e?.message!=="User did not share"&&(0,helpers_1.showToast)(e?.message||"Failed to open share sheet")}}},[y,h]),de=(0,react_1.useCallback)(async()=>{if(y){(0,NativeInspector_1.triggerNativeHaptic)("medium");try{await react_native_1.Share.share({title:`Save ${h}`,message:y},{dialogTitle:`Save to Disk (${h})`,subject:h}),(0,helpers_1.showToast)(t("console.savePromptOpened","Opened save to disk dialog"))}catch(e){e?.message!=="User did not share"&&(0,helpers_1.showToast)(e?.message||"Save error")}}},[y,h,t]),ge=(0,react_1.useCallback)(()=>{y&&((0,NativeInspector_1.triggerNativeHaptic)("light"),(0,helpers_1.copyToClipboard)(y,"Console Logs"),(0,helpers_1.showToast)(t("console.copiedLogs","Logs copied to clipboard!")))},[y,t]),ue=n.length!==l.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("console.exportTitle","Export Console Logs")}
20
+ </react_native_1.Text>
21
+ <react_native_1.Text style={styles.subtitle}>
22
+ {A==="config"?`${a.length} logs ready for export`:A==="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
+ {A==="config"&&<>
33
+ <react_native_1.ScrollView showsVerticalScrollIndicator={!1}contentContainerStyle={styles.configContainer}>
34
+
35
+ {ue&&<react_native_1.View style={styles.section}>
36
+ <react_native_1.Text style={styles.sectionLabel}>
37
+ {t("console.exportScope","LOG 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"),U("filtered")}}style={[styles.segmentBtn,T==="filtered"&&styles.segmentBtnActive]}>
41
+ <NetworkIcons_1.FilterIcon size={13}color={T==="filtered"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}/>
42
+ <react_native_1.Text style={[styles.segmentBtnText,T==="filtered"&&styles.segmentBtnTextActive]}>
43
+ {t("console.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"),U("all")}}style={[styles.segmentBtn,T==="all"&&styles.segmentBtnActive]}>
49
+ <NetworkIcons_1.LayersIcon size={13}color={T==="all"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}/>
50
+ <react_native_1.Text style={[styles.segmentBtnText,T==="all"&&styles.segmentBtnTextActive]}>
51
+ {t("console.allLogsScope","All Logs")} ({l.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}>LOG LEVEL FILTER</react_native_1.Text>
60
+ <react_native_1.View style={styles.levelRow}>
61
+ {[{id:"all",label:"All",count:D.all,color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:"info",label:"Info / Log",count:D.info,color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:"warn",label:"Warn",count:D.warn,color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:"error",label:"Error",count:D.error,color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon}].map(e=>{const o=b===e.id,C=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),K(e.id)}}style={[styles.levelChip,o&&{backgroundColor:`${e.color}15`,borderColor:e.color}]}>
62
+ <C size={11}color={o?e.color:AppColors_1.AppColors.grayTextWeak}/>
63
+ <react_native_1.Text style={[styles.levelChipText,o&&{color:e.color,fontFamily:AppFonts_1.AppFonts.interBold}]}>
64
+ {e.label}
65
+ </react_native_1.Text>
66
+ <react_native_1.View style={[styles.levelCountBadge,o&&{backgroundColor:`${e.color}25`}]}>
67
+ <react_native_1.Text style={[styles.levelCountText,o&&{color:e.color}]}>
68
+ {e.count}
69
+ </react_native_1.Text>
70
+ </react_native_1.View>
71
+ </TouchableScale_1.default>})}
72
+ </react_native_1.View>
73
+ </react_native_1.View>
74
+
75
+
76
+ <react_native_1.View style={styles.section}>
77
+ <react_native_1.View style={styles.sectionHeaderRow}>
78
+ <react_native_1.Text style={styles.sectionLabel}>LOGS COUNT RANGE</react_native_1.Text>
79
+ <react_native_1.View style={styles.countPill}>
80
+ <react_native_1.Text style={styles.countPillText}>
81
+ Matched: {B.length}
82
+ </react_native_1.Text>
83
+ </react_native_1.View>
84
+ </react_native_1.View>
85
+
86
+
87
+ <react_native_1.View style={styles.segmentedRow}>
88
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),P("all")}}style={[styles.segmentBtn,s==="all"&&styles.segmentBtnActive]}>
89
+ <NetworkIcons_1.ZapIcon size={13}color={s==="all"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}/>
90
+ <react_native_1.Text style={[styles.segmentBtnText,s==="all"&&styles.segmentBtnTextActive]}>
91
+ All ({B.length})
92
+ </react_native_1.Text>
93
+ </TouchableScale_1.default>
94
+
95
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),P("custom")}}style={[styles.segmentBtn,s==="custom"&&styles.segmentBtnActive]}>
96
+ <NetworkIcons_1.PenIcon size={12}color={s==="custom"?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextStrong}/>
97
+ <react_native_1.Text style={[styles.segmentBtnText,s==="custom"&&styles.segmentBtnTextActive]}>
98
+ Custom
99
+ </react_native_1.Text>
100
+ </TouchableScale_1.default>
101
+ </react_native_1.View>
102
+
103
+
104
+ {s==="custom"&&<react_native_1.View style={styles.customOptionsContainer}>
105
+
106
+ <react_native_1.View style={styles.customFieldRow}>
107
+ <react_native_1.Text style={styles.customFieldLabel}>
108
+ {t("console.enterCount","Enter number of logs:")}
109
+ </react_native_1.Text>
110
+ <react_native_1.TextInput keyboardType="number-pad"value={O}onChangeText={J}style={styles.customCountInput}placeholder="e.g. 50"placeholderTextColor={AppColors_1.AppColors.slate400}/>
111
+ </react_native_1.View>
112
+
113
+
114
+ <react_native_1.View style={styles.regexFieldBlock}>
115
+ <react_native_1.View style={styles.regexLabelRow}>
116
+ <react_native_1.Text style={styles.customFieldLabel}>
117
+ {t("console.ignorePatterns","Ignore Patterns (Regex):")}
118
+ </react_native_1.Text>
119
+ {w.isValid&&H>0&&<react_native_1.View style={styles.regexExclusionBadge}>
120
+ <react_native_1.Text style={styles.regexExclusionBadgeText}>
121
+ -{H} excluded
122
+ </react_native_1.Text>
123
+ </react_native_1.View>}
124
+ </react_native_1.View>
125
+
126
+ <react_native_1.TextInput autoCapitalize="none"autoCorrect={!1}value={v}onChangeText={X}style={[styles.regexInput,!w.isValid&&styles.regexInputError]}placeholder="e.g. ^\[DEBUG\]|analytics|token=.*"placeholderTextColor={AppColors_1.AppColors.slate400}/>
127
+
128
+ {w.isValid?<react_native_1.Text style={styles.regexHelpText}>
129
+ {t("console.ignorePatternsDesc","Logs matching this regex will be excluded from export.")}
130
+ </react_native_1.Text>:<react_native_1.Text style={styles.regexErrorText}>
131
+ ⚠️{" "}
132
+ {t("console.invalidRegex","Invalid regular expression syntax")}
133
+ </react_native_1.Text>}
134
+ </react_native_1.View>
135
+ </react_native_1.View>}
136
+ </react_native_1.View>
137
+
138
+
139
+ <react_native_1.View style={styles.section}>
140
+ <react_native_1.Text style={styles.sectionLabel}>EXPORT FORMAT</react_native_1.Text>
141
+ <react_native_1.View style={styles.formatRowInline}>
142
+ {[{id:"txt",label:"Plain Text (.txt)",desc:"Universal text with structured banners"},{id:"log",label:"Log File (.log)",desc:"Standard log format with frame blocks"}].map(e=>{const o=x===e.id;return<TouchableScale_1.default key={e.id}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),Z(e.id)}}style={[styles.formatCardInline,o&&styles.formatCardInlineActive]}>
143
+ <react_native_1.View style={styles.formatCardInlineHeader}>
144
+ <react_native_1.View style={[styles.radioCircle,o&&styles.radioCircleActive]}>
145
+ {o&&<react_native_1.View style={styles.radioDot}/>}
146
+ </react_native_1.View>
147
+ <react_native_1.Text style={[styles.formatCardTitle,o&&styles.formatCardTitleActive]}>
148
+ {e.label}
149
+ </react_native_1.Text>
150
+ </react_native_1.View>
151
+ <react_native_1.Text style={styles.formatCardDesc}>{e.desc}</react_native_1.Text>
152
+ </TouchableScale_1.default>})}
153
+ </react_native_1.View>
154
+ </react_native_1.View>
155
+
156
+
157
+ <react_native_1.View style={styles.section}>
158
+ <react_native_1.Text style={styles.sectionLabel}>CONTENT OPTIONS</react_native_1.Text>
159
+ <react_native_1.View style={styles.optionsGrid}>
160
+ {[{key:"stack",label:"Stack Trace & Frames",value:M,toggle:()=>Q(e=>!e)},{key:"args",label:"Arguments & Payloads",value:W,toggle:()=>Y(e=>!e)},{key:"caller",label:"Caller & File Origin",value:j,toggle:()=>ee(e=>!e)},{key:"timestamps",label:"Exact Timestamps",value:N,toggle:()=>te(e=>!e)},{key:"appinfo",label:"System Header Banner",value:$,toggle:()=>oe(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]}>
161
+ <react_native_1.View style={[styles.checkbox,e.value&&styles.checkboxActive]}>
162
+ {e.value&&<NetworkIcons_1.CheckIcon size={10}color={AppColors_1.AppColors.white}/>}
163
+ </react_native_1.View>
164
+ <react_native_1.Text style={[styles.optionLabel,e.value&&styles.optionLabelActive]}>
165
+ {e.label}
166
+ </react_native_1.Text>
167
+ </TouchableScale_1.default>)}
168
+ </react_native_1.View>
169
+ </react_native_1.View>
170
+ </react_native_1.ScrollView>
171
+
172
+
173
+ <react_native_1.View style={styles.staticFooter}>
174
+ <react_native_1.View style={styles.footerMinimalSummary}>
175
+ <react_native_1.View style={styles.footerSummaryLeft}>
176
+ <react_native_1.View style={styles.footerSummaryDot}/>
177
+ <react_native_1.Text style={styles.footerSummaryCountText}>
178
+ {a.length} logs
179
+ </react_native_1.Text>
180
+ <react_native_1.Text style={styles.footerSummaryDivider}>•</react_native_1.Text>
181
+ <react_native_1.Text style={styles.footerSummarySizeText}>
182
+ ~{k(L)}
183
+ </react_native_1.Text>
184
+ <react_native_1.Text style={styles.footerSummaryDivider}>•</react_native_1.Text>
185
+ <react_native_1.Text style={styles.footerSummaryFormatText}>
186
+ .{x.toUpperCase()}
187
+ </react_native_1.Text>
188
+ </react_native_1.View>
189
+
190
+ {H>0&&<react_native_1.View style={styles.footerIgnoredPill}>
191
+ <react_native_1.Text style={styles.footerIgnoredPillText}>
192
+ -{H} ignored
193
+ </react_native_1.Text>
194
+ </react_native_1.View>}
195
+ </react_native_1.View>
196
+
197
+ <TouchableScale_1.default onPress={ce}disabled={a.length===0}style={[styles.exportActionBtn,a.length===0&&styles.exportActionBtnDisabled]}>
198
+ <NetworkIcons_1.ExportIcon size={17}color={AppColors_1.AppColors.white}/>
199
+ <react_native_1.Text style={styles.exportActionBtnText}>
200
+ {t("console.exportLogsAction",{count:a.length,size:k(L),defaultValue:`Export ${a.length} Logs (${k(L)})`})}
201
+ </react_native_1.Text>
202
+ </TouchableScale_1.default>
203
+ </react_native_1.View>
204
+ </>}
205
+
206
+
207
+ {A==="progress"&&<react_native_1.View style={styles.progressContainer}>
208
+ <react_native_1.Animated.View style={[styles.progressIconBadge,{transform:[{scale:R}]}]}>
209
+ <NetworkIcons_1.ExportIcon size={30}color={AppColors_1.AppColors.purple}/>
210
+ </react_native_1.Animated.View>
211
+
212
+ <react_native_1.Text style={styles.progressHeading}>
213
+ {t("console.exportingLogs","Exporting Console Logs...")}
214
+ </react_native_1.Text>
215
+ <react_native_1.Text style={styles.progressSub}>
216
+ {t("console.processingItem","Processing")} {ae} /{" "}
217
+ {a.length} {t("console.records","records")} (
218
+ {ne}%)
219
+ </react_native_1.Text>
220
+
221
+
222
+ <react_native_1.View style={styles.progressTrack}>
223
+ <react_native_1.Animated.View style={[styles.progressBar,{width:S.interpolate({inputRange:[0,1],outputRange:["0%","100%"]})}]}/>
224
+ </react_native_1.View>
225
+
226
+ <react_native_1.Text style={styles.progressFootnote}>
227
+ Formatting .{x.toUpperCase()} payload with separators •{" "}
228
+ {k(L)}
229
+ </react_native_1.Text>
230
+ </react_native_1.View>}
231
+
232
+
233
+ {A==="complete"&&<react_native_1.View style={styles.completeContainer}>
234
+ <react_native_1.View style={styles.completeSuccessBadge}>
235
+ <NetworkIcons_1.CircleCheckIcon size={34}color={AppColors_1.AppColors.emerald500}/>
236
+ </react_native_1.View>
237
+
238
+ <react_native_1.Text style={styles.completeTitle}>
239
+ {t("console.exportSuccessTitle","Logs Export Ready!")}
240
+ </react_native_1.Text>
241
+ <react_native_1.Text style={styles.completeSub}>
242
+ {t("console.exportSuccessDesc","Generated full formatted log bundle ready to share or save.")}
243
+ </react_native_1.Text>
244
+
245
+
246
+ <react_native_1.View style={styles.fileDetailsCard}>
247
+ <react_native_1.View style={styles.fileDetailsRow}>
248
+ <react_native_1.Text style={styles.fileDetailLabel}>📁 File:</react_native_1.Text>
249
+ <react_native_1.Text style={styles.fileDetailValue}numberOfLines={1}>
250
+ {h}
251
+ </react_native_1.Text>
252
+ </react_native_1.View>
253
+ <react_native_1.View style={styles.fileDetailsRow}>
254
+ <react_native_1.Text style={styles.fileDetailLabel}>📊 Log Count:</react_native_1.Text>
255
+ <react_native_1.Text style={styles.fileDetailValue}>
256
+ {a.length} logs
257
+ </react_native_1.Text>
258
+ </react_native_1.View>
259
+ <react_native_1.View style={styles.fileDetailsRow}>
260
+ <react_native_1.Text style={styles.fileDetailLabel}>💾 Final Size:</react_native_1.Text>
261
+ <react_native_1.Text style={[styles.fileDetailValue,{color:AppColors_1.AppColors.emerald500,fontFamily:AppFonts_1.AppFonts.interBold}]}>
262
+ {k(se)}
263
+ </react_native_1.Text>
264
+ </react_native_1.View>
265
+ <react_native_1.View style={styles.fileDetailsRow}>
266
+ <react_native_1.Text style={styles.fileDetailLabel}>⚙️ Format:</react_native_1.Text>
267
+ <react_native_1.Text style={styles.fileDetailValue}>
268
+ .{x.toUpperCase()}
269
+ </react_native_1.Text>
270
+ </react_native_1.View>
271
+ </react_native_1.View>
272
+
273
+
274
+ <react_native_1.View style={styles.actionButtonGroup}>
275
+
276
+ <TouchableScale_1.default onPress={pe}style={[styles.primaryActionBtn,styles.shareBtn]}>
277
+ <NetworkIcons_1.ShareIcon size={15}color={AppColors_1.AppColors.white}/>
278
+ <react_native_1.Text style={styles.primaryActionBtnText}>
279
+ {t("console.shareReport","Share Logs")}
280
+ </react_native_1.Text>
281
+ </TouchableScale_1.default>
282
+
283
+
284
+ <TouchableScale_1.default onPress={de}style={[styles.primaryActionBtn,styles.saveDiskBtn]}>
285
+ <NetworkIcons_1.SaveIcon size={15}color={AppColors_1.AppColors.white}/>
286
+ <react_native_1.Text style={styles.primaryActionBtnText}>
287
+ {t("console.saveToDisk","Save to Disk")}
288
+ </react_native_1.Text>
289
+ </TouchableScale_1.default>
290
+
291
+
292
+ <TouchableScale_1.default onPress={ge}style={styles.secondaryActionBtn}>
293
+ <NetworkIcons_1.CopyIcon size={14}color={AppColors_1.AppColors.purple}/>
294
+ <react_native_1.Text style={styles.secondaryActionBtnText}>
295
+ {t("console.copyToClipboard","Copy Content")}
296
+ </react_native_1.Text>
297
+ </TouchableScale_1.default>
298
+ </react_native_1.View>
299
+
300
+
301
+ <react_native_1.View style={styles.bottomFooterRow}>
302
+ <TouchableScale_1.default onPress={()=>I("config")}style={styles.textBtn}>
303
+ <react_native_1.Text style={styles.textBtnText}>
304
+ {t("console.exportAnother","\u2190 Export Another")}
305
+ </react_native_1.Text>
306
+ </TouchableScale_1.default>
307
+
308
+ <TouchableScale_1.default onPress={r}style={styles.doneBtn}>
309
+ <react_native_1.Text style={styles.doneBtnText}>
310
+ {t("common.done","Done")}
311
+ </react_native_1.Text>
312
+ </TouchableScale_1.default>
313
+ </react_native_1.View>
314
+ </react_native_1.View>}
315
+ </react_native_1.View>
316
+ </react_native_1.View>
317
+ </react_native_1.Modal>};exports.ConsoleExportModal=ConsoleExportModal;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:6,padding:11,borderRadius:10,backgroundColor:"#F8FAFC",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:10},customFieldRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10},customFieldLabel:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.grayTextStrong},customCountInput:{width:90,backgroundColor:AppColors_1.AppColors.white,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:5.5,fontSize:12.5,fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.primaryBlack,textAlign:"center"},regexFieldBlock:{gap:5,paddingTop:4,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},regexLabelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},regexExclusionBadge:{backgroundColor:`${AppColors_1.AppColors.purple}14`,paddingHorizontal:7,paddingVertical:2,borderRadius:5},regexExclusionBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.purple},regexInput:{backgroundColor:AppColors_1.AppColors.white,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,borderRadius:7,paddingHorizontal:10,paddingVertical:6,fontSize:12,fontFamily:AppFonts_1.AppFonts.interRegular,color:AppColors_1.AppColors.primaryBlack},regexInputError:{borderColor:AppColors_1.AppColors.errorColor,backgroundColor:`${AppColors_1.AppColors.errorColor}08`},regexErrorText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.errorColor},regexHelpText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak},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:{flexDirection:"column",gap:5},optionRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:7,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:15,height:15,borderRadius:3.5,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,justifyContent:"center",alignItems:"center"},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:{fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.primaryBlack},staticFooter:{paddingHorizontal:16,paddingTop:10,paddingBottom:react_native_1.Platform.OS==="ios"?26:14,backgroundColor:AppColors_1.AppColors.white,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.purple,shadowOffset:{width:0,height:-4},shadowOpacity:.12,shadowRadius:8,elevation:8,gap:8},footerMinimalSummary:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:2},footerSummaryLeft:{flexDirection:"row",alignItems:"center",gap:6},footerSummaryDot:{width:6,height:6,borderRadius:3,backgroundColor: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,shadowColor:AppColors_1.AppColors.teal600,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.ConsoleExportModal;
@@ -1,20 +1,20 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,t,l,n){n===void 0&&(n=l);var a=Object.getOwnPropertyDescriptor(t,l);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(o,n,a)}):(function(o,t,l,n){n===void 0&&(n=l),o[n]=t[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,t){Object.defineProperty(o,"default",{enumerable:!0,value:t})}):function(o,t){o.default=t}),__importStar=this&&this.__importStar||(function(){var o=function(t){return o=Object.getOwnPropertyNames||function(l){var n=[];for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(n[n.length]=a);return n},o(t)};return function(t){if(t&&t.__esModule)return t;var l={};if(t!=null)for(var n=o(t),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(l,t,n[a]);return __setModuleDefault(l,t),l}})(),__importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),types_1=require("../../types"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,ConsoleTab=react_1.default.memo(()=>{const{t:o}=(0,i18n_1.useTranslation)(),{logSearch:t,setLogSearch:l,logSortOrder:n,setLogSortOrder:a,handleDelete:F,logFilters:s,setLogFilters:S,logCounts:_,filteredConsoleLogs:c,visibleConsoleLogs:b,maxConsoleLogs:A,setSelectedLog:I}=(0,InspectorContext_1.useInspector)(),z=A||100,T=(0,react_1.useRef)(null),[v,x]=react_1.default.useState(z);react_1.default.useEffect(()=>{x(A||100),T.current?.scrollToOffset({offset:0,animated:!1})},[t,s,A]);const w=(0,react_1.useMemo)(()=>c.slice(0,v),[c,v]),L=(0,react_1.useCallback)(e=>{I(e)},[I]),E=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
- <ConsoleLogCard_1.ConsoleLogCard testID={`inspector.console.item.${r}`}item={e}searchStr={t}onPress={L}/>
3
- </AnimatedEntrance_1.default>,[t,L]),P=(0,react_1.useCallback)((e,r)=>({length:148,offset:148*r,index:r}),[]),O=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),B=(0,react_1.useMemo)(()=>{const e=b.length,r=c.length;if(s.has("all")||!Array.from(s).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:8,paddingTop:8,paddingBottom:3}}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,o,l,n){n===void 0&&(n=l);var a=Object.getOwnPropertyDescriptor(o,l);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[l]}}),Object.defineProperty(t,n,a)}):(function(t,o,l,n){n===void 0&&(n=l),t[n]=o[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,o){Object.defineProperty(t,"default",{enumerable:!0,value:o})}):function(t,o){t.default=o}),__importStar=this&&this.__importStar||(function(){var t=function(o){return t=Object.getOwnPropertyNames||function(l){var n=[];for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(n[n.length]=a);return n},t(o)};return function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var n=t(o),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(l,o,n[a]);return __setModuleDefault(l,o),l}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),ConsoleExportModal_1=__importDefault(require("./ConsoleExportModal")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),types_1=require("../../types"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,ConsoleTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{logSearch:o,setLogSearch:l,logSortOrder:n,setLogSortOrder:a,handleDelete:E,logFilters:i,setLogFilters:S,logCounts:_,filteredConsoleLogs:c,visibleConsoleLogs:A,maxConsoleLogs:b,setSelectedLog:I}=(0,InspectorContext_1.useInspector)(),z=b||100,T=(0,react_1.useRef)(null),[x,v]=react_1.default.useState(z),[P,L]=react_1.default.useState(!1);react_1.default.useEffect(()=>{v(b||100),T.current?.scrollToOffset({offset:0,animated:!1})},[o,i,b]);const w=(0,react_1.useMemo)(()=>c.slice(0,x),[c,x]),V=(0,react_1.useCallback)(e=>{I(e)},[I]),B=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
+ <ConsoleLogCard_1.ConsoleLogCard testID={`inspector.console.item.${r}`}item={e}searchStr={o}onPress={V}/>
3
+ </AnimatedEntrance_1.default>,[o,V]),O=(0,react_1.useCallback)((e,r)=>({length:148,offset:148*r,index:r}),[]),M=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),D=(0,react_1.useMemo)(()=>{const e=A.length,r=c.length;if(i.has("all")||!Array.from(i).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:8,paddingTop:8,paddingBottom:3}}>
4
4
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
5
5
  {r===e?`Showing ${e} logs`:`Showing ${r} of ${e} logs`}
6
6
  </react_native_1.Text>
7
- </react_native_1.View>;{const h=Array.from(s).filter(C=>C!=="all").map(C=>C==="user-log"?"Log":C==="analytics"?"Analytics":C.charAt(0).toUpperCase()+C.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
7
+ </react_native_1.View>;{const h=Array.from(i).filter(C=>C!=="all").map(C=>C==="user-log"?"Log":C==="analytics"?"Analytics":C.charAt(0).toUpperCase()+C.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
8
8
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
9
9
  Filtered by {h.join(", ")} ({r} of {e} logs)
10
10
  </react_native_1.Text>
11
- </react_native_1.View>}},[b.length,c.length,s]),[m,V]=react_1.default.useState(!1),H=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),D=(0,react_1.useMemo)(()=>[{id:types_1.LogFilter.All,label:o("common.all","All"),count:_.all?.split("/")?.[0]??"0",color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:types_1.LogFilter.UserLog,label:o("console.log","Log"),count:_["user-log"]?.split("/")?.[0]??"0",color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.UserIcon},{id:types_1.LogFilter.Info,label:o("console.info","Info"),count:_.info?.split("/")?.[0]??"0",color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:types_1.LogFilter.Warn,label:o("console.warning","Warn"),count:_.warn?.split("/")?.[0]??"0",color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:types_1.LogFilter.Error,label:o("console.error","Error"),count:_.error?.split("/")?.[0]??"0",color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon},{id:types_1.LogFilter.Analytics,label:o("console.analytics","Analytics"),count:_.analytics?.split("/")?.[0]??"0",color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.AnalyticsIcon}],[_,o]);return<react_native_1.View style={{flex:1}}>
11
+ </react_native_1.View>}},[A.length,c.length,i]),[m,F]=react_1.default.useState(!1),H=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),$=(0,react_1.useMemo)(()=>[{id:types_1.LogFilter.All,label:t("common.all","All"),count:_.all?.split("/")?.[0]??"0",color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:types_1.LogFilter.UserLog,label:t("console.log","Log"),count:_["user-log"]?.split("/")?.[0]??"0",color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.UserIcon},{id:types_1.LogFilter.Info,label:t("console.info","Info"),count:_.info?.split("/")?.[0]??"0",color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:types_1.LogFilter.Warn,label:t("console.warning","Warn"),count:_.warn?.split("/")?.[0]??"0",color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:types_1.LogFilter.Error,label:t("console.error","Error"),count:_.error?.split("/")?.[0]??"0",color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon},{id:types_1.LogFilter.Analytics,label:t("console.analytics","Analytics"),count:_.analytics?.split("/")?.[0]??"0",color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.AnalyticsIcon}],[_,t]);return<react_native_1.View style={{flex:1}}>
12
12
  <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingBottom:6}}>
13
13
  <react_native_1.View style={[styles_1.default.toolbarRow,{marginTop:12,marginBottom:8}]}>
14
14
  <react_native_1.View style={[styles_1.default.searchContainer,m&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
15
15
  <NetworkIcons_1.SearchIcon color={m?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>
16
- <react_native_1.TextInput placeholder={o("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={l}onFocus={()=>V(!0)}onBlur={()=>V(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
- {t.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
16
+ <react_native_1.TextInput placeholder={t("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={l}onFocus={()=>F(!0)}onBlur={()=>F(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
+ {o.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
18
18
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:2}}>
19
19
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:10,fontFamily:AppFonts_1.AppFonts.interBold}}>
20
20
  {c.length}
@@ -27,18 +27,21 @@
27
27
  </react_native_1.View>
28
28
 
29
29
  <react_native_1.View style={styles_1.default.toolbarRight}>
30
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.purple}38`,backgroundColor:`${AppColors_1.AppColors.purple}0F`}]}onPress={()=>L(!0)}hitSlop={6}testID="inspector.console.exportBtn">
31
+ <NetworkIcons_1.ExportIcon color={AppColors_1.AppColors.purple}size={15}/>
32
+ </TouchableScale_1.default>
30
33
  <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>a(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
31
34
  <NetworkIcons_1.SortArrowIcon color={AppColors_1.AppColors.grayTextStrong}size={18}direction={n==="newest"?"down":"up"}/>
32
35
  </TouchableScale_1.default>
33
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={F}hitSlop={6}>
36
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={E}hitSlop={6}>
34
37
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
35
38
  </TouchableScale_1.default>
36
39
  </react_native_1.View>
37
40
  </react_native_1.View>
38
41
 
39
42
 
40
- {(m||t.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:8,flexDirection:"row",alignItems:"center",gap:6}}>
41
- {H.map(e=>{const r=t.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{l(r?i=>i.replace(e,"").trim():i=>i?`${i} ${e}`.trim():e)}}>
43
+ {(m||o.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:8,flexDirection:"row",alignItems:"center",gap:6}}>
44
+ {H.map(e=>{const r=o.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{l(r?s=>s.replace(e,"").trim():s=>s?`${s} ${e}`.trim():e)}}>
42
45
  <react_native_1.View style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}30`}}>
43
46
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
44
47
  {e}
@@ -50,14 +53,14 @@
50
53
 
51
54
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
52
55
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
53
- {D.map(e=>{const r=e.id==="all"?s.has("all"):s.has(e.id)&&!s.has("all"),i=e.color||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:i,C=e.Icon;return<TouchableScale_1.default testID={`inspector.console.filter.${e.id}`}key={e.id}onPress={()=>{e.id==="all"?S(new Set(["all"])):S(M=>{const y=new Set(M);return y.delete("all"),y.has(e.id)?y.delete(e.id):y.add(e.id),y.size===0&&y.add("all"),y})}}>
54
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?i:`${i}12`,borderWidth:1,borderColor:r?i:`${i}30`,gap:5}}>
56
+ {$.map(e=>{const r=e.id==="all"?i.has("all"):i.has(e.id)&&!i.has("all"),s=e.color||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:s,C=e.Icon;return<TouchableScale_1.default testID={`inspector.console.filter.${e.id}`}key={e.id}onPress={()=>{e.id==="all"?S(new Set(["all"])):S(R=>{const y=new Set(R);return y.delete("all"),y.has(e.id)?y.delete(e.id):y.add(e.id),y.size===0&&y.add("all"),y})}}>
57
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?s:`${s}12`,borderWidth:1,borderColor:r?s:`${s}30`,gap:5}}>
55
58
  <C size={11}color={h}/>
56
59
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
57
60
  {e.label}
58
61
  </react_native_1.Text>
59
- <react_native_1.View style={{backgroundColor:r?"rgba(255,255,255,0.25)":`${i}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
60
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:r?AppColors_1.AppColors.white:i}}>
62
+ <react_native_1.View style={{backgroundColor:r?"rgba(255,255,255,0.25)":`${s}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
63
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:r?AppColors_1.AppColors.white:s}}>
61
64
  {e.count}
62
65
  </react_native_1.Text>
63
66
  </react_native_1.View>
@@ -67,5 +70,7 @@
67
70
  </react_native_1.View>
68
71
  </react_native_1.View>
69
72
 
70
- <react_native_1.FlatList ref={T}data={w}keyExtractor={O}ListHeaderComponent={B}renderItem={E}getItemLayout={P}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={t.length>0||!s.has("all")}searchQuery={t}customTitle={t.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{l(""),S(new Set(["all"]))}}/>}ListFooterComponent={c.length>0?<EndOfListFooter_1.default count={w.length}totalCount={c.length}label="logs"loadMoreStep={LOAD_MORE_STEP}hasMore={w.length<c.length}onLoadMore={()=>x(e=>e+LOAD_MORE_STEP)}/>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
73
+ <react_native_1.FlatList ref={T}data={w}keyExtractor={M}ListHeaderComponent={D}renderItem={B}getItemLayout={O}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0||!i.has("all")}searchQuery={o}customTitle={o.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{l(""),S(new Set(["all"]))}}/>}ListFooterComponent={c.length>0?<EndOfListFooter_1.default count={w.length}totalCount={c.length}label="logs"loadMoreStep={LOAD_MORE_STEP}hasMore={w.length<c.length}onLoadMore={()=>v(e=>e+LOAD_MORE_STEP)}/>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
74
+
75
+ <ConsoleExportModal_1.default visible={P}onClose={()=>L(!1)}filteredLogs={c}allLogs={A}/>
71
76
  </react_native_1.View>});exports.default=ConsoleTab;