react-native-debug-toolkit 3.3.8 → 3.5.1

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 (223) hide show
  1. package/README.md +40 -26
  2. package/README.zh-CN.md +52 -38
  3. package/android/src/main/java/com/reactnativedebugtoolkit/DebugToolkitNativeLogsModule.java +146 -0
  4. package/android/src/main/java/com/reactnativedebugtoolkit/ReactNativeDebugToolkitPackage.java +5 -3
  5. package/ios/DebugToolkitNativeLogs.mm +92 -0
  6. package/lib/commonjs/constants/logLevels.js +19 -0
  7. package/lib/commonjs/constants/logLevels.js.map +1 -0
  8. package/lib/commonjs/core/initialize.js +32 -19
  9. package/lib/commonjs/core/initialize.js.map +1 -1
  10. package/lib/commonjs/features/console/ConsoleLogTab.js +4 -15
  11. package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -1
  12. package/lib/commonjs/features/console/index.js +15 -8
  13. package/lib/commonjs/features/console/index.js.map +1 -1
  14. package/lib/commonjs/features/nativeLogs/NativeLogTab.js +156 -0
  15. package/lib/commonjs/features/nativeLogs/NativeLogTab.js.map +1 -0
  16. package/lib/commonjs/features/nativeLogs/index.js +97 -0
  17. package/lib/commonjs/features/nativeLogs/index.js.map +1 -0
  18. package/lib/commonjs/features/nativeLogs/nativeLogsBridge.js +71 -0
  19. package/lib/commonjs/features/nativeLogs/nativeLogsBridge.js.map +1 -0
  20. package/lib/commonjs/features/network/NetworkLogTab.js +90 -95
  21. package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -1
  22. package/lib/commonjs/features/network/index.js +7 -4
  23. package/lib/commonjs/features/network/index.js.map +1 -1
  24. package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js +1046 -0
  25. package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js.map +1 -0
  26. package/lib/commonjs/features/sessionHistory/index.js +104 -0
  27. package/lib/commonjs/features/sessionHistory/index.js.map +1 -0
  28. package/lib/commonjs/features/track/index.js +4 -3
  29. package/lib/commonjs/features/track/index.js.map +1 -1
  30. package/lib/commonjs/index.js +27 -0
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/ui/DebugView.js +2 -0
  33. package/lib/commonjs/ui/DebugView.js.map +1 -1
  34. package/lib/commonjs/ui/panel/DebugPanel.js +67 -34
  35. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
  36. package/lib/commonjs/ui/panel/FeatureIntroCard.js +151 -0
  37. package/lib/commonjs/ui/panel/FeatureIntroCard.js.map +1 -0
  38. package/lib/commonjs/ui/panel/FeatureRail.js +163 -0
  39. package/lib/commonjs/ui/panel/FeatureRail.js.map +1 -0
  40. package/lib/commonjs/ui/panel/FloatPanelView.js +119 -22
  41. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
  42. package/lib/commonjs/ui/panel/buildFeatureSummary.js +207 -0
  43. package/lib/commonjs/ui/panel/buildFeatureSummary.js.map +1 -0
  44. package/lib/commonjs/ui/panel/filterFeatureSnapshot.js +43 -0
  45. package/lib/commonjs/ui/panel/filterFeatureSnapshot.js.map +1 -0
  46. package/lib/commonjs/ui/theme/colors.js +6 -0
  47. package/lib/commonjs/ui/theme/colors.js.map +1 -1
  48. package/lib/commonjs/utils/DaemonClient.js +30 -8
  49. package/lib/commonjs/utils/DaemonClient.js.map +1 -1
  50. package/lib/commonjs/utils/SessionManager.js +132 -0
  51. package/lib/commonjs/utils/SessionManager.js.map +1 -0
  52. package/lib/commonjs/utils/StorageAdapter.js +104 -0
  53. package/lib/commonjs/utils/StorageAdapter.js.map +1 -0
  54. package/lib/commonjs/utils/createChannelFeature.js +22 -5
  55. package/lib/commonjs/utils/createChannelFeature.js.map +1 -1
  56. package/lib/commonjs/utils/createPersistedObservableStore.js +14 -8
  57. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
  58. package/lib/commonjs/utils/debugPreferences.js +28 -5
  59. package/lib/commonjs/utils/debugPreferences.js.map +1 -1
  60. package/lib/commonjs/utils/deviceReport.js +5 -1
  61. package/lib/commonjs/utils/deviceReport.js.map +1 -1
  62. package/lib/commonjs/utils/logRuntime.js +32 -0
  63. package/lib/commonjs/utils/logRuntime.js.map +1 -0
  64. package/lib/module/constants/logLevels.js +15 -0
  65. package/lib/module/constants/logLevels.js.map +1 -0
  66. package/lib/module/core/initialize.js +32 -19
  67. package/lib/module/core/initialize.js.map +1 -1
  68. package/lib/module/features/console/ConsoleLogTab.js +1 -12
  69. package/lib/module/features/console/ConsoleLogTab.js.map +1 -1
  70. package/lib/module/features/console/index.js +15 -8
  71. package/lib/module/features/console/index.js.map +1 -1
  72. package/lib/module/features/nativeLogs/NativeLogTab.js +151 -0
  73. package/lib/module/features/nativeLogs/NativeLogTab.js.map +1 -0
  74. package/lib/module/features/nativeLogs/index.js +91 -0
  75. package/lib/module/features/nativeLogs/index.js.map +1 -0
  76. package/lib/module/features/nativeLogs/nativeLogsBridge.js +63 -0
  77. package/lib/module/features/nativeLogs/nativeLogsBridge.js.map +1 -0
  78. package/lib/module/features/network/NetworkLogTab.js +90 -95
  79. package/lib/module/features/network/NetworkLogTab.js.map +1 -1
  80. package/lib/module/features/network/index.js +7 -4
  81. package/lib/module/features/network/index.js.map +1 -1
  82. package/lib/module/features/sessionHistory/SessionHistoryTab.js +1041 -0
  83. package/lib/module/features/sessionHistory/SessionHistoryTab.js.map +1 -0
  84. package/lib/module/features/sessionHistory/index.js +100 -0
  85. package/lib/module/features/sessionHistory/index.js.map +1 -0
  86. package/lib/module/features/track/index.js +4 -3
  87. package/lib/module/features/track/index.js.map +1 -1
  88. package/lib/module/index.js +3 -0
  89. package/lib/module/index.js.map +1 -1
  90. package/lib/module/ui/DebugView.js +2 -0
  91. package/lib/module/ui/DebugView.js.map +1 -1
  92. package/lib/module/ui/panel/DebugPanel.js +67 -34
  93. package/lib/module/ui/panel/DebugPanel.js.map +1 -1
  94. package/lib/module/ui/panel/FeatureIntroCard.js +146 -0
  95. package/lib/module/ui/panel/FeatureIntroCard.js.map +1 -0
  96. package/lib/module/ui/panel/FeatureRail.js +158 -0
  97. package/lib/module/ui/panel/FeatureRail.js.map +1 -0
  98. package/lib/module/ui/panel/FloatPanelView.js +119 -22
  99. package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
  100. package/lib/module/ui/panel/buildFeatureSummary.js +203 -0
  101. package/lib/module/ui/panel/buildFeatureSummary.js.map +1 -0
  102. package/lib/module/ui/panel/filterFeatureSnapshot.js +39 -0
  103. package/lib/module/ui/panel/filterFeatureSnapshot.js.map +1 -0
  104. package/lib/module/ui/theme/colors.js +6 -0
  105. package/lib/module/ui/theme/colors.js.map +1 -1
  106. package/lib/module/utils/DaemonClient.js +30 -8
  107. package/lib/module/utils/DaemonClient.js.map +1 -1
  108. package/lib/module/utils/SessionManager.js +127 -0
  109. package/lib/module/utils/SessionManager.js.map +1 -0
  110. package/lib/module/utils/StorageAdapter.js +96 -0
  111. package/lib/module/utils/StorageAdapter.js.map +1 -0
  112. package/lib/module/utils/createChannelFeature.js +22 -5
  113. package/lib/module/utils/createChannelFeature.js.map +1 -1
  114. package/lib/module/utils/createPersistedObservableStore.js +14 -8
  115. package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
  116. package/lib/module/utils/debugPreferences.js +27 -5
  117. package/lib/module/utils/debugPreferences.js.map +1 -1
  118. package/lib/module/utils/deviceReport.js +4 -1
  119. package/lib/module/utils/deviceReport.js.map +1 -1
  120. package/lib/module/utils/logRuntime.js +26 -0
  121. package/lib/module/utils/logRuntime.js.map +1 -0
  122. package/lib/typescript/src/constants/logLevels.d.ts +3 -0
  123. package/lib/typescript/src/constants/logLevels.d.ts.map +1 -0
  124. package/lib/typescript/src/core/initialize.d.ts +6 -0
  125. package/lib/typescript/src/core/initialize.d.ts.map +1 -1
  126. package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -1
  127. package/lib/typescript/src/features/console/index.d.ts +2 -1
  128. package/lib/typescript/src/features/console/index.d.ts.map +1 -1
  129. package/lib/typescript/src/features/nativeLogs/NativeLogTab.d.ts +4 -0
  130. package/lib/typescript/src/features/nativeLogs/NativeLogTab.d.ts.map +1 -0
  131. package/lib/typescript/src/features/nativeLogs/index.d.ts +12 -0
  132. package/lib/typescript/src/features/nativeLogs/index.d.ts.map +1 -0
  133. package/lib/typescript/src/features/nativeLogs/nativeLogsBridge.d.ts +11 -0
  134. package/lib/typescript/src/features/nativeLogs/nativeLogsBridge.d.ts.map +1 -0
  135. package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -1
  136. package/lib/typescript/src/features/network/index.d.ts +2 -1
  137. package/lib/typescript/src/features/network/index.d.ts.map +1 -1
  138. package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts +20 -0
  139. package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts.map +1 -0
  140. package/lib/typescript/src/features/sessionHistory/index.d.ts +4 -0
  141. package/lib/typescript/src/features/sessionHistory/index.d.ts.map +1 -0
  142. package/lib/typescript/src/features/track/index.d.ts +2 -1
  143. package/lib/typescript/src/features/track/index.d.ts.map +1 -1
  144. package/lib/typescript/src/index.d.ts +7 -1
  145. package/lib/typescript/src/index.d.ts.map +1 -1
  146. package/lib/typescript/src/types/feature.d.ts +1 -1
  147. package/lib/typescript/src/types/feature.d.ts.map +1 -1
  148. package/lib/typescript/src/types/index.d.ts +3 -1
  149. package/lib/typescript/src/types/index.d.ts.map +1 -1
  150. package/lib/typescript/src/types/logs.d.ts +15 -0
  151. package/lib/typescript/src/types/logs.d.ts.map +1 -1
  152. package/lib/typescript/src/ui/DebugView.d.ts.map +1 -1
  153. package/lib/typescript/src/ui/panel/DebugPanel.d.ts +3 -1
  154. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
  155. package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts +14 -0
  156. package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts.map +1 -0
  157. package/lib/typescript/src/ui/panel/FeatureRail.d.ts +16 -0
  158. package/lib/typescript/src/ui/panel/FeatureRail.d.ts.map +1 -0
  159. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
  160. package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts +13 -0
  161. package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts.map +1 -0
  162. package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts +3 -0
  163. package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts.map +1 -0
  164. package/lib/typescript/src/ui/theme/colors.d.ts +5 -0
  165. package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -1
  166. package/lib/typescript/src/utils/DaemonClient.d.ts +7 -1
  167. package/lib/typescript/src/utils/DaemonClient.d.ts.map +1 -1
  168. package/lib/typescript/src/utils/SessionManager.d.ts +30 -0
  169. package/lib/typescript/src/utils/SessionManager.d.ts.map +1 -0
  170. package/lib/typescript/src/utils/StorageAdapter.d.ts +38 -0
  171. package/lib/typescript/src/utils/StorageAdapter.d.ts.map +1 -0
  172. package/lib/typescript/src/utils/createChannelFeature.d.ts +2 -0
  173. package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -1
  174. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +4 -1
  175. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
  176. package/lib/typescript/src/utils/debugPreferences.d.ts +1 -3
  177. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
  178. package/lib/typescript/src/utils/deviceReport.d.ts +1 -0
  179. package/lib/typescript/src/utils/deviceReport.d.ts.map +1 -1
  180. package/lib/typescript/src/utils/logRuntime.d.ts +13 -0
  181. package/lib/typescript/src/utils/logRuntime.d.ts.map +1 -0
  182. package/node/daemon/src/console/console.html +18 -0
  183. package/node/mcp/src/logs.js +1 -1
  184. package/package.json +9 -1
  185. package/src/constants/logLevels.ts +13 -0
  186. package/src/core/initialize.ts +54 -25
  187. package/src/features/console/ConsoleLogTab.tsx +1 -14
  188. package/src/features/console/index.ts +18 -8
  189. package/src/features/nativeLogs/NativeLogTab.tsx +66 -0
  190. package/src/features/nativeLogs/index.ts +94 -0
  191. package/src/features/nativeLogs/nativeLogsBridge.ts +51 -0
  192. package/src/features/network/NetworkLogTab.tsx +60 -71
  193. package/src/features/network/index.ts +12 -3
  194. package/src/features/sessionHistory/SessionHistoryTab.tsx +693 -0
  195. package/src/features/sessionHistory/index.ts +102 -0
  196. package/src/features/track/index.ts +10 -3
  197. package/src/index.ts +16 -0
  198. package/src/types/feature.ts +3 -1
  199. package/src/types/index.ts +13 -0
  200. package/src/types/logs.ts +17 -0
  201. package/src/ui/DebugView.tsx +2 -0
  202. package/src/ui/panel/DebugPanel.tsx +60 -30
  203. package/src/ui/panel/FeatureIntroCard.tsx +147 -0
  204. package/src/ui/panel/FeatureRail.tsx +165 -0
  205. package/src/ui/panel/FloatPanelView.tsx +123 -15
  206. package/src/ui/panel/buildFeatureSummary.ts +288 -0
  207. package/src/ui/panel/filterFeatureSnapshot.ts +51 -0
  208. package/src/ui/theme/colors.ts +7 -0
  209. package/src/utils/DaemonClient.ts +33 -5
  210. package/src/utils/SessionManager.ts +174 -0
  211. package/src/utils/StorageAdapter.ts +135 -0
  212. package/src/utils/createChannelFeature.ts +28 -6
  213. package/src/utils/createPersistedObservableStore.ts +18 -10
  214. package/src/utils/debugPreferences.ts +38 -7
  215. package/src/utils/deviceReport.ts +5 -1
  216. package/src/utils/logRuntime.ts +39 -0
  217. package/lib/commonjs/ui/panel/FeatureTabBar.js +0 -182
  218. package/lib/commonjs/ui/panel/FeatureTabBar.js.map +0 -1
  219. package/lib/module/ui/panel/FeatureTabBar.js +0 -177
  220. package/lib/module/ui/panel/FeatureTabBar.js.map +0 -1
  221. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +0 -13
  222. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +0 -1
  223. package/src/ui/panel/FeatureTabBar.tsx +0 -204
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FeatureIntroCard = FeatureIntroCard;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _colors = require("../theme/colors");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function hexWithAlpha(hex, alpha) {
13
+ if (/^#[0-9a-fA-F]{6}$/.test(hex)) return hex + alpha;
14
+ return _colors.Colors.signalDefaultBg;
15
+ }
16
+ function FeatureIntroCard({
17
+ title,
18
+ summary,
19
+ filterBad,
20
+ onFilterBad,
21
+ searchQuery,
22
+ onSearchChange,
23
+ showSearch
24
+ }) {
25
+ const {
26
+ statusLabel,
27
+ statusColor,
28
+ supportsBadFilter
29
+ } = summary;
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
+ style: styles.card,
32
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
33
+ style: styles.titleRow,
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
35
+ style: styles.title,
36
+ numberOfLines: 1,
37
+ children: title
38
+ }), statusLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
39
+ style: [styles.statusChip, statusColor && {
40
+ backgroundColor: hexWithAlpha(statusColor, '18')
41
+ }],
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
43
+ style: [styles.statusText, statusColor && {
44
+ color: statusColor
45
+ }],
46
+ numberOfLines: 1,
47
+ children: statusLabel
48
+ })
49
+ }), supportsBadFilter && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
50
+ style: styles.filterRow,
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
52
+ style: [styles.chip, !filterBad && styles.chipActive],
53
+ onPress: () => onFilterBad(false),
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
55
+ style: [styles.chipText, !filterBad && styles.chipTextActive],
56
+ children: "All"
57
+ })
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
59
+ style: [styles.chip, filterBad && styles.chipBadActive],
60
+ onPress: () => onFilterBad(true),
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
+ style: [styles.chipText, filterBad && styles.chipTextBad],
63
+ children: "Bad"
64
+ })
65
+ })]
66
+ })]
67
+ }), showSearch && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
68
+ style: styles.searchInput,
69
+ placeholder: "Search...",
70
+ placeholderTextColor: _colors.Colors.textLight,
71
+ value: searchQuery,
72
+ onChangeText: onSearchChange,
73
+ returnKeyType: "search"
74
+ })]
75
+ });
76
+ }
77
+ const styles = _reactNative.StyleSheet.create({
78
+ card: {
79
+ paddingHorizontal: 12,
80
+ paddingTop: 8,
81
+ paddingBottom: 6,
82
+ borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
83
+ borderBottomColor: _colors.Colors.border,
84
+ backgroundColor: _colors.Colors.background
85
+ },
86
+ titleRow: {
87
+ flexDirection: 'row',
88
+ alignItems: 'center',
89
+ gap: 8
90
+ },
91
+ title: {
92
+ fontSize: 15,
93
+ fontWeight: '700',
94
+ color: _colors.Colors.text
95
+ },
96
+ statusChip: {
97
+ paddingHorizontal: 8,
98
+ paddingVertical: 2,
99
+ borderRadius: 8,
100
+ backgroundColor: _colors.Colors.signalDefaultBg
101
+ },
102
+ statusText: {
103
+ fontSize: 11,
104
+ fontWeight: '700',
105
+ color: _colors.Colors.textSecondary
106
+ },
107
+ filterRow: {
108
+ flexDirection: 'row',
109
+ gap: 6
110
+ },
111
+ chip: {
112
+ height: 24,
113
+ paddingHorizontal: 10,
114
+ justifyContent: 'center',
115
+ borderRadius: 12,
116
+ borderWidth: 1,
117
+ borderColor: _colors.Colors.border,
118
+ backgroundColor: _colors.Colors.surface
119
+ },
120
+ chipActive: {
121
+ backgroundColor: _colors.Colors.text,
122
+ borderColor: _colors.Colors.text
123
+ },
124
+ chipBadActive: {
125
+ backgroundColor: _colors.Colors.error,
126
+ borderColor: _colors.Colors.error
127
+ },
128
+ chipText: {
129
+ fontSize: 11,
130
+ fontWeight: '700',
131
+ color: _colors.Colors.textSecondary
132
+ },
133
+ chipTextActive: {
134
+ color: '#fff'
135
+ },
136
+ chipTextBad: {
137
+ color: '#fff'
138
+ },
139
+ searchInput: {
140
+ height: 32,
141
+ borderWidth: 1,
142
+ borderColor: _colors.Colors.border,
143
+ borderRadius: 8,
144
+ backgroundColor: _colors.Colors.surface,
145
+ paddingHorizontal: 10,
146
+ fontSize: 13,
147
+ color: _colors.Colors.text,
148
+ marginTop: 6
149
+ }
150
+ });
151
+ //# sourceMappingURL=FeatureIntroCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_jsxRuntime","e","__esModule","default","hexWithAlpha","hex","alpha","test","Colors","signalDefaultBg","FeatureIntroCard","title","summary","filterBad","onFilterBad","searchQuery","onSearchChange","showSearch","statusLabel","statusColor","supportsBadFilter","jsxs","View","style","styles","card","children","titleRow","jsx","Text","numberOfLines","statusChip","backgroundColor","statusText","color","filterRow","Pressable","chip","chipActive","onPress","chipText","chipTextActive","chipBadActive","chipTextBad","TextInput","searchInput","placeholder","placeholderTextColor","textLight","value","onChangeText","returnKeyType","StyleSheet","create","paddingHorizontal","paddingTop","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","border","background","flexDirection","alignItems","gap","fontSize","fontWeight","text","paddingVertical","borderRadius","textSecondary","height","justifyContent","borderWidth","borderColor","surface","error","marginTop"],"sourceRoot":"../../../../src","sources":["ui/panel/FeatureIntroCard.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAyC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGzC,SAASG,YAAYA,CAACC,GAAW,EAAEC,KAAa,EAAU;EACxD,IAAI,mBAAmB,CAACC,IAAI,CAACF,GAAG,CAAC,EAAE,OAAOA,GAAG,GAAGC,KAAK;EACrD,OAAOE,cAAM,CAACC,eAAe;AAC/B;AAYO,SAASC,gBAAgBA,CAAC;EAC/BC,KAAK;EACLC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,cAAc;EACdC;AACqB,CAAC,EAAE;EACxB,MAAM;IAAEC,WAAW;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGR,OAAO;EAE/D,oBACE,IAAAZ,WAAA,CAAAqB,IAAA,EAACvB,YAAA,CAAAwB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,gBACvB,IAAA1B,WAAA,CAAAqB,IAAA,EAACvB,YAAA,CAAAwB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACG,QAAS;MAAAD,QAAA,gBAC3B,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;QAACN,KAAK,EAAEC,MAAM,CAACb,KAAM;QAACmB,aAAa,EAAE,CAAE;QAAAJ,QAAA,EAAEf;MAAK,CAAO,CAAC,EAC1DO,WAAW,iBACV,IAAAlB,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAwB,IAAI;QAACC,KAAK,EAAE,CAACC,MAAM,CAACO,UAAU,EAAEZ,WAAW,IAAI;UAAEa,eAAe,EAAE5B,YAAY,CAACe,WAAW,EAAE,IAAI;QAAE,CAAC,CAAE;QAAAO,QAAA,eACpG,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;UAACN,KAAK,EAAE,CAACC,MAAM,CAACS,UAAU,EAAEd,WAAW,IAAI;YAAEe,KAAK,EAAEf;UAAY,CAAC,CAAE;UAACW,aAAa,EAAE,CAAE;UAAAJ,QAAA,EACvFR;QAAW,CACR;MAAC,CACH,CACP,EACAE,iBAAiB,iBAChB,IAAApB,WAAA,CAAAqB,IAAA,EAACvB,YAAA,CAAAwB,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACW,SAAU;QAAAT,QAAA,gBAC5B,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAsC,SAAS;UACRb,KAAK,EAAE,CAACC,MAAM,CAACa,IAAI,EAAE,CAACxB,SAAS,IAAIW,MAAM,CAACc,UAAU,CAAE;UACtDC,OAAO,EAAEA,CAAA,KAAMzB,WAAW,CAAC,KAAK,CAAE;UAAAY,QAAA,eAElC,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;YAACN,KAAK,EAAE,CAACC,MAAM,CAACgB,QAAQ,EAAE,CAAC3B,SAAS,IAAIW,MAAM,CAACiB,cAAc,CAAE;YAAAf,QAAA,EAAC;UAAG,CAAM;QAAC,CACtE,CAAC,eACZ,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAsC,SAAS;UACRb,KAAK,EAAE,CAACC,MAAM,CAACa,IAAI,EAAExB,SAAS,IAAIW,MAAM,CAACkB,aAAa,CAAE;UACxDH,OAAO,EAAEA,CAAA,KAAMzB,WAAW,CAAC,IAAI,CAAE;UAAAY,QAAA,eAEjC,IAAA1B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;YAACN,KAAK,EAAE,CAACC,MAAM,CAACgB,QAAQ,EAAE3B,SAAS,IAAIW,MAAM,CAACmB,WAAW,CAAE;YAAAjB,QAAA,EAAC;UAAG,CAAM;QAAC,CAClE,CAAC;MAAA,CACR,CACP;IAAA,CACG,CAAC,EACNT,UAAU,iBACT,IAAAjB,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA8C,SAAS;MACRrB,KAAK,EAAEC,MAAM,CAACqB,WAAY;MAC1BC,WAAW,EAAC,WAAW;MACvBC,oBAAoB,EAAEvC,cAAM,CAACwC,SAAU;MACvCC,KAAK,EAAElC,WAAY;MACnBmC,YAAY,EAAElC,cAAe;MAC7BmC,aAAa,EAAC;IAAQ,CACvB,CACF;EAAA,CACG,CAAC;AAEX;AAEA,MAAM3B,MAAM,GAAG4B,uBAAU,CAACC,MAAM,CAAC;EAC/B5B,IAAI,EAAE;IACJ6B,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,CAAC;IACbC,aAAa,EAAE,CAAC;IAChBC,iBAAiB,EAAEL,uBAAU,CAACM,aAAa;IAC3CC,iBAAiB,EAAEnD,cAAM,CAACoD,MAAM;IAChC5B,eAAe,EAAExB,cAAM,CAACqD;EAC1B,CAAC;EACDlC,QAAQ,EAAE;IACRmC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACP,CAAC;EACDrD,KAAK,EAAE;IACLsD,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBhC,KAAK,EAAE1B,cAAM,CAAC2D;EAChB,CAAC;EACDpC,UAAU,EAAE;IACVuB,iBAAiB,EAAE,CAAC;IACpBc,eAAe,EAAE,CAAC;IAClBC,YAAY,EAAE,CAAC;IACfrC,eAAe,EAAExB,cAAM,CAACC;EAC1B,CAAC;EACDwB,UAAU,EAAE;IACVgC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBhC,KAAK,EAAE1B,cAAM,CAAC8D;EAChB,CAAC;EACDnC,SAAS,EAAE;IACT2B,aAAa,EAAE,KAAK;IACpBE,GAAG,EAAE;EACP,CAAC;EACD3B,IAAI,EAAE;IACJkC,MAAM,EAAE,EAAE;IACVjB,iBAAiB,EAAE,EAAE;IACrBkB,cAAc,EAAE,QAAQ;IACxBH,YAAY,EAAE,EAAE;IAChBI,WAAW,EAAE,CAAC;IACdC,WAAW,EAAElE,cAAM,CAACoD,MAAM;IAC1B5B,eAAe,EAAExB,cAAM,CAACmE;EAC1B,CAAC;EACDrC,UAAU,EAAE;IACVN,eAAe,EAAExB,cAAM,CAAC2D,IAAI;IAC5BO,WAAW,EAAElE,cAAM,CAAC2D;EACtB,CAAC;EACDzB,aAAa,EAAE;IACbV,eAAe,EAAExB,cAAM,CAACoE,KAAK;IAC7BF,WAAW,EAAElE,cAAM,CAACoE;EACtB,CAAC;EACDpC,QAAQ,EAAE;IACRyB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBhC,KAAK,EAAE1B,cAAM,CAAC8D;EAChB,CAAC;EACD7B,cAAc,EAAE;IACdP,KAAK,EAAE;EACT,CAAC;EACDS,WAAW,EAAE;IACXT,KAAK,EAAE;EACT,CAAC;EACDW,WAAW,EAAE;IACX0B,MAAM,EAAE,EAAE;IACVE,WAAW,EAAE,CAAC;IACdC,WAAW,EAAElE,cAAM,CAACoD,MAAM;IAC1BS,YAAY,EAAE,CAAC;IACfrC,eAAe,EAAExB,cAAM,CAACmE,OAAO;IAC/BrB,iBAAiB,EAAE,EAAE;IACrBW,QAAQ,EAAE,EAAE;IACZ/B,KAAK,EAAE1B,cAAM,CAAC2D,IAAI;IAClBU,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FeatureRail = FeatureRail;
7
+ exports.shortLabelForFeature = shortLabelForFeature;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _colors = require("../theme/colors");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ // ─── Label Model ──────────────────────────────────────
14
+ const SHORT_LABEL_MAP = {
15
+ network: 'network',
16
+ console: 'console',
17
+ native: 'native',
18
+ navigation: 'nav',
19
+ zustand: 'zustand',
20
+ track: 'track',
21
+ clipboard: 'clip',
22
+ environment: 'env',
23
+ devConnect: 'dev',
24
+ sessionHistory: 'session',
25
+ thirdPartyLibs: 'libs'
26
+ };
27
+ function shortLabelForFeature(label, id) {
28
+ const mapped = SHORT_LABEL_MAP[id];
29
+ if (mapped) return mapped;
30
+ const trimmed = label.trim();
31
+ return trimmed.toLowerCase().slice(0, 7);
32
+ }
33
+
34
+ // ─── Rail Component ───────────────────────────────────
35
+
36
+ function FeatureRail({
37
+ items,
38
+ activeIndex,
39
+ onSelectTab
40
+ }) {
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
42
+ style: styles.rail,
43
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
44
+ showsVerticalScrollIndicator: false,
45
+ contentContainerStyle: styles.scrollContent,
46
+ children: items.map((item, index) => {
47
+ const isActive = index === activeIndex;
48
+ const short = shortLabelForFeature(item.label, item.id);
49
+ const dotColor = item.dotColor ?? null;
50
+ const hasCount = item.count != null && item.count > 0;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
52
+ onPress: () => onSelectTab(index),
53
+ style: [styles.item, isActive && styles.activeItem],
54
+ accessibilityRole: "tab",
55
+ accessibilityLabel: item.label,
56
+ accessibilityState: {
57
+ selected: isActive
58
+ },
59
+ children: [isActive && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
60
+ style: styles.activeBar
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
+ style: [styles.itemName, isActive && styles.activeItemName],
63
+ numberOfLines: 1,
64
+ children: short
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
66
+ style: styles.itemMeta,
67
+ children: [dotColor && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
68
+ style: [styles.dot, {
69
+ backgroundColor: dotColor
70
+ }]
71
+ }), hasCount && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
72
+ style: styles.countPill,
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
74
+ style: styles.countText,
75
+ children: item.count
76
+ })
77
+ })]
78
+ })]
79
+ }, item.id);
80
+ })
81
+ })
82
+ });
83
+ }
84
+ const RAIL_WIDTH = 80;
85
+ const styles = _reactNative.StyleSheet.create({
86
+ rail: {
87
+ width: RAIL_WIDTH,
88
+ backgroundColor: _colors.Colors.railBackground,
89
+ borderRightWidth: _reactNative.StyleSheet.hairlineWidth,
90
+ borderRightColor: _colors.Colors.panelDivider
91
+ },
92
+ scrollContent: {
93
+ paddingVertical: 6,
94
+ paddingHorizontal: 6,
95
+ gap: 3
96
+ },
97
+ item: {
98
+ minHeight: 56,
99
+ borderRadius: 8,
100
+ justifyContent: 'center',
101
+ alignItems: 'center',
102
+ paddingVertical: 8,
103
+ paddingHorizontal: 4,
104
+ position: 'relative',
105
+ overflow: 'hidden'
106
+ },
107
+ activeItem: {
108
+ backgroundColor: _colors.Colors.surface,
109
+ elevation: 2,
110
+ shadowColor: '#000',
111
+ shadowOffset: {
112
+ width: 0,
113
+ height: 2
114
+ },
115
+ shadowOpacity: 0.06,
116
+ shadowRadius: 4
117
+ },
118
+ activeBar: {
119
+ position: 'absolute',
120
+ left: 0,
121
+ top: 10,
122
+ bottom: 10,
123
+ width: 3,
124
+ borderRadius: 1.5,
125
+ backgroundColor: _colors.Colors.primary
126
+ },
127
+ itemName: {
128
+ fontSize: 11,
129
+ fontWeight: '700',
130
+ color: _colors.Colors.textSecondary,
131
+ letterSpacing: 0.2
132
+ },
133
+ activeItemName: {
134
+ color: _colors.Colors.text,
135
+ fontWeight: '800'
136
+ },
137
+ itemMeta: {
138
+ marginTop: 4,
139
+ flexDirection: 'row',
140
+ alignItems: 'center',
141
+ gap: 3
142
+ },
143
+ dot: {
144
+ width: 6,
145
+ height: 6,
146
+ borderRadius: 3
147
+ },
148
+ countPill: {
149
+ minWidth: 18,
150
+ height: 14,
151
+ borderRadius: 7,
152
+ backgroundColor: _colors.Colors.background,
153
+ paddingHorizontal: 4,
154
+ alignItems: 'center',
155
+ justifyContent: 'center'
156
+ },
157
+ countText: {
158
+ fontSize: 10,
159
+ fontWeight: '800',
160
+ color: _colors.Colors.textSecondary
161
+ }
162
+ });
163
+ //# sourceMappingURL=FeatureRail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_jsxRuntime","e","__esModule","default","SHORT_LABEL_MAP","network","console","native","navigation","zustand","track","clipboard","environment","devConnect","sessionHistory","thirdPartyLibs","shortLabelForFeature","label","id","mapped","trimmed","trim","toLowerCase","slice","FeatureRail","items","activeIndex","onSelectTab","jsx","View","style","styles","rail","children","ScrollView","showsVerticalScrollIndicator","contentContainerStyle","scrollContent","map","item","index","isActive","short","dotColor","hasCount","count","jsxs","Pressable","onPress","activeItem","accessibilityRole","accessibilityLabel","accessibilityState","selected","activeBar","Text","itemName","activeItemName","numberOfLines","itemMeta","dot","backgroundColor","countPill","countText","RAIL_WIDTH","StyleSheet","create","width","Colors","railBackground","borderRightWidth","hairlineWidth","borderRightColor","panelDivider","paddingVertical","paddingHorizontal","gap","minHeight","borderRadius","justifyContent","alignItems","position","overflow","surface","elevation","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","left","top","bottom","primary","fontSize","fontWeight","color","textSecondary","letterSpacing","text","marginTop","flexDirection","minWidth","background"],"sourceRoot":"../../../../src","sources":["ui/panel/FeatureRail.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAAyC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzC;AAEA,MAAMG,eAAuC,GAAG;EAC9CC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,KAAK;EACjBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAE,KAAK;EAClBC,UAAU,EAAE,KAAK;EACjBC,cAAc,EAAE,SAAS;EACzBC,cAAc,EAAE;AAClB,CAAC;AAEM,SAASC,oBAAoBA,CAACC,KAAa,EAAEC,EAAU,EAAU;EACtE,MAAMC,MAAM,GAAGf,eAAe,CAACc,EAAE,CAAC;EAClC,IAAIC,MAAM,EAAE,OAAOA,MAAM;EACzB,MAAMC,OAAO,GAAGH,KAAK,CAACI,IAAI,CAAC,CAAC;EAC5B,OAAOD,OAAO,CAACE,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C;;AAEA;;AAeO,SAASC,WAAWA,CAAC;EAAEC,KAAK;EAAEC,WAAW;EAAEC;AAA8B,CAAC,EAAE;EACjF,oBACE,IAAA3B,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,eACvB,IAAAjC,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAoC,UAAU;MACTC,4BAA4B,EAAE,KAAM;MACpCC,qBAAqB,EAAEL,MAAM,CAACM,aAAc;MAAAJ,QAAA,EAE3CR,KAAK,CAACa,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QAC1B,MAAMC,QAAQ,GAAGD,KAAK,KAAKd,WAAW;QACtC,MAAMgB,KAAK,GAAG1B,oBAAoB,CAACuB,IAAI,CAACtB,KAAK,EAAEsB,IAAI,CAACrB,EAAE,CAAC;QACvD,MAAMyB,QAAQ,GAAGJ,IAAI,CAACI,QAAQ,IAAI,IAAI;QACtC,MAAMC,QAAQ,GAAGL,IAAI,CAACM,KAAK,IAAI,IAAI,IAAIN,IAAI,CAACM,KAAK,GAAG,CAAC;QACrD,oBACE,IAAA7C,WAAA,CAAA8C,IAAA,EAAChD,YAAA,CAAAiD,SAAS;UAERC,OAAO,EAAEA,CAAA,KAAMrB,WAAW,CAACa,KAAK,CAAE;UAClCV,KAAK,EAAE,CAACC,MAAM,CAACQ,IAAI,EAAEE,QAAQ,IAAIV,MAAM,CAACkB,UAAU,CAAE;UACpDC,iBAAiB,EAAC,KAAK;UACvBC,kBAAkB,EAAEZ,IAAI,CAACtB,KAAM;UAC/BmC,kBAAkB,EAAE;YAAEC,QAAQ,EAAEZ;UAAS,CAAE;UAAAR,QAAA,GAE1CQ,QAAQ,iBAAI,IAAAzC,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;YAACC,KAAK,EAAEC,MAAM,CAACuB;UAAU,CAAE,CAAC,eAC9C,IAAAtD,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAyD,IAAI;YACHzB,KAAK,EAAE,CAACC,MAAM,CAACyB,QAAQ,EAAEf,QAAQ,IAAIV,MAAM,CAAC0B,cAAc,CAAE;YAC5DC,aAAa,EAAE,CAAE;YAAAzB,QAAA,EAEhBS;UAAK,CACF,CAAC,eACP,IAAA1C,WAAA,CAAA8C,IAAA,EAAChD,YAAA,CAAA+B,IAAI;YAACC,KAAK,EAAEC,MAAM,CAAC4B,QAAS;YAAA1B,QAAA,GAC1BU,QAAQ,iBACP,IAAA3C,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;cAACC,KAAK,EAAE,CAACC,MAAM,CAAC6B,GAAG,EAAE;gBAAEC,eAAe,EAAElB;cAAS,CAAC;YAAE,CAAE,CAC5D,EACAC,QAAQ,iBACP,IAAA5C,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;cAACC,KAAK,EAAEC,MAAM,CAAC+B,SAAU;cAAA7B,QAAA,eAC5B,IAAAjC,WAAA,CAAA4B,GAAA,EAAC9B,YAAA,CAAAyD,IAAI;gBAACzB,KAAK,EAAEC,MAAM,CAACgC,SAAU;gBAAA9B,QAAA,EAAEM,IAAI,CAACM;cAAK,CAAO;YAAC,CAC9C,CACP;UAAA,CACG,CAAC;QAAA,GAvBFN,IAAI,CAACrB,EAwBD,CAAC;MAEhB,CAAC;IAAC,CACQ;EAAC,CACT,CAAC;AAEX;AAEA,MAAM8C,UAAU,GAAG,EAAE;AAErB,MAAMjC,MAAM,GAAGkC,uBAAU,CAACC,MAAM,CAAC;EAC/BlC,IAAI,EAAE;IACJmC,KAAK,EAAEH,UAAU;IACjBH,eAAe,EAAEO,cAAM,CAACC,cAAc;IACtCC,gBAAgB,EAAEL,uBAAU,CAACM,aAAa;IAC1CC,gBAAgB,EAAEJ,cAAM,CAACK;EAC3B,CAAC;EACDpC,aAAa,EAAE;IACbqC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,CAAC;IACpBC,GAAG,EAAE;EACP,CAAC;EACDrC,IAAI,EAAE;IACJsC,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE,CAAC;IACfC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBN,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,CAAC;IACpBM,QAAQ,EAAE,UAAU;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDjC,UAAU,EAAE;IACVY,eAAe,EAAEO,cAAM,CAACe,OAAO;IAC/BC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEnB,KAAK,EAAE,CAAC;MAAEoB,MAAM,EAAE;IAAE,CAAC;IACrCC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC;EACDnC,SAAS,EAAE;IACT2B,QAAQ,EAAE,UAAU;IACpBS,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,EAAE;IACPC,MAAM,EAAE,EAAE;IACVzB,KAAK,EAAE,CAAC;IACRW,YAAY,EAAE,GAAG;IACjBjB,eAAe,EAAEO,cAAM,CAACyB;EAC1B,CAAC;EACDrC,QAAQ,EAAE;IACRsC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE5B,cAAM,CAAC6B,aAAa;IAC3BC,aAAa,EAAE;EACjB,CAAC;EACDzC,cAAc,EAAE;IACduC,KAAK,EAAE5B,cAAM,CAAC+B,IAAI;IAClBJ,UAAU,EAAE;EACd,CAAC;EACDpC,QAAQ,EAAE;IACRyC,SAAS,EAAE,CAAC;IACZC,aAAa,EAAE,KAAK;IACpBrB,UAAU,EAAE,QAAQ;IACpBJ,GAAG,EAAE;EACP,CAAC;EACDhB,GAAG,EAAE;IACHO,KAAK,EAAE,CAAC;IACRoB,MAAM,EAAE,CAAC;IACTT,YAAY,EAAE;EAChB,CAAC;EACDhB,SAAS,EAAE;IACTwC,QAAQ,EAAE,EAAE;IACZf,MAAM,EAAE,EAAE;IACVT,YAAY,EAAE,CAAC;IACfjB,eAAe,EAAEO,cAAM,CAACmC,UAAU;IAClC5B,iBAAiB,EAAE,CAAC;IACpBK,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE;EAClB,CAAC;EACDhB,SAAS,EAAE;IACT+B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE5B,cAAM,CAAC6B;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -6,10 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.FloatPanelView = FloatPanelView;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _colors = require("../theme/colors");
9
10
  var _debugPreferences = require("../../utils/debugPreferences");
