react-native-inapp-inspector 2.5.13 → 2.5.15

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 (129) hide show
  1. package/README.md +0 -8
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +118 -31
  3. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +1 -1
  4. package/dist/commonjs/components/Inspector/ConsoleTab.js +7 -7
  5. package/dist/commonjs/components/Inspector/FabLauncher.js +3 -3
  6. package/dist/commonjs/components/Inspector/InspectorHeader.js +30 -30
  7. package/dist/commonjs/components/Inspector/MainScreen.js +38 -75
  8. package/dist/commonjs/components/Inspector/NetworkExportModal.js +4 -4
  9. package/dist/commonjs/components/Inspector/NetworkTab.js +51 -51
  10. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  11. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +17 -16
  12. package/dist/commonjs/components/Inspector/SettingsPanel.js +40 -41
  13. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  14. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +34 -3
  15. package/dist/commonjs/components/Inspector/TabBar.js +9 -15
  16. package/dist/commonjs/components/LogCard.js +7 -7
  17. package/dist/commonjs/components/SkeletonPlaceholder.d.ts +3 -0
  18. package/dist/commonjs/components/SkeletonPlaceholder.js +34 -3
  19. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  20. package/dist/commonjs/constants/telemetryConfig.js +1 -1
  21. package/dist/commonjs/constants/version.d.ts +1 -1
  22. package/dist/commonjs/constants/version.js +1 -1
  23. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  24. package/dist/commonjs/helpers/shareFormatter.js +14 -14
  25. package/dist/commonjs/index.d.ts +1 -1
  26. package/dist/commonjs/index.js +3 -3
  27. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  28. package/dist/commonjs/native/NativeInspector.js +1 -1
  29. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  30. package/dist/commonjs/styles/AppFonts.d.ts +4 -0
  31. package/dist/commonjs/styles/AppFonts.js +1 -1
  32. package/dist/commonjs/styles/index.d.ts +2 -0
  33. package/dist/commonjs/styles/index.js +1 -1
  34. package/dist/commonjs/types/enums.d.ts +0 -2
  35. package/dist/commonjs/types/enums.js +1 -1
  36. package/dist/commonjs/types/interfaces.d.ts +1 -1
  37. package/dist/esm/components/Inspector/ConsoleExportModal.js +1 -1
  38. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  39. package/dist/esm/components/Inspector/FabLauncher.js +42 -42
  40. package/dist/esm/components/Inspector/InspectorHeader.js +50 -50
  41. package/dist/esm/components/Inspector/MainScreen.js +87 -124
  42. package/dist/esm/components/Inspector/NetworkExportModal.js +1 -1
  43. package/dist/esm/components/Inspector/NetworkTab.js +83 -83
  44. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +1 -0
  45. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +23 -22
  46. package/dist/esm/components/Inspector/SettingsPanel.js +106 -107
  47. package/dist/esm/components/Inspector/SkeletonPlaceholder.d.ts +3 -0
  48. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +42 -11
  49. package/dist/esm/components/Inspector/TabBar.js +35 -41
  50. package/dist/esm/components/LogCard.js +53 -53
  51. package/dist/esm/components/SkeletonPlaceholder.d.ts +3 -0
  52. package/dist/esm/components/SkeletonPlaceholder.js +42 -11
  53. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  54. package/dist/esm/constants/telemetryConfig.js +1 -1
  55. package/dist/esm/constants/version.d.ts +1 -1
  56. package/dist/esm/constants/version.js +1 -1
  57. package/dist/esm/helpers/remoteConfig.js +1 -1
  58. package/dist/esm/helpers/shareFormatter.js +14 -14
  59. package/dist/esm/index.d.ts +1 -1
  60. package/dist/esm/index.js +8 -8
  61. package/dist/esm/native/NativeInspector.d.ts +2 -0
  62. package/dist/esm/native/NativeInspector.js +1 -1
  63. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  64. package/dist/esm/styles/AppFonts.d.ts +4 -0
  65. package/dist/esm/styles/AppFonts.js +1 -1
  66. package/dist/esm/styles/index.d.ts +2 -0
  67. package/dist/esm/styles/index.js +1 -1
  68. package/dist/esm/types/enums.d.ts +0 -2
  69. package/dist/esm/types/enums.js +1 -1
  70. package/dist/esm/types/interfaces.d.ts +1 -1
  71. package/ios/NetworkInspectorModule.mm +288 -325
  72. package/package.json +1 -1
  73. package/src/native/NativeInspector.ts +30 -0
  74. package/src/native/NativeNetworkInspector.ts +2 -0
  75. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  76. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  77. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  78. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  79. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  80. package/android/.gradle/8.9/gc.properties +0 -0
  81. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  82. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  83. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  84. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  85. package/android/.gradle/9.2.0/gc.properties +0 -0
  86. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  87. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  88. package/android/.gradle/vcs-1/gc.properties +0 -0
  89. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  90. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +0 -8
  91. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +0 -76
  92. package/dist/commonjs/components/Inspector/DebuggingTab.d.ts +0 -3
  93. package/dist/commonjs/components/Inspector/DebuggingTab.js +0 -197
  94. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +0 -7
  95. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +0 -97
  96. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +0 -2
  97. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +0 -485
  98. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +0 -2
  99. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +0 -199
  100. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +0 -2
  101. package/dist/commonjs/components/Inspector/UiInspectorTab.js +0 -117
  102. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +0 -10
  103. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +0 -148
  104. package/dist/commonjs/components/Inspector/index.d.ts +0 -28
  105. package/dist/commonjs/components/Inspector/index.js +0 -1
  106. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +0 -22
  107. package/dist/commonjs/customHooks/uiInspectorManager.js +0 -1
  108. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +0 -62
  109. package/dist/commonjs/helpers/uiInspectorEngine.js +0 -19
  110. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +0 -8
  111. package/dist/esm/components/Inspector/BoxModelVisualizer.js +0 -76
  112. package/dist/esm/components/Inspector/DebuggingTab.d.ts +0 -3
  113. package/dist/esm/components/Inspector/DebuggingTab.js +0 -197
  114. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +0 -7
  115. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +0 -97
  116. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +0 -2
  117. package/dist/esm/components/Inspector/UiInspectorDetail.js +0 -422
  118. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +0 -2
  119. package/dist/esm/components/Inspector/UiInspectorOverlay.js +0 -138
  120. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +0 -2
  121. package/dist/esm/components/Inspector/UiInspectorTab.js +0 -117
  122. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +0 -10
  123. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +0 -148
  124. package/dist/esm/components/Inspector/index.d.ts +0 -28
  125. package/dist/esm/components/Inspector/index.js +0 -1
  126. package/dist/esm/customHooks/uiInspectorManager.d.ts +0 -22
  127. package/dist/esm/customHooks/uiInspectorManager.js +0 -1
  128. package/dist/esm/helpers/uiInspectorEngine.d.ts +0 -48
  129. package/dist/esm/helpers/uiInspectorEngine.js +0 -19
