react-native-xenon 1.0.2 → 2.0.0

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 (459) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +9 -9
  3. package/lib/module/assets/icons/close.png +0 -0
  4. package/lib/module/assets/icons/search.png +0 -0
  5. package/lib/module/contexts/MainContext.js +3 -7
  6. package/lib/module/contexts/MainContext.js.map +1 -1
  7. package/lib/module/contexts/index.js +1 -11
  8. package/lib/module/contexts/index.js.map +1 -1
  9. package/lib/module/core/constants.js +1 -5
  10. package/lib/module/core/constants.js.map +1 -1
  11. package/lib/module/core/refs.js +10 -12
  12. package/lib/module/core/refs.js.map +1 -1
  13. package/lib/module/core/utils.js +49 -50
  14. package/lib/module/core/utils.js.map +1 -1
  15. package/lib/module/hooks/index.js +2 -18
  16. package/lib/module/hooks/index.js.map +1 -1
  17. package/lib/module/hooks/useConsoleInterceptor.js +10 -14
  18. package/lib/module/hooks/useConsoleInterceptor.js.map +1 -1
  19. package/lib/module/hooks/useNetworkInterceptor.js +30 -29
  20. package/lib/module/hooks/useNetworkInterceptor.js.map +1 -1
  21. package/lib/module/index.js +1 -11
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/interceptors/ConsoleInterceptor.js +7 -10
  24. package/lib/module/interceptors/ConsoleInterceptor.js.map +1 -1
  25. package/lib/module/interceptors/FetchInterceptor.js +12 -16
  26. package/lib/module/interceptors/FetchInterceptor.js.map +1 -1
  27. package/lib/module/interceptors/HttpInterceptor.js +2 -7
  28. package/lib/module/interceptors/HttpInterceptor.js.map +1 -1
  29. package/lib/module/interceptors/Interceptor.js +4 -7
  30. package/lib/module/interceptors/Interceptor.js.map +1 -1
  31. package/lib/module/interceptors/NetworkInterceptor.js +2 -8
  32. package/lib/module/interceptors/NetworkInterceptor.js.map +1 -1
  33. package/lib/module/interceptors/WebSocketInterceptor.js +20 -24
  34. package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -1
  35. package/lib/module/interceptors/XHRInterceptor.js +8 -12
  36. package/lib/module/interceptors/XHRInterceptor.js.map +1 -1
  37. package/lib/module/interceptors/index.js +4 -32
  38. package/lib/module/interceptors/index.js.map +1 -1
  39. package/lib/module/theme/colors.js +1 -5
  40. package/lib/module/theme/colors.js.map +1 -1
  41. package/lib/module/theme/icons.js +4 -6
  42. package/lib/module/theme/icons.js.map +1 -1
  43. package/lib/module/types/common.js +2 -6
  44. package/lib/module/types/common.js.map +1 -1
  45. package/lib/module/types/http.js +1 -3
  46. package/lib/module/types/index.js +4 -47
  47. package/lib/module/types/index.js.map +1 -1
  48. package/lib/module/types/websocket.js +1 -3
  49. package/lib/module/ui/Xenon.js +63 -63
  50. package/lib/module/ui/Xenon.js.map +1 -1
  51. package/lib/module/ui/components/bubble/Bubble.js +30 -37
  52. package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
  53. package/lib/module/ui/components/common/Divider.js +7 -12
  54. package/lib/module/ui/components/common/Divider.js.map +1 -1
  55. package/lib/module/ui/components/common/Icon.js +6 -11
  56. package/lib/module/ui/components/common/Icon.js.map +1 -1
  57. package/lib/module/ui/components/common/IndexedStack.js +8 -12
  58. package/lib/module/ui/components/common/IndexedStack.js.map +1 -1
  59. package/lib/module/ui/components/common/SafeArea.js +15 -0
  60. package/lib/module/ui/components/common/SafeArea.js.map +1 -0
  61. package/lib/module/ui/components/common/ShareableText.js +20 -0
  62. package/lib/module/ui/components/common/ShareableText.js.map +1 -0
  63. package/lib/module/ui/components/common/Touchable.js +6 -12
  64. package/lib/module/ui/components/common/Touchable.js.map +1 -1
  65. package/lib/module/ui/components/details/LogMessageDetails.js +19 -21
  66. package/lib/module/ui/components/details/LogMessageDetails.js.map +1 -1
  67. package/lib/module/ui/components/details/NetworkRequestDetails.js +71 -58
  68. package/lib/module/ui/components/details/NetworkRequestDetails.js.map +1 -1
  69. package/lib/module/ui/components/headers/ConsoleHeader.js +10 -15
  70. package/lib/module/ui/components/headers/ConsoleHeader.js.map +1 -1
  71. package/lib/module/ui/components/headers/DebuggerHeader.js +36 -36
  72. package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -1
  73. package/lib/module/ui/components/headers/Header.js +15 -22
  74. package/lib/module/ui/components/headers/Header.js.map +1 -1
  75. package/lib/module/ui/components/headers/HeaderComponents.js +32 -39
  76. package/lib/module/ui/components/headers/HeaderComponents.js.map +1 -1
  77. package/lib/module/ui/components/headers/NetworkHeader.js +32 -52
  78. package/lib/module/ui/components/headers/NetworkHeader.js.map +1 -1
  79. package/lib/module/ui/components/index.js +5 -32
  80. package/lib/module/ui/components/index.js.map +1 -1
  81. package/lib/module/ui/components/items/ConsolePanelItem.js +12 -17
  82. package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -1
  83. package/lib/module/ui/components/items/DebuggerHeaderItem.js +14 -19
  84. package/lib/module/ui/components/items/DebuggerHeaderItem.js.map +1 -1
  85. package/lib/module/ui/components/items/NetworkPanelItem.js +33 -38
  86. package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -1
  87. package/lib/module/ui/components/items/NetworkRequestDetailsItem.js +44 -23
  88. package/lib/module/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
  89. package/lib/module/ui/components/panels/ConsolePanel.js +30 -26
  90. package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
  91. package/lib/module/ui/components/panels/NetworkPanel.js +30 -28
  92. package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
  93. package/lib/module/ui/components/panels/Panel.js +12 -19
  94. package/lib/module/ui/components/panels/Panel.js.map +1 -1
  95. package/lib/module/ui/components/search-bar/SearchBar.js +132 -0
  96. package/lib/module/ui/components/search-bar/SearchBar.js.map +1 -0
  97. package/lib/typescript/package.json +1 -0
  98. package/lib/typescript/src/contexts/MainContext.d.ts.map +1 -0
  99. package/lib/typescript/src/contexts/index.d.ts.map +1 -0
  100. package/lib/typescript/src/core/constants.d.ts.map +1 -0
  101. package/lib/typescript/{commonjs/src → src}/core/refs.d.ts +7 -4
  102. package/lib/typescript/src/core/refs.d.ts.map +1 -0
  103. package/lib/typescript/{module/src → src}/core/utils.d.ts +5 -3
  104. package/lib/typescript/src/core/utils.d.ts.map +1 -0
  105. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  106. package/lib/typescript/src/hooks/useConsoleInterceptor.d.ts.map +1 -0
  107. package/lib/typescript/{module/src → src}/hooks/useNetworkInterceptor.d.ts +2 -1
  108. package/lib/typescript/src/hooks/useNetworkInterceptor.d.ts.map +1 -0
  109. package/lib/typescript/src/index.d.ts.map +1 -0
  110. package/lib/typescript/src/interceptors/ConsoleInterceptor.d.ts.map +1 -0
  111. package/lib/typescript/src/interceptors/FetchInterceptor.d.ts.map +1 -0
  112. package/lib/typescript/src/interceptors/HttpInterceptor.d.ts.map +1 -0
  113. package/lib/typescript/src/interceptors/Interceptor.d.ts.map +1 -0
  114. package/lib/typescript/src/interceptors/NetworkInterceptor.d.ts.map +1 -0
  115. package/lib/typescript/src/interceptors/WebSocketInterceptor.d.ts.map +1 -0
  116. package/lib/typescript/src/interceptors/XHRInterceptor.d.ts.map +1 -0
  117. package/lib/typescript/src/interceptors/index.d.ts.map +1 -0
  118. package/lib/typescript/src/theme/colors.d.ts.map +1 -0
  119. package/lib/typescript/{commonjs/src → src}/theme/icons.d.ts +2 -0
  120. package/lib/typescript/src/theme/icons.d.ts.map +1 -0
  121. package/lib/typescript/{commonjs/src → src}/types/common.d.ts +1 -0
  122. package/lib/typescript/src/types/common.d.ts.map +1 -0
  123. package/lib/typescript/src/types/console.d.ts.map +1 -0
  124. package/lib/typescript/src/types/http.d.ts.map +1 -0
  125. package/lib/typescript/src/types/index.d.ts.map +1 -0
  126. package/lib/typescript/src/types/websocket.d.ts.map +1 -0
  127. package/lib/typescript/src/ui/Xenon.d.ts +61 -0
  128. package/lib/typescript/src/ui/Xenon.d.ts.map +1 -0
  129. package/lib/typescript/src/ui/components/bubble/Bubble.d.ts.map +1 -0
  130. package/lib/typescript/src/ui/components/common/Divider.d.ts.map +1 -0
  131. package/lib/typescript/src/ui/components/common/Icon.d.ts.map +1 -0
  132. package/lib/typescript/src/ui/components/common/IndexedStack.d.ts.map +1 -0
  133. package/lib/typescript/src/ui/components/common/SafeArea.d.ts +5 -0
  134. package/lib/typescript/src/ui/components/common/SafeArea.d.ts.map +1 -0
  135. package/lib/typescript/src/ui/components/common/ShareableText.d.ts +7 -0
  136. package/lib/typescript/src/ui/components/common/ShareableText.d.ts.map +1 -0
  137. package/lib/typescript/src/ui/components/common/Touchable.d.ts +6 -0
  138. package/lib/typescript/src/ui/components/common/Touchable.d.ts.map +1 -0
  139. package/lib/typescript/src/ui/components/details/LogMessageDetails.d.ts.map +1 -0
  140. package/lib/typescript/src/ui/components/details/NetworkRequestDetails.d.ts +6 -0
  141. package/lib/typescript/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -0
  142. package/lib/typescript/src/ui/components/headers/ConsoleHeader.d.ts.map +1 -0
  143. package/lib/typescript/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -0
  144. package/lib/typescript/src/ui/components/headers/Header.d.ts.map +1 -0
  145. package/lib/typescript/{commonjs/src → src}/ui/components/headers/HeaderComponents.d.ts +1 -1
  146. package/lib/typescript/src/ui/components/headers/HeaderComponents.d.ts.map +1 -0
  147. package/lib/typescript/src/ui/components/headers/NetworkHeader.d.ts.map +1 -0
  148. package/lib/typescript/src/ui/components/index.d.ts +6 -0
  149. package/lib/typescript/src/ui/components/index.d.ts.map +1 -0
  150. package/lib/typescript/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -0
  151. package/lib/typescript/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -0
  152. package/lib/typescript/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -0
  153. package/lib/typescript/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -0
  154. package/lib/typescript/src/ui/components/panels/ConsolePanel.d.ts.map +1 -0
  155. package/lib/typescript/src/ui/components/panels/NetworkPanel.d.ts.map +1 -0
  156. package/lib/typescript/src/ui/components/panels/Panel.d.ts.map +1 -0
  157. package/lib/typescript/src/ui/components/search-bar/SearchBar.d.ts +6 -0
  158. package/lib/typescript/src/ui/components/search-bar/SearchBar.d.ts.map +1 -0
  159. package/package.json +42 -86
  160. package/src/assets/icons/close.png +0 -0
  161. package/src/assets/icons/search.png +0 -0
  162. package/src/core/refs.ts +3 -0
  163. package/src/core/utils.ts +32 -8
  164. package/src/hooks/useNetworkInterceptor.ts +13 -2
  165. package/src/interceptors/FetchInterceptor.ts +1 -1
  166. package/src/theme/icons.ts +2 -0
  167. package/src/types/common.ts +1 -0
  168. package/src/ui/Xenon.tsx +62 -16
  169. package/src/ui/components/bubble/Bubble.tsx +2 -2
  170. package/src/ui/components/common/SafeArea.tsx +10 -0
  171. package/src/ui/components/common/ShareableText.tsx +21 -0
  172. package/src/ui/components/common/Touchable.tsx +4 -14
  173. package/src/ui/components/details/LogMessageDetails.tsx +3 -0
  174. package/src/ui/components/details/NetworkRequestDetails.tsx +42 -34
  175. package/src/ui/components/headers/ConsoleHeader.tsx +1 -1
  176. package/src/ui/components/headers/DebuggerHeader.tsx +8 -1
  177. package/src/ui/components/headers/HeaderComponents.tsx +2 -2
  178. package/src/ui/components/headers/NetworkHeader.tsx +14 -26
  179. package/src/ui/components/index.ts +4 -3
  180. package/src/ui/components/items/NetworkRequestDetailsItem.tsx +45 -18
  181. package/src/ui/components/panels/ConsolePanel.tsx +18 -2
  182. package/src/ui/components/panels/NetworkPanel.tsx +15 -1
  183. package/src/ui/components/search-bar/SearchBar.tsx +129 -0
  184. package/lib/commonjs/assets/icons/arrow-left.png +0 -0
  185. package/lib/commonjs/assets/icons/beautify.png +0 -0
  186. package/lib/commonjs/assets/icons/bug.png +0 -0
  187. package/lib/commonjs/assets/icons/delete.png +0 -0
  188. package/lib/commonjs/assets/icons/hide.png +0 -0
  189. package/lib/commonjs/assets/icons/move.png +0 -0
  190. package/lib/commonjs/assets/icons/record.png +0 -0
  191. package/lib/commonjs/assets/icons/share.png +0 -0
  192. package/lib/commonjs/contexts/MainContext.js +0 -10
  193. package/lib/commonjs/contexts/MainContext.js.map +0 -1
  194. package/lib/commonjs/contexts/index.js +0 -14
  195. package/lib/commonjs/contexts/index.js.map +0 -1
  196. package/lib/commonjs/core/constants.js +0 -8
  197. package/lib/commonjs/core/constants.js.map +0 -1
  198. package/lib/commonjs/core/global.d.js +0 -2
  199. package/lib/commonjs/core/global.d.js.map +0 -1
  200. package/lib/commonjs/core/refs.js +0 -33
  201. package/lib/commonjs/core/refs.js.map +0 -1
  202. package/lib/commonjs/core/utils.js +0 -138
  203. package/lib/commonjs/core/utils.js.map +0 -1
  204. package/lib/commonjs/hooks/index.js +0 -21
  205. package/lib/commonjs/hooks/index.js.map +0 -1
  206. package/lib/commonjs/hooks/useConsoleInterceptor.js +0 -51
  207. package/lib/commonjs/hooks/useConsoleInterceptor.js.map +0 -1
  208. package/lib/commonjs/hooks/useNetworkInterceptor.js +0 -171
  209. package/lib/commonjs/hooks/useNetworkInterceptor.js.map +0 -1
  210. package/lib/commonjs/index.js +0 -14
  211. package/lib/commonjs/index.js.map +0 -1
  212. package/lib/commonjs/interceptors/ConsoleInterceptor.js +0 -88
  213. package/lib/commonjs/interceptors/ConsoleInterceptor.js.map +0 -1
  214. package/lib/commonjs/interceptors/FetchInterceptor.js +0 -109
  215. package/lib/commonjs/interceptors/FetchInterceptor.js.map +0 -1
  216. package/lib/commonjs/interceptors/HttpInterceptor.js +0 -18
  217. package/lib/commonjs/interceptors/HttpInterceptor.js.map +0 -1
  218. package/lib/commonjs/interceptors/Interceptor.js +0 -23
  219. package/lib/commonjs/interceptors/Interceptor.js.map +0 -1
  220. package/lib/commonjs/interceptors/NetworkInterceptor.js +0 -24
  221. package/lib/commonjs/interceptors/NetworkInterceptor.js.map +0 -1
  222. package/lib/commonjs/interceptors/WebSocketInterceptor.js +0 -101
  223. package/lib/commonjs/interceptors/WebSocketInterceptor.js.map +0 -1
  224. package/lib/commonjs/interceptors/XHRInterceptor.js +0 -70
  225. package/lib/commonjs/interceptors/XHRInterceptor.js.map +0 -1
  226. package/lib/commonjs/interceptors/index.js +0 -35
  227. package/lib/commonjs/interceptors/index.js.map +0 -1
  228. package/lib/commonjs/theme/colors.js +0 -20
  229. package/lib/commonjs/theme/colors.js.map +0 -1
  230. package/lib/commonjs/theme/icons.js +0 -18
  231. package/lib/commonjs/theme/icons.js.map +0 -1
  232. package/lib/commonjs/types/common.js +0 -18
  233. package/lib/commonjs/types/common.js.map +0 -1
  234. package/lib/commonjs/types/console.js +0 -2
  235. package/lib/commonjs/types/console.js.map +0 -1
  236. package/lib/commonjs/types/http.js +0 -6
  237. package/lib/commonjs/types/http.js.map +0 -1
  238. package/lib/commonjs/types/index.js +0 -50
  239. package/lib/commonjs/types/index.js.map +0 -1
  240. package/lib/commonjs/types/websocket.js +0 -6
  241. package/lib/commonjs/types/websocket.js.map +0 -1
  242. package/lib/commonjs/ui/Xenon.js +0 -141
  243. package/lib/commonjs/ui/Xenon.js.map +0 -1
  244. package/lib/commonjs/ui/components/bubble/Bubble.js +0 -126
  245. package/lib/commonjs/ui/components/bubble/Bubble.js.map +0 -1
  246. package/lib/commonjs/ui/components/common/Divider.js +0 -21
  247. package/lib/commonjs/ui/components/common/Divider.js.map +0 -1
  248. package/lib/commonjs/ui/components/common/Icon.js +0 -25
  249. package/lib/commonjs/ui/components/common/Icon.js.map +0 -1
  250. package/lib/commonjs/ui/components/common/IndexedStack.js +0 -46
  251. package/lib/commonjs/ui/components/common/IndexedStack.js.map +0 -1
  252. package/lib/commonjs/ui/components/common/Touchable.js +0 -22
  253. package/lib/commonjs/ui/components/common/Touchable.js.map +0 -1
  254. package/lib/commonjs/ui/components/details/LogMessageDetails.js +0 -45
  255. package/lib/commonjs/ui/components/details/LogMessageDetails.js.map +0 -1
  256. package/lib/commonjs/ui/components/details/NetworkRequestDetails.js +0 -163
  257. package/lib/commonjs/ui/components/details/NetworkRequestDetails.js.map +0 -1
  258. package/lib/commonjs/ui/components/headers/ConsoleHeader.js +0 -30
  259. package/lib/commonjs/ui/components/headers/ConsoleHeader.js.map +0 -1
  260. package/lib/commonjs/ui/components/headers/DebuggerHeader.js +0 -76
  261. package/lib/commonjs/ui/components/headers/DebuggerHeader.js.map +0 -1
  262. package/lib/commonjs/ui/components/headers/Header.js +0 -34
  263. package/lib/commonjs/ui/components/headers/Header.js.map +0 -1
  264. package/lib/commonjs/ui/components/headers/HeaderComponents.js +0 -111
  265. package/lib/commonjs/ui/components/headers/HeaderComponents.js.map +0 -1
  266. package/lib/commonjs/ui/components/headers/NetworkHeader.js +0 -97
  267. package/lib/commonjs/ui/components/headers/NetworkHeader.js.map +0 -1
  268. package/lib/commonjs/ui/components/index.js +0 -35
  269. package/lib/commonjs/ui/components/index.js.map +0 -1
  270. package/lib/commonjs/ui/components/items/ConsolePanelItem.js +0 -41
  271. package/lib/commonjs/ui/components/items/ConsolePanelItem.js.map +0 -1
  272. package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js +0 -60
  273. package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js.map +0 -1
  274. package/lib/commonjs/ui/components/items/NetworkPanelItem.js +0 -129
  275. package/lib/commonjs/ui/components/items/NetworkPanelItem.js.map +0 -1
  276. package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js +0 -45
  277. package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js.map +0 -1
  278. package/lib/commonjs/ui/components/panels/ConsolePanel.js +0 -69
  279. package/lib/commonjs/ui/components/panels/ConsolePanel.js.map +0 -1
  280. package/lib/commonjs/ui/components/panels/NetworkPanel.js +0 -69
  281. package/lib/commonjs/ui/components/panels/NetworkPanel.js.map +0 -1
  282. package/lib/commonjs/ui/components/panels/Panel.js +0 -25
  283. package/lib/commonjs/ui/components/panels/Panel.js.map +0 -1
  284. package/lib/typescript/commonjs/package.json +0 -1
  285. package/lib/typescript/commonjs/src/contexts/MainContext.d.ts.map +0 -1
  286. package/lib/typescript/commonjs/src/contexts/index.d.ts.map +0 -1
  287. package/lib/typescript/commonjs/src/core/constants.d.ts.map +0 -1
  288. package/lib/typescript/commonjs/src/core/refs.d.ts.map +0 -1
  289. package/lib/typescript/commonjs/src/core/utils.d.ts +0 -38
  290. package/lib/typescript/commonjs/src/core/utils.d.ts.map +0 -1
  291. package/lib/typescript/commonjs/src/hooks/index.d.ts.map +0 -1
  292. package/lib/typescript/commonjs/src/hooks/useConsoleInterceptor.d.ts.map +0 -1
  293. package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts +0 -12
  294. package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts.map +0 -1
  295. package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
  296. package/lib/typescript/commonjs/src/interceptors/ConsoleInterceptor.d.ts.map +0 -1
  297. package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts.map +0 -1
  298. package/lib/typescript/commonjs/src/interceptors/HttpInterceptor.d.ts.map +0 -1
  299. package/lib/typescript/commonjs/src/interceptors/Interceptor.d.ts.map +0 -1
  300. package/lib/typescript/commonjs/src/interceptors/NetworkInterceptor.d.ts.map +0 -1
  301. package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts.map +0 -1
  302. package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts.map +0 -1
  303. package/lib/typescript/commonjs/src/interceptors/index.d.ts.map +0 -1
  304. package/lib/typescript/commonjs/src/theme/colors.d.ts.map +0 -1
  305. package/lib/typescript/commonjs/src/theme/icons.d.ts.map +0 -1
  306. package/lib/typescript/commonjs/src/types/common.d.ts.map +0 -1
  307. package/lib/typescript/commonjs/src/types/console.d.ts.map +0 -1
  308. package/lib/typescript/commonjs/src/types/http.d.ts.map +0 -1
  309. package/lib/typescript/commonjs/src/types/index.d.ts.map +0 -1
  310. package/lib/typescript/commonjs/src/types/websocket.d.ts.map +0 -1
  311. package/lib/typescript/commonjs/src/ui/Xenon.d.ts +0 -21
  312. package/lib/typescript/commonjs/src/ui/Xenon.d.ts.map +0 -1
  313. package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts.map +0 -1
  314. package/lib/typescript/commonjs/src/ui/components/common/Divider.d.ts.map +0 -1
  315. package/lib/typescript/commonjs/src/ui/components/common/Icon.d.ts.map +0 -1
  316. package/lib/typescript/commonjs/src/ui/components/common/IndexedStack.d.ts.map +0 -1
  317. package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts +0 -10
  318. package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts.map +0 -1
  319. package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts.map +0 -1
  320. package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts +0 -6
  321. package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts.map +0 -1
  322. package/lib/typescript/commonjs/src/ui/components/headers/ConsoleHeader.d.ts.map +0 -1
  323. package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts.map +0 -1
  324. package/lib/typescript/commonjs/src/ui/components/headers/Header.d.ts.map +0 -1
  325. package/lib/typescript/commonjs/src/ui/components/headers/HeaderComponents.d.ts.map +0 -1
  326. package/lib/typescript/commonjs/src/ui/components/headers/NetworkHeader.d.ts.map +0 -1
  327. package/lib/typescript/commonjs/src/ui/components/index.d.ts +0 -5
  328. package/lib/typescript/commonjs/src/ui/components/index.d.ts.map +0 -1
  329. package/lib/typescript/commonjs/src/ui/components/items/ConsolePanelItem.d.ts.map +0 -1
  330. package/lib/typescript/commonjs/src/ui/components/items/DebuggerHeaderItem.d.ts.map +0 -1
  331. package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts.map +0 -1
  332. package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +0 -1
  333. package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts.map +0 -1
  334. package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts.map +0 -1
  335. package/lib/typescript/commonjs/src/ui/components/panels/Panel.d.ts.map +0 -1
  336. package/lib/typescript/module/src/contexts/MainContext.d.ts +0 -12
  337. package/lib/typescript/module/src/contexts/MainContext.d.ts.map +0 -1
  338. package/lib/typescript/module/src/contexts/index.d.ts +0 -2
  339. package/lib/typescript/module/src/contexts/index.d.ts.map +0 -1
  340. package/lib/typescript/module/src/core/constants.d.ts +0 -2
  341. package/lib/typescript/module/src/core/constants.d.ts.map +0 -1
  342. package/lib/typescript/module/src/core/refs.d.ts +0 -24
  343. package/lib/typescript/module/src/core/refs.d.ts.map +0 -1
  344. package/lib/typescript/module/src/core/utils.d.ts.map +0 -1
  345. package/lib/typescript/module/src/hooks/index.d.ts +0 -3
  346. package/lib/typescript/module/src/hooks/index.d.ts.map +0 -1
  347. package/lib/typescript/module/src/hooks/useConsoleInterceptor.d.ts +0 -13
  348. package/lib/typescript/module/src/hooks/useConsoleInterceptor.d.ts.map +0 -1
  349. package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts.map +0 -1
  350. package/lib/typescript/module/src/index.d.ts +0 -2
  351. package/lib/typescript/module/src/index.d.ts.map +0 -1
  352. package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts +0 -8
  353. package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts.map +0 -1
  354. package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts +0 -6
  355. package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts.map +0 -1
  356. package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts +0 -6
  357. package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts.map +0 -1
  358. package/lib/typescript/module/src/interceptors/Interceptor.d.ts +0 -10
  359. package/lib/typescript/module/src/interceptors/Interceptor.d.ts.map +0 -1
  360. package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts +0 -10
  361. package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts.map +0 -1
  362. package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts +0 -13
  363. package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts.map +0 -1
  364. package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts +0 -6
  365. package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts.map +0 -1
  366. package/lib/typescript/module/src/interceptors/index.d.ts +0 -5
  367. package/lib/typescript/module/src/interceptors/index.d.ts.map +0 -1
  368. package/lib/typescript/module/src/theme/colors.d.ts +0 -14
  369. package/lib/typescript/module/src/theme/colors.d.ts.map +0 -1
  370. package/lib/typescript/module/src/theme/icons.d.ts +0 -12
  371. package/lib/typescript/module/src/theme/icons.d.ts.map +0 -1
  372. package/lib/typescript/module/src/types/common.d.ts +0 -33
  373. package/lib/typescript/module/src/types/common.d.ts.map +0 -1
  374. package/lib/typescript/module/src/types/console.d.ts +0 -8
  375. package/lib/typescript/module/src/types/console.d.ts.map +0 -1
  376. package/lib/typescript/module/src/types/http.d.ts +0 -21
  377. package/lib/typescript/module/src/types/http.d.ts.map +0 -1
  378. package/lib/typescript/module/src/types/index.d.ts +0 -5
  379. package/lib/typescript/module/src/types/index.d.ts.map +0 -1
  380. package/lib/typescript/module/src/types/websocket.d.ts +0 -30
  381. package/lib/typescript/module/src/types/websocket.d.ts.map +0 -1
  382. package/lib/typescript/module/src/ui/Xenon.d.ts +0 -21
  383. package/lib/typescript/module/src/ui/Xenon.d.ts.map +0 -1
  384. package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts +0 -11
  385. package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts.map +0 -1
  386. package/lib/typescript/module/src/ui/components/common/Divider.d.ts +0 -4
  387. package/lib/typescript/module/src/ui/components/common/Divider.d.ts.map +0 -1
  388. package/lib/typescript/module/src/ui/components/common/Icon.d.ts +0 -8
  389. package/lib/typescript/module/src/ui/components/common/Icon.d.ts.map +0 -1
  390. package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts +0 -13
  391. package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts.map +0 -1
  392. package/lib/typescript/module/src/ui/components/common/Touchable.d.ts +0 -10
  393. package/lib/typescript/module/src/ui/components/common/Touchable.d.ts.map +0 -1
  394. package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts +0 -6
  395. package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts.map +0 -1
  396. package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts +0 -6
  397. package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts.map +0 -1
  398. package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts +0 -9
  399. package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts.map +0 -1
  400. package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts +0 -10
  401. package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts.map +0 -1
  402. package/lib/typescript/module/src/ui/components/headers/Header.d.ts +0 -3
  403. package/lib/typescript/module/src/ui/components/headers/Header.d.ts.map +0 -1
  404. package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts +0 -20
  405. package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts.map +0 -1
  406. package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts +0 -9
  407. package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts.map +0 -1
  408. package/lib/typescript/module/src/ui/components/index.d.ts +0 -5
  409. package/lib/typescript/module/src/ui/components/index.d.ts.map +0 -1
  410. package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts +0 -7
  411. package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts.map +0 -1
  412. package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts +0 -11
  413. package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts.map +0 -1
  414. package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts +0 -12
  415. package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts.map +0 -1
  416. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts +0 -7
  417. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +0 -1
  418. package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts +0 -6
  419. package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts.map +0 -1
  420. package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts +0 -6
  421. package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts.map +0 -1
  422. package/lib/typescript/module/src/ui/components/panels/Panel.d.ts +0 -2
  423. package/lib/typescript/module/src/ui/components/panels/Panel.d.ts.map +0 -1
  424. /package/lib/{typescript/module → module}/package.json +0 -0
  425. /package/lib/typescript/{commonjs/src → src}/contexts/MainContext.d.ts +0 -0
  426. /package/lib/typescript/{commonjs/src → src}/contexts/index.d.ts +0 -0
  427. /package/lib/typescript/{commonjs/src → src}/core/constants.d.ts +0 -0
  428. /package/lib/typescript/{commonjs/src → src}/hooks/index.d.ts +0 -0
  429. /package/lib/typescript/{commonjs/src → src}/hooks/useConsoleInterceptor.d.ts +0 -0
  430. /package/lib/typescript/{commonjs/src → src}/index.d.ts +0 -0
  431. /package/lib/typescript/{commonjs/src → src}/interceptors/ConsoleInterceptor.d.ts +0 -0
  432. /package/lib/typescript/{commonjs/src → src}/interceptors/FetchInterceptor.d.ts +0 -0
  433. /package/lib/typescript/{commonjs/src → src}/interceptors/HttpInterceptor.d.ts +0 -0
  434. /package/lib/typescript/{commonjs/src → src}/interceptors/Interceptor.d.ts +0 -0
  435. /package/lib/typescript/{commonjs/src → src}/interceptors/NetworkInterceptor.d.ts +0 -0
  436. /package/lib/typescript/{commonjs/src → src}/interceptors/WebSocketInterceptor.d.ts +0 -0
  437. /package/lib/typescript/{commonjs/src → src}/interceptors/XHRInterceptor.d.ts +0 -0
  438. /package/lib/typescript/{commonjs/src → src}/interceptors/index.d.ts +0 -0
  439. /package/lib/typescript/{commonjs/src → src}/theme/colors.d.ts +0 -0
  440. /package/lib/typescript/{commonjs/src → src}/types/console.d.ts +0 -0
  441. /package/lib/typescript/{commonjs/src → src}/types/http.d.ts +0 -0
  442. /package/lib/typescript/{commonjs/src → src}/types/index.d.ts +0 -0
  443. /package/lib/typescript/{commonjs/src → src}/types/websocket.d.ts +0 -0
  444. /package/lib/typescript/{commonjs/src → src}/ui/components/bubble/Bubble.d.ts +0 -0
  445. /package/lib/typescript/{commonjs/src → src}/ui/components/common/Divider.d.ts +0 -0
  446. /package/lib/typescript/{commonjs/src → src}/ui/components/common/Icon.d.ts +0 -0
  447. /package/lib/typescript/{commonjs/src → src}/ui/components/common/IndexedStack.d.ts +0 -0
  448. /package/lib/typescript/{commonjs/src → src}/ui/components/details/LogMessageDetails.d.ts +0 -0
  449. /package/lib/typescript/{commonjs/src → src}/ui/components/headers/ConsoleHeader.d.ts +0 -0
  450. /package/lib/typescript/{commonjs/src → src}/ui/components/headers/DebuggerHeader.d.ts +0 -0
  451. /package/lib/typescript/{commonjs/src → src}/ui/components/headers/Header.d.ts +0 -0
  452. /package/lib/typescript/{commonjs/src → src}/ui/components/headers/NetworkHeader.d.ts +0 -0
  453. /package/lib/typescript/{commonjs/src → src}/ui/components/items/ConsolePanelItem.d.ts +0 -0
  454. /package/lib/typescript/{commonjs/src → src}/ui/components/items/DebuggerHeaderItem.d.ts +0 -0
  455. /package/lib/typescript/{commonjs/src → src}/ui/components/items/NetworkPanelItem.d.ts +0 -0
  456. /package/lib/typescript/{commonjs/src → src}/ui/components/items/NetworkRequestDetailsItem.d.ts +0 -0
  457. /package/lib/typescript/{commonjs/src → src}/ui/components/panels/ConsolePanel.d.ts +0 -0
  458. /package/lib/typescript/{commonjs/src → src}/ui/components/panels/NetworkPanel.d.ts +0 -0
  459. /package/lib/typescript/{commonjs/src → src}/ui/components/panels/Panel.d.ts +0 -0