10
11
  var _FloatIcon = require("../floating/FloatIcon");
11
12
  var _DebugPanel = require("./DebugPanel");
12
- var _FeatureTabBar = require("./FeatureTabBar");
13
+ var _FeatureRail = require("./FeatureRail");
14
+ var _FeatureIntroCard = require("./FeatureIntroCard");
15
+ var _buildFeatureSummary = require("./buildFeatureSummary");
16
+ var _filterFeatureSnapshot = require("./filterFeatureSnapshot");
13
17
  var _tabPersistence = require("./tabPersistence");
14
18
  var _useTabAnimation = require("./useTabAnimation");
15
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -34,6 +38,50 @@ class DebugErrorBoundary extends _react.Component {
34
38
  return this.props.children;
35
39
  }
36
40
  }
41
+
42
+ // ─── Snapshot helpers ──────────────────────────────────
43
+
44
+ function snapshotCount(feature) {
45
+ try {
46
+ const snap = feature.getSnapshot();
47
+ if (Array.isArray(snap)) return snap.length;
48
+ if (snap && typeof snap === 'object') {
49
+ const obj = snap;
50
+ if (Array.isArray(obj.items)) return obj.items.length;
51
+ if (Array.isArray(obj.logs)) return obj.logs.length;
52
+ if (Array.isArray(obj.entries)) return obj.entries.length;
53
+ if (Array.isArray(obj.environments)) return obj.environments.length;
54
+ }
55
+ } catch {/* ignore */}
56
+ return undefined;
57
+ }
58
+ function buildPanelConnectionStatus(features) {
59
+ const devConnect = features.find(f => f.name === 'devConnect');
60
+ if (!devConnect) {
61
+ return {
62
+ label: 'offline desktop sync unavailable',
63
+ color: _colors.Colors.textLight
64
+ };
65
+ }
66
+ try {
67
+ const snap = devConnect.getSnapshot() ?? {};
68
+ const host = snap.isSimulator ? 'localhost' : snap.computerHost?.trim();
69
+ const port = snap.daemonPort?.trim();
70
+ const target = host && port ? `${host}:${port}` : host || (port ? `port ${port}` : 'not configured');
71
+ return {
72
+ label: `${snap.streaming ? 'live' : 'offline'} ${target}`,
73
+ color: snap.streaming ? _colors.Colors.success : _colors.Colors.textLight
74
+ };
75
+ } catch {
76
+ return {
77
+ label: 'offline desktop sync unavailable',
78
+ color: _colors.Colors.textLight
79
+ };
80
+ }
81
+ }
82
+
83
+ // ─── Main Component ────────────────────────────────────
84
+
37
85
  function FloatPanelView({
38
86
  features,
39
87
  panelOpen,
@@ -42,6 +90,8 @@ function FloatPanelView({
42
90
  onClearAll
43
91
  }) {
44
92
  const [activeTab, setActiveTab] = (0, _react.useState)(0);
93
+ const [searchQuery, setSearchQuery] = (0, _react.useState)('');
94
+ const [filterBad, setFilterBad] = (0, _react.useState)(false);
45
95
  const tabLoaded = (0, _react.useRef)(false);
46
96
 
47
97
  // Restore last tab on mount
@@ -72,6 +122,8 @@ function FloatPanelView({
72
122
  tabCount: features.length,
73
123
  onTabChange: (0, _react.useCallback)(index => {
74
124
  tabLoaded.current = true;
125
+ setSearchQuery('');
126
+ setFilterBad(false);
75
127
  setActiveTab(index);
76
128
  const featureName = features[index]?.name;
77
129
  if (featureName) {
@@ -110,10 +162,31 @@ function FloatPanelView({
110
162
 
111
163
  // Badge (first feature that returns one)
112
164
  const envBadge = features.map(f => f.badge?.()).find(b => b != null) ?? null;
113
- const tabs = features.map(f => ({
114
- label: f.label,
115
- id: f.name
116
- }));
165
+
166
+ // Rail items with counts
167
+ const railItems = features.map(f => {
168
+ const b = f.badge?.();
169
+ return {
170
+ id: f.name,
171
+ label: f.label,
172
+ dotColor: b?.color ?? null,
173
+ count: snapshotCount(f)
174
+ };
175
+ });
176
+ const panelConnectionStatus = buildPanelConnectionStatus(features);
177
+ const handleClearAll = (0, _react.useCallback)(() => {
178
+ setSearchQuery('');
179
+ setFilterBad(false);
180
+ onClearAll();
181
+ }, [onClearAll]);
182
+
183
+ // Active feature + summary
184
+ const activeFeature = features[activeTab];
185
+ const activeSnapshot = activeFeature?.getSnapshot();
186
+ const activeSummary = activeFeature ? (0, _buildFeatureSummary.buildFeatureSummary)(activeFeature, activeSnapshot) : null;
187
+
188
+ // Filtered snapshot — reuse activeSnapshot to avoid double getSnapshot()
189
+ const filteredSnapshot = activeFeature ? (0, _filterFeatureSnapshot.filterFeatureSnapshot)(activeFeature, activeSnapshot, searchQuery, filterBad ? 'bad' : 'all') : null;
117
190
 
118
191
  // Render active feature content
119
192
  const renderFeatureContent = () => {
@@ -128,7 +201,7 @@ function FloatPanelView({
128
201
  style: styles.emptyText,
129
202
  children: "Feature not found"
130
203
  });
131
- const snapshot = feature.getSnapshot();
204
+ const snapshot = filteredSnapshot;
132
205
  const TabComponent = feature.renderContent;
133
206
  if (TabComponent) return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabComponent, {
134
207
  snapshot: snapshot,
@@ -142,6 +215,7 @@ function FloatPanelView({
142
215
  })
143
216
  });
144
217
  };
218
+ const showSearch = activeSummary ? activeSummary.count != null && activeSummary.count > 0 : false;
145
219
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(DebugErrorBoundary, {
146
220
  onError: onClosePanel,
147
221
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
@@ -151,23 +225,39 @@ function FloatPanelView({
151
225
  visible: !panelOpen,
152
226
  onPress: onOpenPanel,
153
227
  badge: envBadge
154
- }), panelOpen && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DebugPanel.DebugPanel, {
228
+ }), panelOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_DebugPanel.DebugPanel, {
155
229
  onClose: onClosePanel,
156
- onClearAll: onClearAll,
157
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FeatureTabBar.FeatureTabBar, {
158
- tabs: tabs,
159
- activeIndex: activeTab,
160
- onSelectTab: switchTab
161
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
162
- style: [styles.contentContainer, {
163
- opacity: contentOpacity,
164
- transform: [{
165
- translateX: contentTranslateX
166
- }]
167
- }],
168
- ...panHandlers,
169
- children: renderFeatureContent()
170
- })]
230
+ onClearAll: handleClearAll,
231
+ syncLabel: panelConnectionStatus.label,
232
+ syncColor: panelConnectionStatus.color,
233
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
234
+ style: styles.bodyRow,
235
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FeatureRail.FeatureRail, {
236
+ items: railItems,
237
+ activeIndex: activeTab,
238
+ onSelectTab: switchTab
239
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
240
+ style: styles.contentColumn,
241
+ children: [activeFeature && activeSummary && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FeatureIntroCard.FeatureIntroCard, {
242
+ title: activeFeature.label,
243
+ summary: activeSummary,
244
+ filterBad: filterBad,
245
+ onFilterBad: setFilterBad,
246
+ searchQuery: searchQuery,
247
+ onSearchChange: setSearchQuery,
248
+ showSearch: showSearch
249
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
250
+ style: [styles.contentContainer, {
251
+ opacity: contentOpacity,
252
+ transform: [{
253
+ translateX: contentTranslateX
254
+ }]
255
+ }],
256
+ ...panHandlers,
257
+ children: renderFeatureContent()
258
+ })]
259
+ })]
260
+ })
171
261
  })]
172
262
  })
