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,11 +1,11 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,o,n,s){s===void 0&&(s=n);var c=Object.getOwnPropertyDescriptor(o,n);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return o[n]}}),Object.defineProperty(i,s,c)}):(function(i,o,n,s){s===void 0&&(s=n),i[s]=o[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}):function(i,o){i.default=o}),__importStar=this&&this.__importStar||(function(){var i=function(o){return i=Object.getOwnPropertyNames||function(n){var s=[];for(var c in n)Object.prototype.hasOwnProperty.call(n,c)&&(s[s.length]=c);return s},i(o)};return function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var s=i(o),c=0;c<s.length;c++)s[c]!=="default"&&__createBinding(n,o,s[c]);return __setModuleDefault(n,o),n}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppHeaderLogo_1=__importDefault(require("../AppHeaderLogo")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),helpers_1=require("../../helpers"),constants_1=require("../../constants"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),styles_1=__importDefault(require("../../styles")),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FabLauncher=()=>{const{setVisible:i,isMinimized:o,setIsMinimized:n,dismissInspector:s,appIcon:c,fabPan:l,fabPanResponder:ie,fabDraggedRef:T,pulseAnim:k,fabShineAnim:oe,refreshMediaCount:m,captureFps:L,captureScale:E,captureBitrate:O,captureMaxDurationSeconds:q,captureAudioMode:H,previewMediaItem:W,setPreviewMediaItem:C}=(0,InspectorContext_1.useInspector)(),{width:S,height:b}=(0,react_native_1.useWindowDimensions)(),{t:a}=(0,i18n_1.useTranslation)(),[X]=(0,react_1.useState)(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),[p,I]=(0,react_1.useState)(!1),[Z,D]=(0,react_1.useState)(0),v=(0,react_1.useRef)(null),[G,B]=(0,react_1.useState)(!1),[z,_]=(0,react_1.useState)(!1),f=(0,react_1.useRef)(!1),x=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,P=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,y=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=l.x.addListener(r=>y.current.x=r.value),t=l.y.addListener(r=>y.current.y=r.value);return()=>{l.x.removeListener(e),l.y.removeListener(t)}},[l]);const u=68,V=8,U=(0,react_1.useCallback)(()=>{const e=y.current.x,t=y.current.y,r=20,A=180,g=S-r-u/2+e,M=b-A-u/2+t;let N=e,F=t,R=!1;g<V+u/2?(N=e+(V+u/2-g),R=!0):g>S-V-u/2&&(N=e-(g-(S-V-u/2)),R=!0);const Y=react_native_1.Platform.OS==="ios"?60:40,$=react_native_1.Platform.OS==="ios"?40:24;M<Y+u/2?(F=t+(Y+u/2-M),R=!0):M>b-$-u/2&&(F=t-(M-(b-$-u/2)),R=!0),R&&react_native_1.Animated.spring(l,{toValue:{x:N,y:F},useNativeDriver:!1,tension:80,friction:8}).start()},[l,S,b]),K=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{T.current=!0,l.setOffset({x:y.current.x,y:y.current.y}),l.setValue({x:0,y:0}),f.current=!1,_(!1),B(!0),P.setValue(1),react_native_1.Animated.spring(x,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{l.setValue({x:t.dx,y:t.dy});const r=t.moveY,A=t.moveX,g=r>b-140&&Math.abs(A-S/2)<85;g&&!f.current?(f.current=!0,_(!0),(0,NativeInspector_1.triggerNativeHaptic)("medium"),react_native_1.Animated.spring(P,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!g&&f.current&&(f.current=!1,_(!1),react_native_1.Animated.spring(P,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=f.current;l.flattenOffset(),react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1}),e?((0,NativeInspector_1.triggerNativeHaptic)("heavy"),s(),(0,toast_1.showToast)(a("common.inspectorDismissed","In-App Inspector closed for this session"))):U(),setTimeout(()=>{T.current=!1},100)},onPanResponderTerminate:()=>{l.flattenOffset(),T.current=!1,react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1})}})).current,d=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,w=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=d.x.addListener(r=>w.current.x=r.value),t=d.y.addListener(r=>w.current.y=r.value);return()=>{d.x.removeListener(e),d.y.removeListener(t)}},[d]);const h=(0,react_1.useRef)(!1),J=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,d.setOffset({x:w.current.x,y:w.current.y}),d.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:d.x,dy:d.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{d.flattenOffset();const e=w.current.y,t=-(b-(react_native_1.Platform.OS==="ios"?34:18)-70),r=react_native_1.Platform.OS==="ios"?34:18;if(e<t||e>r){const A=Math.max(t,Math.min(r,e));react_native_1.Animated.spring(d,{toValue:{x:w.current.x,y:A},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{d.flattenOffset(),h.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{I(!!e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>(p?(D(0),v.current=setInterval(()=>{D(e=>e+1)},1e3)):(v.current&&(clearInterval(v.current),v.current=null),D(0)),()=>{v.current&&clearInterval(v.current)}),[p]);const Q=(0,react_1.useCallback)(async()=>{if(!h.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),r={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(a("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(a("header.screenshotFailed","Failed to capture screenshot"))}catch{(0,toast_1.showToast)(a("header.screenshotError","Error capturing screenshot"))}},[m,a]),ee=(0,react_1.useCallback)(async()=>{if(!h.current)try{if(p){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(I(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),r={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(a("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:L,scale:E,audioSource:H,bitrate:O>0?O:void 0,maxDurationSeconds:q})?(I(!0),(0,toast_1.showToast)(a("header.recordingStarted","Recording started"))):(0,toast_1.showToast)(a("header.recordingStartFailed","Failed to start recording"))}catch{(0,toast_1.showToast)(a("header.recordingError","Error during screen recording")),I(!1)}},[p,L,E,O,q,H,m,a]),j=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),n?.(!1),i(!0))},[n,i]),te=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),n?.(!1),i(!1))},[n,i]),re=e=>{const t=Math.floor(e/60),r=e%60;return`${t}:${r<10?"0":""}${r}`};return<>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,o,a,s){s===void 0&&(s=a);var c=Object.getOwnPropertyDescriptor(o,a);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return o[a]}}),Object.defineProperty(i,s,c)}):(function(i,o,a,s){s===void 0&&(s=a),i[s]=o[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}):function(i,o){i.default=o}),__importStar=this&&this.__importStar||(function(){var i=function(o){return i=Object.getOwnPropertyNames||function(a){var s=[];for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(s[s.length]=c);return s},i(o)};return function(o){if(o&&o.__esModule)return o;var a={};if(o!=null)for(var s=i(o),c=0;c<s.length;c++)s[c]!=="default"&&__createBinding(a,o,s[c]);return __setModuleDefault(a,o),a}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppHeaderLogo_1=__importDefault(require("../AppHeaderLogo")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),helpers_1=require("../../helpers"),constants_1=require("../../constants"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),styles_1=__importDefault(require("../../styles")),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FabLauncher=()=>{const{setVisible:i,isMinimized:o,setIsMinimized:a,dismissInspector:s,appIcon:c,fabPan:l,fabPanResponder:ie,fabDraggedRef:T,pulseAnim:k,fabShineAnim:oe,refreshMediaCount:m,captureFps:L,captureScale:E,captureBitrate:O,captureMaxDurationSeconds:q,captureAudioMode:H,previewMediaItem:W,setPreviewMediaItem:C}=(0,InspectorContext_1.useInspector)(),{width:S,height:b}=(0,react_native_1.useWindowDimensions)(),{t:n}=(0,i18n_1.useTranslation)(),[X]=(0,react_1.useState)(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),[p,I]=(0,react_1.useState)(!1),[Z,D]=(0,react_1.useState)(0),v=(0,react_1.useRef)(null),[G,B]=(0,react_1.useState)(!1),[z,_]=(0,react_1.useState)(!1),f=(0,react_1.useRef)(!1),x=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,P=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,y=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=l.x.addListener(r=>y.current.x=r.value),t=l.y.addListener(r=>y.current.y=r.value);return()=>{l.x.removeListener(e),l.y.removeListener(t)}},[l]);const u=68,V=8,U=(0,react_1.useCallback)(()=>{const e=y.current.x,t=y.current.y,r=20,R=180,g=S-r-u/2+e,M=b-R-u/2+t;let N=e,F=t,A=!1;g<V+u/2?(N=e+(V+u/2-g),A=!0):g>S-V-u/2&&(N=e-(g-(S-V-u/2)),A=!0);const Y=react_native_1.Platform.OS==="ios"?60:40,$=react_native_1.Platform.OS==="ios"?40:24;M<Y+u/2?(F=t+(Y+u/2-M),A=!0):M>b-$-u/2&&(F=t-(M-(b-$-u/2)),A=!0),A&&react_native_1.Animated.spring(l,{toValue:{x:N,y:F},useNativeDriver:!1,tension:80,friction:8}).start()},[l,S,b]),K=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{T.current=!0,l.setOffset({x:y.current.x,y:y.current.y}),l.setValue({x:0,y:0}),f.current=!1,_(!1),B(!0),P.setValue(1),react_native_1.Animated.spring(x,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{l.setValue({x:t.dx,y:t.dy});const r=t.moveY,R=t.moveX,g=r>b-140&&Math.abs(R-S/2)<85;g&&!f.current?(f.current=!0,_(!0),(0,NativeInspector_1.triggerNativeHaptic)("medium"),react_native_1.Animated.spring(P,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!g&&f.current&&(f.current=!1,_(!1),react_native_1.Animated.spring(P,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=f.current;l.flattenOffset(),react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1}),e?((0,NativeInspector_1.triggerNativeHaptic)("heavy"),s(),(0,toast_1.showToast)(n("common.inspectorDismissed","In-App Inspector closed for this session"))):U(),setTimeout(()=>{T.current=!1},100)},onPanResponderTerminate:()=>{l.flattenOffset(),T.current=!1,react_native_1.Animated.timing(x,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{B(!1),_(!1),f.current=!1})}})).current,d=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,w=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=d.x.addListener(r=>w.current.x=r.value),t=d.y.addListener(r=>w.current.y=r.value);return()=>{d.x.removeListener(e),d.y.removeListener(t)}},[d]);const h=(0,react_1.useRef)(!1),J=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,d.setOffset({x:w.current.x,y:w.current.y}),d.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:d.x,dy:d.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{d.flattenOffset();const e=w.current.y,t=-(b-(react_native_1.Platform.OS==="ios"?34:18)-70),r=react_native_1.Platform.OS==="ios"?34:18;if(e<t||e>r){const R=Math.max(t,Math.min(r,e));react_native_1.Animated.spring(d,{toValue:{x:w.current.x,y:R},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{d.flattenOffset(),h.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{I(!!e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>(p?(D(0),v.current=setInterval(()=>{D(e=>e+1)},1e3)):(v.current&&(clearInterval(v.current),v.current=null),D(0)),()=>{v.current&&clearInterval(v.current)}),[p]);const Q=(0,react_1.useCallback)(async()=>{if(!h.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light");const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),r={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(n("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(n("header.screenshotFailed","Failed to capture screenshot"))}catch{(0,toast_1.showToast)(n("header.screenshotError","Error capturing screenshot"))}},[m,n]),ee=(0,react_1.useCallback)(async()=>{if(!h.current)try{if(p){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(I(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),r={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};C(r),m?.().catch(()=>{}),(0,toast_1.showToast)(n("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:L,scale:E,audioSource:H,bitrate:O>0?O:void 0,maxDurationSeconds:q})?(I(!0),(0,toast_1.showToast)(n("header.recordingStarted","Recording started"))):(0,toast_1.showToast)(n("header.recordingStartFailed","Failed to start recording"))}catch{(0,toast_1.showToast)(n("header.recordingError","Error during screen recording")),I(!1)}},[p,L,E,O,q,H,m,n]),j=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),a?.(!1),i(!0))},[a,i]),te=(0,react_1.useCallback)(()=>{h.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),a?.(!1),i(!1))},[a,i]),re=e=>{const t=Math.floor(e/60),r=e%60;return`${t}:${r<10?"0":""}${r}`};return<>
2
2
 
3
3
  {o?<react_native_1.Animated.View style={[fabStyles.playerContainer,{transform:d.getTranslateTransform()}]}{...J.panHandlers}>
4
4
 
5
5
  <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.indigo600,AppColors_1.AppColors.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={fabStyles.gradientBg}pointerEvents="none"/>
6
6
 
7
7
 
8
- <react_native_1.TouchableOpacity activeOpacity={.75}onPress={j}style={fabStyles.brandSection}accessibilityRole="button"accessibilityLabel={a("mediaGallery.expand","Expand Inspector")}>
8
+ <react_native_1.TouchableOpacity activeOpacity={.75}onPress={j}style={fabStyles.brandSection}accessibilityRole="button"accessibilityLabel={n("mediaGallery.expand","Expand Inspector")}>
9
9
  <AppHeaderLogo_1.default size={36}customIcon={c}shape="circle"/>
10
10
  <react_native_1.View style={fabStyles.titleWrapper}>
11
11
  <react_native_1.Text style={fabStyles.appTitle}numberOfLines={1}>
@@ -37,7 +37,7 @@
37
37
  <TouchableScale_1.default onPress={Q}hitSlop={{top:6,bottom:6,left:4,right:4}}style={fabStyles.actionBtn}>
38
38
  <NetworkIcons_1.ScreenshotCaptureIcon size={12}color={AppColors_1.AppColors.white}/>
39
39
  <react_native_1.Text style={fabStyles.actionText}>
40
- {a("header.photo","Photo")}
40
+ {n("header.photo","Photo")}
41
41
  </react_native_1.Text>
42
42
  </TouchableScale_1.default>
43
43
 
@@ -45,22 +45,22 @@
45
45
  <TouchableScale_1.default onPress={ee}hitSlop={{top:6,bottom:6,left:4,right:4}}style={[fabStyles.actionBtn,p&&fabStyles.recordingBtnActive]}>
46
46
  {p?<react_native_1.View style={fabStyles.recordingDot}/>:<NetworkIcons_1.ScreenRecordIcon size={12}color={AppColors_1.AppColors.white}/>}
47
47
  <react_native_1.Text style={[fabStyles.actionText,p&&{color:AppColors_1.AppColors.red300}]}>
48
- {p?`${a("header.rec","REC")} ${re(Z)}`:a("header.record","Record")}
48
+ {p?`${n("header.rec","REC")} ${re(Z)}`:n("header.record","Record")}
49
49
  </react_native_1.Text>
50
50
  </TouchableScale_1.default>
51
51
 
52
52
 
53
- <TouchableScale_1.default onPress={j}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={a("common.expand","Expand")}style={fabStyles.actionBtnSquare}>
53
+ <TouchableScale_1.default onPress={j}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={n("common.expand","Expand")}style={fabStyles.actionBtnSquare}>
54
54
  <NetworkIcons_1.MaximizeIcon size={12}color={AppColors_1.AppColors.white}/>
55
55
  </TouchableScale_1.default>
56
56
 
57
57
 
58
- <TouchableScale_1.default onPress={te}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={a("common.close","Close")}style={fabStyles.actionBtnSquare}>
58
+ <TouchableScale_1.default onPress={te}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={n("common.close","Close")}style={fabStyles.actionBtnSquare}>
59
59
  <NetworkIcons_1.CloseWhite size={10}color={AppColors_1.AppColors.white}/>
60
60
  </TouchableScale_1.default>
61
61
  </react_native_1.View>
62
62
  </react_native_1.Animated.View>:<react_native_1.Animated.View style={[styles_1.default.fabWrapper,{transform:l.getTranslateTransform()}]}{...K.panHandlers}>
63
- <TouchableScale_1.default testID="inspector.fab.launcher"style={{alignItems:"center",justifyContent:"center"}}onPress={()=>{T.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),i(!0))}}hitSlop={10}>
63
+ <TouchableScale_1.default testID="inspector.fab.launcher"style={{width:68,height:68,borderRadius:34,alignItems:"center",justifyContent:"center"}}onPress={()=>{T.current||((0,NativeInspector_1.triggerNativeHaptic)("light"),i(!0))}}hitSlop={10}>
64
64
  <react_native_1.Animated.View style={[styles_1.default.fabPulseRing,{transform:[{scale:k}]}]}/>
65
65
  <AppHeaderLogo_1.default size={68}customIcon={c}shape="circle"/>
66
66
  </TouchableScale_1.default>
@@ -72,7 +72,7 @@
72
72
  <NetworkIcons_1.CloseWhite size={18}color={AppColors_1.AppColors.white}/>
73
73
  </react_native_1.View>
74
74
  <react_native_1.Text style={[fabStyles.dismissTargetLabel,z&&fabStyles.dismissTargetLabelActive]}>
75
- {z?a("common.releaseToHide","Release to hide"):a("common.dragToHide","Drag here to hide")}
75
+ {z?n("common.releaseToHide","Release to hide"):n("common.dragToHide","Drag here to hide")}
76
76
  </react_native_1.Text>
77
77
  </react_native_1.Animated.View>}
78
78
 
@@ -1,15 +1,15 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,a,s,n){n===void 0&&(n=s);var i=Object.getOwnPropertyDescriptor(a,s);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[s]}}),Object.defineProperty(r,n,i)}):(function(r,a,s,n){n===void 0&&(n=s),r[n]=a[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,a){Object.defineProperty(r,"default",{enumerable:!0,value:a})}):function(r,a){r.default=a}),__importStar=this&&this.__importStar||(function(){var r=function(a){return r=Object.getOwnPropertyNames||function(s){var n=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(n[n.length]=i);return n},r(a)};return function(a){if(a&&a.__esModule)return a;var s={};if(a!=null)for(var n=r(a),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(s,a,n[i]);return __setModuleDefault(s,a),s}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FloatingCaptureWidget=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FloatingCaptureWidget=()=>{const{refreshMediaCount:r,captureFps:a,captureScale:s,captureBitrate:n,captureMaxDurationSeconds:i,captureAudioMode:S,activeTab:T,settingsPage:M,peekMode:N,previewMediaItem:y,setPreviewMediaItem:p}=(0,InspectorContext_1.useInspector)(),{t:d}=(0,i18n_1.useTranslation)(),[f,h]=(0,react_1.useState)(!1),[V,w]=(0,react_1.useState)(!1),[P,_]=(0,react_1.useState)(0),u=(0,react_1.useRef)(null),g=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,v=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,c=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,l=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=c.x.addListener(o=>l.current.x=o.value),t=c.y.addListener(o=>l.current.y=o.value);return()=>{c.x.removeListener(e),c.y.removeListener(t)}},[c]);const m=(0,react_1.useRef)(!1),D=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!0,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{m.current=!0,c.setOffset({x:l.current.x,y:l.current.y}),c.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:c.x,dy:c.y}],{useNativeDriver:!1}),onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{c.flattenOffset(),setTimeout(()=>{m.current=!1},100);const{width:e,height:t}=react_native_1.Dimensions.get("window"),o=e/2-20,x=-o,R=20,A=-(t-140),C=l.current.x,b=l.current.y;if(C<x||C>o||b<A||b>R){const q=Math.min(Math.max(C,x),o),B=Math.min(Math.max(b,A),R);react_native_1.Animated.spring(c,{toValue:{x:q,y:B},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{c.flattenOffset(),m.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{h(e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>{let e=null;return f?(_(0),u.current=setInterval(()=>{_(t=>t+1)},1e3),e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(g,{toValue:1.15,duration:500,useNativeDriver:!0}),react_native_1.Animated.timing(g,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(u.current&&(clearInterval(u.current),u.current=null),_(0),g.setValue(1)),()=>{u.current&&clearInterval(u.current),e&&e.stop()}},[f,g]);const F=(0,react_1.useCallback)(async()=>{if(!m.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light"),w(!0),await new Promise(t=>setTimeout(t,60));const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if(w(!1),react_native_1.Animated.sequence([react_native_1.Animated.timing(v,{toValue:.65,duration:70,useNativeDriver:!0}),react_native_1.Animated.timing(v,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),o={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(d("header.screenshotFailed","Failed to capture screenshot"))}catch{w(!1),(0,toast_1.showToast)(d("header.screenshotError","Error capturing screenshot"))}},[r,v,d]),I=(0,react_1.useCallback)(async()=>{if(!m.current)try{if(f){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(h(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),o={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),h(!0),await capture_1.ScreenCapture.startRecording({fps:a,scale:s,audioSource:S,bitrate:n>0?n:void 0,maxDurationSeconds:i})?(0,toast_1.showToast)(d("header.recordingStarted","Recording started")):(h(!1),(0,toast_1.showToast)(d("header.recordingStartFailed","Failed to start recording")))}catch{(0,toast_1.showToast)(d("header.recordingError","Error during screen recording")),h(!1)}},[f,a,s,n,i,S,r,d]),O=e=>{const t=Math.floor(e/60),o=e%60;return`${t<10?"0":""}${t}:${o<10?"0":""}${o}`};return T==="media"||M==="media"?null:<>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,a,s,n){n===void 0&&(n=s);var i=Object.getOwnPropertyDescriptor(a,s);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[s]}}),Object.defineProperty(r,n,i)}):(function(r,a,s,n){n===void 0&&(n=s),r[n]=a[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,a){Object.defineProperty(r,"default",{enumerable:!0,value:a})}):function(r,a){r.default=a}),__importStar=this&&this.__importStar||(function(){var r=function(a){return r=Object.getOwnPropertyNames||function(s){var n=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(n[n.length]=i);return n},r(a)};return function(a){if(a&&a.__esModule)return a;var s={};if(a!=null)for(var n=r(a),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(s,a,n[i]);return __setModuleDefault(s,a),s}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FloatingCaptureWidget=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),MediaPreviewModal_1=require("./MediaPreviewModal"),FloatingCaptureWidget=()=>{const{refreshMediaCount:r,captureFps:a,captureScale:s,captureBitrate:n,captureMaxDurationSeconds:i,captureAudioMode:S,activeTab:T,settingsPage:M,peekMode:j,previewMediaItem:y,setPreviewMediaItem:p,isUpdatePopupVisible:V}=(0,InspectorContext_1.useInspector)(),{t:d}=(0,i18n_1.useTranslation)(),[f,h]=(0,react_1.useState)(!1),[P,w]=(0,react_1.useState)(!1),[D,_]=(0,react_1.useState)(0),u=(0,react_1.useRef)(null),g=(0,react_1.useRef)(new react_native_1.Animated.Value(1)).current,v=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current,c=(0,react_1.useRef)(new react_native_1.Animated.ValueXY({x:0,y:0})).current,l=(0,react_1.useRef)({x:0,y:0});(0,react_1.useEffect)(()=>{const e=c.x.addListener(o=>l.current.x=o.value),t=c.y.addListener(o=>l.current.y=o.value);return()=>{c.x.removeListener(e),c.y.removeListener(t)}},[c]);const m=(0,react_1.useRef)(!1),F=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!0,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{m.current=!0,c.setOffset({x:l.current.x,y:l.current.y}),c.setValue({x:0,y:0})},onPanResponderMove:react_native_1.Animated.event([null,{dx:c.x,dy:c.y}],{useNativeDriver:!1}),onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{c.flattenOffset(),setTimeout(()=>{m.current=!1},100);const{width:e,height:t}=react_native_1.Dimensions.get("window"),o=e/2-20,x=-o,R=20,A=-(t-140),C=l.current.x,b=l.current.y;if(C<x||C>o||b<A||b>R){const B=Math.min(Math.max(C,x),o),N=Math.min(Math.max(b,A),R);react_native_1.Animated.spring(c,{toValue:{x:B,y:N},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{c.flattenOffset(),m.current=!1}})).current;(0,react_1.useEffect)(()=>{capture_1.ScreenCapture.isRecording().then(e=>{h(e)}).catch(()=>{})},[]),(0,react_1.useEffect)(()=>{let e=null;return f?(_(0),u.current=setInterval(()=>{_(t=>t+1)},1e3),e=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(g,{toValue:1.15,duration:500,useNativeDriver:!0}),react_native_1.Animated.timing(g,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(u.current&&(clearInterval(u.current),u.current=null),_(0),g.setValue(1)),()=>{u.current&&clearInterval(u.current),e&&e.stop()}},[f,g]);const O=(0,react_1.useCallback)(async()=>{if(!m.current)try{(0,NativeInspector_1.triggerNativeHaptic)("light"),w(!0),await new Promise(t=>setTimeout(t,60));const e=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if(w(!1),react_native_1.Animated.sequence([react_native_1.Animated.timing(v,{toValue:.65,duration:70,useNativeDriver:!0}),react_native_1.Animated.timing(v,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("screenshot",e.format||"png"),o={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.screenshotCaptured","Screenshot captured"))}else(0,toast_1.showToast)(d("header.screenshotFailed","Failed to capture screenshot"))}catch{w(!1),(0,toast_1.showToast)(d("header.screenshotError","Error capturing screenshot"))}},[r,v,d]),I=(0,react_1.useCallback)(async()=>{if(!m.current)try{if(f){(0,NativeInspector_1.triggerNativeHaptic)("medium");const e=await capture_1.ScreenCapture.stopRecording();if(h(!1),e){(0,NativeInspector_1.triggerNativeHaptic)("success");const t=(0,capture_1.generateCaptureId)("video",e.format),o={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};p(o),r?.().catch(()=>{}),(0,toast_1.showToast)(d("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),h(!0),await capture_1.ScreenCapture.startRecording({fps:a,scale:s,audioSource:S,bitrate:n>0?n:void 0,maxDurationSeconds:i})?(0,toast_1.showToast)(d("header.recordingStarted","Recording started")):(h(!1),(0,toast_1.showToast)(d("header.recordingStartFailed","Failed to start recording")))}catch{(0,toast_1.showToast)(d("header.recordingError","Error during screen recording")),h(!1)}},[f,a,s,n,i,S,r,d]),q=e=>{const t=Math.floor(e/60),o=e%60;return`${t<10?"0":""}${t}:${o<10?"0":""}${o}`};return T==="media"||M==="media"||V?null:<>
2
2
 
3
3
  <react_native_1.Animated.View pointerEvents="none"style={[styles.flashOverlay,{opacity:v}]}/>
4
4
 
5
- {!V&&!y&&<react_native_1.Animated.View{...D.panHandlers}style={[styles.container,{transform:c.getTranslateTransform()}]}>
5
+ {!P&&!y&&<react_native_1.Animated.View{...F.panHandlers}style={[styles.container,{transform:c.getTranslateTransform()}]}>
6
6
 
7
7
  {f?<react_native_1.View style={styles.recordingShadowWrapper}>
8
8
  <TouchableScale_1.default onPress={I}style={styles.recordingPillWrapper}>
9
9
  <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.rose600,AppColors_1.AppColors.rose700]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.recordingPill}>
10
10
  <react_native_1.Animated.View style={[styles.recordingDot,{transform:[{scale:g}]}]}/>
11
11
  <react_native_1.Text style={styles.recordingText}>
12
- REC {O(P)}
12
+ REC {q(D)}
13
13
  </react_native_1.Text>
14
14
  <react_native_1.View style={styles.stopIconBadge}>
15
15
  <react_native_1.View style={styles.stopIconSquare}/>
@@ -19,7 +19,7 @@
19
19
  </react_native_1.View>:<react_native_1.View style={styles.dockShadowWrapper}>
20
20
  <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.navy900,AppColors_1.AppColors.navy800,AppColors_1.AppColors.navy900]}start={{x:0,y:0}}end={{x:1,y:0}}style={styles.dockBar}>
21
21
 
22
- <TouchableScale_1.default onPress={F}style={styles.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
22
+ <TouchableScale_1.default onPress={O}style={styles.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
23
23
  <react_native_1.View style={[styles.menuItemIconCircle,{backgroundColor:`${AppColors_1.AppColors.sky400}38`}]}>
24
24
  <NetworkIcons_1.ScreenshotCaptureIcon size={14}color={AppColors_1.AppColors.sky400}/>
25
25
  </react_native_1.View>
@@ -1,16 +1,16 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,l,n,s){s===void 0&&(s=n);var i=Object.getOwnPropertyDescriptor(l,n);(!i||("get"in i?!l.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return l[n]}}),Object.defineProperty(r,s,i)}):(function(r,l,n,s){s===void 0&&(s=n),r[s]=l[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,l){Object.defineProperty(r,"default",{enumerable:!0,value:l})}):function(r,l){r.default=l}),__importStar=this&&this.__importStar||(function(){var r=function(l){return r=Object.getOwnPropertyNames||function(n){var s=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(s[s.length]=i);return s},r(l)};return function(l){if(l&&l.__esModule)return l;var n={};if(l!=null)for(var s=r(l),i=0;i<s.length;i++)s[i]!=="default"&&__createBinding(n,l,s[i]);return __setModuleDefault(n,l),n}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),BrandCircleIcon_1=require("../BrandCircleIcon"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),constants_2=require("../../constants"),helpers_1=require("../../helpers"),NativeInspector_1=require("../../native/NativeInspector"),capture_1=require("../../capture"),UpdateAvailableModal_1=require("./UpdateAvailableModal"),MediaPreviewModal_1=require("./MediaPreviewModal"),LanguageSelectorModal_1=require("./LanguageSelectorModal"),CountryFlag_1=__importDefault(require("../CountryFlag")),NetworkIcons_1=require("../NetworkIcons"),i18n_1=require("../../i18n"),InspectorHeader=react_1.default.memo(()=>{const{t:r,language:l}=(0,i18n_1.useTranslation)(),{modalHeightPercent:n,appIcon:s,selected:i,setSelected:W,selectedEvent:u,setSelectedEvent:N,selectedLog:g,setSelectedLog:q,selectedReduxSlice:b,setSelectedReduxSlice:U,selectedReduxAction:S,setSelectedReduxAction:j,reduxState:G,reduxLastActionMap:K,updateAvailable:z,latestNpmVersion:Q,clearAnim:ce,activePulseAnim:J,unreadPulseAnim:X,runClearAllWithAnimation:pe,settingsPage:w,setSettingsPage:D,isAboutOpen:I,setIsAboutOpen:Y,resetToDefaults:Z,closeModal:O,minimizeInspector:ee,detailTitle:te,activeTab:d,environment:P,selectedCrash:p,setSelectedCrash:re,selectedPush:c,setSelectedPush:ie,selectedSocket:o,setSelectedSocket:ae,refreshMediaCount:C,peekMode:M,setPeekMode:oe,previewMediaItem:L,setPreviewMediaItem:m}=(0,InspectorContext_1.useInspector)(),{width:T}=(0,react_native_1.useWindowDimensions)(),e=T<360,y=T<400,[le,R]=react_1.default.useState(!1),[ue,ge]=react_1.default.useState(!1),[ne,$]=react_1.default.useState(!1),[se]=react_1.default.useState(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),H=(0,react_1.useMemo)(()=>{const t=l||(0,i18n_1.getLanguage)();return i18n_1.SUPPORTED_LANGUAGES.find(a=>a.code===t)||i18n_1.SUPPORTED_LANGUAGES[0]},[l]),[v,x]=react_1.default.useState(!1),[he,k]=react_1.default.useState(0),_=react_1.default.useRef(null);react_1.default.useEffect(()=>{capture_1.ScreenCapture.isRecording().then(t=>{x(t)}).catch(()=>{})},[]),react_1.default.useEffect(()=>(v?(k(0),_.current=setInterval(()=>{k(t=>t+1)},1e3)):(_.current&&(clearInterval(_.current),_.current=null),k(0)),()=>{_.current&&clearInterval(_.current)}),[v]);const fe=react_1.default.useCallback(async()=>{try{(0,NativeInspector_1.triggerNativeHaptic)("light");const t=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(t){(0,NativeInspector_1.triggerNativeHaptic)("success");const a=(0,capture_1.generateCaptureId)("screenshot",t.format||"png"),f={id:a,type:"image",format:t.format,uri:t.uri,filename:t.uri.split("/").pop()||a,sizeBytes:t.sizeBytes,timestamp:t.timestamp,width:t.width,height:t.height};m(f),C?.().catch(()=>{}),(0,helpers_1.showToast)(r("header.screenshotCaptured"))}else(0,helpers_1.showToast)(r("header.screenshotFailed"))}catch{(0,helpers_1.showToast)(r("header.screenshotError"))}},[C,r]),we=react_1.default.useCallback(async()=>{try{if(v){(0,NativeInspector_1.triggerNativeHaptic)("medium");const t=await capture_1.ScreenCapture.stopRecording();if(x(!1),t){(0,NativeInspector_1.triggerNativeHaptic)("success");const a=(0,capture_1.generateCaptureId)("video",t.format),f={id:a,type:t.format==="gif"?"gif":"video",format:t.format,uri:t.uri,filename:t.uri.split("/").pop()||a,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs,width:t.width,height:t.height,hasAudio:t.hasAudio};m(f),C?.().catch(()=>{}),(0,helpers_1.showToast)(r("header.recordingSaved",{duration:(t.durationMs/1e3).toFixed(1)}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:24,audioSource:"none"})?(x(!0),(0,helpers_1.showToast)(r("header.recordingStarted"))):(0,helpers_1.showToast)(r("header.recordingStartFailed"))}catch{(0,helpers_1.showToast)(r("header.recordingError")),x(!1)}},[v,r]),_e=t=>{const a=Math.floor(t/60),f=t%60;return`${a.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`},be=(0,react_1.useMemo)(()=>{const t=(P||(__DEV__?"DEV":"PROD")).trim(),a=t.toUpperCase();return a==="DEV"||a.includes("DEV")||a==="LOCAL"?{label:t,bg:`${AppColors_1.AppColors.emerald500}40`,border:`${AppColors_1.AppColors.emerald400}8C`,text:AppColors_1.AppColors.mintGreenBorder}:a==="UAT"||a==="QA"||a==="TEST"?{label:t,bg:`${AppColors_1.AppColors.amber500}47`,border:`${AppColors_1.AppColors.amber400}99`,text:AppColors_1.AppColors.amberWarmBorder}:a==="PREPROD"||a==="STAGE"||a==="STAGING"?{label:t,bg:`${AppColors_1.AppColors.purple500}47`,border:`${AppColors_1.AppColors.purple400}99`,text:AppColors_1.AppColors.violetSoftBorder}:{label:t,bg:`${AppColors_1.AppColors.rose500}40`,border:`${AppColors_1.AppColors.roseBorder}8C`,text:AppColors_1.AppColors.errorBorder}},[P]),V=d==="apis"&&i!=null||d==="analytics"&&u!=null||d==="logs"&&g!=null||d==="redux"&&(b!=null||S!=null)||d==="crash"&&p!=null||d==="push"&&c!=null||d==="socket"&&o!=null,A=w!==null,B=V||A||I,de=(0,react_1.useMemo)(()=>{switch(w){case"apis":return"APIs (Network)";case"logs":return"Console Logs";case"crash":return"Crash Protection";case"analytics":return"Analytics Logger";case"redux":return"Redux Inspector";case"media":return"Screencast (Media)";case"push":return"Push Notifications";default:return"Settings & Modules"}},[w]),F=(0,react_1.useMemo)(()=>react_native_1.Platform.OS==="ios"?n>=98?T>=390?50:44:0:react_native_1.Platform.OS==="android"&&n>=98?react_native_1.StatusBar.currentHeight||24:0,[n,T]),h=e?25:y?26.5:27,Ce=e?36:y?38:40;return<>
2
- <react_native_1.View style={[styles_1.default.headerGradient,{minHeight:(e?44:48)+F}]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,l,n,s){s===void 0&&(s=n);var i=Object.getOwnPropertyDescriptor(l,n);(!i||("get"in i?!l.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return l[n]}}),Object.defineProperty(r,s,i)}):(function(r,l,n,s){s===void 0&&(s=n),r[s]=l[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,l){Object.defineProperty(r,"default",{enumerable:!0,value:l})}):function(r,l){r.default=l}),__importStar=this&&this.__importStar||(function(){var r=function(l){return r=Object.getOwnPropertyNames||function(n){var s=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(s[s.length]=i);return s},r(l)};return function(l){if(l&&l.__esModule)return l;var n={};if(l!=null)for(var s=r(l),i=0;i<s.length;i++)s[i]!=="default"&&__createBinding(n,l,s[i]);return __setModuleDefault(n,l),n}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),BrandCircleIcon_1=require("../BrandCircleIcon"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),constants_2=require("../../constants"),helpers_1=require("../../helpers"),NativeInspector_1=require("../../native/NativeInspector"),capture_1=require("../../capture"),MediaPreviewModal_1=require("./MediaPreviewModal"),LanguageSelectorModal_1=require("./LanguageSelectorModal"),CountryFlag_1=__importDefault(require("../CountryFlag")),NetworkIcons_1=require("../NetworkIcons"),i18n_1=require("../../i18n"),InspectorHeader=react_1.default.memo(()=>{const{t:r,language:l}=(0,i18n_1.useTranslation)(),{modalHeightPercent:n,appIcon:s,selected:i,setSelected:F,selectedEvent:u,setSelectedEvent:E,selectedLog:g,setSelectedLog:W,selectedReduxSlice:b,setSelectedReduxSlice:N,selectedReduxAction:S,setSelectedReduxAction:q,reduxState:j,reduxLastActionMap:U,clearAnim:ae,runClearAllWithAnimation:oe,settingsPage:_,setSettingsPage:z,isAboutOpen:D,setIsAboutOpen:G,resetToDefaults:K,closeModal:k,minimizeInspector:Q,detailTitle:J,activeTab:d,environment:O,selectedCrash:p,setSelectedCrash:X,selectedPush:c,setSelectedPush:Y,selectedSocket:o,setSelectedSocket:Z,refreshMediaCount:C,peekMode:I,setPeekMode:ee,previewMediaItem:B,setPreviewMediaItem:y}=(0,InspectorContext_1.useInspector)(),{width:T}=(0,react_native_1.useWindowDimensions)(),e=T<360,m=T<400,[le,ne]=react_1.default.useState(!1),[te,L]=react_1.default.useState(!1),[re]=react_1.default.useState(()=>(0,helpers_1.getAppVersionAndBuild)().formatted),$=(0,react_1.useMemo)(()=>{const t=l||(0,i18n_1.getLanguage)();return i18n_1.SUPPORTED_LANGUAGES.find(a=>a.code===t)||i18n_1.SUPPORTED_LANGUAGES[0]},[l]),[v,V]=react_1.default.useState(!1),[se,R]=react_1.default.useState(0),w=react_1.default.useRef(null);react_1.default.useEffect(()=>{capture_1.ScreenCapture.isRecording().then(t=>{V(t)}).catch(()=>{})},[]),react_1.default.useEffect(()=>(v?(R(0),w.current=setInterval(()=>{R(t=>t+1)},1e3)):(w.current&&(clearInterval(w.current),w.current=null),R(0)),()=>{w.current&&clearInterval(w.current)}),[v]);const de=react_1.default.useCallback(async()=>{try{(0,NativeInspector_1.triggerNativeHaptic)("light");const t=await capture_1.ScreenCapture.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(t){(0,NativeInspector_1.triggerNativeHaptic)("success");const a=(0,capture_1.generateCaptureId)("screenshot",t.format||"png"),f={id:a,type:"image",format:t.format,uri:t.uri,filename:t.uri.split("/").pop()||a,sizeBytes:t.sizeBytes,timestamp:t.timestamp,width:t.width,height:t.height};y(f),C?.().catch(()=>{}),(0,helpers_1.showToast)(r("header.screenshotCaptured"))}else(0,helpers_1.showToast)(r("header.screenshotFailed"))}catch{(0,helpers_1.showToast)(r("header.screenshotError"))}},[C,r]),ce=react_1.default.useCallback(async()=>{try{if(v){(0,NativeInspector_1.triggerNativeHaptic)("medium");const t=await capture_1.ScreenCapture.stopRecording();if(V(!1),t){(0,NativeInspector_1.triggerNativeHaptic)("success");const a=(0,capture_1.generateCaptureId)("video",t.format),f={id:a,type:t.format==="gif"?"gif":"video",format:t.format,uri:t.uri,filename:t.uri.split("/").pop()||a,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs,width:t.width,height:t.height,hasAudio:t.hasAudio};y(f),C?.().catch(()=>{}),(0,helpers_1.showToast)(r("header.recordingSaved",{duration:(t.durationMs/1e3).toFixed(1)}))}}else(0,NativeInspector_1.triggerNativeHaptic)("medium"),await capture_1.ScreenCapture.startRecording({fps:24,audioSource:"none"})?(V(!0),(0,helpers_1.showToast)(r("header.recordingStarted"))):(0,helpers_1.showToast)(r("header.recordingStartFailed"))}catch{(0,helpers_1.showToast)(r("header.recordingError")),V(!1)}},[v,r]),pe=t=>{const a=Math.floor(t/60),f=t%60;return`${a.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`},ue=(0,react_1.useMemo)(()=>{const t=(O||(__DEV__?"DEV":"PROD")).trim(),a=t.toUpperCase();return a==="DEV"||a.includes("DEV")||a==="LOCAL"?{label:t,bg:`${AppColors_1.AppColors.emerald500}40`,border:`${AppColors_1.AppColors.emerald400}8C`,text:AppColors_1.AppColors.mintGreenBorder}:a==="UAT"||a==="QA"||a==="TEST"?{label:t,bg:`${AppColors_1.AppColors.amber500}47`,border:`${AppColors_1.AppColors.amber400}99`,text:AppColors_1.AppColors.amberWarmBorder}:a==="PREPROD"||a==="STAGE"||a==="STAGING"?{label:t,bg:`${AppColors_1.AppColors.purple500}47`,border:`${AppColors_1.AppColors.purple400}99`,text:AppColors_1.AppColors.violetSoftBorder}:{label:t,bg:`${AppColors_1.AppColors.rose500}40`,border:`${AppColors_1.AppColors.roseBorder}8C`,text:AppColors_1.AppColors.errorBorder}},[O]),x=d==="apis"&&i!=null||d==="analytics"&&u!=null||d==="logs"&&g!=null||d==="redux"&&(b!=null||S!=null)||d==="crash"&&p!=null||d==="push"&&c!=null||d==="socket"&&o!=null,A=_!==null,M=x||A||D,ie=(0,react_1.useMemo)(()=>{switch(_){case"apis":return"APIs (Network)";case"logs":return"Console Logs";case"crash":return"Crash Protection";case"analytics":return"Analytics Logger";case"redux":return"Redux Inspector";case"media":return"Screencast (Media)";case"push":return"Push Notifications";default:return"Settings & Modules"}},[_]),P=(0,react_1.useMemo)(()=>react_native_1.Platform.OS==="ios"?n>=98?T>=390?50:44:0:react_native_1.Platform.OS==="android"&&n>=98?react_native_1.StatusBar.currentHeight||24:0,[n,T]),h=e?25:m?26.5:27,ge=e?36:m?38:40;return<>
2
+ <react_native_1.View style={[styles_1.default.headerGradient,{minHeight:(e?44:48)+P}]}>
3
3
 
4
4
  <react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.indigo600,AppColors_1.AppColors.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={{position:"absolute",top:0,left:0,right:0,bottom:0,borderTopLeftRadius:20,borderTopRightRadius:20}}pointerEvents="none"/>
5
- <react_native_1.View style={{paddingTop:F,width:"100%"}}>
5
+ <react_native_1.View style={{paddingTop:P,width:"100%"}}>
6
6
  <react_native_1.View style={[styles_1.default.header,{width:"100%",justifyContent:"space-between",paddingHorizontal:e?10:12,paddingVertical:5.5,minHeight:e?44:48}]}>
7
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:e?7:8,flex:V?void 0:1,flexShrink:V?0:1,minWidth:0}}>
8
- {B&&<TouchableScale_1.default onPress={()=>{if(I){Y(!1);return}if(A){D(w==="main"?null:"main");return}W(null),N(null),q(null),U(null),j(null),re(null),ie(null),ae(null)}}hitSlop={15}style={{width:e?32:36,height:e?32:36,borderRadius:e?16:18,alignItems:"center",justifyContent:"center",backgroundColor:`${AppColors_1.AppColors.white}2E`,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}4D`}}>
7
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:e?7:8,flex:x?void 0:1,flexShrink:x?0:1,minWidth:0}}>
8
+ {M&&<TouchableScale_1.default onPress={()=>{if(D){G(!1);return}if(A){z(_==="main"?null:"main");return}F(null),E(null),W(null),N(null),q(null),X(null),Y(null),Z(null)}}hitSlop={15}style={{width:e?32:36,height:e?32:36,borderRadius:e?16:18,alignItems:"center",justifyContent:"center",backgroundColor:`${AppColors_1.AppColors.white}2E`,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}4D`}}>
9
9
  <react_native_1.View style={{position:"absolute",width:e?40:44,height:e?40:44,borderRadius:22,backgroundColor:`${AppColors_1.AppColors.white}1A`}}/>
10
10
  <NetworkIcons_1.WhiteBackNavigation/>
11
11
  </TouchableScale_1.default>}
12
12
 
13
- {I?<react_native_1.View style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
13
+ {D?<react_native_1.View style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
14
14
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
15
15
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:AppColors_1.AppColors.white,letterSpacing:-.2}}numberOfLines={1}>
16
16
  About & Specs
@@ -27,32 +27,32 @@
27
27
  </react_native_1.View>:A?<react_native_1.View style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
28
28
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
29
29
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:AppColors_1.AppColors.white,letterSpacing:-.2}}numberOfLines={1}>
30
- {de}
30
+ {ie}
31
31
  </react_native_1.Text>
32
- {w==="main"&&<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.white}26`,paddingHorizontal:e?5:6,paddingVertical:2,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}20`}}>
32
+ {_==="main"&&<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.white}26`,paddingHorizontal:e?5:6,paddingVertical:2,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}20`}}>
33
33
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:AppColors_1.AppColors.white}}>
34
34
  v{constants_2.LIB_VERSION}
35
35
  </react_native_1.Text>
36
36
  </react_native_1.View>}
37
37
  </react_native_1.View>
38
38
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${AppColors_1.AppColors.white}CC`,marginTop:1}}numberOfLines={1}>
39
- {w==="main"?"Manage modules and preferences":"Configure module parameters"}
39
+ {_==="main"?"Manage modules and preferences":"Configure module parameters"}
40
40
  </react_native_1.Text>
41
- </react_native_1.View>:B?null:<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:e?8:10,flex:1,minWidth:0,marginRight:4}}>
42
- <BrandCircleIcon_1.BrandCircleIcon size={e?44:y?46:48}/>
41
+ </react_native_1.View>:M?null:<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:e?8:10,flex:1,minWidth:0,marginRight:4}}>
42
+ <BrandCircleIcon_1.BrandCircleIcon size={e?44:m?46:48}/>
43
43
  <react_native_1.View style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
44
44
 
45
- <react_native_1.Text style={[styles_1.default.headerTitle,{fontFamily:AppFonts_1.AppFonts.interBold,fontWeight:"700",fontSize:e?13:y?13.5:14.5,lineHeight:e?17:y?18:19.5,color:AppColors_1.AppColors.white,letterSpacing:-.2,paddingBottom:0}]}numberOfLines={1}ellipsizeMode="tail">
45
+ <react_native_1.Text style={[styles_1.default.headerTitle,{fontFamily:AppFonts_1.AppFonts.interBold,fontWeight:"700",fontSize:e?13:m?13.5:14.5,lineHeight:e?17:m?18:19.5,color:AppColors_1.AppColors.white,letterSpacing:-.2,paddingBottom:0}]}numberOfLines={1}ellipsizeMode="tail">
46
46
  react-native-inapp-inspector
47
47
  </react_native_1.Text>
48
48
 
49
49
 
50
50
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4.5,minWidth:0,marginTop:1.5}}>
51
51
 
52
- <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),$(!0)}}hitSlop={6}accessible={!0}accessibilityRole="button"accessibilityLabel={r("settings.general.selectLanguage","Select Language")}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}24`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}38`,flexShrink:0}}>
53
- <CountryFlag_1.default code={H?.code||"en"}size={9.5}borderRadius={2}/>
52
+ <TouchableScale_1.default onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),L(!0)}}hitSlop={6}accessible={!0}accessibilityRole="button"accessibilityLabel={r("settings.general.selectLanguage","Select Language")}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}24`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}38`,flexShrink:0}}>
53
+ <CountryFlag_1.default code={$?.code||"en"}size={9.5}borderRadius={2}/>
54
54
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,lineHeight:11,color:AppColors_1.AppColors.white,letterSpacing:.2}}numberOfLines={1}>
55
- {H?.code?.toUpperCase()||"EN"}
55
+ {$?.code?.toUpperCase()||"EN"}
56
56
  </react_native_1.Text>
57
57
  <NetworkIcons_1.ChevronDownIcon size={6.5}color={`${AppColors_1.AppColors.white}CC`}/>
58
58
  </TouchableScale_1.default>
@@ -61,35 +61,23 @@
61
61
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}1F`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}2E`,flexShrink:1,minWidth:0}}>
62
62
  {react_native_1.Platform.OS==="ios"?<NetworkIcons_1.AppleIcon color={`${AppColors_1.AppColors.white}E6`}size={9}/>:<NetworkIcons_1.AndroidIcon color={`${AppColors_1.AppColors.white}E6`}size={9}/>}
63
63
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:8.5,lineHeight:11,color:`${AppColors_1.AppColors.white}EB`,letterSpacing:.1}}numberOfLines={1}ellipsizeMode="tail">
64
- {se}
64
+ {re}
65
65
  </react_native_1.Text>
66
66
  </react_native_1.View>
67
67
 
68
68
 
69
- <react_native_1.Pressable onPress={()=>{z?R(!0):react_native_1.Linking.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}1F`,borderRadius:5,paddingHorizontal:6,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}2E`,flexShrink:0}}>
69
+ <react_native_1.Pressable onPress={()=>{react_native_1.Linking.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.white}1F`,borderRadius:5,paddingHorizontal:6,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.white}2E`,flexShrink:0}}>
70
70
  <NetworkIcons_1.NpmIcon size={9}color={AppColors_1.AppColors.npmRedLight}/>
71
71
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:8.5,lineHeight:11,color:`${AppColors_1.AppColors.white}EB`,letterSpacing:.1}}>
72
72
  v{constants_2.LIB_VERSION}
73
73
  </react_native_1.Text>
74
- {z&&<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,color:AppColors_1.AppColors.warningAmber}}>
75
- ●
76
- </react_native_1.Text>}
77
74
  </react_native_1.Pressable>
78
-
79
-
80
- {z&&<react_native_1.Pressable hitSlop={10}onPress={()=>R(!0)}style={{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.warningAmber,borderRadius:5,paddingHorizontal:4.5,paddingVertical:1.5,gap:3,shadowColor:AppColors_1.AppColors.warningAmber,shadowOffset:{width:0,height:1.5},shadowOpacity:.35,shadowRadius:3,elevation:3,flexShrink:0}}>
81
- <react_native_1.Animated.View style={{width:4.5,height:4.5,borderRadius:2.25,backgroundColor:AppColors_1.AppColors.white,opacity:J,transform:[{scale:X}]}}/>
82
- {!e&&<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:10,color:AppColors_1.AppColors.white,letterSpacing:.3}}>
83
- UPDATE
84
- </react_native_1.Text>}
85
- <NetworkIcons_1.BoltIcon size={e?7.5:8.5}color={AppColors_1.AppColors.white}/>
86
- </react_native_1.Pressable>}
87
75
  </react_native_1.View>
88
76
  </react_native_1.View>
89
77
  </react_native_1.View>}
90
78
  </react_native_1.View>
91
79
 
92
- {V&&<react_native_1.View style={[styles_1.default.headerCenter,{paddingHorizontal:e?2:6}]}>
80
+ {x&&<react_native_1.View style={[styles_1.default.headerCenter,{paddingHorizontal:e?2:6}]}>
93
81
  {d==="apis"&&i!=null?<react_native_1.View style={styles_1.default.headerDetailCenter}>
94
82
  <react_native_1.View style={styles_1.default.headerDetailRow}>
95
83
  <react_native_1.View style={[styles_1.default.headerMethodBadge,{backgroundColor:constants_1.METHOD_COLORS[i.method]??AppColors_1.AppColors.grayText,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
@@ -98,7 +86,7 @@
98
86
  </react_native_1.Text>
99
87
  </react_native_1.View>
100
88
  <react_native_1.Text style={[styles_1.default.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
101
- {te}
89
+ {J}
102
90
  </react_native_1.Text>
103
91
  </react_native_1.View>
104
92
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
@@ -163,7 +151,7 @@
163
151
  </react_native_1.Text>
164
152
  </react_native_1.View>
165
153
  </react_native_1.View>
166
- </react_native_1.View>:d==="redux"&&b!=null?(()=>{const t=G?.[b],a=t&&typeof t=="object"?Object.keys(t).length:typeof t<"u"?1:0,f=(0,helpers_1.getSize)(t),E=K[b];return<react_native_1.View style={styles_1.default.headerDetailCenter}>
154
+ </react_native_1.View>:d==="redux"&&b!=null?(()=>{const t=j?.[b],a=t&&typeof t=="object"?Object.keys(t).length:typeof t<"u"?1:0,f=(0,helpers_1.getSize)(t),H=U[b];return<react_native_1.View style={styles_1.default.headerDetailCenter}>
167
155
  <react_native_1.View style={styles_1.default.headerDetailRow}>
168
156
  <react_native_1.View style={[styles_1.default.headerMethodBadge,{backgroundColor:`${AppColors_1.AppColors.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
169
157
  <react_native_1.Text style={[styles_1.default.headerMethodText,{fontSize:e?9:10}]}>
@@ -191,14 +179,14 @@
191
179
  <react_native_1.Text style={[styles_1.default.headerSubTitle,{fontSize:e?10:11}]}>
192
180
  {f}
193
181
  </react_native_1.Text>
194
- {E?.timestamp&&<>
182
+ {H?.timestamp&&<>
195
183
  <react_native_1.Text style={[styles_1.default.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
196
184
  •
197
185
  </react_native_1.Text>
198
186
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:3}}>
199
187
  <NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.white}size={e?9:10}/>
200
188
  <react_native_1.Text style={[styles_1.default.headerSubTitle,{fontSize:e?10:11}]}>
201
- {E.timestamp}
189
+ {H.timestamp}
202
190
  </react_native_1.Text>
203
191
  </react_native_1.View>
204
192
  </>}
@@ -306,27 +294,27 @@
306
294
 
307
295
  <react_native_1.View style={[styles_1.default.headerRight,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",flexShrink:0,gap:e?4:5}]}>
308
296
 
309
- {A?<TouchableScale_1.default onPress={()=>{react_native_1.Alert.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:Z}])}}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(245, 158, 11, 0.26)",borderColor:"rgba(252, 211, 77, 0.45)",borderWidth:1}]}>
297
+ {A?<TouchableScale_1.default onPress={()=>{react_native_1.Alert.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:K}])}}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(245, 158, 11, 0.26)",borderColor:"rgba(252, 211, 77, 0.45)",borderWidth:1}]}>
310
298
  <NetworkIcons_1.ResetIcon color={AppColors_1.AppColors.white}size={e?12:14}/>
311
- </TouchableScale_1.default>:B?null:<>
299
+ </TouchableScale_1.default>:M?null:<>
312
300
 
313
- <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={M?"Disable peek-through":"Enable peek-through"}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),oe(t=>!t)}}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:M?"rgba(6, 182, 212, 0.38)":"rgba(6, 182, 212, 0.18)",borderColor:M?"rgba(103, 232, 249, 0.65)":"rgba(103, 232, 249, 0.35)",borderWidth:1}]}>
301
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={I?"Disable peek-through":"Enable peek-through"}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),ee(t=>!t)}}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:I?"rgba(6, 182, 212, 0.38)":"rgba(6, 182, 212, 0.18)",borderColor:I?"rgba(103, 232, 249, 0.65)":"rgba(103, 232, 249, 0.35)",borderWidth:1}]}>
314
302
  <NetworkIcons_1.EyeIcon color={AppColors_1.AppColors.white}size={e?12:14}/>