package/src/ui/Xenon.tsx CHANGED
@@ -1,18 +1,16 @@
1
1
  import { enableMapSet } from 'immer';
2
- import { createRef, memo, useImperativeHandle, useMemo, type ReactNode } from 'react';
2
+ import { createRef, memo, useImperativeHandle, useMemo, type JSX, type ReactNode } from 'react';
3
3
  import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
4
- import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
4
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
5
5
  import { FullWindowOverlay } from 'react-native-screens';
6
6
  import { useImmer } from 'use-immer';
7
- import MainContext from '../contexts/MainContext';
7
+ import { MainContext } from '../contexts';
8
8
  import refs, { DebuggerVisibility } from '../core/refs';
9
9
  import { useConsoleInterceptor, useNetworkInterceptor } from '../hooks';
10
10
  import colors from '../theme/colors';
11
11
  import { type DebuggerState } from '../types';
12
- import { Bubble } from './components';
13
- import IndexedStack from './components/common/IndexedStack';
14
- import Header from './components/headers/Header';
15
- import Panel from './components/panels/Panel';
12
+ import { Bubble, Header, IndexedStack, Panel, SearchBar } from './components';
13
+ import SafeArea from './components/common/SafeArea';
16
14
 
17
15
  namespace Xenon {
18
16
  interface Methods {
@@ -22,12 +20,41 @@ namespace Xenon {
22
20
  }
23
21
 
24
22
  interface Props {
25
- disabled?: boolean;
23
+ /**
24
+ * Determines whether the network inspector is automatically enabled upon initialization.
25
+ * @default true
26
+ */
26
27
  autoInspectNetworkEnabled?: boolean;
28
+ /**
29
+ * Determines whether the console inspector is automatically enabled upon initialization.
30
+ * @default true
31
+ */
27
32
  autoInspectConsoleEnabled?: boolean;
33
+ /**
34
+ * Defines the size of the interactive bubble used in the UI.
35
+ * @default 40
36
+ */
28
37
  bubbleSize?: number;
38
+ /**
39
+ * Defines the opacity level of the bubble when it is idle.
40
+ * @default 0.5
41
+ */
29
42
  idleBubbleOpacity?: number;
30
- children?: ReactNode;
43
+ /**
44
+ * Domains to include in network interception. Defaults to all domains.
45
+ * @default undefined
46
+ * @example ['example1.com', 'api.example2.com']
47
+ */
48
+ includeDomains?: string[];
49
+ }
50
+
51
+ interface WrapperProps extends Props {
52
+ /**
53
+ * If true, completely disables the debugger by rendering only the children components without any debugging functionality.
54
+ * @default false
55
+ */
56
+ disabled?: boolean;
57
+ children: ReactNode;
31
58
  }
32
59
 
33
60
  enableMapSet();
@@ -38,9 +65,9 @@ namespace Xenon {
38
65
  flex: 1,
39
66
  ...StyleSheet.absoluteFillObject,
40
67
  pointerEvents: 'box-none',
68
+ ...(Platform.OS === 'android' ? { zIndex: 9999 } : {}),
41
69
  top: undefined,
42
70
  bottom: undefined,
43
- ...(Platform.OS === 'android' ? { zIndex: 9999 } : {}),
44
71
  backgroundColor: colors.lightGray,
45
72
  borderBottomColor: colors.gray,
46
73
  borderBottomWidth: StyleSheet.hairlineWidth,
@@ -50,8 +77,22 @@ namespace Xenon {
50
77
  },
51
78
  });
52
79
 
80
+ /**
81
+ * Checks whether the debugger is currently visible.
82
+ * @returns `true` if the debugger is currently visible, otherwise `false`.
83
+ */
53
84
  export const isVisible = () => ref.current?.isVisible() ?? false;
85
+
86
+ /**
87
+ * Makes the debugger visible. If it is already visible, this method has no additional effect.
88
+ * @returns `void`
89
+ */
54
90
  export const show = (): void => ref.current?.show();
91
+
92
+ /**
93
+ * Hides the debugger. If it is already hidden, this method has no additional effect.
94
+ * @returns `void`
95
+ */
55
96
  export const hide = (): void => ref.current?.hide();
56
97
 
57
98
  const Debugger = memo(
@@ -60,12 +101,14 @@ namespace Xenon {
60
101
  autoInspectConsoleEnabled = true,
61
102
  bubbleSize = 40,
62
103
  idleBubbleOpacity = 0.5,
104
+ includeDomains,
63
105
  }: Props) => {
64
106
  const { width, height } = useWindowDimensions();
65
107
 
66
108
  const [debuggerState, setDebuggerState] = useImmer<DebuggerState>({
67
109
  position: 'bottom',
68
110
  detailsData: null,
111
+ searchQuery: '',
69
112
  });
70
113
 
71
114
  const containerStyle = useMemo(
@@ -78,6 +121,7 @@ namespace Xenon {
78
121
 
79
122
  const networkInterceptor = useNetworkInterceptor({
80
123
  autoEnabled: autoInspectNetworkEnabled,
124
+ includeDomains,
81
125
  });
82
126
 
83
127
  const consoleInterceptor = useConsoleInterceptor({
@@ -120,20 +164,22 @@ namespace Xenon {
120
164
 
121
165
  <View style={containerStyle}>
122
166
  <SafeAreaProvider>
123
- <SafeAreaView style={styles.safeArea}>
124
- <Header />
125
- <Panel />
126
- </SafeAreaView>
167
+ {debuggerState.position === 'top' && <SafeArea inset="top" />}
168
+ <Header />
169
+ <Panel />
170
+ {debuggerState.position === 'bottom' && <SafeArea inset="bottom" />}
127
171
  </SafeAreaProvider>
128
172
  </View>
173
+
174
+ <SearchBar />
129
175
  </IndexedStack>
130
176
  </MainContext.Provider>
131
177
  );
132
178
  },
133
179
  );
134
180
 
135
- export function Wrapper({ disabled = false, children, ...props }: Props) {
136
- if (disabled) return children;
181
+ export function Wrapper({ disabled = false, children, ...props }: WrapperProps): JSX.Element {
182
+ if (disabled) return children as JSX.Element;
137
183
 
138
184
  return (
139
185
  <>
@@ -36,7 +36,7 @@ const Bubble = forwardRef<View, BubbleProps>(
36
36
 
37
37
  const blur = () => {
38
38
  opacityTimer.current = setTimeout(() => {
39
- setIdleOpacity(0.5);
39
+ setIdleOpacity(idleBubbleOpacity);
40
40
  clearTimer();
41
41
  }, 1000);
42
42
  };
@@ -94,7 +94,7 @@ const Bubble = forwardRef<View, BubbleProps>(
94
94
  });
95
95
  },
96
96
  });
97
- }, [bubbleSize, pan, screenHeight, screenWidth]);
97
+ }, [bubbleSize, idleBubbleOpacity, screenHeight, screenWidth]);
98
98
 
