react-native-xenon 0.3.0 → 0.4.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 (275) hide show
  1. package/README.md +13 -3
  2. package/lib/commonjs/contexts/MainContext.js.map +1 -1
  3. package/lib/commonjs/core/constants.js.map +1 -0
  4. package/lib/commonjs/core/data.js +10 -0
  5. package/lib/commonjs/core/data.js.map +1 -0
  6. package/lib/commonjs/core/global.d.js.map +1 -0
  7. package/lib/commonjs/{utils.js → core/utils.js} +18 -2
  8. package/lib/commonjs/core/utils.js.map +1 -0
  9. package/lib/commonjs/hooks/useConsoleInterceptor.js +8 -5
  10. package/lib/commonjs/hooks/useConsoleInterceptor.js.map +1 -1
  11. package/lib/commonjs/hooks/useNetworkInterceptor.js +16 -11
  12. package/lib/commonjs/hooks/useNetworkInterceptor.js.map +1 -1
  13. package/lib/commonjs/interceptors/ConsoleInterceptor.js +4 -8
  14. package/lib/commonjs/interceptors/ConsoleInterceptor.js.map +1 -1
  15. package/lib/commonjs/interceptors/FetchInterceptor.js +8 -12
  16. package/lib/commonjs/interceptors/FetchInterceptor.js.map +1 -1
  17. package/lib/commonjs/interceptors/HttpInterceptor.js +0 -21
  18. package/lib/commonjs/interceptors/HttpInterceptor.js.map +1 -1
  19. package/lib/commonjs/interceptors/Interceptor.js +2 -2
  20. package/lib/commonjs/interceptors/Interceptor.js.map +1 -1
  21. package/lib/commonjs/interceptors/NetworkInterceptor.js +14 -1
  22. package/lib/commonjs/interceptors/NetworkInterceptor.js.map +1 -1
  23. package/lib/commonjs/interceptors/WebSocketInterceptor.js +19 -44
  24. package/lib/commonjs/interceptors/WebSocketInterceptor.js.map +1 -1
  25. package/lib/commonjs/interceptors/XHRInterceptor.js +7 -11
  26. package/lib/commonjs/interceptors/XHRInterceptor.js.map +1 -1
  27. package/lib/commonjs/theme/colors.js.map +1 -0
  28. package/lib/commonjs/theme/icons.js +15 -0
  29. package/lib/commonjs/theme/icons.js.map +1 -0
  30. package/lib/commonjs/types/common.js.map +1 -1
  31. package/lib/commonjs/ui/Xenon.js +69 -61
  32. package/lib/commonjs/ui/Xenon.js.map +1 -1
  33. package/lib/commonjs/ui/components/bubble/Bubble.js +86 -55
  34. package/lib/commonjs/ui/components/bubble/Bubble.js.map +1 -1
  35. package/lib/commonjs/ui/components/details/DetailsViewer.js +6 -11
  36. package/lib/commonjs/ui/components/details/DetailsViewer.js.map +1 -1
  37. package/lib/commonjs/ui/components/details/LogMessageDetails.js +2 -2
  38. package/lib/commonjs/ui/components/details/LogMessageDetails.js.map +1 -1
  39. package/lib/commonjs/ui/components/details/NetworkRequestDetails.js +22 -7
  40. package/lib/commonjs/ui/components/details/NetworkRequestDetails.js.map +1 -1
  41. package/lib/commonjs/ui/components/headers/DebuggerHeader.js +38 -18
  42. package/lib/commonjs/ui/components/headers/DebuggerHeader.js.map +1 -1
  43. package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js +1 -1
  44. package/lib/commonjs/ui/components/headers/NetworkPanelHeader.js.map +1 -1
  45. package/lib/commonjs/ui/components/headers/NetworkRequestDetailsHeader.js +0 -1
  46. package/lib/commonjs/ui/components/headers/NetworkRequestDetailsHeader.js.map +1 -1
  47. package/lib/commonjs/ui/components/items/ConsolePanelItem.js +2 -2
  48. package/lib/commonjs/ui/components/items/ConsolePanelItem.js.map +1 -1
  49. package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js +4 -2
  50. package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js.map +1 -1
  51. package/lib/commonjs/ui/components/items/NetworkPanelItem.js +2 -2
  52. package/lib/commonjs/ui/components/items/NetworkPanelItem.js.map +1 -1
  53. package/lib/commonjs/ui/components/items/NetworkRequestDetailsHeaderItem.js +2 -3
  54. package/lib/commonjs/ui/components/items/NetworkRequestDetailsHeaderItem.js.map +1 -1
  55. package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js +7 -6
  56. package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
  57. package/lib/commonjs/ui/components/panels/ConsolePanel.js +14 -14
  58. package/lib/commonjs/ui/components/panels/ConsolePanel.js.map +1 -1
  59. package/lib/commonjs/ui/components/panels/NetworkPanel.js +15 -17
  60. package/lib/commonjs/ui/components/panels/NetworkPanel.js.map +1 -1
  61. package/lib/module/contexts/MainContext.js.map +1 -1
  62. package/lib/module/core/constants.js.map +1 -0
  63. package/lib/module/core/data.js +10 -0
  64. package/lib/module/core/data.js.map +1 -0
  65. package/lib/module/core/global.d.js.map +1 -0
  66. package/lib/module/{utils.js → core/utils.js} +18 -2
  67. package/lib/module/core/utils.js.map +1 -0
  68. package/lib/module/hooks/useConsoleInterceptor.js +8 -5
  69. package/lib/module/hooks/useConsoleInterceptor.js.map +1 -1
  70. package/lib/module/hooks/useNetworkInterceptor.js +16 -11
  71. package/lib/module/hooks/useNetworkInterceptor.js.map +1 -1
  72. package/lib/module/interceptors/ConsoleInterceptor.js +4 -8
  73. package/lib/module/interceptors/ConsoleInterceptor.js.map +1 -1
  74. package/lib/module/interceptors/FetchInterceptor.js +8 -12
  75. package/lib/module/interceptors/FetchInterceptor.js.map +1 -1
  76. package/lib/module/interceptors/HttpInterceptor.js +0 -21
  77. package/lib/module/interceptors/HttpInterceptor.js.map +1 -1
  78. package/lib/module/interceptors/Interceptor.js +2 -2
  79. package/lib/module/interceptors/Interceptor.js.map +1 -1
  80. package/lib/module/interceptors/NetworkInterceptor.js +14 -1
  81. package/lib/module/interceptors/NetworkInterceptor.js.map +1 -1
  82. package/lib/module/interceptors/WebSocketInterceptor.js +19 -44
  83. package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -1
  84. package/lib/module/interceptors/XHRInterceptor.js +7 -11
  85. package/lib/module/interceptors/XHRInterceptor.js.map +1 -1
  86. package/lib/module/theme/colors.js.map +1 -0
  87. package/lib/module/theme/icons.js +15 -0
  88. package/lib/module/theme/icons.js.map +1 -0
  89. package/lib/module/types/common.js.map +1 -1
  90. package/lib/module/ui/Xenon.js +69 -61
  91. package/lib/module/ui/Xenon.js.map +1 -1
  92. package/lib/module/ui/components/bubble/Bubble.js +86 -55
  93. package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
  94. package/lib/module/ui/components/details/DetailsViewer.js +6 -11
  95. package/lib/module/ui/components/details/DetailsViewer.js.map +1 -1
  96. package/lib/module/ui/components/details/LogMessageDetails.js +2 -2
  97. package/lib/module/ui/components/details/LogMessageDetails.js.map +1 -1
  98. package/lib/module/ui/components/details/NetworkRequestDetails.js +22 -7
  99. package/lib/module/ui/components/details/NetworkRequestDetails.js.map +1 -1
  100. package/lib/module/ui/components/headers/DebuggerHeader.js +38 -18
  101. package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -1
  102. package/lib/module/ui/components/headers/NetworkPanelHeader.js +1 -1
  103. package/lib/module/ui/components/headers/NetworkPanelHeader.js.map +1 -1
  104. package/lib/module/ui/components/headers/NetworkRequestDetailsHeader.js +0 -1
  105. package/lib/module/ui/components/headers/NetworkRequestDetailsHeader.js.map +1 -1
  106. package/lib/module/ui/components/items/ConsolePanelItem.js +2 -2
  107. package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -1
  108. package/lib/module/ui/components/items/DebuggerHeaderItem.js +4 -2
  109. package/lib/module/ui/components/items/DebuggerHeaderItem.js.map +1 -1
  110. package/lib/module/ui/components/items/NetworkPanelItem.js +2 -2
  111. package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -1
  112. package/lib/module/ui/components/items/NetworkRequestDetailsHeaderItem.js +2 -3
  113. package/lib/module/ui/components/items/NetworkRequestDetailsHeaderItem.js.map +1 -1
  114. package/lib/module/ui/components/items/NetworkRequestDetailsItem.js +7 -6
  115. package/lib/module/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
  116. package/lib/module/ui/components/panels/ConsolePanel.js +14 -14
  117. package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
  118. package/lib/module/ui/components/panels/NetworkPanel.js +15 -17
  119. package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
  120. package/lib/typescript/commonjs/src/contexts/MainContext.d.ts +5 -17
  121. package/lib/typescript/commonjs/src/contexts/MainContext.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/src/core/constants.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/src/core/data.d.ts +10 -0
  124. package/lib/typescript/commonjs/src/core/data.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/{utils.d.ts → core/utils.d.ts} +9 -1
  126. package/lib/typescript/commonjs/src/core/utils.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/src/hooks/useConsoleInterceptor.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/src/interceptors/ConsoleInterceptor.d.ts +0 -2
  130. package/lib/typescript/commonjs/src/interceptors/ConsoleInterceptor.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts +0 -2
  132. package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/src/interceptors/HttpInterceptor.d.ts +0 -8
  134. package/lib/typescript/commonjs/src/interceptors/HttpInterceptor.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/src/interceptors/NetworkInterceptor.d.ts +6 -2
  136. package/lib/typescript/commonjs/src/interceptors/NetworkInterceptor.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts +1 -10
  138. package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts +0 -2
  140. package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/src/theme/colors.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/src/theme/icons.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/types/common.d.ts +6 -4
  144. package/lib/typescript/commonjs/src/types/common.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/types/http.d.ts +5 -11
  146. package/lib/typescript/commonjs/src/types/http.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/src/types/websocket.d.ts +7 -15
  148. package/lib/typescript/commonjs/src/types/websocket.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/src/ui/Xenon.d.ts +1 -0
  150. package/lib/typescript/commonjs/src/ui/Xenon.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts +4 -1
  152. package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts +5 -1
  156. package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts +1 -3
  159. package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts +3 -3
  161. package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
  164. package/lib/typescript/module/src/contexts/MainContext.d.ts +5 -17
  165. package/lib/typescript/module/src/contexts/MainContext.d.ts.map +1 -1
  166. package/lib/typescript/module/src/core/constants.d.ts.map +1 -0
  167. package/lib/typescript/module/src/core/data.d.ts +10 -0
  168. package/lib/typescript/module/src/core/data.d.ts.map +1 -0
  169. package/lib/typescript/module/src/{utils.d.ts → core/utils.d.ts} +9 -1
  170. package/lib/typescript/module/src/core/utils.d.ts.map +1 -0
  171. package/lib/typescript/module/src/hooks/useConsoleInterceptor.d.ts.map +1 -1
  172. package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
  173. package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts +0 -2
  174. package/lib/typescript/module/src/interceptors/ConsoleInterceptor.d.ts.map +1 -1
  175. package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts +0 -2
  176. package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts.map +1 -1
  177. package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts +0 -8
  178. package/lib/typescript/module/src/interceptors/HttpInterceptor.d.ts.map +1 -1
  179. package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts +6 -2
  180. package/lib/typescript/module/src/interceptors/NetworkInterceptor.d.ts.map +1 -1
  181. package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts +1 -10
  182. package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
  183. package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts +0 -2
  184. package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts.map +1 -1
  185. package/lib/typescript/module/src/theme/colors.d.ts.map +1 -0
  186. package/lib/typescript/module/src/theme/icons.d.ts.map +1 -0
  187. package/lib/typescript/module/src/types/common.d.ts +6 -4
  188. package/lib/typescript/module/src/types/common.d.ts.map +1 -1
  189. package/lib/typescript/module/src/types/http.d.ts +5 -11
  190. package/lib/typescript/module/src/types/http.d.ts.map +1 -1
  191. package/lib/typescript/module/src/types/websocket.d.ts +7 -15
  192. package/lib/typescript/module/src/types/websocket.d.ts.map +1 -1
  193. package/lib/typescript/module/src/ui/Xenon.d.ts +1 -0
  194. package/lib/typescript/module/src/ui/Xenon.d.ts.map +1 -1
  195. package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts +4 -1
  196. package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts.map +1 -1
  197. package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts.map +1 -1
  198. package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
  199. package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts +5 -1
  200. package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
  201. package/lib/typescript/module/src/ui/components/headers/NetworkRequestDetailsHeader.d.ts.map +1 -1
  202. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts +1 -3
  203. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsHeaderItem.d.ts.map +1 -1
  204. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts +3 -3
  205. package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
  206. package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
  207. package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
  208. package/package.json +5 -3
  209. package/src/contexts/MainContext.ts +6 -25
  210. package/src/core/data.ts +12 -0
  211. package/src/{utils.ts → core/utils.ts} +21 -1
  212. package/src/hooks/useConsoleInterceptor.ts +9 -6
  213. package/src/hooks/useNetworkInterceptor.ts +21 -14
  214. package/src/interceptors/ConsoleInterceptor.ts +2 -7
  215. package/src/interceptors/FetchInterceptor.ts +12 -12
  216. package/src/interceptors/HttpInterceptor.ts +0 -24
  217. package/src/interceptors/Interceptor.ts +2 -2
  218. package/src/interceptors/NetworkInterceptor.ts +17 -2
  219. package/src/interceptors/WebSocketInterceptor.ts +15 -38
  220. package/src/interceptors/XHRInterceptor.ts +5 -10
  221. package/src/theme/icons.ts +9 -0
  222. package/src/types/common.ts +8 -8
  223. package/src/types/http.ts +22 -34
  224. package/src/types/websocket.ts +14 -32
  225. package/src/ui/Xenon.tsx +83 -71
  226. package/src/ui/components/bubble/Bubble.tsx +96 -56
  227. package/src/ui/components/details/DetailsViewer.tsx +6 -9
  228. package/src/ui/components/details/LogMessageDetails.tsx +2 -2
  229. package/src/ui/components/details/NetworkRequestDetails.tsx +26 -9
  230. package/src/ui/components/headers/DebuggerHeader.tsx +46 -24
  231. package/src/ui/components/headers/NetworkPanelHeader.tsx +1 -1
  232. package/src/ui/components/headers/NetworkRequestDetailsHeader.tsx +0 -1
  233. package/src/ui/components/items/ConsolePanelItem.tsx +2 -2
  234. package/src/ui/components/items/DebuggerHeaderItem.tsx +3 -1
  235. package/src/ui/components/items/NetworkPanelItem.tsx +2 -2
  236. package/src/ui/components/items/NetworkRequestDetailsHeaderItem.tsx +1 -5
  237. package/src/ui/components/items/NetworkRequestDetailsItem.tsx +7 -7
  238. package/src/ui/components/panels/ConsolePanel.tsx +15 -15
  239. package/src/ui/components/panels/NetworkPanel.tsx +18 -22
  240. package/lib/commonjs/colors.js.map +0 -1
  241. package/lib/commonjs/constants.js.map +0 -1
  242. package/lib/commonjs/global.d.js.map +0 -1
  243. package/lib/commonjs/icons.js +0 -15
  244. package/lib/commonjs/icons.js.map +0 -1
  245. package/lib/commonjs/utils.js.map +0 -1
  246. package/lib/module/colors.js.map +0 -1
  247. package/lib/module/constants.js.map +0 -1
  248. package/lib/module/global.d.js.map +0 -1
  249. package/lib/module/icons.js +0 -15
  250. package/lib/module/icons.js.map +0 -1
  251. package/lib/module/utils.js.map +0 -1
  252. package/lib/typescript/commonjs/src/colors.d.ts.map +0 -1
  253. package/lib/typescript/commonjs/src/constants.d.ts.map +0 -1
  254. package/lib/typescript/commonjs/src/icons.d.ts.map +0 -1
  255. package/lib/typescript/commonjs/src/utils.d.ts.map +0 -1
  256. package/lib/typescript/module/src/colors.d.ts.map +0 -1
  257. package/lib/typescript/module/src/constants.d.ts.map +0 -1
  258. package/lib/typescript/module/src/icons.d.ts.map +0 -1
  259. package/lib/typescript/module/src/utils.d.ts.map +0 -1
  260. package/src/icons.ts +0 -9
  261. /package/lib/commonjs/{constants.js → core/constants.js} +0 -0
  262. /package/lib/commonjs/{global.d.js → core/global.d.js} +0 -0
  263. /package/lib/commonjs/{colors.js → theme/colors.js} +0 -0
  264. /package/lib/module/{constants.js → core/constants.js} +0 -0
  265. /package/lib/module/{global.d.js → core/global.d.js} +0 -0
  266. /package/lib/module/{colors.js → theme/colors.js} +0 -0
  267. /package/lib/typescript/commonjs/src/{constants.d.ts → core/constants.d.ts} +0 -0
  268. /package/lib/typescript/commonjs/src/{colors.d.ts → theme/colors.d.ts} +0 -0
  269. /package/lib/typescript/commonjs/src/{icons.d.ts → theme/icons.d.ts} +0 -0
  270. /package/lib/typescript/module/src/{constants.d.ts → core/constants.d.ts} +0 -0
  271. /package/lib/typescript/module/src/{colors.d.ts → theme/colors.d.ts} +0 -0
  272. /package/lib/typescript/module/src/{icons.d.ts → theme/icons.d.ts} +0 -0
  273. /package/src/{constants.ts → core/constants.ts} +0 -0
  274. /package/src/{global.d.ts → core/global.d.ts} +0 -0
  275. /package/src/{colors.ts → theme/colors.ts} +0 -0