315
303
  </TouchableScale_1.default>
316
304
 
317
305
 
318
- <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>D("main")}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(168, 85, 247, 0.28)",borderColor:"rgba(216, 180, 254, 0.45)",borderWidth:1}]}>
306
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>z("main")}hitSlop={15}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(168, 85, 247, 0.28)",borderColor:"rgba(216, 180, 254, 0.45)",borderWidth:1}]}>
319
307
  <NetworkIcons_1.SettingsIcon color={AppColors_1.AppColors.white}size={e?12:14}/>
320
308
  </TouchableScale_1.default>
321
309
  </>}
322
310
 
323
311
 
324
- <react_native_1.TouchableOpacity testID="inspector.header.minimizeBtn"onPress={ee||O}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={r("common.minimize","Minimize")}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(56, 189, 248, 0.22)",borderColor:"rgba(125, 211, 252, 0.40)",borderWidth:1}]}>
312
+ <react_native_1.TouchableOpacity testID="inspector.header.minimizeBtn"onPress={Q||k}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={r("common.minimize","Minimize")}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(56, 189, 248, 0.22)",borderColor:"rgba(125, 211, 252, 0.40)",borderWidth:1}]}>
325
313
  <NetworkIcons_1.ChevronDownIcon size={e?14:16}color={AppColors_1.AppColors.white}/>