173
263
  });
@@ -181,6 +271,13 @@ const styles = _reactNative.StyleSheet.create({
181
271
  bottom: 0,
182
272
  zIndex: 999
183
273
  },
274
+ bodyRow: {
275
+ flex: 1,
276
+ flexDirection: 'row'
277
+ },
278
+ contentColumn: {
279
+ flex: 1
280
+ },
184
281
  contentContainer: {
185
282
  flex: 1
186
283
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_debugPreferences","_FloatIcon","_DebugPanel","_FeatureTabBar","_tabPersistence","_useTabAnimation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DebugErrorBoundary","Component","state","hasError","getDerivedStateFromError","componentDidCatch","error","info","console","componentStack","props","onError","render","children","FloatPanelView","features","panelOpen","onOpenPanel","onClosePanel","onClearAll","activeTab","setActiveTab","useState","tabLoaded","useRef","useEffect","current","length","mounted","getPreference","KEYS","lastTab","then","val","idx","resolveStoredTabIndex","featureName","name","setPreference","contentOpacity","contentTranslateX","panHandlers","switchTab","useTabAnimation","tabCount","onTabChange","useCallback","index","setTick","refreshQueued","scheduleRefresh","requestAnimationFrame","unsubs","map","subscribe","filter","u","forEach","envBadge","badge","find","b","tabs","label","id","renderFeatureContent","jsx","Text","style","styles","emptyText","feature","snapshot","getSnapshot","TabComponent","renderContent","View","genericContent","jsonContent","JSON","stringify","jsxs","container","pointerEvents","FloatIcon","visible","onPress","DebugPanel","onClose","FeatureTabBar","activeIndex","onSelectTab","Animated","contentContainer","opacity","transform","translateX","StyleSheet","create","position","top","left","right","bottom","zIndex","flex","padding","textAlign","color","fontSize","fontFamily"],"sourceRoot":"../../../../src","sources":["ui/panel/FloatPanelView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colors","_debugPreferences","_FloatIcon","_DebugPanel","_FeatureRail","_FeatureIntroCard","_buildFeatureSummary","_filterFeatureSnapshot","_tabPersistence","_useTabAnimation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DebugErrorBoundary","Component","state","hasError","getDerivedStateFromError","componentDidCatch","error","info","console","componentStack","props","onError","render","children","snapshotCount","feature","snap","getSnapshot","Array","isArray","length","obj","items","logs","entries","environments","undefined","buildPanelConnectionStatus","features","devConnect","find","name","label","color","Colors","textLight","host","isSimulator","computerHost","trim","port","daemonPort","target","streaming","success","FloatPanelView","panelOpen","onOpenPanel","onClosePanel","onClearAll","activeTab","setActiveTab","useState","searchQuery","setSearchQuery","filterBad","setFilterBad","tabLoaded","useRef","useEffect","current","mounted","getPreference","KEYS","lastTab","then","val","idx","resolveStoredTabIndex","featureName","setPreference","contentOpacity","contentTranslateX","panHandlers","switchTab","useTabAnimation","tabCount","onTabChange","useCallback","index","setTick","refreshQueued","scheduleRefresh","requestAnimationFrame","unsubs","map","subscribe","filter","u","forEach","envBadge","badge","b","railItems","id","dotColor","count","panelConnectionStatus","handleClearAll","activeFeature","activeSnapshot","activeSummary","buildFeatureSummary","filteredSnapshot","filterFeatureSnapshot","renderFeatureContent","jsx","Text","style","styles","emptyText","snapshot","TabComponent","renderContent","View","genericContent","jsonContent","JSON","stringify","showSearch","jsxs","container","pointerEvents","FloatIcon","visible","onPress","DebugPanel","onClose","syncLabel","syncColor","bodyRow","FeatureRail","activeIndex","onSelectTab","contentColumn","FeatureIntroCard","title","summary","onFilterBad","onSearchChange","Animated","contentContainer","opacity","transform","translateX","StyleSheet","create","position","top","left","right","bottom","zIndex","flex","flexDirection","padding","textAlign","fontSize","fontFamily"],"sourceRoot":"../../../../src","sources":["ui/panel/FloatPanelView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAEA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAX,OAAA;AAAoD,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAD,wBAAAc,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAhB,uBAAA,YAAAA,CAAAc,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEpD;;AAKA,MAAMkB,kBAAkB,SAASC,gBAAS,CAGxC;EACAC,KAAK,GAAuB;IAAEC,QAAQ,EAAE;EAAM,CAAC;EAE/C,OAAOC,wBAAwBA,CAAA,EAAuB;IACpD,OAAO;MAAED,QAAQ,EAAE;IAAK,CAAC;EAC3B;EAEAE,iBAAiBA,CAACC,KAAY,EAAEC,IAAqB,EAAE;IACrDC,OAAO,CAACF,KAAK,CAAC,+BAA+B,EAAEA,KAAK,EAAEC,IAAI,CAACE,cAAc,CAAC;IAC1E,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC,CAAC;EACtB;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACV,KAAK,CAACC,QAAQ,EAAE,OAAO,IAAI;IACpC,OAAO,IAAI,CAACO,KAAK,CAACG,QAAQ;EAC5B;AACF;;AAEA;;AAEA,SAASC,aAAaA,CAACC,OAAwB,EAAsB;EACnE,IAAI;IACF,MAAMC,IAAI,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE,OAAOA,IAAI,CAACI,MAAM;IAC3C,IAAIJ,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACpC,MAAMK,GAAG,GAAGL,IAA+B;MAC3C,IAAIE,KAAK,CAACC,OAAO,CAACE,GAAG,CAACC,KAAK,CAAC,EAAE,OAAOD,GAAG,CAACC,KAAK,CAACF,MAAM;MACrD,IAAIF,KAAK,CAACC,OAAO,CAACE,GAAG,CAACE,IAAI,CAAC,EAAE,OAAOF,GAAG,CAACE,IAAI,CAACH,MAAM;MACnD,IAAIF,KAAK,CAACC,OAAO,CAACE,GAAG,CAACG,OAAO,CAAC,EAAE,OAAOH,GAAG,CAACG,OAAO,CAACJ,MAAM;MACzD,IAAIF,KAAK,CAACC,OAAO,CAACE,GAAG,CAACI,YAAY,CAAC,EAAE,OAAOJ,GAAG,CAACI,YAAY,CAACL,MAAM;IACrE;EACF,CAAC,CAAC,MAAM,CAAE;EACV,OAAOM,SAAS;AAClB;AAcA,SAASC,0BAA0BA,CAACC,QAA2B,EAAyB;EACtF,MAAMC,UAAU,GAAGD,QAAQ,CAACE,IAAI,CAAEzC,CAAC,IAAKA,CAAC,CAAC0C,IAAI,KAAK,YAAY,CAAC;EAChE,IAAI,CAACF,UAAU,EAAE;IACf,OAAO;MAAEG,KAAK,EAAE,kCAAkC;MAAEC,KAAK,EAAEC,cAAM,CAACC;IAAU,CAAC;EAC/E;EAEA,IAAI;IACF,MAAMnB,IAAI,GAAIa,UAAU,CAACZ,WAAW,CAAC,CAAC,IAAI,CAAC,CAAwB;IACnE,MAAMmB,IAAI,GAAGpB,IAAI,CAACqB,WAAW,GAAG,WAAW,GAAGrB,IAAI,CAACsB,YAAY,EAAEC,IAAI,CAAC,CAAC;IACvE,MAAMC,IAAI,GAAGxB,IAAI,CAACyB,UAAU,EAAEF,IAAI,CAAC,CAAC;IACpC,MAAMG,MAAM,GAAGN,IAAI,IAAII,IAAI,GAAG,GAAGJ,IAAI,IAAII,IAAI,EAAE,GAAGJ,IAAI,KAAKI,IAAI,GAAG,QAAQA,IAAI,EAAE,GAAG,gBAAgB,CAAC;IACpG,OAAO;MACLR,KAAK,EAAE,GAAGhB,IAAI,CAAC2B,SAAS,GAAG,MAAM,GAAG,SAAS,IAAID,MAAM,EAAE;MACzDT,KAAK,EAAEjB,IAAI,CAAC2B,SAAS,GAAGT,cAAM,CAACU,OAAO,GAAGV,cAAM,CAACC;IAClD,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO;MAAEH,KAAK,EAAE,kCAAkC;MAAEC,KAAK,EAAEC,cAAM,CAACC;IAAU,CAAC;EAC/E;AACF;;AAEA;;AAUO,SAASU,cAAcA,CAAC;EAAEjB,QAAQ;EAAEkB,SAAS;EAAEC,WAAW;EAAEC,YAAY;EAAEC;AAAgC,CAAC,EAAE;EAClH,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EAC7C,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EAClD,MAAM,CAACG,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EACjD,MAAMK,SAAS,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;;EAE/B;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIF,SAAS,CAACG,OAAO,IAAIhC,QAAQ,CAACR,MAAM,KAAK,CAAC,EAAE;IAChD,IAAIyC,OAAO,GAAG,IAAI;IAClB,IAAAC,+BAAa,EAACC,sBAAI,CAACC,OAAO,CAAC,CAACC,IAAI,CAAEC,GAAG,IAAK;MACxC,IAAI,CAACL,OAAO,IAAIJ,SAAS,CAACG,OAAO,EAAE;MACnC,MAAMO,GAAG,GAAG,IAAAC,qCAAqB,EAACxC,QAAQ,EAAEsC,GAAG,CAAC;MAChDf,YAAY,CAACgB,GAAG,CAAC;MACjB,MAAME,WAAW,GAAGzC,QAAQ,CAACuC,GAAG,CAAC,EAAEpC,IAAI;MACvC,IAAIsC,WAAW,IAAIA,WAAW,KAAKH,GAAG,EAAE;QACtC,IAAAI,+BAAa,EAACP,sBAAI,CAACC,OAAO,EAAEK,WAAW,CAAC;MAC1C;MACAZ,SAAS,CAACG,OAAO,GAAG,IAAI;IAC1B,CAAC,CAAC;IACF,OAAO,MAAM;MAAEC,OAAO,GAAG,KAAK;IAAE,CAAC;EACnC,CAAC,EAAE,CAACjC,QAAQ,CAAC,CAAC;EAEd,MAAM;IAAE2C,cAAc;IAAEC,iBAAiB;IAAEC,WAAW;IAAEC;EAAU,CAAC,GAAG,IAAAC,gCAAe,EAAC;IACpFzB,SAAS;IACT0B,QAAQ,EAAEhD,QAAQ,CAACR,MAAM;IACzByD,WAAW,EAAE,IAAAC,kBAAW,EAAEC,KAAa,IAAK;MAC1CtB,SAAS,CAACG,OAAO,GAAG,IAAI;MACxBN,cAAc,CAAC,EAAE,CAAC;MAClBE,YAAY,CAAC,KAAK,CAAC;MACnBL,YAAY,CAAC4B,KAAK,CAAC;MACnB,MAAMV,WAAW,GAAGzC,QAAQ,CAACmD,KAAK,CAAC,EAAEhD,IAAI;MACzC,IAAIsC,WAAW,EAAE;QACf,IAAAC,+BAAa,EAACP,sBAAI,CAACC,OAAO,EAAEK,WAAW,CAAC;MAC1C;IACF,CAAC,EAAE,CAACzC,QAAQ,CAAC;EACf,CAAC,CAAC;;EAEF;EACA,MAAM,GAAGoD,OAAO,CAAC,GAAG,IAAA5B,eAAQ,EAAC,CAAC,CAAC;EAC/B,MAAM6B,aAAa,GAAG,IAAAvB,aAAM,EAAC,KAAK,CAAC;EACnC,MAAMwB,eAAe,GAAG,IAAAJ,kBAAW,EAAC,MAAM;IACxC,IAAIG,aAAa,CAACrB,OAAO,EAAE;IAC3BqB,aAAa,CAACrB,OAAO,GAAG,IAAI;IAC5BuB,qBAAqB,CAAC,MAAM;MAC1BF,aAAa,CAACrB,OAAO,GAAG,KAAK;MAC7BoB,OAAO,CAAElG,CAAC,IAAKA,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA6E,gBAAS,EAAC,MAAM;IACd,MAAMyB,MAAM,GAAGxD,QAAQ,CACpByD,GAAG,CAAEhG,CAAC,IAAKA,CAAC,CAACiG,SAAS,GAAG,MAAMJ,eAAe,CAAC,CAAC,CAAC,CAAC,CAClDK,MAAM,CAAEC,CAAC,IAAsB,OAAOA,CAAC,KAAK,UAAU,CAAC;IAC1D,OAAO,MAAMJ,MAAM,CAACK,OAAO,CAAED,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;EACzC,CAAC,EAAE,CAAC5D,QAAQ,EAAEsD,eAAe,CAAC,CAAC;;EAE/B;EACA,IAAAvB,gBAAS,EAAC,MAAM;IACd,IAAI/B,QAAQ,CAACR,MAAM,GAAG,CAAC,IAAI8B,SAAS,IAAItB,QAAQ,CAACR,MAAM,EAAE;MACvDqC,SAAS,CAACG,OAAO,GAAG,IAAI;MACxBT,YAAY,CAAC,CAAC,CAAC;MACf,MAAMkB,WAAW,GAAGzC,QAAQ,CAAC,CAAC,CAAC,EAAEG,IAAI;MACrC,IAAIsC,WAAW,EAAE;QACf,IAAAC,+BAAa,EAACP,sBAAI,CAACC,OAAO,EAAEK,WAAW,CAAC;MAC1C;IACF;EACF,CAAC,EAAE,CAACzC,QAAQ,EAAEsB,SAAS,CAAC,CAAC;;EAEzB;EACA,MAAMwC,QAAQ,GAAG9D,QAAQ,CAACyD,GAAG,CAAEhG,CAAC,IAAKA,CAAC,CAACsG,KAAK,GAAG,CAAC,CAAC,CAAC7D,IAAI,CAAE8D,CAAC,IAAKA,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;;EAEhF;EACA,MAAMC,SAAqB,GAAGjE,QAAQ,CAACyD,GAAG,CAAEhG,CAAC,IAAK;IAChD,MAAMuG,CAAC,GAAGvG,CAAC,CAACsG,KAAK,GAAG,CAAC;IACrB,OAAO;MAAEG,EAAE,EAAEzG,CAAC,CAAC0C,IAAI;MAAEC,KAAK,EAAE3C,CAAC,CAAC2C,KAAK;MAAE+D,QAAQ,EAAEH,CAAC,EAAE3D,KAAK,IAAI,IAAI;MAAE+D,KAAK,EAAElF,aAAa,CAACzB,CAAC;IAAE,CAAC;EAC5F,CAAC,CAAC;EAEF,MAAM4G,qBAAqB,GAAGtE,0BAA0B,CAACC,QAAQ,CAAC;EAElE,MAAMsE,cAAc,GAAG,IAAApB,kBAAW,EAAC,MAAM;IACvCxB,cAAc,CAAC,EAAE,CAAC;IAClBE,YAAY,CAAC,KAAK,CAAC;IACnBP,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;;EAEhB;EACA,MAAMkD,aAAa,GAAGvE,QAAQ,CAACsB,SAAS,CAAC;EACzC,MAAMkD,cAAc,GAAGD,aAAa,EAAElF,WAAW,CAAC,CAAC;EACnD,MAAMoF,aAAa,GAAGF,aAAa,GAAG,IAAAG,wCAAmB,EAACH,aAAa,EAAEC,cAAc,CAAC,GAAG,IAAI;;EAE/F;EACA,MAAMG,gBAAgB,GAAGJ,aAAa,GAClC,IAAAK,4CAAqB,EAACL,aAAa,EAAEC,cAAc,EAAE/C,WAAW,EAAEE,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,GAC5F,IAAI;;EAER;EACA,MAAMkD,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAI7E,QAAQ,CAACR,MAAM,KAAK,CAAC,EAAE;MACzB,oBAAO,IAAAxC,WAAA,CAAA8H,GAAA,EAACzI,YAAA,CAAA0I,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAjG,QAAA,EAAC;MAAyB,CAAM,CAAC;IACxE;IACA,MAAME,OAAO,GAAGa,QAAQ,CAACsB,SAAS,CAAC;IACnC,IAAI,CAACnC,OAAO,EAAE,oBAAO,IAAAnC,WAAA,CAAA8H,GAAA,EAACzI,YAAA,CAAA0I,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAjG,QAAA,EAAC;IAAiB,CAAM,CAAC;IAC5E,MAAMkG,QAAQ,GAAGR,gBAAgB;IACjC,MAAMS,YAAY,GAAGjG,OAAO,CAACkG,aAAa;IAC1C,IAAID,YAAY,EAAE,oBAAO,IAAApI,WAAA,CAAA8H,GAAA,EAACM,YAAY;MAACD,QAAQ,EAAEA,QAAS;MAAChG,OAAO,EAAEA;IAAQ,CAAE,CAAC;IAC/E,oBACE,IAAAnC,WAAA,CAAA8H,GAAA,EAACzI,YAAA,CAAAiJ,IAAI;MAACN,KAAK,EAAEC,MAAM,CAACM,cAAe;MAAAtG,QAAA,eACjC,IAAAjC,WAAA,CAAA8H,GAAA,EAACzI,YAAA,CAAA0I,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACO,WAAY;QAAAvG,QAAA,EAAEwG,IAAI,CAACC,SAAS,CAACP,QAAQ,EAAE,IAAI,EAAE,CAAC;MAAC,CAAO;IAAC,CACvE,CAAC;EAEX,CAAC;EAED,MAAMQ,UAAU,GAAGlB,aAAa,GAAIA,aAAa,CAACL,KAAK,IAAI,IAAI,IAAIK,aAAa,CAACL,KAAK,GAAG,CAAC,GAAI,KAAK;EAEnG,oBACE,IAAApH,WAAA,CAAA8H,GAAA,EAAC1G,kBAAkB;IAACW,OAAO,EAAEqC,YAAa;IAAAnC,QAAA,eACxC,IAAAjC,WAAA,CAAA4I,IAAA,EAACvJ,YAAA,CAAAiJ,IAAI;MAACN,KAAK,EAAEC,MAAM,CAACY,SAAU;MAACC,aAAa,EAAC,UAAU;MAAA7G,QAAA,gBACrD,IAAAjC,WAAA,CAAA8H,GAAA,EAACtI,UAAA,CAAAuJ,SAAS;QAACC,OAAO,EAAE,CAAC9E,SAAU;QAAC+E,OAAO,EAAE9E,WAAY;QAAC4C,KAAK,EAAED;MAAS,CAAE,CAAC,EACxE5C,SAAS,iBACR,IAAAlE,WAAA,CAAA8H,GAAA,EAACrI,WAAA,CAAAyJ,UAAU;QACTC,OAAO,EAAE/E,YAAa;QACtBC,UAAU,EAAEiD,cAAe;QAC3B8B,SAAS,EAAE/B,qBAAqB,CAACjE,KAAM;QACvCiG,SAAS,EAAEhC,qBAAqB,CAAChE,KAAM;QAAApB,QAAA,eAEvC,IAAAjC,WAAA,CAAA4I,IAAA,EAACvJ,YAAA,CAAAiJ,IAAI;UAACN,KAAK,EAAEC,MAAM,CAACqB,OAAQ;UAAArH,QAAA,gBAC1B,IAAAjC,WAAA,CAAA8H,GAAA,EAACpI,YAAA,CAAA6J,WAAW;YAAC7G,KAAK,EAAEuE,SAAU;YAACuC,WAAW,EAAElF,SAAU;YAACmF,WAAW,EAAE3D;UAAU,CAAE,CAAC,eACjF,IAAA9F,WAAA,CAAA4I,IAAA,EAACvJ,YAAA,CAAAiJ,IAAI;YAACN,KAAK,EAAEC,MAAM,CAACyB,aAAc;YAAAzH,QAAA,GAC/BsF,aAAa,IAAIE,aAAa,iBAC7B,IAAAzH,WAAA,CAAA8H,GAAA,EAACnI,iBAAA,CAAAgK,gBAAgB;cACfC,KAAK,EAAErC,aAAa,CAACnE,KAAM;cAC3ByG,OAAO,EAAEpC,aAAc;cACvB9C,SAAS,EAAEA,SAAU;cACrBmF,WAAW,EAAElF,YAAa;cAC1BH,WAAW,EAAEA,WAAY;cACzBsF,cAAc,EAAErF,cAAe;cAC/BiE,UAAU,EAAEA;YAAW,CACxB,CACF,eACD,IAAA3I,WAAA,CAAA8H,GAAA,EAACzI,YAAA,CAAA2K,QAAQ,CAAC1B,IAAI;cACZN,KAAK,EAAE,CACLC,MAAM,CAACgC,gBAAgB,EACvB;gBAAEC,OAAO,EAAEvE,cAAc;gBAAEwE,SAAS,EAAE,CAAC;kBAAEC,UAAU,EAAExE;gBAAkB,CAAC;cAAE,CAAC,CAC3E;cAAA,GACEC,WAAW;cAAA5D,QAAA,EAEd4F,oBAAoB,CAAC;YAAC,CACV,CAAC;UAAA,CACZ,CAAC;QAAA,CACH;MAAC,CACG,CACb;IAAA,CACG;EAAC,CACW,CAAC;AAEzB;AAEA,MAAMI,MAAM,GAAGoC,uBAAU,CAACC,MAAM,CAAC;EAC/BzB,SAAS,EAAE;IACT0B,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE;EACV,CAAC;EACDtB,OAAO,EAAE;IACPuB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACDpB,aAAa,EAAE;IACbmB,IAAI,EAAE;EACR,CAAC;EACDZ,gBAAgB,EAAE;IAAEY,IAAI,EAAE;EAAE,CAAC;EAC7B3C,SAAS,EAAE;IACT6C,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE,QAAQ;IACnB3H,KAAK,EAAE,SAAS;IAChB4H,QAAQ,EAAE;EACZ,CAAC;EACD1C,cAAc,EAAE;IAAEwC,OAAO,EAAE,EAAE;IAAEF,IAAI,EAAE;EAAE,CAAC;EACxCrC,WAAW,EAAE;IAAE0C,UAAU,EAAE,WAAW;IAAED,QAAQ,EAAE,EAAE;IAAE5H,KAAK,EAAE;EAAU;AACzE,CAAC,CAAC","ignoreList":[]}