@@ -1,87 +1,127 @@
1
- import { useContext, useMemo, type MutableRefObject } from 'react';
1
+ import { useContext, useMemo, useRef, useState, type MutableRefObject } from 'react';
2
2
  import {
3
3
  Animated,
4
4
  Image,
5
5
  PanResponder,
6
6
  StyleSheet,
7
+ View,
7
8
  type PanResponderGestureState,
8
9
  } from 'react-native';
9
10
  import { MainContext } from '../../../contexts';
10
- import icons from '../../../icons';
11
- import colors from '../../../colors';
11
+ import icons from '../../../theme/icons';
12
+ import colors from '../../../theme/colors';
13
+ import { clamp, getVerticalSafeMargin } from '../../../core/utils';
12
14
 
13
15
  interface BubbleProps {
14
16
  bubbleSize: number;
17
+ idleBubbleOpacity: number;
15
18
  pan: MutableRefObject<Animated.ValueXY>;
19
+ screenWidth: number;
20
+ screenHeight: number;
16
21
  }
17
22
 
18
- export default function Bubble({ bubbleSize, pan }: BubbleProps) {
23
+ export default function Bubble({
24
+ bubbleSize,
25
+ idleBubbleOpacity,
26
+ pan,
27
+ screenWidth,
28
+ screenHeight,
29
+ }: BubbleProps) {
19
30
  const iconSize = bubbleSize * 0.65;
20
31
 
21
- const { setDebuggerVisibility, screenWidth, screenHeight, verticalSafeMargin } =
22
- useContext(MainContext)!;
23
-
24
- const panResponder = useMemo(
25
- () =>
26
- PanResponder.create({
27
- onStartShouldSetPanResponder: () => true,
28
- onMoveShouldSetPanResponder: () => true,
29
- onPanResponderGrant: () => {
30
- pan.current.setOffset({
31
- // @ts-ignore
32
- x: pan.current.x._value,
33
- // @ts-ignore
34
- y: pan.current.y._value,
32
+ const { setDebuggerState } = useContext(MainContext)!;
33
+ const [idleOpacity, setIdleOpacity] = useState(idleBubbleOpacity);
34
+ const opacityTimer = useRef<NodeJS.Timeout | null>(null);
35
+
36
+ const panResponder = useMemo(() => {
37
+ const clearTimer = () => {
38
+ if (opacityTimer.current) clearTimeout(opacityTimer.current);
39
+ opacityTimer.current = null;
40
+ };
41
+
42
+ return PanResponder.create({
43
+ onStartShouldSetPanResponder: () => true,
44
+ onMoveShouldSetPanResponder: () => true,
45
+ onPanResponderGrant: () => {
46
+ pan.current.setOffset({
47
+ // @ts-ignore
48
+ x: pan.current.x._value,
49
+ // @ts-ignore
50
+ y: pan.current.y._value,
51
+ });
52
+
53
+ pan.current.setValue({ x: 0, y: 0 });
54
+
55
+ clearTimer();
56
+ setIdleOpacity(1);
57
+ },
58
+ onPanResponderMove: Animated.event([null, { dx: pan.current.x, dy: pan.current.y }], {
59
+ useNativeDriver: false,
60
+ }),
61
+ onPanResponderRelease: (_, gesture: PanResponderGestureState) => {
62
+ const isTapGesture =
63
+ gesture.dx > -10 && gesture.dx < 10 && gesture.dy > -10 && gesture.dy < 10;
64
+
65
+ if (isTapGesture)
66
+ setDebuggerState(draft => {
67
+ draft.visibility = 'panel';
35
68
  });
36
- pan.current.setValue({ x: 0, y: 0 });
37
- },
38
- onPanResponderMove: Animated.event([null, { dx: pan.current.x, dy: pan.current.y }], {
39
- useNativeDriver: false,
40
- }),
41
- onPanResponderRelease: (_, gesture: PanResponderGestureState) => {
42
- const isTapGesture =
43
- gesture.dx > -10 && gesture.dx < 10 && gesture.dy > -10 && gesture.dy < 10;
44
69
 
45
- if (isTapGesture) setDebuggerVisibility('panel');
70
+ pan.current.flattenOffset();
46
71
 
47
- pan.current.flattenOffset();
72
+ const finalX =
73
+ gesture.moveX < (screenWidth - bubbleSize) / 2 ? 0 : screenWidth - bubbleSize;
48
74
 
49
- const finalX =
50
- gesture.moveX < (screenWidth - bubbleSize) / 2 ? 0 : screenWidth - bubbleSize;
75
+ const verticalSafeMargin = getVerticalSafeMargin(screenHeight);
51
76
 
52
- const finalY = Math.min(
53
- Math.max(verticalSafeMargin, gesture.moveY),
54
- screenHeight - verticalSafeMargin - bubbleSize,
55
- );
77
+ const finalY = clamp(
78
+ gesture.moveY,
79
+ verticalSafeMargin,
80
+ screenHeight - verticalSafeMargin - bubbleSize,
81
+ );
56
82
 
57
- Animated.spring(pan.current, {
58
- toValue: { x: finalX, y: finalY },
59
- useNativeDriver: false,
60
- }).start();
61
- },
62
- }),
63
- [bubbleSize, pan, screenHeight, screenWidth, setDebuggerVisibility, verticalSafeMargin],
64
- );
83
+ Animated.spring(pan.current, {
84
+ toValue: { x: finalX, y: finalY },
85
+ useNativeDriver: false,
86
+ }).start(({ finished }) => {
87
+ if (!finished) return;
88
+
89
+ opacityTimer.current = setTimeout(() => {
90
+ setIdleOpacity(0.5);
91
+ clearTimer();
92
+ }, 1000);
93
+ });
94
+ },
95
+ });
96
+ }, [bubbleSize, pan, screenHeight, screenWidth, setDebuggerState]);
65
97
 
66
98
  return (
67
- <Animated.View
68
- {...panResponder.panHandlers}
69
- style={[
70
- styles.bubble,
71
- {
72
- width: bubbleSize,
73
- height: bubbleSize,
74
- borderRadius: bubbleSize / 2,
75
- transform: pan.current.getTranslateTransform(),
76
- },
77
- ]}
78
- >
79
- <Image source={icons.bug} style={{ width: iconSize, height: iconSize }} />
80
- </Animated.View>
99
+ <View style={styles.bubbleBackdrop}>
100
+ <Animated.View
101
+ {...panResponder.panHandlers}
102
+ style={[
103
+ styles.bubble,
104
+ {
105
+ width: bubbleSize,
106
+ height: bubbleSize,
107
+ borderRadius: bubbleSize / 2,
108
+ transform: pan.current.getTranslateTransform(),
109
+ opacity: idleOpacity,
110
+ },
111
+ ]}
112
+ >
113
+ <Image source={icons.bug} style={{ width: iconSize, height: iconSize }} />
114
+ </Animated.View>
115
+ </View>
81
116
  );
82
117
  }
83
118
 
84
119
  const styles = StyleSheet.create({
120
+ bubbleBackdrop: {
121
+ flex: 1,
122
+ ...StyleSheet.absoluteFillObject,
123
+ pointerEvents: 'box-none',
124
+ },
85
125
  bubble: {
86
126
  backgroundColor: colors.lightGray,
87
127
  position: 'absolute',
@@ -1,19 +1,16 @@
1
- import { useContext } from 'react';
2
- import { MainContext } from '../../../contexts';
1
+ import { detailsData } from '../../../core/data';
3
2
  import { DebuggerPanel } from '../../../types';
4
3
  import LogMessageDetails from './LogMessageDetails';
5
4
  import NetworkRequestDetails from './NetworkRequestDetails';
6
5
 
7
6
  export default function DetailsViewer() {
8
- const { detailsData } = useContext(MainContext)!;
7
+ if (!detailsData.value) return null;
9
8
 
10
9
  switch (true) {
11
- case !detailsData.current:
12
- return null;
13
- case DebuggerPanel.Network in detailsData.current!:
14
- return <NetworkRequestDetails item={detailsData.current.network} />;
15
- case DebuggerPanel.Console in detailsData.current!:
16
- return <LogMessageDetails item={detailsData.current.console} />;
10
+ case DebuggerPanel.Network in detailsData.value:
11
+ return <NetworkRequestDetails item={detailsData.value.network} />;
12
+ case DebuggerPanel.Console in detailsData.value:
13
+ return <LogMessageDetails item={detailsData.value.console} />;
17
14
  default:
18
15
  return null;
19
16
  }
@@ -1,7 +1,7 @@
1
1
  import { ScrollView, StyleSheet, Text } from 'react-native';
2
2
  import type { LogMessage } from '../../../types';
3
- import { formatLogMessage } from '../../../utils';
4
- import colors from '../../../colors';
3
+ import { formatLogMessage } from '../../../core/utils';
4
+ import colors from '../../../theme/colors';
5
5
 
6
6
  interface LogMessageDetailsProps {
7
7
  item: LogMessage;
@@ -1,6 +1,7 @@
1
1
  import { useRef, useState, type JSX, type ReactNode } from 'react';
2
- import { ScrollView, StyleSheet } from 'react-native';
2
+ import { ScrollView, Share, StyleSheet, TouchableOpacity } from 'react-native';
3
3
  import { URL } from 'react-native-url-polyfill';
4
+ import colors from '../../../theme/colors';
4
5
  import {
5
6
  NetworkType,
6
7
  type HttpRequest,
@@ -13,10 +14,9 @@ import {
13
14
  formatRequestMethod,
14
15
  formatRequestStatusCode,
15
16
  limitChar,
16
- } from '../../../utils';
17
+ } from '../../../core/utils';
17
18
  import NetworkDetailsHeader from '../headers/NetworkRequestDetailsHeader';
18
19
  import NetworkRequestDetailsItem from '../items/NetworkRequestDetailsItem';
19
- import colors from '../../../colors';
20
20
 
21
21
  interface NetworkRequestDetailsProps {
22
22
  item: HttpRequest | WebSocketRequest;
@@ -78,10 +78,17 @@ export default function NetworkRequestDetails({ item }: NetworkRequestDetailsPro
78
78
  )}
79
79
 
80
80
  {!isWebSocket && (
81
- <NetworkRequestDetailsItem
82
- content={convertToCurl(item.method, item.url, item.requestHeaders, item.body)}
83
- selectable
84
- />
81
+ <TouchableOpacity
82
+ activeOpacity={0.8}
83
+ onPress={() =>
84
+ Share.share({
85
+ message: convertToCurl(item.method, item.url, item.requestHeaders, item.body),
86
+ })
87
+ }
88
+ style={styles.buttonContent}
89
+ >
90
+ <NetworkRequestDetailsItem content="Share as cURL" />
91
+ </TouchableOpacity>
85
92
  )}
86
93
  </>
87
94
  );
@@ -122,7 +129,9 @@ export default function NetworkRequestDetails({ item }: NetworkRequestDetailsPro
122
129
  responseShown={responseShown}
123
130
  messagesShown={messagesShown}
124
131
  />
125
- <ScrollView style={styles.container}>{content.current[selectedTab]}</ScrollView>
132
+ <ScrollView style={styles.container} contentContainerStyle={styles.contentContainer}>
133
+ {content.current[selectedTab]}
134
+ </ScrollView>
126
135
  </>
127
136
  );
128
137
  }
@@ -130,7 +139,9 @@ export default function NetworkRequestDetails({ item }: NetworkRequestDetailsPro
130
139
  const styles = StyleSheet.create({
131
140
  container: {
132
141
  flex: 1,
133
- paddingHorizontal: 8,
142
+ },
143
+ contentContainer: {
144
+ padding: 8,
134
145
  },
135
146
  divider: {
136
147
  height: 1,
@@ -145,4 +156,10 @@ const styles = StyleSheet.create({
145
156
  fontWeight: 'bold',
146
157
  color: colors.black,
147
158
  },
159
+ buttonContent: {
160
+ padding: 8,
161
+ borderRadius: 4,
162
+ borderWidth: 1,
163
+ alignItems: 'center',
164
+ },
148
165
  });
@@ -1,23 +1,27 @@
1
- import { useContext } from 'react';
1
+ import { useContext, useRef } from 'react';
2
2
  import { ScrollView, StyleSheet, View } from 'react-native';
3
3
  import { MainContext } from '../../../contexts';
4
+ import colors from '../../../theme/colors';
5
+ import icons from '../../../theme/icons';
4
6
  import { DebuggerPanel } from '../../../types';
5
7
  import DebuggerHeaderItem from '../items/DebuggerHeaderItem';
6
- import icons from '../../../icons';
7
- import colors from '../../../colors';
8
-
9
- export default function DebuggerHeader() {
10
- const {
11
- setDebuggerVisibility,
12
- setDebuggerPosition,
13
- panelSelected,
14
- setPanelSelected,
15
- networkInterceptor,
16
- logInterceptor,
17
- } = useContext(MainContext)!;
8
+
9
+ interface DebuggerHeaderProps {
10
+ detailsShown: boolean;
11
+ }
12
+
13
+ export default function DebuggerHeader({ detailsShown }: DebuggerHeaderProps) {
14
+ const { debuggerState, setDebuggerState, networkInterceptor, logInterceptor } =
15
+ useContext(MainContext)!;
16
+
17
+ const lastSelectedPanel = useRef<DebuggerPanel>(
18
+ debuggerState.selectedPanel ?? DebuggerPanel.Network,
19
+ );
18
20
 
19
21
  const hideDebugger = () => {
20
- setDebuggerVisibility('bubble');
22
+ setDebuggerState(draft => {
23
+ draft.visibility = 'bubble';
24
+ });
21
25
  };
22
26
 
23
27
  const toggleNetworkInterception = () => {
@@ -33,16 +37,34 @@ export default function DebuggerHeader() {
33
37
  };
34
38
 
35
39
  const toggleDebuggerPosition = () => {
36
- setDebuggerPosition(prevState => (prevState === 'bottom' ? 'top' : 'bottom'));
40
+ setDebuggerState(draft => {
41
+ draft.position = draft.position === 'bottom' ? 'top' : 'bottom';
42
+ });
37
43
  };
38
44
 
39
- const switchToNetworkPanel = () => {
40
- setPanelSelected(DebuggerPanel.Network);
45
+ const switchTo = (debuggerPanel: DebuggerPanel) => {
46
+ setDebuggerState(draft => {
47
+ draft.selectedPanel = debuggerPanel;
48
+ lastSelectedPanel.current = debuggerPanel;
49
+ });
41
50
  };
42
51
 
43
- const switchToConsolePanel = () => {
44
- setPanelSelected(DebuggerPanel.Console);
45
- };
52
+ if (detailsShown) {
53
+ return (
54
+ <View style={styles.contentContainer}>
55
+ <DebuggerHeaderItem
56
+ isLabel
57
+ isActive
58
+ content="Go Back"
59
+ onPress={() => {
60
+ setDebuggerState(draft => {
61
+ draft.selectedPanel = lastSelectedPanel.current;
62
+ });
63
+ }}
64
+ />
65
+ </View>
66
+ );
67
+ }
46
68
 
47
69
  return (
48
70
  <ScrollView
@@ -57,9 +79,9 @@ export default function DebuggerHeader() {
57
79
 
58
80
  <DebuggerHeaderItem
59
81
  isLabel
60
- isActive={panelSelected === DebuggerPanel.Network}
82
+ isActive={debuggerState.selectedPanel === DebuggerPanel.Network}
61
83
  content="Network Panel"
62
- onPress={switchToNetworkPanel}
84
+ onPress={() => switchTo(DebuggerPanel.Network)}
63
85
  />
64
86
 
65
87
  <DebuggerHeaderItem
@@ -77,9 +99,9 @@ export default function DebuggerHeader() {
77
99
 
78
100
  <DebuggerHeaderItem
79
101
  isLabel
80
- isActive={panelSelected === DebuggerPanel.Console}
102
+ isActive={debuggerState.selectedPanel === DebuggerPanel.Console}
81
103
  content="Log Panel"
82
- onPress={switchToConsolePanel}
104
+ onPress={() => switchTo(DebuggerPanel.Console)}
83
105
  />
84
106
 
85
107
  <DebuggerHeaderItem
@@ -1,5 +1,5 @@
1
1
  import { StyleSheet, Text, View } from 'react-native';
2
- import colors from '../../../colors';
2
+ import colors from '../../../theme/colors';
3
3
 
4
4
  export default function NetworkPanelHeader() {
5
5
  return (
@@ -72,7 +72,6 @@ export default function NetworkDetailsHeader({
72
72
  onPress={() => onChangeTab(item.name)}
73
73
  isSelected={item.name === selectedTab}
74
74
  visible={item.visible}
75
- name={item.name}
76
75
  label={item.label}
77
76
  />
78
77
  ))}
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet, Text, TouchableOpacity } from 'react-native';
2
2
  import type { LogMessage } from '../../../types';
3
- import { formatLogMessage } from '../../../utils';
4
- import colors from '../../../colors';
3
+ import { formatLogMessage } from '../../../core/utils';
4
+ import colors from '../../../theme/colors';
5
5
 
6
6
  interface ConsolePanelItemProps extends LogMessage {
7
7
  onPress: () => void;
@@ -1,5 +1,5 @@
1
1
  import { Image, StyleSheet, Text, TouchableOpacity, type ImageRequireSource } from 'react-native';
2
- import colors from '../../../colors';
2
+ import colors from '../../../theme/colors';
3
3
 
4
4
  interface DebuggerHeaderItemProps {
5
5
  content?: ImageRequireSource | string;
@@ -46,6 +46,8 @@ const styles = StyleSheet.create({
46
46
  backgroundColor: colors.gray,
47
47
  borderWidth: 1,
48
48
  borderColor: 'transparent',
49
+ justifyContent: 'center',
50
+ alignItems: 'center',
49
51
  },
50
52
  labelContainer: {
51
53
  backgroundColor: 'transparent',
@@ -6,8 +6,8 @@ import {
6
6
  formatRequestDuration,
7
7
  formatRequestMethod,
8
8
  formatRequestStatusCode,
9
- } from '../../../utils';
10
- import colors from '../../../colors';
9
+ } from '../../../core/utils';
10
+ import colors from '../../../theme/colors';
11
11
 
12
12
  interface NetworkPanelItemProps {
13
13
  method?: HttpRequest['method'];
@@ -1,18 +1,15 @@
1
1
  import { StyleSheet, Text, TouchableOpacity } from 'react-native';
2
- import type { NetworkTab } from '../../../types';
3
- import colors from '../../../colors';
2
+ import colors from '../../../theme/colors';
4
3
 
5
4
  interface NetworkRequestDetailsHeaderItemProps {
6
5
  visible: boolean;
7
6
  isSelected: boolean;
8
- name: NetworkTab;
9
7
  label: string;
10
8
  onPress: () => void;
11
9
  }
12
10
 
13
11
  export default function NetworkRequestDetailsHeaderItem({
14
12
  visible,
15
- name,
16
13
  isSelected,
17
14
  label,
18
15
  onPress,
@@ -21,7 +18,6 @@ export default function NetworkRequestDetailsHeaderItem({
21
18
 
22
19
  return (
23
20
  <TouchableOpacity
24
- key={name}
25
21
  activeOpacity={0.8}
26
22
  onPress={onPress}
27
23
  style={[styles.item, isSelected && styles.activeItem]}
@@ -1,20 +1,20 @@
1
- import { StyleSheet, Text } from 'react-native';
2
- import colors from '../../../colors';
1
+ import { StyleSheet, Text, type TextProps } from 'react-native';
2
+ import colors from '../../../theme/colors';
3
3
 
4
- interface NetworkRequestDetailsItemProps {
4
+ interface NetworkRequestDetailsItemProps extends TextProps {
5
5
  label?: string;
6
6
  content?: string;
7
- selectable?: boolean;
8
7
  }
9
8
 
10
9
  export default function NetworkRequestDetailsItem({
11
10
  label,
12
11
  content,
13
- selectable,
12
+ style,
13
+ ...props
14
14
  }: NetworkRequestDetailsItemProps) {
15
15
  if (label) {
16
16
  return (
17
- <Text style={styles.text} selectable={selectable}>
17
+ <Text {...props} style={[styles.text, style]}>
18
18
  <Text style={styles.label}>
19
19
  {label}
20
20
  {': '}
@@ -25,7 +25,7 @@ export default function NetworkRequestDetailsItem({
25
25
  }
26
26
 
27
27
  return (
28
- <Text style={styles.text} selectable={selectable}>
28
+ <Text {...props} style={[styles.text, style]}>
29
29
  {content}
30
30
  </Text>
31
31
  );
@@ -1,32 +1,32 @@
1
1
  import { useCallback, useContext } from 'react';
2
2
  import { FlatList, StyleSheet, View, type ListRenderItem } from 'react-native';
3
- import colors from '../../../colors';
3
+ import colors from '../../../theme/colors';
4
4
  import { MainContext } from '../../../contexts';
5
5
  import type { LogMessage } from '../../../types';
6
6
  import ConsolePanelItem from '../items/ConsolePanelItem';
7
+ import { detailsData } from '../../../core/data';
7
8
 
8
9
  const Separator = () => <View style={styles.divider} />;
9
10
 
10
11
  export default function ConsolePanel() {
11
12
  const {
12
13
  logInterceptor: { logMessages },
13
- setPanelSelected,
14
- detailsData,
14
+ setDebuggerState,
15
15
  } = useContext(MainContext)!;
16
16
 
17
17
  const renderItem = useCallback<ListRenderItem<LogMessage>>(
18
- ({ item }) => {
19
- return (
20
- <ConsolePanelItem
21
- {...item}
22
- onPress={() => {
23
- detailsData.current = { console: item };
24
- setPanelSelected(null);
25
- }}
26
- />
27
- );
28
- },
29
- [detailsData, setPanelSelected],
18
+ ({ item }) => (
19
+ <ConsolePanelItem
20
+ {...item}
21
+ onPress={() => {
22
+ detailsData.value = { console: item };
23
+ setDebuggerState(draft => {
24
+ draft.selectedPanel = null;
25
+ });
26
+ }}
27
+ />
28
+ ),
29
+ [setDebuggerState],
30
30
  );
31
31
 
32
32
  return (
@@ -1,42 +1,38 @@
1
1
  import { useCallback, useContext, useMemo } from 'react';
2
2
  import { FlatList, StyleSheet, View, type ListRenderItem } from 'react-native';
3
- import colors from '../../../colors';
3
+ import colors from '../../../theme/colors';
4
4
  import { MainContext } from '../../../contexts';
5
5
  import { NetworkType, type HttpRequest, type ID, type WebSocketRequest } from '../../../types';
6
6
  import NetworkPanelHeader from '../headers/NetworkPanelHeader';
7
7
  import NetworkPanelItem from '../items/NetworkPanelItem';
8
+ import { detailsData } from '../../../core/data';
8
9
 
9
10
  const Separator = () => <View style={styles.divider} />;
10
11
 
11
12
  export default function NetworkPanel() {
12
13
  const {
13
14
  networkInterceptor: { networkRequests },
14
- setPanelSelected,
15
- detailsData,
15
+ setDebuggerState,
16
16
  } = useContext(MainContext)!;
17
17
 
18
18
  const data = useMemo(() => Array.from(networkRequests).reverse(), [networkRequests]);
19
19
 
20
20
  const renderItem = useCallback<ListRenderItem<[NonNullable<ID>, HttpRequest | WebSocketRequest]>>(
21
- ({ item: [_, item] }) => {
22
- const isWebSocket = item.type === NetworkType.WS;
23
-
24
- const onPress = () => {
25
- detailsData.current = { network: item };
26
- setPanelSelected(null);
27
- };
28
-
29
- return (
30
- <NetworkPanelItem
31
- method={isWebSocket ? undefined : item.method}
32
- name={item.url}
33
- duration={item.duration}
34
- status={item.status}
35
- onPress={onPress}
36
- />
37
- );
38
- },
39
- [detailsData, setPanelSelected],
21
+ ({ item: [_, item] }) => (
22
+ <NetworkPanelItem
23
+ method={item.type === NetworkType.WS ? undefined : item.method}
24
+ name={item.url}
25
+ duration={item.duration}
26
+ status={item.status}
27
+ onPress={() => {
28
+ detailsData.value = { network: item };
29
+ setDebuggerState(draft => {
30
+ draft.selectedPanel = null;
31
+ });
32
+ }}
33
+ />
34
+ ),
35
+ [setDebuggerState],
40
36
  );
41
37
 
42
38
  return (
@@ -1 +0,0 @@
1
- {"version":3,"names":["colors","Object","freeze","black","red","gray","lightGray","_default","exports","default"],"sourceRoot":"../../src","sources":["colors.ts"],"mappings":";;;;;;AAAA,MAAMA,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC3BC,KAAK,EAAE,SAAS;EAChBC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYT,MAAM","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["NETWORK_REQUEST_HEADER","exports"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":";;;;;;AAAO,MAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,sBAAsB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["global.d.ts"],"mappings":"","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- const icons = Object.freeze({
8
- bug: require('./assets/icons/bug.png'),
9
- delete: require('./assets/icons/delete.png'),
10
- hide: require('./assets/icons/hide.png'),
11
- move: require('./assets/icons/move.png'),
12
- record: require('./assets/icons/record.png')
13
- });
14
- var _default = exports.default = icons;
15
- //# sourceMappingURL=icons.js.map