326
314
  </react_native_1.TouchableOpacity>
327
315
 
328
316
 
329
- <react_native_1.TouchableOpacity testID="inspector.header.closeBtn"onPress={O}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={r("common.close","Close")}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(244, 63, 94, 0.28)",borderColor:"rgba(251, 113, 133, 0.48)",borderWidth:1}]}>
317
+ <react_native_1.TouchableOpacity testID="inspector.header.closeBtn"onPress={k}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={r("common.close","Close")}style={[styles_1.default.closeButtonSquare,{width:h,height:h,borderRadius:e?6:7,backgroundColor:"rgba(244, 63, 94, 0.28)",borderColor:"rgba(251, 113, 133, 0.48)",borderWidth:1}]}>
330
318
  <NetworkIcons_1.CloseWhite size={e?12:14}/>
331
319
  </react_native_1.TouchableOpacity>
332
320
  </react_native_1.View>
@@ -335,11 +323,8 @@
335
323
  </react_native_1.View>
336
324
 
337
325
 
338
- <UpdateAvailableModal_1.UpdateAvailableModal visible={le}latestVersion={Q}onClose={()=>R(!1)}/>
339
-
340
-
341
- <LanguageSelectorModal_1.LanguageSelectorModal visible={ne}onClose={()=>$(!1)}/>
326
+ <LanguageSelectorModal_1.LanguageSelectorModal visible={te}onClose={()=>L(!1)}/>
342
327
 