99
99
  return (
100
100
  <View ref={ref} style={[styles.bubbleBackdrop, style]}>
@@ -0,0 +1,10 @@
1
+ import { View } from 'react-native';
2
+ import { useSafeAreaInsets, type EdgeInsets } from 'react-native-safe-area-context';
3
+
4
+ export default function SafeArea({
5
+ inset,
6
+ }: {
7
+ inset: Extract<keyof EdgeInsets, 'top' | 'bottom'>;
8
+ }) {
9
+ return <View style={{ height: useSafeAreaInsets()[inset] }} />;
10
+ }
@@ -0,0 +1,21 @@
1
+ import { Text, type TextProps } from 'react-native';
2
+ import { shareText } from '../../../core/utils';
3
+
4
+ interface ShareableTextProps extends TextProps {
5
+ children: string | string[];
6
+ }
7
+
8
+ export default function ShareableText({ children, ...props }: ShareableTextProps) {
9
+ return (
10
+ <Text
11
+ selectionColor={'transparent'}
12
+ suppressHighlighting={true}
13
+ onLongPress={async () => {
14
+ shareText(Array.isArray(children) ? children.join('') : children);
15
+ }}
16
+ {...props}
17
+ >
18
+ {children}
19
+ </Text>
20
+ );
21
+ }
@@ -1,20 +1,10 @@
1
- import { TouchableOpacity, type StyleProp, type ViewStyle } from 'react-native';
1
+ import { TouchableOpacity, type TouchableOpacityProps } from 'react-native';
2
2
 
3
- interface TouchableProps {
4
- onPress: () => void;
5
- children: React.ReactNode;
6
- activeOpacity?: number;
7
- style?: StyleProp<ViewStyle>;
8
- }
3
+ interface TouchableProps extends TouchableOpacityProps {}
9
4
 
10
- export default function Touchable({
11
- onPress,
12
- children,
13
- activeOpacity = 0.8,
14
- style,
15
- }: TouchableProps) {
5
+ export default function Touchable({ children, activeOpacity = 0.8, ...props }: TouchableProps) {
16
6
  return (
17
- <TouchableOpacity onPress={onPress} activeOpacity={activeOpacity} style={style}>
7
+ <TouchableOpacity activeOpacity={activeOpacity} {...props}>
18
8
  {children}
19
9
  </TouchableOpacity>
20
10
  );
@@ -21,6 +21,7 @@ const LogMessageDetails = forwardRef<ScrollView, { style?: StyleProp<ViewStyle>
21
21
  { backgroundColor: getConsoleTypeColor(item?.type ?? '') },
22
22
  style,
23
23
  ]}
24
+ contentContainerStyle={styles.contentContainer}
24
25
  >
25
26
  <Text style={styles.text}>{formatLogMessage(item?.values ?? [])}</Text>
26
27
  </ScrollView>
@@ -31,6 +32,8 @@ const LogMessageDetails = forwardRef<ScrollView, { style?: StyleProp<ViewStyle>
31
32
  const styles = StyleSheet.create({
32
33
  container: {
33
34
  flex: 1,
35
+ },
36
+ contentContainer: {
34
37
  padding: 8,
35
38
  },
36
39
  text: {
@@ -1,5 +1,5 @@
1
- import { forwardRef, useContext, useRef, type JSX } from 'react';
2
- import { ScrollView, StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
1
+ import { forwardRef, useContext, useRef, type JSX, type ReactNode } from 'react';
2
+ import { ScrollView, StyleSheet, View, type StyleProp, type ViewStyle } from 'react-native';
3
3
  import { MainContext } from '../../../contexts';
4
4
  import {
5
5
  beautify,
@@ -12,7 +12,13 @@ import colors from '../../../theme/colors';
12
12
  import { type DetailTab, type HttpRequest, type WebSocketRequest } from '../../../types';
13
13
  import NetworkRequestDetailsItem from '../items/NetworkRequestDetailsItem';
14
14
 
15
- const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewStyle> }>(
15
+ const TabScrollView = ({ id, children }: { id: string; children: ReactNode }) => (
16
+ <ScrollView key={id} contentContainerStyle={styles.contentContainer}>
17
+ {children}
18
+ </ScrollView>
19
+ );
20
+
21
+ const NetworkRequestDetails = forwardRef<View, { style?: StyleProp<ViewStyle> }>(
16
22
  ({ style }, ref) => {
17
23
  const {
18
24
  debuggerState: { detailsData },
@@ -26,7 +32,7 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
26
32
  typeof detailsData?.beautified === 'boolean';
27
33
 
28
34
  const {
29
- isHttp,
35
+ isWS,
30
36
  requestUrl,
31
37
  overviewShown,
32
38
  headersShown,
@@ -54,14 +60,14 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
54
60
 
55
61
  if (overviewShown && !content.current.overview && item) {
56
62
  content.current.overview = (
57
- <>
63
+ <TabScrollView id="overview">
58
64
  <NetworkRequestDetailsItem label="Request Type" content={item.type} />
59
65
 
60
66
  <NetworkRequestDetailsItem label="Request URL" content={item.url} />
61
67
 
62
68
  <NetworkRequestDetailsItem
63
69
  label="Request Method"
64
- content={formatRequestMethod(isHttp ? (item as HttpRequest).method : undefined)}
70
+ content={formatRequestMethod(isWS ? undefined : (item as HttpRequest).method)}
65
71
  />
66
72
 
67
73
  <NetworkRequestDetailsItem
@@ -71,32 +77,30 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
71
77
 
72
78
  <NetworkRequestDetailsItem
73
79
  label="Start Time"
74
- content={new Date(item.startTime ?? 0).toUTCString()}
80
+ content={new Date(item.startTime ?? 0).toISOString()}
75
81
  />
76
82
 
77
83
  <NetworkRequestDetailsItem
78
84
  label="End Time"
79
- content={new Date(item.endTime ?? 0).toUTCString()}
85
+ content={new Date(item.endTime ?? 0).toISOString()}
80
86
  />
81
87
 
82
88
  <NetworkRequestDetailsItem
83
89
  label="Duration"
84
90
  content={formatRequestDuration(item.startTime, item.endTime)}
85
91
  />
86
- </>
92
+ </TabScrollView>
87
93
  );
88
94
  }
89
95
 
90
96
  if (headersShown && !content.current.headers && item) {
91
97
  let headers: [string, string][] = [];
92
- let requestHeaders: [string, string][] = [];
93
- let responseHeaders: [string, string][] = [];
98
+ const requestHeaders: [string, string][] = [];
99
+ const responseHeaders: [string, string][] = [];
94
100
 
95
- if (!isHttp) {
101
+ if (isWS) {
96
102
  headers = Object.entries((item as WebSocketRequest).options?.headers ?? {});
97
- }
98
-
99
- if (isHttp) {
103
+ } else {
100
104
  for (const [key, value] of ((item as HttpRequest).requestHeaders ?? new Map()).entries()) {
101
105
  requestHeaders.push([key, value]);
102
106
  }
@@ -106,24 +110,24 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
106
110
  }
107
111
 
108
112
  content.current.headers = (
109
- <>
110
- {!isHttp && !!headers.length && (
113
+ <TabScrollView id="headers">
114
+ {isWS && !!headers.length && (
111
115
  <NetworkRequestDetailsItem label="Headers" content={headers} />
112
116
  )}
113
117
 
114
- {isHttp && !!requestHeaders.length && (
118
+ {!isWS && !!requestHeaders.length && (
115
119
  <NetworkRequestDetailsItem label="Request Headers" content={requestHeaders} />
116
120
  )}
117
121
 
118
- {isHttp && !!responseHeaders.length && (
122
+ {!isWS && !!responseHeaders.length && (
119
123
  <NetworkRequestDetailsItem label="Response Headers" content={responseHeaders} />
120
124
  )}
121
- </>
125
+ </TabScrollView>
122
126
  );
123
127
  }
124
128
 
125
- if (requestShown && shouldBeautifiedRefUpdate && item && requestUrl.searchParams) {
126
- let queryStringParameters: [string, string][] = [];
129
+ if (requestShown && shouldBeautifiedRefUpdate && item) {
130
+ const queryStringParameters: [string, string][] = [];
127
131
 
128
132
  requestUrl.searchParams.forEach((value, name) => {
129
133
  queryStringParameters.push([name, value]);
@@ -132,31 +136,33 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
132
136
  const body = beautify((item as HttpRequest).body, detailsData?.beautified ?? false);
133
137
 
134
138
  content.current.request = (
135
- <>
139
+ <TabScrollView id="request">
136
140
  {!!queryStringParameters.length && (
137
141
  <NetworkRequestDetailsItem label="Query String" content={queryStringParameters} />
138
142
  )}
139
143
 
140
144
  {!!body && <NetworkRequestDetailsItem label="Body" content={body} />}
141
- </>
145
+ </TabScrollView>
142
146
  );
143
147
  }
144
148
 
145
149
  if (responseShown && shouldBeautifiedRefUpdate && item) {
150
+ const response = beautify((item as HttpRequest).response, detailsData?.beautified ?? false);
146
151
  content.current.response = (
147
- <NetworkRequestDetailsItem
148
- label="Response"
149
- content={beautify((item as HttpRequest).response, detailsData?.beautified ?? false)}
150
- />
152
+ <TabScrollView id="response">
153
+ <NetworkRequestDetailsItem label="Response" content={response} />
154
+ </TabScrollView>
151
155
  );
152
156
  }
153
157
 
154
158
  if (messagesShown && !content.current.messages && item) {
155
159
  content.current.messages = (
156
- <NetworkRequestDetailsItem
157
- label="Messages"
158
- content={(item as WebSocketRequest).messages!}
159
- />
160
+ <TabScrollView id="messages">
161
+ <NetworkRequestDetailsItem
162
+ label="Messages"
163
+ content={(item as WebSocketRequest).messages!}
164
+ />
165
+ </TabScrollView>
160
166
  );
161
167
  }
162
168
 
@@ -165,9 +171,9 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
165
171
  }
166
172
 
167
173
  return (
168
- <ScrollView ref={ref} style={[styles.container, style]}>
174
+ <View ref={ref} style={[styles.container, style]}>
169
175
  {content.current[detailsData?.selectedTab as keyof typeof content.current]}
170
- </ScrollView>
176
+ </View>
171
177
  );
172
178
  },
173
179
  );
@@ -175,6 +181,8 @@ const NetworkRequestDetails = forwardRef<ScrollView, { style?: StyleProp<ViewSty
175
181
  const styles = StyleSheet.create({
176
182
  container: {
177
183
  flex: 1,
184
+ },
185
+ contentContainer: {
178
186
  padding: 8,
179
187
  },
180
188
  text: {
@@ -16,7 +16,7 @@ const ConsoleHeader = forwardRef<ScrollView, ConsoleHeaderProps>(
16
16
  <HeaderComponents.Back selectedPanel={selectedPanel} />
17
17
  <HeaderComponents.MainButtons />
18
18
  <Divider type="vertical" />
19
- <HeaderComponents.TabItem tab="logMessage" label="Console" />
19
+ <HeaderComponents.DetailTabItem tab="logMessage" label="Console" />
20
20
  </HeaderComponents.Wrapper>
21
21
  );
22
22
  },
@@ -1,7 +1,7 @@
1
1
  import { forwardRef, useContext } from 'react';
2
2
  import type { ScrollView, StyleProp, ViewStyle } from 'react-native';
3
3
  import { MainContext } from '../../../contexts';
4
- import refs, { PanelState } from '../../../core/refs';
4
+ import refs, { DebuggerVisibility, PanelState } from '../../../core/refs';
5
5
  import icons from '../../../theme/icons';
6
6
  import Divider from '../common/Divider';
7
7
  import DebuggerHeaderItem from '../items/DebuggerHeaderItem';
@@ -38,8 +38,15 @@ const DebuggerHeader = forwardRef<ScrollView, DebuggerHeaderProps>(
38
38
  : consoleInterceptor.enableInterception();
39
39
  };
40
40
 
41
+ const onShowSearchInput = () => {
42
+ refs.debugger.current?.setCurrentIndex(DebuggerVisibility.Search);
43
+ refs.searchInput.current?.focus();
44
+ };
45
+
41
46
  return (
42
47
  <HeaderComponents.Wrapper ref={ref} style={style}>
48
+ <DebuggerHeaderItem onPress={onShowSearchInput} content={icons.search} />
49
+
43
50
  <HeaderComponents.MainButtons />
44
51
 
45
52
  <Divider type="vertical" />
@@ -24,7 +24,7 @@ const Back = ({ selectedPanel }: { selectedPanel: PanelState }) => {
24
24
  );
25
25
  };
26
26
 
27
- const TabItem = ({ tab, label }: { tab: DetailTab; label: string }) => {
27
+ const DetailTabItem = ({ tab, label }: { tab: DetailTab; label: string }) => {
28
28
  const {
29
29
  debuggerState: { detailsData },
30
30
  setDebuggerState,
@@ -95,6 +95,6 @@ const styles = StyleSheet.create({
95
95
  },
96
96
  });
97
97
 
98
- const HeaderComponents = { Back, TabItem, MainButtons, Wrapper };
98
+ const HeaderComponents = { Back, DetailTabItem, MainButtons, Wrapper };
99
99
 
100
100
  export default HeaderComponents;
@@ -1,8 +1,8 @@
1
1
  import { forwardRef, useContext } from 'react';
2
- import { Share, type ScrollView, type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type ScrollView, type StyleProp, type ViewStyle } from 'react-native';
3
3
  import { MainContext } from '../../../contexts';
4
- import refs, { DebuggerVisibility, type PanelState } from '../../../core/refs';
5
- import { convertToCurl, getNetworkUtils } from '../../../core/utils';
4
+ import { type PanelState } from '../../../core/refs';
5
+ import { convertToCurl, getNetworkUtils, shareText } from '../../../core/utils';
6
6
  import colors from '../../../theme/colors';
7
7
  import icons from '../../../theme/icons';
8
8
  import { NetworkType, type HttpRequest, type WebSocketRequest } from '../../../types';
@@ -15,8 +15,6 @@ interface NetworkHeaderProps {
15
15
  style?: StyleProp<ViewStyle>;
16
16
  }
17
17
 
18
- let isSharing = false;
19
-
20
18
  const NetworkHeader = forwardRef<ScrollView, NetworkHeaderProps>(
21
19
  ({ selectedPanel, style }, ref) => {
22
20
  const {
@@ -26,7 +24,7 @@ const NetworkHeader = forwardRef<ScrollView, NetworkHeaderProps>(
26
24
 
27
25
  const data = detailsData?.data as HttpRequest | WebSocketRequest | undefined;
28
26
 
29
- const { isHttp, overviewShown, headersShown, requestShown, responseShown, messagesShown } =
27
+ const { isWS, overviewShown, headersShown, requestShown, responseShown, messagesShown } =
30
28
  getNetworkUtils(data);
31
29
 
32
30
  return (
@@ -36,13 +34,13 @@ const NetworkHeader = forwardRef<ScrollView, NetworkHeaderProps>(
36
34
 
37
35
  <Divider type="vertical" />
38
36
 
39
- {overviewShown && <HeaderComponents.TabItem tab="overview" label="Overview" />}
40
- {headersShown && <HeaderComponents.TabItem tab="headers" label="Headers" />}
41
- {requestShown && <HeaderComponents.TabItem tab="request" label="Request" />}
42
- {responseShown && <HeaderComponents.TabItem tab="response" label="Response" />}
43
- {messagesShown && <HeaderComponents.TabItem tab="messages" label="Messages" />}
37
+ {!!overviewShown && <HeaderComponents.DetailTabItem tab="overview" label="Overview" />}
38
+ {!!headersShown && <HeaderComponents.DetailTabItem tab="headers" label="Headers" />}
39
+ {!!requestShown && <HeaderComponents.DetailTabItem tab="request" label="Request" />}
40
+ {!!responseShown && <HeaderComponents.DetailTabItem tab="response" label="Response" />}
41
+ {!!messagesShown && <HeaderComponents.DetailTabItem tab="messages" label="Messages" />}
44
42
 
45
- {isHttp && (
43
+ {!isWS && (
46
44
  <>
47
45
  <Divider type="vertical" />
48
46
 
@@ -59,20 +57,10 @@ const NetworkHeader = forwardRef<ScrollView, NetworkHeaderProps>(
59
57
  <DebuggerHeaderItem
60
58
  content={icons.share}
61
59
  onPress={async () => {
62
- if (isSharing || !data || data.type === NetworkType.WS) return;
63
-
64
- try {
65
- isSharing = true;
66
- refs.debugger.current?.setCurrentIndex(DebuggerVisibility.Bubble);
67
-
68
- await Share.share({
69
- message: convertToCurl(data.method, data.url, data.requestHeaders, data.body),
70
- });
71
- } catch (error) {
72
- // Handle error
73
- } finally {
74
- isSharing = false;
75
- }
60
+ if (data?.type === NetworkType.WS) return;
61
+ await shareText(
62
+ convertToCurl(data!.method, data!.url, data!.requestHeaders, data!.body),
63
+ );
76
64
  }}
77
65
  />
78
66
  </>
@@ -1,4 +1,5 @@
1
1
  export { default as Bubble } from './bubble/Bubble';
2
- export { default as DebuggerHeader } from './headers/DebuggerHeader';
3
- export { default as ConsolePanel } from './panels/ConsolePanel';
4
- export { default as NetworkPanel } from './panels/NetworkPanel';
2
+ export { default as IndexedStack } from './common/IndexedStack';
3
+ export { default as Header } from './headers/Header';
4
+ export { default as Panel } from './panels/Panel';
5
+ export { default as SearchBar } from './search-bar/SearchBar';
@@ -1,5 +1,7 @@
1
- import { StyleSheet, Text } from 'react-native';
1
+ import { StyleSheet, Text, View } from 'react-native';
2
2
  import colors from '../../../theme/colors';
3
+ import { showNewLine } from '../../../core/utils';
4
+ import ShareableText from '../common/ShareableText';
3
5
 
4
6
  interface NetworkRequestDetailsItemProps {
5
7
  label: string;
@@ -10,32 +12,57 @@ export default function NetworkRequestDetailsItem({
10
12
  label,
11
13
  content,
12
14
  }: NetworkRequestDetailsItemProps) {
15
+ const renderContent = () => {
16
+ switch (true) {
17
+ case typeof content === 'string':
18
+ return (
19
+ <ShareableText style={styles.text}>
20
+ {content}
21
+ {showNewLine(!content.endsWith('\n'))}
22
+ </ShareableText>
23
+ );
24
+ case Array.isArray(content):
25
+ return (
26
+ <View>
27
+ {content.map(([key, value], index) => (
28
+ <View style={styles.pairContainer} key={`${key}-${index}`}>
29
+ <Text style={[styles.label, styles.subLabel]}>
30
+ {key}
31
+ {':'}
32
+ </Text>
33
+
34
+ <ShareableText style={styles.text}>
35
+ {value}
36
+ {showNewLine(index === content.length - 1)}
37
+ </ShareableText>
38
+ </View>
39
+ ))}
40
+ </View>
41
+ );
42
+ }
43
+ };
44
+
13
45
  return (
14
- <Text style={styles.text}>
15
- <Text style={styles.label}>
16
- {label}
17
- {'\n'}
18
- </Text>
19
- {typeof content === 'string'
20
- ? content
21
- : content.map(([key, value]) => (
22
- <Text key={key} style={[styles.label, styles.subLabel]}>
23
- {key}
24
- {': '}
25
- <Text style={styles.text}>{value}</Text>
26
- {'\n'}
27
- </Text>
28
- ))}
29
- {Array.isArray(content) || content?.endsWith('\n') ? '' : '\n'}
30
- </Text>
46
+ <View style={styles.container}>
47
+ <Text style={styles.label}>{label}</Text>
48
+ {renderContent()}
49
+ </View>
31
50
  );
32
51
  }
33
52
 
34
53
  const styles = StyleSheet.create({
54
+ container: {
55
+ rowGap: 2,
56
+ },
57
+ pairContainer: {
58
+ flexDirection: 'row',
59
+ columnGap: 4,
60
+ },
35
61
  text: {
36
62
  fontSize: 14,
37
63
  fontWeight: 'normal',
38
64
  color: colors.black,
65
+ flexShrink: 1,
39
66
  },
40
67
  label: {
41
68
  fontSize: 16,