@@ -1,199 +0,0 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,a,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(a,e);(!i||("get"in i?!a.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return a[e]}}),Object.defineProperty(l,r,i)}):(function(l,a,e,r){r===void 0&&(r=e),l[r]=a[e]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,a){Object.defineProperty(l,"default",{enumerable:!0,value:a})}):function(l,a){l.default=a}),__importStar=this&&this.__importStar||(function(){var l=function(a){return l=Object.getOwnPropertyNames||function(e){var r=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[r.length]=i);return r},l(a)};return function(a){if(a&&a.__esModule)return a;var e={};if(a!=null)for(var r=l(a),i=0;i<r.length;i++)r[i]!=="default"&&__createBinding(e,a,r[i]);return __setModuleDefault(e,a),e}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UiInspectorOverlay=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),uiInspectorEngine_1=require("../../helpers/uiInspectorEngine"),types_1=require("../../types"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),TouchableScale_1=__importDefault(require("../TouchableScale")),NativeInspector_1=require("../../native/NativeInspector"),UiInspectorOverlay=()=>{const{isInspectModeActive:l,setIsInspectModeActive:a,selectedUiElement:e,setSelectedUiElement:r,showAlignmentGrid:i,setShowAlignmentGrid:N,showDistanceGuides:P,setShowDistanceGuides:q,setVisible:z,switchActiveTab:R}=(0,InspectorContext_1.useInspector)(),[B,k]=(0,react_1.useState)("top"),[_,A]=(0,react_1.useState)(!1),[C,w]=(0,react_1.useState)(!1),[v,O]=(0,react_1.useState)(""),[D,T]=(0,react_1.useState)(null),m=react_native_1.Dimensions.get("window"),F=(0,react_1.useCallback)(async o=>{const{pageX:t,pageY:s,locationX:c,locationY:f}=o.nativeEvent,u=t??c??0,x=s??f??0;try{const n=await(0,uiInspectorEngine_1.getDynamicInspectorDataForPoint)(u,x);if(n&&n.layout&&(n.layout.width>0||n.layout.height>0)){try{const I=await(0,NativeInspector_1.takeNativeScreenshot)({rect:{x:Math.max(0,n.layout.pageX),y:Math.max(0,n.layout.pageY),width:Math.max(1,n.layout.width),height:Math.max(1,n.layout.height)},quality:.95,format:"png"});I?.uri&&(n.snapshotUri=I.uri)}catch{}T({x:n.layout.x,y:n.layout.y,width:n.layout.width,height:n.layout.height,componentName:n.displayName||n.componentName}),r(n),(0,NativeInspector_1.triggerNativeHaptic)();return}}catch{}const p=Math.round(Math.min(m.width-32,Math.max(48,u>m.width/2?(m.width-u)*1.5:u*1.5))),h=44,y=Math.max(0,Math.min(u-p/2,m.width-p)),b=Math.max(0,Math.min(x-h/2,m.height-h));let V;try{const n=await(0,NativeInspector_1.takeNativeScreenshot)({rect:{x:Math.max(0,y),y:Math.max(0,b),width:Math.max(1,p),height:Math.max(1,h)},quality:.95,format:"png"});n?.uri&&(V=n.uri)}catch{}const W=(0,uiInspectorEngine_1.createInspectedElement)("View",{accessible:!0,style:{position:"absolute",left:Math.round(y),top:Math.round(b),width:p,height:h}},{x:Math.round(y),y:Math.round(b),width:p,height:h,pageX:Math.round(y),pageY:Math.round(b)},void 0,void 0,V);T({x:Math.round(y),y:Math.round(b),width:p,height:h,componentName:"View"}),r(W),(0,NativeInspector_1.triggerNativeHaptic)()},[m,r]),H=(0,react_1.useRef)(react_native_1.PanResponder.create({onStartShouldSetPanResponder:()=>!0,onMoveShouldSetPanResponder:()=>!0,onPanResponderGrant:o=>F(o),onPanResponderMove:o=>F(o)})).current;if(!l)return null;const d=D||(e?{x:e.layout.pageX,y:e.layout.pageY,width:e.layout.width,height:e.layout.height,componentName:e.componentName}:null),S=e?.hierarchy||[],E=e?.flattenedStyles||{},g=e?.boxModel||{margin:{top:0,right:0,bottom:0,left:0},border:{top:0,right:0,bottom:0,left:0},padding:{top:0,right:0,bottom:0,left:0},content:{width:e?.layout.width||0,height:e?.layout.height||0}},M=Object.entries(E).filter(([o,t])=>t==null||typeof t=="object"?!1:["overflow","fontSize","fontWeight","color","letterSpacing","lineHeight","backgroundColor","borderRadius","flexDirection","justifyContent","alignItems","flex","opacity","zIndex"].includes(o)),L=o=>{if(!e||o.componentName===e.componentName)return;(0,NativeInspector_1.triggerNativeHaptic)();const t=o.props||{},s=o.styles||(t.style?react_native_1.StyleSheet.flatten(t.style):{})||{},c=o.layout||{...e.layout,width:s.width||e.layout.width,height:s.height||e.layout.height},f=(0,uiInspectorEngine_1.extractBoxModel)(s,c),u=(0,uiInspectorEngine_1.auditAccessibility)(t,c,s);r({...e,componentName:o.componentName,displayName:o.displayName,props:t,originalStyles:s,flattenedStyles:s,tweakedStyles:{},layout:c,boxModel:f,a11y:u}),T({x:c.x??e.layout.x,y:c.y??e.layout.y,width:c.width,height:c.height,componentName:o.displayName||o.componentName})},j=()=>{(0,NativeInspector_1.triggerNativeHaptic)(),a(!1),R(types_1.ActiveTab.Ui),z(!0)};return<react_native_1.View style={[react_native_1.StyleSheet.absoluteFill,styles.overlayContainer]}pointerEvents="box-none">
2
-
3
- <react_native_1.View style={react_native_1.StyleSheet.absoluteFill}{...H.panHandlers}/>
4
-
5
-
6
- {i&&<react_native_1.View style={[react_native_1.StyleSheet.absoluteFill,styles.gridPattern]}pointerEvents="none"/>}
7
-
8
-
9
- {e&&<react_native_1.View style={[styles.devToolsHudContainer,B==="top"?styles.hudTop:styles.hudBottom]}pointerEvents="box-none">
10
-
11
- <react_native_1.View style={styles.hudBreadcrumbBar}>
12
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={styles.hudBreadcrumbContent}>
13
- {S.length>0?S.map((o,t)=>{const s=t===S.length-1||o.componentName===e.componentName;return<react_1.default.Fragment key={o.id||t}>
14
- {t>0&&<react_native_1.Text style={styles.hudDotSeparator}>•</react_native_1.Text>}
15
- <react_native_1.TouchableOpacity style={[styles.hudBreadcrumbChip,s&&styles.hudBreadcrumbChipActive]}onPress={()=>L(o)}>
16
- <react_native_1.Text style={[styles.hudBreadcrumbText,s&&styles.hudBreadcrumbTextActive]}>
17
- {o.displayName||o.componentName}
18
- </react_native_1.Text>
19
- </react_native_1.TouchableOpacity>
20
- </react_1.default.Fragment>}):<react_native_1.View style={styles.hudBreadcrumbChipActive}>
21
- <react_native_1.Text style={styles.hudBreadcrumbTextActive}>
22
- {e.componentName}
23
- </react_native_1.Text>
24
- </react_native_1.View>}
25
- </react_native_1.ScrollView>
26
-
27
-
28
- <react_native_1.TouchableOpacity style={styles.hudFlipBtn}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),k(B==="top"?"bottom":"top")}}>
29
- <react_native_1.Text style={styles.hudFlipBtnText}>🔄</react_native_1.Text>
30
- </react_native_1.TouchableOpacity>
31
- </react_native_1.View>
32
-
33
-
34
- <react_native_1.View style={styles.hudBodyRow}pointerEvents="none">
35
-
36
- <react_native_1.View style={styles.hudStylesColumn}>
37
- {M.length>0?M.slice(0,7).map(([o,t])=><react_native_1.View key={o}style={styles.hudStyleRow}>
38
- <react_native_1.Text style={styles.hudStyleKey}>{o}:</react_native_1.Text>
39
- <react_native_1.Text style={styles.hudStyleVal}numberOfLines={1}>
40
- {String(t)}
41
- </react_native_1.Text>
42
- </react_native_1.View>):<react_native_1.View style={styles.hudStyleRow}>
43
- <react_native_1.Text style={styles.hudStyleKey}>layout:</react_native_1.Text>
44
- <react_native_1.Text style={styles.hudStyleVal}>default</react_native_1.Text>
45
- </react_native_1.View>}
46
- </react_native_1.View>
47
-
48
-
49
- <react_native_1.View style={styles.hudBoxModelWrapper}>
50
- <react_native_1.View style={styles.boxModelMarginLayer}>
51
- <react_native_1.Text style={styles.boxModelMarginLabel}>margin</react_native_1.Text>
52
- <react_native_1.Text style={styles.boxModelInsetTop}>{g.margin.top}</react_native_1.Text>
53
- <react_native_1.Text style={styles.boxModelInsetRight}>{g.margin.right}</react_native_1.Text>
54
- <react_native_1.Text style={styles.boxModelInsetBottom}>{g.margin.bottom}</react_native_1.Text>
55
- <react_native_1.Text style={styles.boxModelInsetLeft}>{g.margin.left}</react_native_1.Text>
56
-
57
- <react_native_1.View style={styles.boxModelPaddingLayer}>
58
- <react_native_1.Text style={styles.boxModelPaddingLabel}>padding</react_native_1.Text>
59
- <react_native_1.Text style={styles.boxModelInsetTop}>{g.padding.top}</react_native_1.Text>
60
- <react_native_1.Text style={styles.boxModelInsetRight}>{g.padding.right}</react_native_1.Text>
61
- <react_native_1.Text style={styles.boxModelInsetBottom}>{g.padding.bottom}</react_native_1.Text>
62
- <react_native_1.Text style={styles.boxModelInsetLeft}>{g.padding.left}</react_native_1.Text>
63
-
64
- <react_native_1.View style={styles.boxModelContentLayer}>
65
- <react_native_1.Text style={styles.boxModelCoords}>
66
- ({Math.round(e.layout.pageX)},{" "}
67
- {Math.round(e.layout.pageY)})
68
- </react_native_1.Text>
69
- <react_native_1.Text style={styles.boxModelDimensions}>
70
- {Math.round(e.layout.width)} ×{" "}
71
- {Math.round(e.layout.height)}
72
- </react_native_1.Text>
73
- </react_native_1.View>
74
- </react_native_1.View>
75
- </react_native_1.View>
76
- </react_native_1.View>
77
- </react_native_1.View>
78
- </react_native_1.View>}
79
-
80
-
81
- {d&&<react_native_1.View pointerEvents="none"style={[styles.highlightBox,{top:d.y,left:d.x,width:d.width,height:d.height}]}>
82
-
83
- <react_native_1.View style={styles.contentTint}/>
84
-
85
-
86
- <react_native_1.View style={[styles.elementBadge,d.y<50?styles.elementBadgeBottom:styles.elementBadgeTop]}>
87
- <react_native_1.Text style={styles.elementBadgeTag}>&lt;{d.componentName}&gt;</react_native_1.Text>
88
- <react_native_1.Text style={styles.elementBadgeDim}>
89
- {Math.round(d.width)} × {Math.round(d.height)} pt
90
- </react_native_1.Text>
91
- </react_native_1.View>
92
- </react_native_1.View>}
93
-
94
-
95
- {P&&d&&<react_native_1.View style={react_native_1.StyleSheet.absoluteFill}pointerEvents="none">
96
-
97
- <react_native_1.View style={[styles.guideLineV,{top:0,left:d.x+d.width/2,height:d.y}]}>
98
- <react_native_1.Text style={styles.guideBadge}>{Math.round(d.y)} pt</react_native_1.Text>
99
- </react_native_1.View>
100
-
101
-
102
- <react_native_1.View style={[styles.guideLineH,{top:d.y+d.height/2,left:0,width:d.x}]}>
103
- <react_native_1.Text style={styles.guideBadge}>{Math.round(d.x)} pt</react_native_1.Text>
104
- </react_native_1.View>
105
- </react_native_1.View>}
106
-
107
-
108
- <react_native_1.View style={styles.hudToolbar}>
109
- <react_native_1.View style={styles.hudLeftGroup}>
110
- <react_native_1.TouchableOpacity style={[styles.modePillBtn,!_&&styles.modePillBtnActive]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),A(!1)}}>
111
- <react_native_1.Text style={[styles.modePillText,!_&&styles.modePillTextActive]}>
112
- Inspect
113
- </react_native_1.Text>
114
- </react_native_1.TouchableOpacity>
115
-
116
- <react_native_1.TouchableOpacity style={[styles.modePillBtn,_&&styles.modePillBtnActive]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),A(!_)}}>
117
- <react_native_1.Text style={[styles.modePillText,_&&styles.modePillTextActive]}>
118
- Touchables
119
- </react_native_1.Text>
120
- </react_native_1.TouchableOpacity>
121
- </react_native_1.View>
122
-
123
- <react_native_1.View style={styles.hudActions}>
124
- <TouchableScale_1.default style={[styles.hudBtn,C&&styles.hudBtnActive]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),w(!0)}}>
125
- <NetworkIcons_1.CodeBracketsIcon color={C?AppColors_1.AppColors.white:"#CBD5E1"}size={13}/>
126
- <react_native_1.Text style={styles.treeBtnText}>Tree</react_native_1.Text>
127
- </TouchableScale_1.default>
128
-
129
- <TouchableScale_1.default style={[styles.hudBtn,i&&styles.hudBtnActive]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),N(!i)}}>
130
- <NetworkIcons_1.RulerIcon color={i?AppColors_1.AppColors.white:"#CBD5E1"}size={14}/>
131
- </TouchableScale_1.default>
132
-
133
- {e&&<TouchableScale_1.default style={[styles.hudBtn,styles.hudBtnPrimary]}onPress={j}>
134
- <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.white}size={13}/>
135
- <react_native_1.Text style={styles.hudBtnPrimaryText}>Full JSX</react_native_1.Text>
136
- </TouchableScale_1.default>}
137
-
138
- <TouchableScale_1.default style={[styles.hudBtn,styles.hudBtnClose]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),a(!1)}}>
139
- <NetworkIcons_1.CloseIcon color={AppColors_1.AppColors.white}size={13}/>
140
- </TouchableScale_1.default>
141
- </react_native_1.View>
142
- </react_native_1.View>
143
-
144
-
145
- <react_native_1.Modal visible={C}animationType="slide"transparent onRequestClose={()=>w(!1)}>
146
- <react_native_1.View style={styles.treeModalOverlay}>
147
- <react_native_1.View style={styles.treeModalContent}>
148
-
149
- <react_native_1.View style={styles.treeModalHeader}>
150
- <react_native_1.View style={styles.treeModalTitleGroup}>
151
- <react_native_1.View style={styles.treeModalIconBadge}>
152
- <NetworkIcons_1.CodeBracketsIcon color={AppColors_1.AppColors.brandPurple}size={16}/>
153
- </react_native_1.View>
154
- <react_native_1.View>
155
- <react_native_1.Text style={styles.treeModalTitle}>Component Hierarchy Tree</react_native_1.Text>
156
- <react_native_1.Text style={styles.treeModalSubtitle}>
157
- Browse and select any mounted React component
158
- </react_native_1.Text>
159
- </react_native_1.View>
160
- </react_native_1.View>
161
-
162
- <react_native_1.TouchableOpacity style={styles.treeModalCloseBtn}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),w(!1)}}>
163
- <NetworkIcons_1.CloseIcon color={AppColors_1.AppColors.slate600}size={14}/>
164
- </react_native_1.TouchableOpacity>
165
- </react_native_1.View>
166
-
167
-
168
- <react_native_1.View style={styles.treeSearchBar}>
169
- <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.slate400}size={14}/>
170
- <react_native_1.TextInput style={styles.treeSearchInput}placeholder="Search components (e.g. HomeScreen, Button)..."placeholderTextColor={AppColors_1.AppColors.slate400}value={v}onChangeText={O}/>
171
- </react_native_1.View>
172
-
173
-
174
- <react_native_1.ScrollView style={styles.treeScrollArea}contentContainerStyle={styles.treeScrollContent}showsVerticalScrollIndicator={!1}>
175
- {(()=>{const o=(0,uiInspectorEngine_1.getAllAppFibers)().filter(t=>v?t.name.toLowerCase().includes(v.toLowerCase()):!0);return o.length===0?<react_native_1.View style={styles.treeEmptyState}>
176
- <react_native_1.Text style={styles.treeEmptyText}>
177
- No components match "{v}"
178
- </react_native_1.Text>
179
- </react_native_1.View>:o.map((t,s)=>{const c=e&&t.name===e.componentName,f=Math.min(t.depth,12);return<react_native_1.TouchableOpacity key={`tree_item_${s}_${t.name}`}activeOpacity={.7}style={[styles.treeNodeRow,{paddingLeft:12+f*12},c&&styles.treeNodeRowSelected]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),w(!1);const u=buildHierarchyFromFiber(t.fiber),x=t.styles.left??16,p=t.styles.top??80,h=t.styles.width??m.width-32,y=t.styles.height??48,b=(0,uiInspectorEngine_1.createInspectedElement)(t.name,t.props,{x,y:p,width:h,height:y,pageX:x,pageY:p},u,t.nativeTag);r(b),T({x,y:p,width:h,height:y,componentName:t.name})}}>
180
- <react_native_1.View style={styles.treeNodeTagBadge}>
181
- <react_native_1.Text style={styles.treeNodeTagIcon}>
182
- {t.isHost?"Native":"JSX"}
183
- </react_native_1.Text>
184
- </react_native_1.View>
185
- <react_native_1.Text style={[styles.treeNodeName,c&&styles.treeNodeNameSelected]}>
186
- &lt;{t.name}&gt;
187
- </react_native_1.Text>
188
- {t.text&&<react_native_1.Text style={styles.treeNodePreview}numberOfLines={1}>
189
- "{t.text}"
190
- </react_native_1.Text>}
191
- {t.sourceLocation&&<react_native_1.Text style={styles.treeNodeLocation}>
192
- {t.sourceLocation}
193
- </react_native_1.Text>}
194
- </react_native_1.TouchableOpacity>})()})()}
195
- </react_native_1.ScrollView>
196
- </react_native_1.View>
197
- </react_native_1.View>
198
- </react_native_1.Modal>
199
- </react_native_1.View>};exports.UiInspectorOverlay=UiInspectorOverlay;const styles=react_native_1.StyleSheet.create({overlayContainer:{zIndex:99999999,elevation:99999999},gridPattern:{backgroundColor:"transparent",borderWidth:0,opacity:.15},devToolsHudContainer:{position:"absolute",left:0,right:0,backgroundColor:"rgba(15, 23, 42, 0.88)",paddingTop:react_native_1.Platform.OS==="ios"?44:20,paddingBottom:10,paddingHorizontal:12,borderBottomWidth:1,borderBottomColor:"rgba(255, 255, 255, 0.12)",zIndex:999999999,shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.4,shadowRadius:8,elevation:12},hudTop:{top:0},hudBottom:{bottom:60,borderTopWidth:1,borderTopColor:"rgba(255, 255, 255, 0.12)",paddingTop:10},hudBreadcrumbBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:8},hudBreadcrumbContent:{alignItems:"center",gap:4,paddingRight:10},hudDotSeparator:{color:"#94A3B8",fontSize:12,paddingHorizontal:2},hudBreadcrumbChip:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:4},hudBreadcrumbChipActive:{backgroundColor:"rgba(255, 255, 255, 0.18)",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.35)"},hudBreadcrumbText:{color:"#CBD5E1",fontSize:11,fontFamily:AppFonts_1.AppFonts.medium},hudBreadcrumbTextActive:{color:"#FFFFFF",fontFamily:AppFonts_1.AppFonts.bold},hudFlipBtn:{padding:4,borderRadius:4,backgroundColor:"rgba(255, 255, 255, 0.12)"},hudFlipBtnText:{fontSize:12},hudBodyRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"flex-start",marginTop:4},hudStylesColumn:{flex:1,paddingRight:8,gap:2},hudStyleRow:{flexDirection:"row",alignItems:"center",gap:4},hudStyleKey:{color:"#94A3B8",fontSize:10,fontFamily:AppFonts_1.AppFonts.regular},hudStyleVal:{color:"#F8FAFC",fontSize:10,fontFamily:AppFonts_1.AppFonts.bold},hudBoxModelWrapper:{width:140,height:90,alignItems:"center",justifyContent:"center"},boxModelMarginLayer:{width:"100%",height:"100%",borderWidth:1,borderColor:"rgba(245, 158, 11, 0.6)",backgroundColor:"rgba(245, 158, 11, 0.08)",borderRadius:4,alignItems:"center",justifyContent:"center",position:"relative",padding:12},boxModelMarginLabel:{position:"absolute",top:2,left:4,fontSize:8,fontFamily:AppFonts_1.AppFonts.bold,color:"#F59E0B"},boxModelPaddingLayer:{width:"100%",height:"100%",borderWidth:1,borderColor:"rgba(251, 191, 36, 0.6)",backgroundColor:"rgba(251, 191, 36, 0.08)",borderRadius:3,alignItems:"center",justifyContent:"center",position:"relative",padding:6},boxModelPaddingLabel:{position:"absolute",top:1,left:3,fontSize:7.5,fontFamily:AppFonts_1.AppFonts.bold,color:"#FBBF24"},boxModelContentLayer:{alignItems:"center",justifyContent:"center"},boxModelCoords:{color:"#FACC15",fontSize:8,fontFamily:AppFonts_1.AppFonts.bold},boxModelDimensions:{color:"#FACC15",fontSize:9,fontFamily:AppFonts_1.AppFonts.bold},boxModelInsetTop:{position:"absolute",top:1,alignSelf:"center",fontSize:7.5,color:"#CBD5E1",fontFamily:AppFonts_1.AppFonts.medium},boxModelInsetBottom:{position:"absolute",bottom:1,alignSelf:"center",fontSize:7.5,color:"#CBD5E1",fontFamily:AppFonts_1.AppFonts.medium},boxModelInsetLeft:{position:"absolute",left:2,alignSelf:"center",fontSize:7.5,color:"#CBD5E1",fontFamily:AppFonts_1.AppFonts.medium},boxModelInsetRight:{position:"absolute",right:2,alignSelf:"center",fontSize:7.5,color:"#CBD5E1",fontFamily:AppFonts_1.AppFonts.medium},highlightBox:{position:"absolute",borderWidth:1.5,borderColor:"#4F46E5",backgroundColor:"rgba(79, 70, 229, 0.15)",borderRadius:4,zIndex:100},contentTint:{flex:1,backgroundColor:"rgba(16, 185, 129, 0.1)",margin:3,borderRadius:2,borderWidth:1,borderColor:"rgba(16, 185, 129, 0.35)",borderStyle:"dashed"},elementBadge:{position:"absolute",flexDirection:"row",alignItems:"center",gap:6,backgroundColor:"rgba(15, 23, 42, 0.85)",paddingHorizontal:7,paddingVertical:3.5,borderRadius:5,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.2)"},elementBadgeTop:{top:-26,left:0},elementBadgeBottom:{bottom:-26,left:0},elementBadgeTag:{fontSize:10.5,fontFamily:AppFonts_1.AppFonts.bold,color:"#818CF8"},elementBadgeDim:{fontSize:9.5,fontFamily:AppFonts_1.AppFonts.medium,color:"#E2E8F0"},guideLineV:{position:"absolute",width:1,backgroundColor:"#EF4444",alignItems:"center",justifyContent:"center"},guideLineH:{position:"absolute",height:1,backgroundColor:"#EF4444",alignItems:"center",justifyContent:"center"},guideBadge:{backgroundColor:"#EF4444",color:AppColors_1.AppColors.white,fontSize:9,fontFamily:AppFonts_1.AppFonts.bold,paddingHorizontal:4,paddingVertical:1,borderRadius:3},hudToolbar:{position:"absolute",bottom:24,left:14,right:14,backgroundColor:"rgba(15, 23, 42, 0.92)",borderRadius:12,paddingHorizontal:12,paddingVertical:8,flexDirection:"row",alignItems:"center",justifyContent:"space-between",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.15)",shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.4,shadowRadius:8,elevation:10},hudLeftGroup:{flexDirection:"row",alignItems:"center",gap:4},modePillBtn:{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:"rgba(255, 255, 255, 0.08)"},modePillBtnActive:{backgroundColor:AppColors_1.AppColors.brandPurple},modePillText:{fontSize:10.5,fontFamily:AppFonts_1.AppFonts.medium,color:"#94A3B8"},modePillTextActive:{color:AppColors_1.AppColors.white,fontFamily:AppFonts_1.AppFonts.bold},hudActions:{flexDirection:"row",alignItems:"center",gap:6},hudBtn:{paddingHorizontal:8,paddingVertical:5,borderRadius:6,backgroundColor:"rgba(255, 255, 255, 0.1)",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.15)",alignItems:"center",justifyContent:"center"},hudBtnActive:{backgroundColor:AppColors_1.AppColors.brandPurple,borderColor:AppColors_1.AppColors.brandPurple},hudBtnPrimary:{flexDirection:"row",gap:4,backgroundColor:AppColors_1.AppColors.brandPurple,borderColor:AppColors_1.AppColors.brandPurple},hudBtnPrimaryText:{fontSize:10.5,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.white},hudBtnClose:{backgroundColor:"#E11D48",borderColor:"#E11D48"},treeBtnText:{color:"#CBD5E1",fontSize:9.5,fontFamily:AppFonts_1.AppFonts.bold,marginTop:1},treeModalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.65)",justifyContent:"flex-end"},treeModalContent:{backgroundColor:AppColors_1.AppColors.white,borderTopLeftRadius:18,borderTopRightRadius:18,maxHeight:"75%",minHeight:"45%",paddingBottom:react_native_1.Platform.OS==="ios"?34:20,shadowColor:"#000",shadowOffset:{width:0,height:-4},shadowOpacity:.3,shadowRadius:10,elevation:20},treeModalHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:12,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.slate100},treeModalTitleGroup:{flexDirection:"row",alignItems:"center",gap:10,flex:1},treeModalIconBadge:{width:32,height:32,borderRadius:8,backgroundColor:"#4F46E518",alignItems:"center",justifyContent:"center"},treeModalTitle:{fontSize:14,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.slate900},treeModalSubtitle:{fontSize:11,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},treeModalCloseBtn:{width:28,height:28,borderRadius:14,backgroundColor:AppColors_1.AppColors.slate100,alignItems:"center",justifyContent:"center"},treeSearchBar:{flexDirection:"row",alignItems:"center",gap:8,marginHorizontal:16,marginTop:10,marginBottom:6,paddingHorizontal:12,paddingVertical:8,backgroundColor:AppColors_1.AppColors.slate50,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.slate200},treeSearchInput:{flex:1,fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.slate900,padding:0},treeScrollArea:{flex:1},treeScrollContent:{paddingVertical:6},treeEmptyState:{padding:24,alignItems:"center",justifyContent:"center"},treeEmptyText:{fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},treeNodeRow:{flexDirection:"row",alignItems:"center",paddingVertical:7,paddingRight:14,gap:6,borderBottomWidth:react_native_1.StyleSheet.hairlineWidth,borderBottomColor:AppColors_1.AppColors.slate100},treeNodeRowSelected:{backgroundColor:"#EEF2FF"},treeNodeTagBadge:{paddingHorizontal:4,paddingVertical:2,borderRadius:3,backgroundColor:AppColors_1.AppColors.slate100},treeNodeTagIcon:{fontSize:8.5,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.slate600},treeNodeName:{fontSize:12,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.brandPurple},treeNodeNameSelected:{color:"#4338CA"},treeNodePreview:{fontSize:10.5,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.slate600,flex:1},treeNodeLocation:{fontSize:9.5,fontFamily:AppFonts_1.AppFonts.regular,color:AppColors_1.AppColors.grayTextWeak}});
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const UiInspectorTab: React.FC;
@@ -1,117 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UiInspectorTab=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),NetworkIcons_1=require("../NetworkIcons"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),BoxModelVisualizer_1=require("./BoxModelVisualizer"),UiInspectorTab=()=>{const{selectedUiElement:e,setSelectedUiElement:i,setIsInspectModeActive:l,setVisible:n,showAlignmentGrid:t,setShowAlignmentGrid:s,uiInspectorHistory:r,clearUiInspectorHistory:c}=(0,InspectorContext_1.useInspector)(),a=()=>{(0,NativeInspector_1.triggerNativeHaptic)(),n(!1),l(!0),(0,toast_1.showToast)("Touch anywhere to inspect JSX components")};return<react_native_1.ScrollView showsVerticalScrollIndicator={!1}contentContainerStyle={styles.container}>
2
-
3
- <react_native_1.View style={styles.heroCard}>
4
- <react_native_1.View style={styles.heroLeft}>
5
- <react_native_1.View style={styles.heroIconBadge}>
6
- <NetworkIcons_1.InspectPointerIcon color={AppColors_1.AppColors.white}size={22}/>
7
- </react_native_1.View>
8
- <react_native_1.View style={styles.heroTextGroup}>
9
- <react_native_1.Text style={styles.heroTitle}>Inspect Elements On Screen</react_native_1.Text>
10
- <react_native_1.Text style={styles.heroSubtitle}>
11
- Tap, drag, and highlight rendered JSX components to inspect styles, props & box model in real-time.
12
- </react_native_1.Text>
13
- </react_native_1.View>
14
- </react_native_1.View>
15
-
16
- <TouchableScale_1.default style={styles.heroButton}onPress={a}>
17
- <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.brandPurple}size={16}/>
18
- <react_native_1.Text style={styles.heroButtonText}>Start Inspect Mode</react_native_1.Text>
19
- </TouchableScale_1.default>
20
- </react_native_1.View>
21
-
22
-
23
- {e?<react_native_1.View style={styles.selectedCard}>
24
- <react_native_1.View style={styles.selectedHeader}>
25
- <react_native_1.View style={styles.selectedTitleGroup}>
26
- <react_native_1.View style={styles.tagBadge}>
27
- <react_native_1.Text style={styles.tagBadgeText}>&lt;{e.componentName}&gt;</react_native_1.Text>
28
- </react_native_1.View>
29
- <react_native_1.Text style={styles.dimensionsBadge}>
30
- {Math.round(e.layout.width)} × {Math.round(e.layout.height)} pt
31
- </react_native_1.Text>
32
- </react_native_1.View>
33
-
34
- <react_native_1.View style={styles.a11yScoreBadge}>
35
- <react_native_1.Text style={[styles.a11yScoreText,e.a11y.hasValidTouchTarget?styles.a11yScoreTextPass:styles.a11yScoreTextWarn]}>
36
- {e.a11y.hasValidTouchTarget?"A11y Pass":"A11y Warning"}
37
- </react_native_1.Text>
38
- </react_native_1.View>
39
- </react_native_1.View>
40
-
41
-
42
- <BoxModelVisualizer_1.BoxModelVisualizer boxModel={e.boxModel}compact/>
43
-
44
-
45
- <react_native_1.View style={styles.metricsBar}>
46
- <react_native_1.View style={styles.metricChip}>
47
- <react_native_1.Text style={styles.metricChipLabel}>Props:</react_native_1.Text>
48
- <react_native_1.Text style={styles.metricChipValue}>
49
- {Object.keys(e.props).length}
50
- </react_native_1.Text>
51
- </react_native_1.View>
52
- <react_native_1.View style={styles.metricChip}>
53
- <react_native_1.Text style={styles.metricChipLabel}>Styles:</react_native_1.Text>
54
- <react_native_1.Text style={styles.metricChipValue}>
55
- {Object.keys(e.flattenedStyles).length}
56
- </react_native_1.Text>
57
- </react_native_1.View>
58
- <react_native_1.View style={styles.metricChip}>
59
- <react_native_1.Text style={styles.metricChipLabel}>Depth:</react_native_1.Text>
60
- <react_native_1.Text style={styles.metricChipValue}>
61
- {e.hierarchy.length} levels
62
- </react_native_1.Text>
63
- </react_native_1.View>
64
- </react_native_1.View>
65
- </react_native_1.View>:<react_native_1.View style={styles.emptyCard}>
66
- <NetworkIcons_1.EmptyRadarIcon color={AppColors_1.AppColors.grayTextWeak}size={32}/>
67
- <react_native_1.Text style={styles.emptyCardTitle}>No Element Selected</react_native_1.Text>
68
- <react_native_1.Text style={styles.emptyCardSubtitle}>
69
- Launch Inspect Mode to select an on-screen JSX component.
70
- </react_native_1.Text>
71
- </react_native_1.View>}
72
-
73
-
74
- <react_native_1.View style={styles.toolsSection}>
75
- <react_native_1.Text style={styles.sectionHeader}>DESIGN & ALIGNMENT TOOLS</react_native_1.Text>
76
- <react_native_1.View style={styles.toolsGrid}>
77
- <react_native_1.TouchableOpacity style={[styles.toolCard,t&&styles.toolCardActive]}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),s(!t)}}>
78
- <NetworkIcons_1.RulerIcon color={t?AppColors_1.AppColors.brandPurple:AppColors_1.AppColors.slate600}size={18}/>
79
- <react_native_1.Text style={[styles.toolCardTitle,t&&styles.toolCardTitleActive]}>
80
- 8pt Grid Guide
81
- </react_native_1.Text>
82
- <react_native_1.Text style={styles.toolCardSub}>
83
- {t?"Enabled":"Disabled"}
84
- </react_native_1.Text>
85
- </react_native_1.TouchableOpacity>
86
-
87
- <react_native_1.TouchableOpacity style={styles.toolCard}onPress={a}>
88
- <NetworkIcons_1.SlidersIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
89
- <react_native_1.Text style={styles.toolCardTitle}>Live Tweaker</react_native_1.Text>
90
- <react_native_1.Text style={styles.toolCardSub}>Sandbox Styles</react_native_1.Text>
91
- </react_native_1.TouchableOpacity>
92
- </react_native_1.View>
93
- </react_native_1.View>
94
-
95
-
96
- {r.length>0&&<react_native_1.View style={styles.historySection}>
97
- <react_native_1.View style={styles.historyHeader}>
98
- <react_native_1.Text style={styles.sectionHeader}>RECENTLY INSPECTED ({r.length})</react_native_1.Text>
99
- <TouchableScale_1.default style={styles.clearHistoryBtn}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),c(),(0,toast_1.showToast)("Cleared inspection history")}}>
100
- <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.grayTextWeak}size={12}/>
101
- <react_native_1.Text style={styles.clearHistoryBtnText}>Clear</react_native_1.Text>
102
- </TouchableScale_1.default>
103
- </react_native_1.View>
104
-
105
- <react_native_1.View style={styles.historyList}>
106
- {r.map((o,p)=><react_native_1.TouchableOpacity key={o.id||p}style={styles.historyItem}onPress={()=>{(0,NativeInspector_1.triggerNativeHaptic)(),i(o)}}>
107
- <react_native_1.View style={styles.historyItemLeft}>
108
- <react_native_1.Text style={styles.historyItemTag}>&lt;{o.componentName}&gt;</react_native_1.Text>
109
- <react_native_1.Text style={styles.historyItemDim}>
110
- {Math.round(o.layout.width)} × {Math.round(o.layout.height)} pt
111
- </react_native_1.Text>
112
- </react_native_1.View>
113
- <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.grayTextWeak}size={12}direction="right"/>
114
- </react_native_1.TouchableOpacity>)}
115
- </react_native_1.View>
116
- </react_native_1.View>}
117
- </react_native_1.ScrollView>};exports.UiInspectorTab=UiInspectorTab;const styles=react_native_1.StyleSheet.create({container:{padding:12,gap:12},heroCard:{backgroundColor:AppColors_1.AppColors.brandPurple,borderRadius:14,padding:16,gap:14,shadowColor:AppColors_1.AppColors.brandPurple,shadowOffset:{width:0,height:4},shadowOpacity:.25,shadowRadius:8,elevation:4},heroLeft:{flexDirection:"row",gap:12,alignItems:"flex-start"},heroIconBadge:{width:40,height:40,borderRadius:10,backgroundColor:"#FFFFFF22",alignItems:"center",justifyContent:"center"},heroTextGroup:{flex:1},heroTitle:{fontSize:16,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.white,marginBottom:4},heroSubtitle:{fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:"#EEF2FF",lineHeight:17},heroButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.white,paddingVertical:10,borderRadius:10,gap:8},heroButtonText:{fontSize:13,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.brandPurple},selectedCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,padding:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:10},selectedHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},selectedTitleGroup:{flexDirection:"row",alignItems:"center",gap:8},tagBadge:{backgroundColor:"#4F46E518",paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1,borderColor:"#4F46E533"},tagBadgeText:{fontSize:13,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.brandPurple},dimensionsBadge:{fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},a11yScoreBadge:{paddingHorizontal:8,paddingVertical:3,borderRadius:5,backgroundColor:AppColors_1.AppColors.slate100},a11yScoreText:{fontSize:10,fontFamily:AppFonts_1.AppFonts.bold},a11yScoreTextPass:{color:"#059669"},a11yScoreTextWarn:{color:"#D97706"},metricsBar:{flexDirection:"row",backgroundColor:AppColors_1.AppColors.slate50,borderRadius:8,padding:8,justifyContent:"space-around"},metricChip:{flexDirection:"row",gap:4,alignItems:"center"},metricChipLabel:{fontSize:11,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},metricChipValue:{fontSize:11,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.slate900},emptyCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,padding:24,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,borderStyle:"dashed",gap:6},emptyCardTitle:{fontSize:14,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.slate700,marginTop:4},emptyCardSubtitle:{fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak,textAlign:"center"},sectionHeader:{fontSize:10,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8},toolsSection:{gap:8},toolsGrid:{flexDirection:"row",gap:10},toolCard:{flex:1,backgroundColor:AppColors_1.AppColors.white,borderRadius:10,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4},toolCardActive:{borderColor:AppColors_1.AppColors.brandPurple,backgroundColor:"#EEF2FF"},toolCardTitle:{fontSize:12,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.slate900,marginTop:4},toolCardTitleActive:{color:AppColors_1.AppColors.brandPurple},toolCardSub:{fontSize:10,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},historySection:{gap:8,marginTop:4},historyHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},clearHistoryBtn:{flexDirection:"row",alignItems:"center",gap:4},clearHistoryBtnText:{fontSize:10,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak},historyList:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden"},historyItem:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.slate100},historyItemLeft:{flexDirection:"row",alignItems:"center",gap:8},historyItemTag:{fontSize:12,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.brandPurple},historyItemDim:{fontSize:11,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.grayTextWeak}});
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- interface UiLiveStyleTweakerProps {
3
- componentName: string;
4
- originalStyles: Record<string, any>;
5
- tweakedStyles: Record<string, any>;
6
- onApplyStyle: (key: string, value: any) => void;
7
- onResetStyles: () => void;
8
- }
9
- export declare const UiLiveStyleTweaker: React.FC<UiLiveStyleTweakerProps>;
10
- export {};
@@ -1,148 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UiLiveStyleTweaker=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),TouchableScale_1=__importDefault(require("../TouchableScale")),uiInspectorEngine_1=require("../../helpers/uiInspectorEngine"),NativeInspector_1=require("../../native/NativeInspector"),toast_1=require("../../helpers/toast"),clipboard_1=__importDefault(require("@react-native-clipboard/clipboard")),COLOR_PRESETS=["#4F46E5","#7C3AED","#2563EB","#0D9488","#10B981","#F59E0B","#E11D48","#0F172A","#F8FAFC","#FFFFFF","transparent"],UiLiveStyleTweaker=({componentName:a,originalStyles:l,tweakedStyles:i,onApplyStyle:o,onResetStyles:s})=>{const t={...l,...i},n=Object.keys(i).length>0,c=()=>{const e=(0,uiInspectorEngine_1.generateStyleSheetSnippet)(a,t);clipboard_1.default.setString(e),(0,NativeInspector_1.triggerNativeHaptic)(),(0,toast_1.showToast)("Copied tweaked StyleSheet to clipboard")},r=(e,p,d=0)=>{const _=typeof t[e]=="number"?t[e]:0,y=Math.max(d,_+p);o(e,y),(0,NativeInspector_1.triggerNativeHaptic)()};return<react_native_1.ScrollView showsVerticalScrollIndicator={!1}contentContainerStyle={styles.container}>
2
-
3
- <react_native_1.View style={styles.topActionsRow}>
4
- <react_native_1.View style={styles.titleWithBadge}>
5
- <NetworkIcons_1.SlidersIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
6
- <react_native_1.Text style={styles.sectionTitle}>Live Style Sandbox</react_native_1.Text>
7
- {n&&<react_native_1.View style={styles.modifiedBadge}>
8
- <react_native_1.Text style={styles.modifiedBadgeText}>MODIFIED</react_native_1.Text>
9
- </react_native_1.View>}
10
- </react_native_1.View>
11
-
12
- <react_native_1.View style={styles.actionButtonsGroup}>
13
- {n&&<TouchableScale_1.default style={styles.resetButton}onPress={()=>{s(),(0,NativeInspector_1.triggerNativeHaptic)(),(0,toast_1.showToast)("Reset styles to original")}}>
14
- <NetworkIcons_1.RotateCcwIcon color="#E11D48"size={14}/>
15
- <react_native_1.Text style={styles.resetButtonText}>Reset</react_native_1.Text>
16
- </TouchableScale_1.default>}
17
-
18
- <TouchableScale_1.default style={styles.exportButton}onPress={c}>
19
- <NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.white}size={14}/>
20
- <react_native_1.Text style={styles.exportButtonText}>Copy CSS</react_native_1.Text>
21
- </TouchableScale_1.default>
22
- </react_native_1.View>
23
- </react_native_1.View>
24
-
25
-
26
- <react_native_1.View style={styles.card}>
27
- <react_native_1.Text style={styles.cardHeader}>Padding & Margin</react_native_1.Text>
28
-
29
- <react_native_1.View style={styles.controlRow}>
30
- <react_native_1.Text style={styles.controlLabel}>Padding</react_native_1.Text>
31
- <react_native_1.View style={styles.stepperContainer}>
32
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("padding",-2)}>
33
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
34
- </react_native_1.TouchableOpacity>
35
- <react_native_1.Text style={styles.stepperValue}>{t.padding??0} pt</react_native_1.Text>
36
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("padding",2)}>
37
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
38
- </react_native_1.TouchableOpacity>
39
- </react_native_1.View>
40
- </react_native_1.View>
41
-
42
- <react_native_1.View style={styles.controlRow}>
43
- <react_native_1.Text style={styles.controlLabel}>Margin</react_native_1.Text>
44
- <react_native_1.View style={styles.stepperContainer}>
45
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("margin",-2)}>
46
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
47
- </react_native_1.TouchableOpacity>
48
- <react_native_1.Text style={styles.stepperValue}>{t.margin??0} pt</react_native_1.Text>
49
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("margin",2)}>
50
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
51
- </react_native_1.TouchableOpacity>
52
- </react_native_1.View>
53
- </react_native_1.View>
54
-
55
- <react_native_1.View style={styles.controlRow}>
56
- <react_native_1.Text style={styles.controlLabel}>Gap</react_native_1.Text>
57
- <react_native_1.View style={styles.stepperContainer}>
58
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("gap",-2)}>
59
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
60
- </react_native_1.TouchableOpacity>
61
- <react_native_1.Text style={styles.stepperValue}>{t.gap??0} pt</react_native_1.Text>
62
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("gap",2)}>
63
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
64
- </react_native_1.TouchableOpacity>
65
- </react_native_1.View>
66
- </react_native_1.View>
67
- </react_native_1.View>
68
-
69
-
70
- <react_native_1.View style={styles.card}>
71
- <react_native_1.Text style={styles.cardHeader}>Borders & Corners</react_native_1.Text>
72
-
73
- <react_native_1.View style={styles.controlRow}>
74
- <react_native_1.Text style={styles.controlLabel}>Border Radius</react_native_1.Text>
75
- <react_native_1.View style={styles.stepperContainer}>
76
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("borderRadius",-2)}>
77
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
78
- </react_native_1.TouchableOpacity>
79
- <react_native_1.Text style={styles.stepperValue}>{t.borderRadius??0} pt</react_native_1.Text>
80
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("borderRadius",2)}>
81
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
82
- </react_native_1.TouchableOpacity>
83
- </react_native_1.View>
84
- </react_native_1.View>
85
-
86
- <react_native_1.View style={styles.controlRow}>
87
- <react_native_1.Text style={styles.controlLabel}>Border Width</react_native_1.Text>
88
- <react_native_1.View style={styles.stepperContainer}>
89
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("borderWidth",-1)}>
90
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
91
- </react_native_1.TouchableOpacity>
92
- <react_native_1.Text style={styles.stepperValue}>{t.borderWidth??0} pt</react_native_1.Text>
93
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("borderWidth",1)}>
94
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
95
- </react_native_1.TouchableOpacity>
96
- </react_native_1.View>
97
- </react_native_1.View>
98
- </react_native_1.View>
99
-
100
-
101
- <react_native_1.View style={styles.card}>
102
- <react_native_1.Text style={styles.cardHeader}>Typography</react_native_1.Text>
103
-
104
- <react_native_1.View style={styles.controlRow}>
105
- <react_native_1.Text style={styles.controlLabel}>Font Size</react_native_1.Text>
106
- <react_native_1.View style={styles.stepperContainer}>
107
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("fontSize",-1,8)}>
108
- <react_native_1.Text style={styles.stepperBtnText}>-</react_native_1.Text>
109
- </react_native_1.TouchableOpacity>
110
- <react_native_1.Text style={styles.stepperValue}>{t.fontSize??14} pt</react_native_1.Text>
111
- <react_native_1.TouchableOpacity style={styles.stepperBtn}onPress={()=>r("fontSize",1)}>
112
- <react_native_1.Text style={styles.stepperBtnText}>+</react_native_1.Text>
113
- </react_native_1.TouchableOpacity>
114
- </react_native_1.View>
115
- </react_native_1.View>
116
-
117
- <react_native_1.View style={styles.segmentedRow}>
118
- <react_native_1.Text style={styles.controlLabel}>Weight</react_native_1.Text>
119
- <react_native_1.View style={styles.segmentedGroup}>
120
- {["normal","500","600","bold"].map(e=><react_native_1.TouchableOpacity key={e}style={[styles.segmentItem,t.fontWeight===e&&styles.segmentItemActive]}onPress={()=>{o("fontWeight",e),(0,NativeInspector_1.triggerNativeHaptic)()}}>
121
- <react_native_1.Text style={[styles.segmentText,t.fontWeight===e&&styles.segmentTextActive]}>
122
- {e}
123
- </react_native_1.Text>
124
- </react_native_1.TouchableOpacity>)}
125
- </react_native_1.View>
126
- </react_native_1.View>
127
- </react_native_1.View>
128
-
129
-
130
- <react_native_1.View style={styles.card}>
131
- <react_native_1.Text style={styles.cardHeader}>Background Color</react_native_1.Text>
132
- <react_native_1.View style={styles.paletteGrid}>
133
- {COLOR_PRESETS.map(e=><react_native_1.TouchableOpacity key={e}style={[styles.colorSwatch,{backgroundColor:e},t.backgroundColor===e&&styles.colorSwatchActive]}onPress={()=>{o("backgroundColor",e),(0,NativeInspector_1.triggerNativeHaptic)()}}/>)}
134
- </react_native_1.View>
135
- </react_native_1.View>
136
-
137
-
138
- <react_native_1.View style={styles.card}>
139
- <react_native_1.Text style={styles.cardHeader}>Opacity & Elevation</react_native_1.Text>
140
- <react_native_1.View style={styles.segmentedGroup}>
141
- {[1,.8,.6,.4,.2].map(e=><react_native_1.TouchableOpacity key={e}style={[styles.segmentItem,t.opacity===e&&styles.segmentItemActive]}onPress={()=>{o("opacity",e),(0,NativeInspector_1.triggerNativeHaptic)()}}>
142
- <react_native_1.Text style={[styles.segmentText,t.opacity===e&&styles.segmentTextActive]}>
143
- {Math.round(e*100)}%
144
- </react_native_1.Text>
145
- </react_native_1.TouchableOpacity>)}
146
- </react_native_1.View>
147
- </react_native_1.View>
148
- </react_native_1.ScrollView>};exports.UiLiveStyleTweaker=UiLiveStyleTweaker;const styles=react_native_1.StyleSheet.create({container:{paddingVertical:6,gap:10},topActionsRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:4},titleWithBadge:{flexDirection:"row",alignItems:"center",gap:6},sectionTitle:{fontSize:14,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.slate900},modifiedBadge:{backgroundColor:"#F59E0B22",paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:"#F59E0B55"},modifiedBadgeText:{fontSize:9,fontFamily:AppFonts_1.AppFonts.bold,color:"#D97706"},actionButtonsGroup:{flexDirection:"row",gap:8},resetButton:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"#E11D4811",borderWidth:1,borderColor:"#E11D4833",paddingHorizontal:8,paddingVertical:5,borderRadius:6},resetButtonText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.semiBold,color:"#E11D48"},exportButton:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.brandPurple,paddingHorizontal:10,paddingVertical:5,borderRadius:6},exportButtonText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.white},card:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:8},cardHeader:{fontSize:12,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.slate700,marginBottom:2},controlRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},controlLabel:{fontSize:12,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.slate600},stepperContainer:{flexDirection:"row",alignItems:"center",gap:8,backgroundColor:AppColors_1.AppColors.slate50,borderRadius:6,padding:2},stepperBtn:{width:28,height:28,backgroundColor:AppColors_1.AppColors.white,borderRadius:5,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},stepperBtnText:{fontSize:15,fontFamily:AppFonts_1.AppFonts.bold,color:AppColors_1.AppColors.slate900},stepperValue:{fontSize:12,fontFamily:AppFonts_1.AppFonts.semiBold,color:AppColors_1.AppColors.slate900,minWidth:44,textAlign:"center"},segmentedRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},segmentedGroup:{flexDirection:"row",backgroundColor:AppColors_1.AppColors.slate100,borderRadius:8,padding:2,gap:2},segmentItem:{paddingHorizontal:10,paddingVertical:5,borderRadius:6},segmentItemActive:{backgroundColor:AppColors_1.AppColors.brandPurple},segmentText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.medium,color:AppColors_1.AppColors.slate600},segmentTextActive:{color:AppColors_1.AppColors.white,fontFamily:AppFonts_1.AppFonts.semiBold},paletteGrid:{flexDirection:"row",flexWrap:"wrap",gap:8},colorSwatch:{width:28,height:28,borderRadius:6,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},colorSwatchActive:{borderColor:AppColors_1.AppColors.brandPurple,borderWidth:3}});
@@ -1,28 +0,0 @@
1
- export { default as MainScreen } from './MainScreen';
2
- export { default as TabBar } from './TabBar';
3
- export { default as InspectorHeader } from './InspectorHeader';
4
- export { default as FabLauncher } from './FabLauncher';
5
- export { default as NetworkTab } from './NetworkTab';
6
- export { default as NetworkDetail } from './NetworkDetail';
7
- export { default as ConsoleTab } from './ConsoleTab';
8
- export { default as LogDetail } from './LogDetail';
9
- export { PerformanceTab } from './PerformanceTab';
10
- export { default as AnalyticsTab } from './AnalyticsTab';
11
- export { default as ReduxTab } from './ReduxTab';
12
- export { default as ReduxDetail } from './ReduxDetail';
13
- export { default as CrashTab } from './CrashTab';
14
- export { default as CrashDetail } from './CrashDetail';
15
- export { default as PushTab } from './PushTab';
16
- export { default as PushDetail } from './PushDetail';
17
- export { default as SocketTab } from './SocketTab';
18
- export { default as SocketDetail } from './SocketDetail';
19
- export { default as DeviceInfoTab } from './DeviceInfoTab';
20
- export { default as StorageTab } from './StorageTab';
21
- export { default as DebuggingTab } from './DebuggingTab';
22
- export { MediaGalleryTab } from './MediaGalleryTab';
23
- export { default as SettingsPanel } from './SettingsPanel';
24
- export { UiInspectorTab } from './UiInspectorTab';
25
- export { UiInspectorDetail } from './UiInspectorDetail';
26
- export { UiInspectorOverlay } from './UiInspectorOverlay';
27
- export { BoxModelVisualizer } from './BoxModelVisualizer';
28
- export { UiA11yAuditPanel } from './UiA11yAuditPanel';
@@ -1 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UiA11yAuditPanel=exports.BoxModelVisualizer=exports.UiInspectorOverlay=exports.UiInspectorDetail=exports.UiInspectorTab=exports.SettingsPanel=exports.MediaGalleryTab=exports.DebuggingTab=exports.StorageTab=exports.DeviceInfoTab=exports.SocketDetail=exports.SocketTab=exports.PushDetail=exports.PushTab=exports.CrashDetail=exports.CrashTab=exports.ReduxDetail=exports.ReduxTab=exports.AnalyticsTab=exports.PerformanceTab=exports.LogDetail=exports.ConsoleTab=exports.NetworkDetail=exports.NetworkTab=exports.FabLauncher=exports.InspectorHeader=exports.TabBar=exports.MainScreen=void 0;var MainScreen_1=require("./MainScreen");Object.defineProperty(exports,"MainScreen",{enumerable:!0,get:function(){return __importDefault(MainScreen_1).default}});var TabBar_1=require("./TabBar");Object.defineProperty(exports,"TabBar",{enumerable:!0,get:function(){return __importDefault(TabBar_1).default}});var InspectorHeader_1=require("./InspectorHeader");Object.defineProperty(exports,"InspectorHeader",{enumerable:!0,get:function(){return __importDefault(InspectorHeader_1).default}});var FabLauncher_1=require("./FabLauncher");Object.defineProperty(exports,"FabLauncher",{enumerable:!0,get:function(){return __importDefault(FabLauncher_1).default}});var NetworkTab_1=require("./NetworkTab");Object.defineProperty(exports,"NetworkTab",{enumerable:!0,get:function(){return __importDefault(NetworkTab_1).default}});var NetworkDetail_1=require("./NetworkDetail");Object.defineProperty(exports,"NetworkDetail",{enumerable:!0,get:function(){return __importDefault(NetworkDetail_1).default}});var ConsoleTab_1=require("./ConsoleTab");Object.defineProperty(exports,"ConsoleTab",{enumerable:!0,get:function(){return __importDefault(ConsoleTab_1).default}});var LogDetail_1=require("./LogDetail");Object.defineProperty(exports,"LogDetail",{enumerable:!0,get:function(){return __importDefault(LogDetail_1).default}});var PerformanceTab_1=require("./PerformanceTab");Object.defineProperty(exports,"PerformanceTab",{enumerable:!0,get:function(){return PerformanceTab_1.PerformanceTab}});var AnalyticsTab_1=require("./AnalyticsTab");Object.defineProperty(exports,"AnalyticsTab",{enumerable:!0,get:function(){return __importDefault(AnalyticsTab_1).default}});var ReduxTab_1=require("./ReduxTab");Object.defineProperty(exports,"ReduxTab",{enumerable:!0,get:function(){return __importDefault(ReduxTab_1).default}});var ReduxDetail_1=require("./ReduxDetail");Object.defineProperty(exports,"ReduxDetail",{enumerable:!0,get:function(){return __importDefault(ReduxDetail_1).default}});var CrashTab_1=require("./CrashTab");Object.defineProperty(exports,"CrashTab",{enumerable:!0,get:function(){return __importDefault(CrashTab_1).default}});var CrashDetail_1=require("./CrashDetail");Object.defineProperty(exports,"CrashDetail",{enumerable:!0,get:function(){return __importDefault(CrashDetail_1).default}});var PushTab_1=require("./PushTab");Object.defineProperty(exports,"PushTab",{enumerable:!0,get:function(){return __importDefault(PushTab_1).default}});var PushDetail_1=require("./PushDetail");Object.defineProperty(exports,"PushDetail",{enumerable:!0,get:function(){return __importDefault(PushDetail_1).default}});var SocketTab_1=require("./SocketTab");Object.defineProperty(exports,"SocketTab",{enumerable:!0,get:function(){return __importDefault(SocketTab_1).default}});var SocketDetail_1=require("./SocketDetail");Object.defineProperty(exports,"SocketDetail",{enumerable:!0,get:function(){return __importDefault(SocketDetail_1).default}});var DeviceInfoTab_1=require("./DeviceInfoTab");Object.defineProperty(exports,"DeviceInfoTab",{enumerable:!0,get:function(){return __importDefault(DeviceInfoTab_1).default}});var StorageTab_1=require("./StorageTab");Object.defineProperty(exports,"StorageTab",{enumerable:!0,get:function(){return __importDefault(StorageTab_1).default}});var DebuggingTab_1=require("./DebuggingTab");Object.defineProperty(exports,"DebuggingTab",{enumerable:!0,get:function(){return __importDefault(DebuggingTab_1).default}});var MediaGalleryTab_1=require("./MediaGalleryTab");Object.defineProperty(exports,"MediaGalleryTab",{enumerable:!0,get:function(){return MediaGalleryTab_1.MediaGalleryTab}});var SettingsPanel_1=require("./SettingsPanel");Object.defineProperty(exports,"SettingsPanel",{enumerable:!0,get:function(){return __importDefault(SettingsPanel_1).default}});var UiInspectorTab_1=require("./UiInspectorTab");Object.defineProperty(exports,"UiInspectorTab",{enumerable:!0,get:function(){return UiInspectorTab_1.UiInspectorTab}});var UiInspectorDetail_1=require("./UiInspectorDetail");Object.defineProperty(exports,"UiInspectorDetail",{enumerable:!0,get:function(){return UiInspectorDetail_1.UiInspectorDetail}});var UiInspectorOverlay_1=require("./UiInspectorOverlay");Object.defineProperty(exports,"UiInspectorOverlay",{enumerable:!0,get:function(){return UiInspectorOverlay_1.UiInspectorOverlay}});var BoxModelVisualizer_1=require("./BoxModelVisualizer");Object.defineProperty(exports,"BoxModelVisualizer",{enumerable:!0,get:function(){return BoxModelVisualizer_1.BoxModelVisualizer}});var UiA11yAuditPanel_1=require("./UiA11yAuditPanel");Object.defineProperty(exports,"UiA11yAuditPanel",{enumerable:!0,get:function(){return UiA11yAuditPanel_1.UiA11yAuditPanel}});
@@ -1,22 +0,0 @@
1
- import { InspectedElementInfo, UiInspectorSubTab } from '../types';
2
- type UiInspectorListener = (state: UiInspectorState) => void;
3
- export interface UiInspectorState {
4
- isInspectModeActive: boolean;
5
- selectedElement: InspectedElementInfo | null;
6
- activeSubTab: UiInspectorSubTab;
7
- showAlignmentGrid: boolean;
8
- showDistanceGuides: boolean;
9
- history: InspectedElementInfo[];
10
- tweakedStyles: Record<string, any>;
11
- }
12
- export declare function subscribeUiInspectorState(listener: UiInspectorListener): () => void;
13
- export declare function getUiInspectorState(): UiInspectorState;
14
- export declare function setInspectModeActive(active: boolean): void;
15
- export declare function setSelectedUiElement(element: InspectedElementInfo | null): void;
16
- export declare function setUiInspectorSubTab(subTab: UiInspectorSubTab): void;
17
- export declare function toggleAlignmentGrid(show?: boolean): void;
18
- export declare function toggleDistanceGuides(show?: boolean): void;
19
- export declare function applyLiveStyleOverride(key: string, value: any): void;
20
- export declare function resetLiveStyleOverrides(): void;
21
- export declare function clearUiInspectorHistory(): void;
22
- export {};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.subscribeUiInspectorState=subscribeUiInspectorState,exports.getUiInspectorState=getUiInspectorState,exports.setInspectModeActive=setInspectModeActive,exports.setSelectedUiElement=setSelectedUiElement,exports.setUiInspectorSubTab=setUiInspectorSubTab,exports.toggleAlignmentGrid=toggleAlignmentGrid,exports.toggleDistanceGuides=toggleDistanceGuides,exports.applyLiveStyleOverride=applyLiveStyleOverride,exports.resetLiveStyleOverrides=resetLiveStyleOverrides,exports.clearUiInspectorHistory=clearUiInspectorHistory;let state={isInspectModeActive:!1,selectedElement:null,activeSubTab:"styles",showAlignmentGrid:!1,showDistanceGuides:!0,history:[],tweakedStyles:{}};const listeners=new Set;function notify(){const e={...state,history:[...state.history],tweakedStyles:{...state.tweakedStyles}};listeners.forEach(t=>{try{t(e)}catch(s){console.warn("[UIInspector] Listener notification error:",s)}})}function subscribeUiInspectorState(e){return listeners.add(e),e(state),()=>{listeners.delete(e)}}function getUiInspectorState(){return state}function setInspectModeActive(e){state.isInspectModeActive=e,notify()}function setSelectedUiElement(e){state.selectedElement=e,e?(state.tweakedStyles={...e.tweakedStyles},state.history.some(t=>t.id===e.id)||(state.history=[e,...state.history.slice(0,19)])):state.tweakedStyles={},notify()}function setUiInspectorSubTab(e){state.activeSubTab=e,notify()}function toggleAlignmentGrid(e){state.showAlignmentGrid=typeof e=="boolean"?e:!state.showAlignmentGrid,notify()}function toggleDistanceGuides(e){state.showDistanceGuides=typeof e=="boolean"?e:!state.showDistanceGuides,notify()}function applyLiveStyleOverride(e,t){state.tweakedStyles={...state.tweakedStyles,[e]:t},state.selectedElement&&(state.selectedElement={...state.selectedElement,tweakedStyles:{...state.tweakedStyles},flattenedStyles:{...state.selectedElement.originalStyles,...state.tweakedStyles}}),notify()}function resetLiveStyleOverrides(){state.tweakedStyles={},state.selectedElement&&(state.selectedElement={...state.selectedElement,tweakedStyles:{},flattenedStyles:{...state.selectedElement.originalStyles}}),notify()}function clearUiInspectorHistory(){state.history=[],notify()}