343
328
 
344
- <MediaPreviewModal_1.MediaPreviewModal item={L}visible={!!L}onClose={()=>m(null)}onDelete={async t=>{await capture_1.ScreenCapture.deleteMedia(t.uri),C?.().catch(()=>{}),m(null)}}onConvertToGif={async t=>{const a=await capture_1.ScreenCapture.convertToGif(t.uri,{fps:12,width:480});if(a){C?.().catch(()=>{});const f=(0,capture_1.generateCaptureId)("anim","gif");m({id:f,type:"gif",format:"gif",uri:a.uri,filename:a.uri.split("/").pop()||f,sizeBytes:a.sizeBytes,timestamp:a.timestamp,durationMs:a.durationMs})}}}/>
329
+ <MediaPreviewModal_1.MediaPreviewModal item={B}visible={!!B}onClose={()=>y(null)}onDelete={async t=>{await capture_1.ScreenCapture.deleteMedia(t.uri),C?.().catch(()=>{}),y(null)}}onConvertToGif={async t=>{const a=await capture_1.ScreenCapture.convertToGif(t.uri,{fps:12,width:480});if(a){C?.().catch(()=>{});const f=(0,capture_1.generateCaptureId)("anim","gif");y({id:f,type:"gif",format:"gif",uri:a.uri,filename:a.uri.split("/").pop()||f,sizeBytes:a.sizeBytes,timestamp:a.timestamp,durationMs:a.durationMs})}}}/>
345
330
  </>});exports.default=InspectorHeader;
@@ -4,7 +4,7 @@
4
4
  <ErrorBoundary_1.default onClose={r}>
5
5
  <react_native_1.View style={[styles_1.default.modalBackdrop,{zIndex:999999,elevation:999999}]}>
6
6
  <react_native_1.Pressable style={styles_1.default.modalBackdropPressable}onPress={r}/>
7
- <react_native_1.View style={[styles_1.default.modalContentCard,{height:`${a}%`,borderTopLeftRadius:a>=100?0:20,borderTopRightRadius:a>=100?0:20,opacity:q?Math.max(.05,Math.min(1,typeof h=="number"?h:.1)):1,zIndex:9999999,elevation:999999}]}>
7
+ <react_native_1.View style={[styles_1.default.modalContentCard,{height:`${a}%`,borderTopLeftRadius:a>=100?0:20,borderTopRightRadius:a>=100?0:20,opacity:q?Math.max(.05,Math.min(1,typeof h=="number"?h:.3)):1,zIndex:9999999,elevation:999999}]}>
8
8
  <react_native_1.StatusBar translucent backgroundColor="transparent"barStyle="light-content"/>
9
9
 
10
10
  <InspectorHeader_1.default/>