react-native-debug-toolkit 2.0.0 → 2.2.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 (443) hide show
  1. package/README.md +82 -120
  2. package/README.zh-CN.md +171 -0
  3. package/lib/commonjs/core/DebugToolkit.js +117 -115
  4. package/lib/commonjs/core/DebugToolkit.js.map +1 -1
  5. package/lib/commonjs/core/DebugToolkitProvider.js +38 -30
  6. package/lib/commonjs/core/DebugToolkitProvider.js.map +1 -1
  7. package/lib/commonjs/core/initialize.js +84 -0
  8. package/lib/commonjs/core/initialize.js.map +1 -0
  9. package/lib/commonjs/{components → features/clipboard}/ClipboardTab.js +16 -17
  10. package/lib/commonjs/features/clipboard/ClipboardTab.js.map +1 -0
  11. package/lib/commonjs/features/{ClipboardFeature.js → clipboard/index.js} +9 -5
  12. package/lib/commonjs/features/clipboard/index.js.map +1 -0
  13. package/lib/commonjs/features/console/ConsoleLogTab.js +162 -0
  14. package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -0
  15. package/lib/commonjs/features/console/index.js +118 -0
  16. package/lib/commonjs/features/console/index.js.map +1 -0
  17. package/lib/commonjs/{components → features/environment}/EnvironmentTab.js +24 -25
  18. package/lib/commonjs/features/environment/EnvironmentTab.js.map +1 -0
  19. package/lib/commonjs/features/{EnvironmentFeature.js → environment/index.js} +22 -25
  20. package/lib/commonjs/features/environment/index.js.map +1 -0
  21. package/lib/commonjs/{components → features/navigation}/NavigationLogTab.js +11 -10
  22. package/lib/commonjs/features/navigation/NavigationLogTab.js.map +1 -0
  23. package/lib/commonjs/features/navigation/index.js +39 -0
  24. package/lib/commonjs/features/navigation/index.js.map +1 -0
  25. package/lib/commonjs/{hooks → features/navigation}/useNavigationLogger.js +3 -3
  26. package/lib/commonjs/features/navigation/useNavigationLogger.js.map +1 -0
  27. package/lib/commonjs/features/network/NetworkLogTab.js +405 -0
  28. package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -0
  29. package/lib/commonjs/features/network/index.js +96 -0
  30. package/lib/commonjs/features/network/index.js.map +1 -0
  31. package/lib/commonjs/features/network/networkInterceptor.js +261 -0
  32. package/lib/commonjs/features/network/networkInterceptor.js.map +1 -0
  33. package/lib/commonjs/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +10 -9
  34. package/lib/commonjs/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  35. package/lib/commonjs/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +8 -8
  36. package/lib/commonjs/features/thirdPartyLibs/index.js.map +1 -0
  37. package/lib/commonjs/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  38. package/lib/commonjs/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  39. package/lib/commonjs/features/track/TrackLogTab.js +230 -0
  40. package/lib/commonjs/features/track/TrackLogTab.js.map +1 -0
  41. package/lib/commonjs/features/track/index.js +39 -0
  42. package/lib/commonjs/features/track/index.js.map +1 -0
  43. package/lib/commonjs/features/zustand/ZustandLogTab.js +311 -0
  44. package/lib/commonjs/features/zustand/ZustandLogTab.js.map +1 -0
  45. package/lib/commonjs/features/zustand/index.js +59 -0
  46. package/lib/commonjs/features/zustand/index.js.map +1 -0
  47. package/lib/commonjs/index.js +27 -40
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/types/environment.js +2 -0
  50. package/lib/commonjs/types/environment.js.map +1 -0
  51. package/lib/commonjs/types/feature.js +6 -0
  52. package/lib/commonjs/types/feature.js.map +1 -0
  53. package/lib/commonjs/types/index.js +0 -4
  54. package/lib/commonjs/types/logs.js +2 -0
  55. package/lib/commonjs/types/logs.js.map +1 -0
  56. package/lib/commonjs/types/navigation.js +2 -0
  57. package/lib/commonjs/types/navigation.js.map +1 -0
  58. package/lib/commonjs/types/thirdPartyLibs.js +2 -0
  59. package/lib/commonjs/types/thirdPartyLibs.js.map +1 -0
  60. package/lib/commonjs/ui/DebugView.js +66 -0
  61. package/lib/commonjs/ui/DebugView.js.map +1 -0
  62. package/lib/commonjs/ui/floating/FloatIcon.js +240 -0
  63. package/lib/commonjs/ui/floating/FloatIcon.js.map +1 -0
  64. package/lib/commonjs/ui/panel/DebugPanel.js +230 -0
  65. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -0
  66. package/lib/commonjs/ui/panel/FeatureTabBar.js +182 -0
  67. package/lib/commonjs/ui/panel/FeatureTabBar.js.map +1 -0
  68. package/lib/commonjs/ui/panel/FloatPanelView.js +238 -0
  69. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -0
  70. package/lib/commonjs/{components → ui}/shared/CollapsibleSection.js +4 -4
  71. package/lib/commonjs/ui/shared/CollapsibleSection.js.map +1 -0
  72. package/lib/commonjs/{components → ui}/shared/CopyButton.js +3 -3
  73. package/lib/commonjs/ui/shared/CopyButton.js.map +1 -0
  74. package/lib/commonjs/ui/shared/JsonView.js.map +1 -0
  75. package/lib/commonjs/ui/shared/LogListScreen.js +174 -0
  76. package/lib/commonjs/ui/shared/LogListScreen.js.map +1 -0
  77. package/lib/commonjs/ui/shared/useSlideDetailAnimation.js.map +1 -0
  78. package/lib/commonjs/ui/theme/colors.js +43 -0
  79. package/lib/commonjs/ui/theme/colors.js.map +1 -0
  80. package/lib/commonjs/ui/theme/layout.js +8 -0
  81. package/lib/commonjs/ui/theme/layout.js.map +1 -0
  82. package/lib/commonjs/utils/createChannelFeature.js +62 -0
  83. package/lib/commonjs/utils/createChannelFeature.js.map +1 -0
  84. package/lib/commonjs/utils/createObservableStore.js +5 -0
  85. package/lib/commonjs/utils/createObservableStore.js.map +1 -1
  86. package/lib/commonjs/utils/createPersistedObservableStore.js +71 -0
  87. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -0
  88. package/lib/commonjs/utils/debugPreferences.js +52 -0
  89. package/lib/commonjs/utils/debugPreferences.js.map +1 -0
  90. package/lib/commonjs/utils/urlRewriterRegistry.js +14 -0
  91. package/lib/commonjs/utils/urlRewriterRegistry.js.map +1 -0
  92. package/lib/module/core/DebugToolkit.js +117 -114
  93. package/lib/module/core/DebugToolkit.js.map +1 -1
  94. package/lib/module/core/DebugToolkitProvider.js +39 -31
  95. package/lib/module/core/DebugToolkitProvider.js.map +1 -1
  96. package/lib/module/core/initialize.js +80 -0
  97. package/lib/module/core/initialize.js.map +1 -0
  98. package/lib/module/{components → features/clipboard}/ClipboardTab.js +9 -9
  99. package/lib/module/features/clipboard/ClipboardTab.js.map +1 -0
  100. package/lib/module/features/clipboard/index.js +16 -0
  101. package/lib/module/features/clipboard/index.js.map +1 -0
  102. package/lib/module/features/console/ConsoleLogTab.js +157 -0
  103. package/lib/module/features/console/ConsoleLogTab.js.map +1 -0
  104. package/lib/module/features/console/index.js +112 -0
  105. package/lib/module/features/console/index.js.map +1 -0
  106. package/lib/module/{components → features/environment}/EnvironmentTab.js +5 -5
  107. package/lib/module/features/environment/EnvironmentTab.js.map +1 -0
  108. package/lib/module/features/{EnvironmentFeature.js → environment/index.js} +22 -25
  109. package/lib/module/features/environment/index.js.map +1 -0
  110. package/lib/module/{components → features/navigation}/NavigationLogTab.js +4 -3
  111. package/lib/module/features/navigation/NavigationLogTab.js.map +1 -0
  112. package/lib/module/features/navigation/index.js +32 -0
  113. package/lib/module/features/navigation/index.js.map +1 -0
  114. package/lib/module/{hooks → features/navigation}/useNavigationLogger.js +2 -2
  115. package/lib/module/features/navigation/useNavigationLogger.js.map +1 -0
  116. package/lib/module/features/network/NetworkLogTab.js +400 -0
  117. package/lib/module/features/network/NetworkLogTab.js.map +1 -0
  118. package/lib/module/features/network/index.js +90 -0
  119. package/lib/module/features/network/index.js.map +1 -0
  120. package/lib/module/features/network/networkInterceptor.js +256 -0
  121. package/lib/module/features/network/networkInterceptor.js.map +1 -0
  122. package/lib/module/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.js +3 -2
  123. package/lib/module/features/thirdPartyLibs/ThirdPartyLibsTab.js.map +1 -0
  124. package/lib/module/features/{ThirdPartyLibsFeature.js → thirdPartyLibs/index.js} +4 -4
  125. package/lib/module/features/thirdPartyLibs/index.js.map +1 -0
  126. package/lib/module/{native/NativeDebugLibs.js → features/thirdPartyLibs/nativeDebugLibs.js} +1 -1
  127. package/lib/module/features/thirdPartyLibs/nativeDebugLibs.js.map +1 -0
  128. package/lib/module/features/track/TrackLogTab.js +225 -0
  129. package/lib/module/features/track/TrackLogTab.js.map +1 -0
  130. package/lib/module/features/track/index.js +32 -0
  131. package/lib/module/features/track/index.js.map +1 -0
  132. package/lib/module/features/zustand/ZustandLogTab.js +306 -0
  133. package/lib/module/features/zustand/ZustandLogTab.js.map +1 -0
  134. package/lib/module/features/zustand/index.js +53 -0
  135. package/lib/module/features/zustand/index.js.map +1 -0
  136. package/lib/module/index.js +11 -12
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/types/environment.js +2 -0
  139. package/lib/module/types/environment.js.map +1 -0
  140. package/lib/module/types/feature.js +4 -0
  141. package/lib/module/types/feature.js.map +1 -0
  142. package/lib/module/types/index.js +0 -2
  143. package/lib/module/types/logs.js +2 -0
  144. package/lib/module/types/logs.js.map +1 -0
  145. package/lib/module/types/navigation.js +2 -0
  146. package/lib/module/types/navigation.js.map +1 -0
  147. package/lib/module/types/thirdPartyLibs.js +2 -0
  148. package/lib/module/types/thirdPartyLibs.js.map +1 -0
  149. package/lib/module/ui/DebugView.js +61 -0
  150. package/lib/module/ui/DebugView.js.map +1 -0
  151. package/lib/module/ui/floating/FloatIcon.js +235 -0
  152. package/lib/module/ui/floating/FloatIcon.js.map +1 -0
  153. package/lib/module/ui/panel/DebugPanel.js +225 -0
  154. package/lib/module/ui/panel/DebugPanel.js.map +1 -0
  155. package/lib/module/ui/panel/FeatureTabBar.js +177 -0
  156. package/lib/module/ui/panel/FeatureTabBar.js.map +1 -0
  157. package/lib/module/ui/panel/FloatPanelView.js +233 -0
  158. package/lib/module/ui/panel/FloatPanelView.js.map +1 -0
  159. package/lib/module/{components → ui}/shared/CollapsibleSection.js +1 -1
  160. package/lib/module/ui/shared/CollapsibleSection.js.map +1 -0
  161. package/lib/module/{components → ui}/shared/CopyButton.js +1 -1
  162. package/lib/module/ui/shared/CopyButton.js.map +1 -0
  163. package/lib/module/ui/shared/JsonView.js.map +1 -0
  164. package/lib/module/ui/shared/LogListScreen.js +169 -0
  165. package/lib/module/ui/shared/LogListScreen.js.map +1 -0
  166. package/lib/module/ui/shared/useSlideDetailAnimation.js.map +1 -0
  167. package/lib/module/ui/theme/colors.js +38 -0
  168. package/lib/module/ui/theme/colors.js.map +1 -0
  169. package/lib/module/ui/theme/layout.js +4 -0
  170. package/lib/module/ui/theme/layout.js.map +1 -0
  171. package/lib/module/utils/createChannelFeature.js +58 -0
  172. package/lib/module/utils/createChannelFeature.js.map +1 -0
  173. package/lib/module/utils/createObservableStore.js +5 -0
  174. package/lib/module/utils/createObservableStore.js.map +1 -1
  175. package/lib/module/utils/createPersistedObservableStore.js +67 -0
  176. package/lib/module/utils/createPersistedObservableStore.js.map +1 -0
  177. package/lib/module/utils/debugPreferences.js +46 -0
  178. package/lib/module/utils/debugPreferences.js.map +1 -0
  179. package/lib/module/utils/urlRewriterRegistry.js +10 -0
  180. package/lib/module/utils/urlRewriterRegistry.js.map +1 -0
  181. package/lib/typescript/src/core/DebugToolkit.d.ts +17 -20
  182. package/lib/typescript/src/core/DebugToolkit.d.ts.map +1 -1
  183. package/lib/typescript/src/core/DebugToolkitProvider.d.ts +4 -7
  184. package/lib/typescript/src/core/DebugToolkitProvider.d.ts.map +1 -1
  185. package/lib/typescript/src/core/initialize.d.ts +32 -0
  186. package/lib/typescript/src/core/initialize.d.ts.map +1 -0
  187. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts +4 -0
  188. package/lib/typescript/src/features/clipboard/ClipboardTab.d.ts.map +1 -0
  189. package/lib/typescript/src/features/clipboard/index.d.ts +7 -0
  190. package/lib/typescript/src/features/clipboard/index.d.ts.map +1 -0
  191. package/lib/typescript/src/{components → features/console}/ConsoleLogTab.d.ts +2 -2
  192. package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -0
  193. package/lib/typescript/src/features/console/index.d.ts +9 -0
  194. package/lib/typescript/src/features/console/index.d.ts.map +1 -0
  195. package/lib/typescript/src/{components → features/environment}/EnvironmentTab.d.ts +1 -1
  196. package/lib/typescript/src/features/environment/EnvironmentTab.d.ts.map +1 -0
  197. package/lib/typescript/src/features/{EnvironmentFeature.d.ts → environment/index.d.ts} +2 -2
  198. package/lib/typescript/src/features/environment/index.d.ts.map +1 -0
  199. package/lib/typescript/src/{components → features/navigation}/NavigationLogTab.d.ts +2 -2
  200. package/lib/typescript/src/features/navigation/NavigationLogTab.d.ts.map +1 -0
  201. package/lib/typescript/src/features/{NavigationLogFeature.d.ts → navigation/index.d.ts} +5 -3
  202. package/lib/typescript/src/features/navigation/index.d.ts.map +1 -0
  203. package/lib/typescript/src/{hooks → features/navigation}/useNavigationLogger.d.ts +1 -8
  204. package/lib/typescript/src/features/navigation/useNavigationLogger.d.ts.map +1 -0
  205. package/lib/typescript/src/{components → features/network}/NetworkLogTab.d.ts +2 -2
  206. package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -0
  207. package/lib/typescript/src/features/network/index.d.ts +15 -0
  208. package/lib/typescript/src/features/network/index.d.ts.map +1 -0
  209. package/lib/typescript/src/features/network/networkInterceptor.d.ts +19 -0
  210. package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -0
  211. package/lib/typescript/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.d.ts +2 -2
  212. package/lib/typescript/src/features/thirdPartyLibs/ThirdPartyLibsTab.d.ts.map +1 -0
  213. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts +3 -0
  214. package/lib/typescript/src/features/thirdPartyLibs/index.d.ts.map +1 -0
  215. package/lib/typescript/src/{native/NativeDebugLibs.d.ts → features/thirdPartyLibs/nativeDebugLibs.d.ts} +1 -1
  216. package/lib/typescript/src/features/thirdPartyLibs/nativeDebugLibs.d.ts.map +1 -0
  217. package/lib/typescript/src/{components → features/track}/TrackLogTab.d.ts +2 -2
  218. package/lib/typescript/src/features/track/TrackLogTab.d.ts.map +1 -0
  219. package/lib/typescript/src/features/{TrackFeature.d.ts → track/index.d.ts} +5 -3
  220. package/lib/typescript/src/features/track/index.d.ts.map +1 -0
  221. package/lib/typescript/src/{components → features/zustand}/ZustandLogTab.d.ts +2 -2
  222. package/lib/typescript/src/features/zustand/ZustandLogTab.d.ts.map +1 -0
  223. package/lib/typescript/src/features/{ZustandLogFeature.d.ts → zustand/index.d.ts} +5 -3
  224. package/lib/typescript/src/features/zustand/index.d.ts.map +1 -0
  225. package/lib/typescript/src/index.d.ts +20 -20
  226. package/lib/typescript/src/index.d.ts.map +1 -1
  227. package/lib/typescript/src/types/environment.d.ts +11 -0
  228. package/lib/typescript/src/types/environment.d.ts.map +1 -0
  229. package/lib/typescript/src/types/feature.d.ts +23 -0
  230. package/lib/typescript/src/types/feature.d.ts.map +1 -0
  231. package/lib/typescript/src/types/index.d.ts +5 -111
  232. package/lib/typescript/src/types/index.d.ts.map +1 -1
  233. package/lib/typescript/src/types/logs.d.ts +51 -0
  234. package/lib/typescript/src/types/logs.d.ts.map +1 -0
  235. package/lib/typescript/src/types/navigation.d.ts +8 -0
  236. package/lib/typescript/src/types/navigation.d.ts.map +1 -0
  237. package/lib/typescript/src/types/thirdPartyLibs.d.ts +13 -0
  238. package/lib/typescript/src/types/thirdPartyLibs.d.ts.map +1 -0
  239. package/lib/typescript/src/ui/DebugView.d.ts +19 -0
  240. package/lib/typescript/src/ui/DebugView.d.ts.map +1 -0
  241. package/lib/typescript/src/ui/floating/FloatIcon.d.ts +12 -0
  242. package/lib/typescript/src/ui/floating/FloatIcon.d.ts.map +1 -0
  243. package/lib/typescript/src/ui/panel/DebugPanel.d.ts +9 -0
  244. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -0
  245. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +13 -0
  246. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +1 -0
  247. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts +12 -0
  248. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -0
  249. package/lib/typescript/src/ui/shared/CollapsibleSection.d.ts.map +1 -0
  250. package/lib/typescript/src/ui/shared/CopyButton.d.ts.map +1 -0
  251. package/lib/typescript/src/ui/shared/JsonView.d.ts.map +1 -0
  252. package/lib/typescript/src/ui/shared/LogListScreen.d.ts +21 -0
  253. package/lib/typescript/src/ui/shared/LogListScreen.d.ts.map +1 -0
  254. package/lib/typescript/src/ui/shared/useSlideDetailAnimation.d.ts.map +1 -0
  255. package/lib/typescript/src/ui/theme/colors.d.ts +21 -0
  256. package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -0
  257. package/lib/typescript/src/ui/theme/layout.d.ts +2 -0
  258. package/lib/typescript/src/ui/theme/layout.d.ts.map +1 -0
  259. package/lib/typescript/src/utils/createChannelFeature.d.ts +27 -0
  260. package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -0
  261. package/lib/typescript/src/utils/createObservableStore.d.ts +1 -0
  262. package/lib/typescript/src/utils/createObservableStore.d.ts.map +1 -1
  263. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +15 -0
  264. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -0
  265. package/lib/typescript/src/utils/debugPreferences.d.ts +10 -0
  266. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -0
  267. package/lib/typescript/src/utils/urlRewriterRegistry.d.ts +7 -0
  268. package/lib/typescript/src/utils/urlRewriterRegistry.d.ts.map +1 -0
  269. package/package.json +5 -1
  270. package/src/core/DebugToolkit.tsx +144 -142
  271. package/src/core/DebugToolkitProvider.tsx +44 -43
  272. package/src/core/initialize.ts +122 -0
  273. package/src/{components → features/clipboard}/ClipboardTab.tsx +10 -10
  274. package/src/features/clipboard/index.ts +15 -0
  275. package/src/features/console/ConsoleLogTab.tsx +95 -0
  276. package/src/features/console/index.ts +119 -0
  277. package/src/{components → features/environment}/EnvironmentTab.tsx +7 -7
  278. package/src/features/{EnvironmentFeature.ts → environment/index.ts} +27 -25
  279. package/src/{components → features/navigation}/NavigationLogTab.tsx +6 -5
  280. package/src/features/navigation/index.ts +44 -0
  281. package/src/{hooks → features/navigation}/useNavigationLogger.ts +3 -8
  282. package/src/features/network/NetworkLogTab.tsx +271 -0
  283. package/src/features/network/index.ts +113 -0
  284. package/src/features/network/networkInterceptor.ts +311 -0
  285. package/src/{components → features/thirdPartyLibs}/ThirdPartyLibsTab.tsx +6 -5
  286. package/src/features/{ThirdPartyLibsFeature.ts → thirdPartyLibs/index.ts} +5 -5
  287. package/src/features/track/TrackLogTab.tsx +110 -0
  288. package/src/features/track/index.ts +41 -0
  289. package/src/features/zustand/ZustandLogTab.tsx +203 -0
  290. package/src/features/{ZustandLogFeature.ts → zustand/index.ts} +19 -45
  291. package/src/index.ts +20 -24
  292. package/src/types/environment.ts +11 -0
  293. package/src/types/feature.ts +32 -0
  294. package/src/types/index.ts +29 -138
  295. package/src/types/logs.ts +54 -0
  296. package/src/types/navigation.ts +5 -0
  297. package/src/types/thirdPartyLibs.ts +13 -0
  298. package/src/ui/DebugView.tsx +80 -0
  299. package/src/ui/floating/FloatIcon.tsx +202 -0
  300. package/src/ui/panel/DebugPanel.tsx +215 -0
  301. package/src/ui/panel/FeatureTabBar.tsx +204 -0
  302. package/src/ui/panel/FloatPanelView.tsx +227 -0
  303. package/src/{components → ui}/shared/CollapsibleSection.tsx +1 -1
  304. package/src/{components → ui}/shared/CopyButton.tsx +1 -1
  305. package/src/ui/shared/LogListScreen.tsx +164 -0
  306. package/src/ui/theme/colors.ts +33 -0
  307. package/src/ui/theme/layout.ts +1 -0
  308. package/src/utils/createChannelFeature.ts +80 -0
  309. package/src/utils/createObservableStore.ts +6 -0
  310. package/src/utils/createPersistedObservableStore.ts +76 -0
  311. package/src/utils/debugPreferences.ts +48 -0
  312. package/src/utils/urlRewriterRegistry.ts +10 -0
  313. package/lib/commonjs/components/ClipboardTab.js.map +0 -1
  314. package/lib/commonjs/components/ConsoleLogTab.js +0 -295
  315. package/lib/commonjs/components/ConsoleLogTab.js.map +0 -1
  316. package/lib/commonjs/components/EnvironmentTab.js.map +0 -1
  317. package/lib/commonjs/components/FloatPanelView.js +0 -797
  318. package/lib/commonjs/components/FloatPanelView.js.map +0 -1
  319. package/lib/commonjs/components/NavigationLogTab.js.map +0 -1
  320. package/lib/commonjs/components/NetworkLogTab.js +0 -575
  321. package/lib/commonjs/components/NetworkLogTab.js.map +0 -1
  322. package/lib/commonjs/components/ThirdPartyLibsTab.js.map +0 -1
  323. package/lib/commonjs/components/TrackLogTab.js +0 -372
  324. package/lib/commonjs/components/TrackLogTab.js.map +0 -1
  325. package/lib/commonjs/components/ZustandLogTab.js +0 -451
  326. package/lib/commonjs/components/ZustandLogTab.js.map +0 -1
  327. package/lib/commonjs/components/shared/CollapsibleSection.js.map +0 -1
  328. package/lib/commonjs/components/shared/CopyButton.js.map +0 -1
  329. package/lib/commonjs/components/shared/JsonView.js.map +0 -1
  330. package/lib/commonjs/features/ClipboardFeature.js.map +0 -1
  331. package/lib/commonjs/features/ConsoleLogFeature.js +0 -98
  332. package/lib/commonjs/features/ConsoleLogFeature.js.map +0 -1
  333. package/lib/commonjs/features/EnvironmentFeature.js.map +0 -1
  334. package/lib/commonjs/features/NavigationLogFeature.js +0 -60
  335. package/lib/commonjs/features/NavigationLogFeature.js.map +0 -1
  336. package/lib/commonjs/features/NetworkFeature.js +0 -328
  337. package/lib/commonjs/features/NetworkFeature.js.map +0 -1
  338. package/lib/commonjs/features/ThirdPartyLibsFeature.js.map +0 -1
  339. package/lib/commonjs/features/TrackFeature.js +0 -55
  340. package/lib/commonjs/features/TrackFeature.js.map +0 -1
  341. package/lib/commonjs/features/ZustandLogFeature.js +0 -76
  342. package/lib/commonjs/features/ZustandLogFeature.js.map +0 -1
  343. package/lib/commonjs/hooks/useNavigationLogger.js.map +0 -1
  344. package/lib/commonjs/hooks/useSlideDetailAnimation.js.map +0 -1
  345. package/lib/commonjs/initialize.js +0 -161
  346. package/lib/commonjs/initialize.js.map +0 -1
  347. package/lib/commonjs/native/NativeDebugLibs.js.map +0 -1
  348. package/lib/commonjs/utils/constants.js +0 -135
  349. package/lib/commonjs/utils/constants.js.map +0 -1
  350. package/lib/module/components/ClipboardTab.js.map +0 -1
  351. package/lib/module/components/ConsoleLogTab.js +0 -290
  352. package/lib/module/components/ConsoleLogTab.js.map +0 -1
  353. package/lib/module/components/EnvironmentTab.js.map +0 -1
  354. package/lib/module/components/FloatPanelView.js +0 -791
  355. package/lib/module/components/FloatPanelView.js.map +0 -1
  356. package/lib/module/components/NavigationLogTab.js.map +0 -1
  357. package/lib/module/components/NetworkLogTab.js +0 -570
  358. package/lib/module/components/NetworkLogTab.js.map +0 -1
  359. package/lib/module/components/ThirdPartyLibsTab.js.map +0 -1
  360. package/lib/module/components/TrackLogTab.js +0 -367
  361. package/lib/module/components/TrackLogTab.js.map +0 -1
  362. package/lib/module/components/ZustandLogTab.js +0 -446
  363. package/lib/module/components/ZustandLogTab.js.map +0 -1
  364. package/lib/module/components/shared/CollapsibleSection.js.map +0 -1
  365. package/lib/module/components/shared/CopyButton.js.map +0 -1
  366. package/lib/module/components/shared/JsonView.js.map +0 -1
  367. package/lib/module/features/ClipboardFeature.js +0 -12
  368. package/lib/module/features/ClipboardFeature.js.map +0 -1
  369. package/lib/module/features/ConsoleLogFeature.js +0 -93
  370. package/lib/module/features/ConsoleLogFeature.js.map +0 -1
  371. package/lib/module/features/EnvironmentFeature.js.map +0 -1
  372. package/lib/module/features/NavigationLogFeature.js +0 -54
  373. package/lib/module/features/NavigationLogFeature.js.map +0 -1
  374. package/lib/module/features/NetworkFeature.js +0 -322
  375. package/lib/module/features/NetworkFeature.js.map +0 -1
  376. package/lib/module/features/ThirdPartyLibsFeature.js.map +0 -1
  377. package/lib/module/features/TrackFeature.js +0 -49
  378. package/lib/module/features/TrackFeature.js.map +0 -1
  379. package/lib/module/features/ZustandLogFeature.js +0 -69
  380. package/lib/module/features/ZustandLogFeature.js.map +0 -1
  381. package/lib/module/hooks/useNavigationLogger.js.map +0 -1
  382. package/lib/module/hooks/useSlideDetailAnimation.js.map +0 -1
  383. package/lib/module/initialize.js +0 -156
  384. package/lib/module/initialize.js.map +0 -1
  385. package/lib/module/native/NativeDebugLibs.js.map +0 -1
  386. package/lib/module/utils/constants.js +0 -130
  387. package/lib/module/utils/constants.js.map +0 -1
  388. package/lib/typescript/src/components/ClipboardTab.d.ts +0 -4
  389. package/lib/typescript/src/components/ClipboardTab.d.ts.map +0 -1
  390. package/lib/typescript/src/components/ConsoleLogTab.d.ts.map +0 -1
  391. package/lib/typescript/src/components/EnvironmentTab.d.ts.map +0 -1
  392. package/lib/typescript/src/components/FloatPanelView.d.ts +0 -64
  393. package/lib/typescript/src/components/FloatPanelView.d.ts.map +0 -1
  394. package/lib/typescript/src/components/NavigationLogTab.d.ts.map +0 -1
  395. package/lib/typescript/src/components/NetworkLogTab.d.ts.map +0 -1
  396. package/lib/typescript/src/components/ThirdPartyLibsTab.d.ts.map +0 -1
  397. package/lib/typescript/src/components/TrackLogTab.d.ts.map +0 -1
  398. package/lib/typescript/src/components/ZustandLogTab.d.ts.map +0 -1
  399. package/lib/typescript/src/components/shared/CollapsibleSection.d.ts.map +0 -1
  400. package/lib/typescript/src/components/shared/CopyButton.d.ts.map +0 -1
  401. package/lib/typescript/src/components/shared/JsonView.d.ts.map +0 -1
  402. package/lib/typescript/src/features/ClipboardFeature.d.ts +0 -3
  403. package/lib/typescript/src/features/ClipboardFeature.d.ts.map +0 -1
  404. package/lib/typescript/src/features/ConsoleLogFeature.d.ts +0 -7
  405. package/lib/typescript/src/features/ConsoleLogFeature.d.ts.map +0 -1
  406. package/lib/typescript/src/features/EnvironmentFeature.d.ts.map +0 -1
  407. package/lib/typescript/src/features/NavigationLogFeature.d.ts.map +0 -1
  408. package/lib/typescript/src/features/NetworkFeature.d.ts +0 -28
  409. package/lib/typescript/src/features/NetworkFeature.d.ts.map +0 -1
  410. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts +0 -3
  411. package/lib/typescript/src/features/ThirdPartyLibsFeature.d.ts.map +0 -1
  412. package/lib/typescript/src/features/TrackFeature.d.ts.map +0 -1
  413. package/lib/typescript/src/features/ZustandLogFeature.d.ts.map +0 -1
  414. package/lib/typescript/src/hooks/useNavigationLogger.d.ts.map +0 -1
  415. package/lib/typescript/src/hooks/useSlideDetailAnimation.d.ts.map +0 -1
  416. package/lib/typescript/src/initialize.d.ts +0 -51
  417. package/lib/typescript/src/initialize.d.ts.map +0 -1
  418. package/lib/typescript/src/native/NativeDebugLibs.d.ts.map +0 -1
  419. package/lib/typescript/src/utils/constants.d.ts +0 -96
  420. package/lib/typescript/src/utils/constants.d.ts.map +0 -1
  421. package/src/components/ConsoleLogTab.tsx +0 -209
  422. package/src/components/FloatPanelView.tsx +0 -714
  423. package/src/components/NetworkLogTab.tsx +0 -411
  424. package/src/components/TrackLogTab.tsx +0 -245
  425. package/src/components/ZustandLogTab.tsx +0 -305
  426. package/src/features/ClipboardFeature.ts +0 -11
  427. package/src/features/ConsoleLogFeature.ts +0 -118
  428. package/src/features/NavigationLogFeature.ts +0 -74
  429. package/src/features/NetworkFeature.ts +0 -488
  430. package/src/features/TrackFeature.ts +0 -69
  431. package/src/initialize.ts +0 -214
  432. package/src/utils/constants.ts +0 -91
  433. /package/lib/commonjs/{components → ui}/shared/JsonView.js +0 -0
  434. /package/lib/commonjs/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  435. /package/lib/module/{components → ui}/shared/JsonView.js +0 -0
  436. /package/lib/module/{hooks → ui/shared}/useSlideDetailAnimation.js +0 -0
  437. /package/lib/typescript/src/{components → ui}/shared/CollapsibleSection.d.ts +0 -0
  438. /package/lib/typescript/src/{components → ui}/shared/CopyButton.d.ts +0 -0
  439. /package/lib/typescript/src/{components → ui}/shared/JsonView.d.ts +0 -0
  440. /package/lib/typescript/src/{hooks → ui/shared}/useSlideDetailAnimation.d.ts +0 -0
  441. /package/src/{native/NativeDebugLibs.ts → features/thirdPartyLibs/nativeDebugLibs.ts} +0 -0
  442. /package/src/{components → ui}/shared/JsonView.tsx +0 -0
  443. /package/src/{hooks → ui/shared}/useSlideDetailAnimation.ts +0 -0
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createChannelFeature = createChannelFeature;
7
+ var _createObservableStore = require("./createObservableStore");
8
+ var _createPersistedObservableStore = require("./createPersistedObservableStore");
9
+ const DEFAULT_MAX_LOGS = 200;
10
+ /**
11
+ * Generic factory for features that subscribe to an event channel.
12
+ * Eliminates boilerplate across channel-based features (Track, Navigation, Zustand).
13
+ *
14
+ * @param getChannel - Function returning the current channel (supports test resets)
15
+ * @param toEntry - Maps a payload + auto-generated id to a typed log entry
16
+ * @param options - Feature name, label, render component, and optional maxLogs
17
+ */
18
+ function createChannelFeature(getChannel, toEntry, options) {
19
+ const maxLogs = options.maxLogs ?? DEFAULT_MAX_LOGS;
20
+ let nextId = 0;
21
+ let logStore;
22
+ let getId;
23
+ if (options.persist) {
24
+ const persisted = (0, _createPersistedObservableStore.createPersistedObservableStore)({
25
+ storageKey: options.persist.storageKey,
26
+ maxPersist: options.persist.maxPersist,
27
+ debounceMs: options.persist.debounceMs,
28
+ serialize: options.persist.serialize
29
+ });
30
+ logStore = persisted;
31
+ getId = () => persisted.nextId();
32
+ } else {
33
+ logStore = (0, _createObservableStore.createObservableStore)();
34
+ getId = () => String(nextId++);
35
+ }
36
+ let initialized = false;
37
+ let unsubscribe = null;
38
+ return {
39
+ name: options.name,
40
+ label: options.label,
41
+ renderContent: options.renderContent,
42
+ setup: () => {
43
+ if (initialized) return;
44
+ unsubscribe = getChannel().subscribe(payload => {
45
+ logStore.push(toEntry(payload, getId()), maxLogs);
46
+ });
47
+ initialized = true;
48
+ },
49
+ getSnapshot: () => logStore.getData(),
50
+ clear: () => {
51
+ logStore.clear();
52
+ },
53
+ cleanup: () => {
54
+ unsubscribe?.();
55
+ unsubscribe = null;
56
+ logStore.clear();
57
+ initialized = false;
58
+ },
59
+ subscribe: listener => logStore.subscribe(listener)
60
+ };
61
+ }
62
+ //# sourceMappingURL=createChannelFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_createObservableStore","require","_createPersistedObservableStore","DEFAULT_MAX_LOGS","createChannelFeature","getChannel","toEntry","options","maxLogs","nextId","logStore","getId","persist","persisted","createPersistedObservableStore","storageKey","maxPersist","debounceMs","serialize","createObservableStore","String","initialized","unsubscribe","name","label","renderContent","setup","subscribe","payload","push","getSnapshot","getData","clear","cleanup","listener"],"sourceRoot":"../../../src","sources":["utils/createChannelFeature.ts"],"mappings":";;;;;;AAGA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AAEA,MAAME,gBAAgB,GAAG,GAAG;AAS5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAClCC,UAAwC,EACxCC,OAAkD,EAClDC,OAMC,EACuB;EACxB,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAIL,gBAAgB;EACnD,IAAIM,MAAM,GAAG,CAAC;EACd,IAAIC,QAAiC;EACrC,IAAIC,KAAmB;EAEvB,IAAIJ,OAAO,CAACK,OAAO,EAAE;IACnB,MAAMC,SAAS,GAAG,IAAAC,8DAA8B,EAAS;MACvDC,UAAU,EAAER,OAAO,CAACK,OAAO,CAACG,UAAU;MACtCC,UAAU,EAAET,OAAO,CAACK,OAAO,CAACI,UAAU;MACtCC,UAAU,EAAEV,OAAO,CAACK,OAAO,CAACK,UAAU;MACtCC,SAAS,EAAEX,OAAO,CAACK,OAAO,CAACM;IAC7B,CAAC,CAAC;IACFR,QAAQ,GAAGG,SAAS;IACpBF,KAAK,GAAGA,CAAA,KAAME,SAAS,CAACJ,MAAM,CAAC,CAAC;EAClC,CAAC,MAAM;IACLC,QAAQ,GAAG,IAAAS,4CAAqB,EAAS,CAAC;IAC1CR,KAAK,GAAGA,CAAA,KAAMS,MAAM,CAACX,MAAM,EAAE,CAAC;EAChC;EAEA,IAAIY,WAAW,GAAG,KAAK;EACvB,IAAIC,WAAgC,GAAG,IAAI;EAE3C,OAAO;IACLC,IAAI,EAAEhB,OAAO,CAACgB,IAAI;IAClBC,KAAK,EAAEjB,OAAO,CAACiB,KAAK;IACpBC,aAAa,EAAElB,OAAO,CAACkB,aAAa;IACpCC,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIL,WAAW,EAAE;MACjBC,WAAW,GAAGjB,UAAU,CAAC,CAAC,CAACsB,SAAS,CAAEC,OAAO,IAAK;QAChDlB,QAAQ,CAACmB,IAAI,CAACvB,OAAO,CAACsB,OAAO,EAAEjB,KAAK,CAAC,CAAC,CAAC,EAAEH,OAAO,CAAC;MACnD,CAAC,CAAC;MACFa,WAAW,GAAG,IAAI;IACpB,CAAC;IACDS,WAAW,EAAEA,CAAA,KAAMpB,QAAQ,CAACqB,OAAO,CAAC,CAAC;IACrCC,KAAK,EAAEA,CAAA,KAAM;MACXtB,QAAQ,CAACsB,KAAK,CAAC,CAAC;IAClB,CAAC;IACDC,OAAO,EAAEA,CAAA,KAAM;MACbX,WAAW,GAAG,CAAC;MACfA,WAAW,GAAG,IAAI;MAClBZ,QAAQ,CAACsB,KAAK,CAAC,CAAC;MAChBX,WAAW,GAAG,KAAK;IACrB,CAAC;IACDM,SAAS,EAAGO,QAA8B,IAAKxB,QAAQ,CAACiB,SAAS,CAACO,QAAQ;EAC5E,CAAC;AACH","ignoreList":[]}
@@ -20,6 +20,11 @@ function createObservableStore() {
20
20
  }
21
21
  notify();
22
22
  },
23
+ pushBatch: items => {
24
+ if (items.length === 0) return;
25
+ data = [...data, ...items];
26
+ notify();
27
+ },
23
28
  clear: () => {
24
29
  if (data.length === 0) {
25
30
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["createObservableStore","data","listeners","Set","notify","forEach","listener","getData","push","item","maxEntries","length","slice","clear","subscribe","add","delete"],"sourceRoot":"../../../src","sources":["utils/createObservableStore.ts"],"mappings":";;;;;;AASO,SAASA,qBAAqBA,CAAA,EAA0B;EAC7D,IAAIC,IAAS,GAAG,EAAE;EAClB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAE1C,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACnBF,SAAS,CAACG,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAC7C,CAAC;EAED,OAAO;IACLC,OAAO,EAAEA,CAAA,KAAMN,IAAI;IACnBO,IAAI,EAAEA,CAACC,IAAI,EAAEC,UAAU,KAAK;MAC1B,IAAIA,UAAU,IAAIT,IAAI,CAACU,MAAM,IAAID,UAAU,EAAE;QAC3CT,IAAI,GAAG,CAAC,GAAGA,IAAI,CAACW,KAAK,CAACX,IAAI,CAACU,MAAM,GAAGD,UAAU,GAAG,CAAC,CAAC,EAAED,IAAI,CAAC;MAC5D,CAAC,MAAM;QACLR,IAAI,GAAG,CAAC,GAAGA,IAAI,EAAEQ,IAAI,CAAC;MACxB;MACAL,MAAM,CAAC,CAAC;IACV,CAAC;IACDS,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIZ,IAAI,CAACU,MAAM,KAAK,CAAC,EAAE;QACrB;MACF;MACAV,IAAI,GAAG,EAAE;MACTG,MAAM,CAAC,CAAC;IACV,CAAC;IACDU,SAAS,EAAGR,QAAQ,IAAK;MACvBJ,SAAS,CAACa,GAAG,CAACT,QAAQ,CAAC;MACvB,OAAO,MAAM;QACXJ,SAAS,CAACc,MAAM,CAACV,QAAQ,CAAC;MAC5B,CAAC;IACH;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["createObservableStore","data","listeners","Set","notify","forEach","listener","getData","push","item","maxEntries","length","slice","pushBatch","items","clear","subscribe","add","delete"],"sourceRoot":"../../../src","sources":["utils/createObservableStore.ts"],"mappings":";;;;;;AAUO,SAASA,qBAAqBA,CAAA,EAA0B;EAC7D,IAAIC,IAAS,GAAG,EAAE;EAClB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAE1C,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACnBF,SAAS,CAACG,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAC7C,CAAC;EAED,OAAO;IACLC,OAAO,EAAEA,CAAA,KAAMN,IAAI;IACnBO,IAAI,EAAEA,CAACC,IAAI,EAAEC,UAAU,KAAK;MAC1B,IAAIA,UAAU,IAAIT,IAAI,CAACU,MAAM,IAAID,UAAU,EAAE;QAC3CT,IAAI,GAAG,CAAC,GAAGA,IAAI,CAACW,KAAK,CAACX,IAAI,CAACU,MAAM,GAAGD,UAAU,GAAG,CAAC,CAAC,EAAED,IAAI,CAAC;MAC5D,CAAC,MAAM;QACLR,IAAI,GAAG,CAAC,GAAGA,IAAI,EAAEQ,IAAI,CAAC;MACxB;MACAL,MAAM,CAAC,CAAC;IACV,CAAC;IACDS,SAAS,EAAGC,KAAK,IAAK;MACpB,IAAIA,KAAK,CAACH,MAAM,KAAK,CAAC,EAAE;MACxBV,IAAI,GAAG,CAAC,GAAGA,IAAI,EAAE,GAAGa,KAAK,CAAC;MAC1BV,MAAM,CAAC,CAAC;IACV,CAAC;IACDW,KAAK,EAAEA,CAAA,KAAM;MACX,IAAId,IAAI,CAACU,MAAM,KAAK,CAAC,EAAE;QACrB;MACF;MACAV,IAAI,GAAG,EAAE;MACTG,MAAM,CAAC,CAAC;IACV,CAAC;IACDY,SAAS,EAAGV,QAAQ,IAAK;MACvBJ,SAAS,CAACe,GAAG,CAACX,QAAQ,CAAC;MACvB,OAAO,MAAM;QACXJ,SAAS,CAACgB,MAAM,CAACZ,QAAQ,CAAC;MAC5B,CAAC;IACH;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPersistedObservableStore = createPersistedObservableStore;
7
+ var _createObservableStore = require("./createObservableStore");
8
+ var _debugPreferences = require("./debugPreferences");
9
+ function createPersistedObservableStore(options) {
10
+ const {
11
+ storageKey,
12
+ maxPersist,
13
+ debounceMs = 2000,
14
+ serialize
15
+ } = options;
16
+ const store = (0, _createObservableStore.createObservableStore)();
17
+ let writeTimer = null;
18
+ let idCounter = 0;
19
+
20
+ // Restore from storage (single notify via pushBatch)
21
+ (0, _debugPreferences.getPreference)(storageKey).then(raw => {
22
+ if (!raw) return;
23
+ try {
24
+ const entries = JSON.parse(raw);
25
+ if (!Array.isArray(entries)) return;
26
+ const restored = entries.slice(-maxPersist);
27
+ store.pushBatch(restored);
28
+ // Fix ID counter to avoid collision with restored entries
29
+ let max = 0;
30
+ for (const e of restored) {
31
+ const n = parseInt(e.id ?? '', 10);
32
+ if (!isNaN(n) && n >= max) max = n + 1;
33
+ }
34
+ idCounter = max;
35
+ } catch {
36
+ // ignore corrupt data
37
+ }
38
+ });
39
+ function scheduleWrite() {
40
+ if (writeTimer !== null) clearTimeout(writeTimer);
41
+ writeTimer = setTimeout(() => {
42
+ writeTimer = null;
43
+ const data = store.getData().slice(-maxPersist);
44
+ const toStore = serialize ? data.map(serialize) : data;
45
+ try {
46
+ (0, _debugPreferences.setPreference)(storageKey, JSON.stringify(toStore));
47
+ } catch {
48
+ // stringify failed (circular refs, etc) — skip write
49
+ }
50
+ }, debounceMs);
51
+ }
52
+ return {
53
+ getData: store.getData,
54
+ push: (item, maxEntries) => {
55
+ store.push(item, maxEntries);
56
+ scheduleWrite();
57
+ },
58
+ pushBatch: store.pushBatch,
59
+ clear: () => {
60
+ store.clear();
61
+ if (writeTimer !== null) {
62
+ clearTimeout(writeTimer);
63
+ writeTimer = null;
64
+ }
65
+ (0, _debugPreferences.setPreference)(storageKey, '[]');
66
+ },
67
+ subscribe: store.subscribe,
68
+ nextId: () => String(idCounter++)
69
+ };
70
+ }
71
+ //# sourceMappingURL=createPersistedObservableStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_createObservableStore","require","_debugPreferences","createPersistedObservableStore","options","storageKey","maxPersist","debounceMs","serialize","store","createObservableStore","writeTimer","idCounter","getPreference","then","raw","entries","JSON","parse","Array","isArray","restored","slice","pushBatch","max","e","n","parseInt","id","isNaN","scheduleWrite","clearTimeout","setTimeout","data","getData","toStore","map","setPreference","stringify","push","item","maxEntries","clear","subscribe","nextId","String"],"sourceRoot":"../../../src","sources":["utils/createPersistedObservableStore.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAcO,SAASE,8BAA8BA,CAC5CC,OAAiC,EACJ;EAC7B,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC,UAAU,GAAG,IAAI;IAAEC;EAAU,CAAC,GAAGJ,OAAO;EACxE,MAAMK,KAAK,GAAG,IAAAC,4CAAqB,EAAI,CAAC;EACxC,IAAIC,UAAgD,GAAG,IAAI;EAC3D,IAAIC,SAAS,GAAG,CAAC;;EAEjB;EACA,IAAAC,+BAAa,EAACR,UAAU,CAAC,CAACS,IAAI,CAAEC,GAAG,IAAK;IACtC,IAAI,CAACA,GAAG,EAAE;IACV,IAAI;MACF,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAQ;MACtC,IAAI,CAACI,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAE;MAC7B,MAAMK,QAAQ,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAChB,UAAU,CAAC;MAC3CG,KAAK,CAACc,SAAS,CAACF,QAAQ,CAAC;MACzB;MACA,IAAIG,GAAG,GAAG,CAAC;MACX,KAAK,MAAMC,CAAC,IAAIJ,QAAQ,EAAE;QACxB,MAAMK,CAAC,GAAGC,QAAQ,CAACF,CAAC,CAACG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAClC,IAAI,CAACC,KAAK,CAACH,CAAC,CAAC,IAAIA,CAAC,IAAIF,GAAG,EAAEA,GAAG,GAAGE,CAAC,GAAG,CAAC;MACxC;MACAd,SAAS,GAAGY,GAAG;IACjB,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC,CAAC;EAEF,SAASM,aAAaA,CAAA,EAAS;IAC7B,IAAInB,UAAU,KAAK,IAAI,EAAEoB,YAAY,CAACpB,UAAU,CAAC;IACjDA,UAAU,GAAGqB,UAAU,CAAC,MAAM;MAC5BrB,UAAU,GAAG,IAAI;MACjB,MAAMsB,IAAI,GAAGxB,KAAK,CAACyB,OAAO,CAAC,CAAC,CAACZ,KAAK,CAAC,CAAChB,UAAU,CAAC;MAC/C,MAAM6B,OAAO,GAAG3B,SAAS,GAAGyB,IAAI,CAACG,GAAG,CAAC5B,SAAS,CAAC,GAAGyB,IAAI;MACtD,IAAI;QACF,IAAAI,+BAAa,EAAChC,UAAU,EAAEY,IAAI,CAACqB,SAAS,CAACH,OAAO,CAAC,CAAC;MACpD,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC,EAAE5B,UAAU,CAAC;EAChB;EAEA,OAAO;IACL2B,OAAO,EAAEzB,KAAK,CAACyB,OAAO;IACtBK,IAAI,EAAEA,CAACC,IAAI,EAAEC,UAAU,KAAK;MAC1BhC,KAAK,CAAC8B,IAAI,CAACC,IAAI,EAAEC,UAAU,CAAC;MAC5BX,aAAa,CAAC,CAAC;IACjB,CAAC;IACDP,SAAS,EAAEd,KAAK,CAACc,SAAS;IAC1BmB,KAAK,EAAEA,CAAA,KAAM;MACXjC,KAAK,CAACiC,KAAK,CAAC,CAAC;MACb,IAAI/B,UAAU,KAAK,IAAI,EAAE;QACvBoB,YAAY,CAACpB,UAAU,CAAC;QACxBA,UAAU,GAAG,IAAI;MACnB;MACA,IAAA0B,+BAAa,EAAChC,UAAU,EAAE,IAAI,CAAC;IACjC,CAAC;IACDsC,SAAS,EAAElC,KAAK,CAACkC,SAAS;IAC1BC,MAAM,EAAEA,CAAA,KAAMC,MAAM,CAACjC,SAAS,EAAE;EAClC,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KEYS = void 0;
7
+ exports.getPreference = getPreference;
8
+ exports.setPreference = setPreference;
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+
11
+ const memoryStore = new Map();
12
+ function loadAsyncStorage() {
13
+ try {
14
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
15
+ const mod = require('@react-native-async-storage/async-storage');
16
+ if (mod && typeof mod.getItem === 'function') return mod;
17
+ return null;
18
+ } catch {
19
+ return null;
20
+ }
21
+ }
22
+ async function setPreference(key, value) {
23
+ memoryStore.set(key, value);
24
+ const AsyncStorage = loadAsyncStorage();
25
+ if (AsyncStorage) {
26
+ try {
27
+ await AsyncStorage.setItem(key, value);
28
+ } catch {
29
+ // degrade to memory only
30
+ }
31
+ }
32
+ }
33
+ async function getPreference(key) {
34
+ const AsyncStorage = loadAsyncStorage();
35
+ if (AsyncStorage) {
36
+ try {
37
+ const val = await AsyncStorage.getItem(key);
38
+ if (val !== null) return val;
39
+ } catch {
40
+ // fall through to memory
41
+ }
42
+ }
43
+ return memoryStore.get(key) ?? null;
44
+ }
45
+ const KEYS = exports.KEYS = {
46
+ fabPosition: '@react_native_debug_toolkit/fab_position',
47
+ lastTab: '@react_native_debug_toolkit/last_tab',
48
+ consoleLogs: '@react_native_debug_toolkit/console_logs',
49
+ networkLogs: '@react_native_debug_toolkit/network_logs',
50
+ trackLogs: '@react_native_debug_toolkit/track_logs'
51
+ };
52
+ //# sourceMappingURL=debugPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memoryStore","Map","loadAsyncStorage","mod","require","getItem","setPreference","key","value","set","AsyncStorage","setItem","getPreference","val","get","KEYS","exports","fabPosition","lastTab","consoleLogs","networkLogs","trackLogs"],"sourceRoot":"../../../src","sources":["utils/debugPreferences.ts"],"mappings":";;;;;;;;AAAA;;AAGA,MAAMA,WAAW,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAE7C,SAASC,gBAAgBA,CAAA,EAA4B;EACnD,IAAI;IACF;IACA,MAAMC,GAAG,GAAGC,OAAO,CAAC,2CAA2C,CAAC;IAChE,IAAID,GAAG,IAAI,OAAOA,GAAG,CAACE,OAAO,KAAK,UAAU,EAAE,OAAOF,GAAG;IACxD,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEO,eAAeG,aAAaA,CAACC,GAAW,EAAEC,KAAa,EAAiB;EAC7ER,WAAW,CAACS,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;EAC3B,MAAME,YAAY,GAAGR,gBAAgB,CAAC,CAAC;EACvC,IAAIQ,YAAY,EAAE;IAChB,IAAI;MACF,MAAMA,YAAY,CAACC,OAAO,CAACJ,GAAG,EAAEC,KAAK,CAAC;IACxC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;AAEO,eAAeI,aAAaA,CAACL,GAAW,EAA0B;EACvE,MAAMG,YAAY,GAAGR,gBAAgB,CAAC,CAAC;EACvC,IAAIQ,YAAY,EAAE;IAChB,IAAI;MACF,MAAMG,GAAG,GAAG,MAAMH,YAAY,CAACL,OAAO,CAACE,GAAG,CAAC;MAC3C,IAAIM,GAAG,KAAK,IAAI,EAAE,OAAOA,GAAG;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,OAAOb,WAAW,CAACc,GAAG,CAACP,GAAG,CAAC,IAAI,IAAI;AACrC;AAEO,MAAMQ,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,WAAW,EAAE,0CAA0C;EACvDC,OAAO,EAAE,sCAAsC;EAC/CC,WAAW,EAAE,0CAA0C;EACvDC,WAAW,EAAE,0CAA0C;EACvDC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.urlRewriter = void 0;
7
+ let current = null;
8
+ const urlRewriter = exports.urlRewriter = {
9
+ get: () => current,
10
+ set: rewriter => {
11
+ current = rewriter;
12
+ }
13
+ };
14
+ //# sourceMappingURL=urlRewriterRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["current","urlRewriter","exports","get","set","rewriter"],"sourceRoot":"../../../src","sources":["utils/urlRewriterRegistry.ts"],"mappings":";;;;;;AAEA,IAAIA,OAA2B,GAAG,IAAI;AAE/B,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,GAAG,EAAEA,CAAA,KAA0BH,OAAO;EACtCI,GAAG,EAAGC,QAA4B,IAAW;IAC3CL,OAAO,GAAGK,QAAQ;EACpB;AACF,CAAC","ignoreList":[]}
@@ -1,137 +1,140 @@
1
1
  "use strict";
2
2
 
3
- export class DebugToolkit {
4
- static instance = null;
5
- _features = [];
6
- _panelVisible = false;
7
- renderCallback = null;
8
- constructor(enabled = true) {
9
- this._enabled = enabled;
10
- }
11
- static getInstance(enabled = true) {
12
- if (!DebugToolkit.instance) {
13
- DebugToolkit.instance = new DebugToolkit(enabled);
14
- } else {
15
- DebugToolkit.instance._enabled = enabled;
16
- }
17
- return DebugToolkit.instance;
18
- }
3
+ const listeners = new Set();
4
+ let _features = [];
5
+ let _launcherVisible = false;
6
+ let _panelOpen = false;
7
+ let _enabled = true;
8
+ function notify() {
9
+ listeners.forEach(l => l());
10
+ }
11
+ function setupFeature(feature) {
12
+ feature.setup?.();
13
+ }
14
+ function cleanupFeature(feature) {
15
+ feature.cleanup?.();
16
+ }
17
+ export const DebugToolkit = {
18
+ subscribe(listener) {
19
+ listeners.add(listener);
20
+ return () => {
21
+ listeners.delete(listener);
22
+ };
23
+ },
19
24
  get features() {
20
- return [...this._features];
21
- }
25
+ return [..._features];
26
+ },
22
27
  get enabled() {
23
- return this._enabled;
24
- }
25
- get panelVisible() {
26
- return this._panelVisible;
27
- }
28
- registerRenderCallback(cb) {
29
- if (this.renderCallback) {
30
- console.warn('[DebugToolkit] A render callback is already registered. Overwriting. ' + 'Make sure only one <DebugToolkitProvider> is mounted at a time.');
31
- }
32
- this.renderCallback = cb;
33
- }
34
- unregisterRenderCallback() {
35
- this.renderCallback = null;
36
- }
28
+ return _enabled;
29
+ },
30
+ get launcherVisible() {
31
+ return _launcherVisible;
32
+ },
37
33
  setEnabled(enabled) {
38
- if (this._enabled === enabled) {
39
- return;
40
- }
41
- this._enabled = enabled;
34
+ if (_enabled === enabled) return;
35
+ _enabled = enabled;
42
36
  if (!enabled) {
43
- this.hidePanel();
44
- this._features.forEach(feature => feature.cleanup?.());
45
- this._features = [];
37
+ _launcherVisible = false;
38
+ _features.forEach(cleanupFeature);
39
+ _features = [];
46
40
  }
47
- }
48
- updatePanel() {
49
- this.renderCallback?.();
50
- }
41
+ notify();
42
+ },
43
+ replaceFeatures(features) {
44
+ if (!_enabled) return;
45
+ const next = features.filter((f, i, arr) => f && typeof f.name === 'string' && arr.findIndex(item => item.name === f.name) === i);
46
+ const prevMap = new Map(_features.map(f => [f.name, f]));
47
+ const nextMap = new Map(next.map(f => [f.name, f]));
48
+ _features.forEach(f => {
49
+ if (!nextMap.get(f.name) || nextMap.get(f.name) !== f) cleanupFeature(f);
50
+ });
51
+ next.forEach(f => {
52
+ if (!prevMap.get(f.name) || prevMap.get(f.name) !== f) setupFeature(f);
53
+ });
54
+ _features = next;
55
+ notify();
56
+ },
51
57
  addFeature(feature) {
52
- if (!this._enabled) {
58
+ if (!_enabled || !feature || typeof feature.name !== 'string') {
53
59
  return;
54
60
  }
55
- if (feature && typeof feature.name === 'string') {
56
- const existingIndex = this._features.findIndex(item => item.name === feature.name);
57
- if (existingIndex >= 0) {
58
- const currentFeature = this._features[existingIndex];
59
- if (currentFeature === feature) {
60
- return;
61
- }
62
- currentFeature.cleanup?.();
63
- this._features = this._features.map((item, index) => index === existingIndex ? feature : item);
64
- } else {
65
- this._features = [...this._features, feature];
61
+ const existingIndex = _features.findIndex(f => f.name === feature.name);
62
+ if (existingIndex >= 0) {
63
+ const existing = _features[existingIndex];
64
+ if (existing === feature) {
65
+ return;
66
66
  }
67
- feature.setup?.();
68
- this.updatePanel();
67
+ cleanupFeature(existing);
68
+ setupFeature(feature);
69
+ _features = [..._features.slice(0, existingIndex), feature, ..._features.slice(existingIndex + 1)];
70
+ notify();
71
+ return;
69
72
  }
70
- }
73
+ setupFeature(feature);
74
+ _features = [..._features, feature];
75
+ notify();
76
+ },
71
77
  removeFeature(name) {
72
- const idx = this._features.findIndex(f => f.name === name);
73
- if (idx >= 0) {
74
- this._features[idx].cleanup?.();
75
- this._features = this._features.filter(feature => feature.name !== name);
76
- this.updatePanel();
78
+ if (!_enabled) {
79
+ return;
77
80
  }
78
- }
79
- replaceFeatures(features) {
80
- if (!this._enabled) {
81
+ const feature = _features.find(f => f.name === name);
82
+ if (!feature) {
81
83
  return;
82
84
  }
83
- const nextFeatures = features.filter((feature, index, array) => feature && typeof feature.name === 'string' && array.findIndex(item => item.name === feature.name) === index);
84
- const previousByName = new Map(this._features.map(feature => [feature.name, feature]));
85
- const nextByName = new Map(nextFeatures.map(feature => [feature.name, feature]));
86
- this._features.forEach(feature => {
87
- const nextFeature = nextByName.get(feature.name);
88
- if (!nextFeature || nextFeature !== feature) {
89
- feature.cleanup?.();
90
- }
91
- });
92
- nextFeatures.forEach(feature => {
93
- const currentFeature = previousByName.get(feature.name);
94
- if (!currentFeature || currentFeature !== feature) {
95
- feature.setup?.();
96
- }
97
- });
98
- this._features = nextFeatures;
99
- this.updatePanel();
100
- }
85
+ cleanupFeature(feature);
86
+ _features = _features.filter(f => f.name !== name);
87
+ if (_features.length === 0) {
88
+ _launcherVisible = false;
89
+ }
90
+ notify();
91
+ },
101
92
  reset() {
102
- this.hidePanel();
103
- this._features.forEach(feature => feature.cleanup?.());
104
- this._features = [];
105
- }
93
+ _launcherVisible = false;
94
+ _panelOpen = false;
95
+ _features.forEach(cleanupFeature);
96
+ _features = [];
97
+ notify();
98
+ },
106
99
  hasFeatures() {
107
- return this._features.length > 0;
108
- }
109
- showPanel() {
110
- if (!this._enabled) {
111
- return;
100
+ return _features.length > 0;
101
+ },
102
+ get panelOpen() {
103
+ return _panelOpen;
104
+ },
105
+ openPanel() {
106
+ if (!_enabled || _panelOpen) return;
107
+ _panelOpen = true;
108
+ notify();
109
+ },
110
+ closePanel() {
111
+ if (!_panelOpen) return;
112
+ _panelOpen = false;
113
+ notify();
114
+ },
115
+ togglePanel() {
116
+ if (_panelOpen) {
117
+ DebugToolkit.closePanel();
118
+ } else {
119
+ DebugToolkit.openPanel();
112
120
  }
113
- this._panelVisible = true;
114
- this.updatePanel();
115
- }
116
- hidePanel() {
117
- this._panelVisible = false;
118
- this.updatePanel();
119
- }
121
+ },
122
+ showLauncher() {
123
+ if (!_enabled) return;
124
+ _launcherVisible = true;
125
+ notify();
126
+ },
127
+ hideLauncher() {
128
+ _launcherVisible = false;
129
+ notify();
130
+ },
120
131
  clearAll() {
121
- this._features.forEach(f => {
122
- if (f.clear) {
123
- f.clear();
124
- } else {
125
- f.cleanup?.();
126
- f.setup?.();
127
- }
128
- });
129
- this.updatePanel();
130
- }
132
+ _features.forEach(f => f.clear?.());
133
+ notify();
134
+ },
131
135
  destroy() {
132
- this.reset();
133
- this.unregisterRenderCallback();
134
- DebugToolkit.instance = null;
136
+ DebugToolkit.reset();
137
+ listeners.clear();
135
138
  }
136
- }
139
+ };
137
140
  //# sourceMappingURL=DebugToolkit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DebugToolkit","instance","_features","_panelVisible","renderCallback","constructor","enabled","_enabled","getInstance","features","panelVisible","registerRenderCallback","cb","console","warn","unregisterRenderCallback","setEnabled","hidePanel","forEach","feature","cleanup","updatePanel","addFeature","name","existingIndex","findIndex","item","currentFeature","map","index","setup","removeFeature","idx","f","filter","replaceFeatures","nextFeatures","array","previousByName","Map","nextByName","nextFeature","get","reset","hasFeatures","length","showPanel","clearAll","clear","destroy"],"sourceRoot":"../../../src","sources":["core/DebugToolkit.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["listeners","Set","_features","_launcherVisible","_panelOpen","_enabled","notify","forEach","l","setupFeature","feature","setup","cleanupFeature","cleanup","DebugToolkit","subscribe","listener","add","delete","features","enabled","launcherVisible","setEnabled","replaceFeatures","next","filter","f","i","arr","name","findIndex","item","prevMap","Map","map","nextMap","get","addFeature","existingIndex","existing","slice","removeFeature","find","length","reset","hasFeatures","panelOpen","openPanel","closePanel","togglePanel","showLauncher","hideLauncher","clearAll","clear","destroy"],"sourceRoot":"../../../src","sources":["core/DebugToolkit.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,50 +1,58 @@
1
1
  "use strict";
2
2
 
3
- import React, { createContext, useContext, useEffect, useState } from 'react';
3
+ import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
4
4
  import { DebugToolkit } from './DebugToolkit';
5
- import { FloatPanelView } from '../components/FloatPanelView';
5
+ import { FloatPanelView } from '../ui/panel/FloatPanelView';
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  const ToolkitContext = /*#__PURE__*/createContext(null);
8
8
  export function DebugToolkitProvider({
9
9
  children
10
10
  }) {
11
- const [state, setState] = useState(() => {
12
- const toolkit = DebugToolkit.getInstance();
13
- return {
14
- panelVisible: toolkit.panelVisible,
15
- features: toolkit.features
16
- };
17
- });
11
+ const [state, setState] = useState(() => ({
12
+ launcherVisible: DebugToolkit.launcherVisible,
13
+ panelOpen: DebugToolkit.panelOpen,
14
+ features: DebugToolkit.features
15
+ }));
18
16
  useEffect(() => {
19
- const toolkit = DebugToolkit.getInstance();
20
- const syncState = () => {
17
+ // Sync current state — initializeDebugToolkit() may have been called
18
+ // in a child useEffect that runs before this parent effect subscribes.
19
+ setState({
20
+ launcherVisible: DebugToolkit.launcherVisible,
21
+ panelOpen: DebugToolkit.panelOpen,
22
+ features: DebugToolkit.features
23
+ });
24
+ const unsubscribe = DebugToolkit.subscribe(() => {
21
25
  setState({
22
- panelVisible: toolkit.panelVisible,
23
- features: toolkit.features
26
+ launcherVisible: DebugToolkit.launcherVisible,
27
+ panelOpen: DebugToolkit.panelOpen,
28
+ features: DebugToolkit.features
24
29
  });
25
- };
26
- toolkit.registerRenderCallback(syncState);
27
- syncState();
28
- return () => {
29
- toolkit.unregisterRenderCallback();
30
- };
30
+ });
31
+ return unsubscribe;
32
+ }, []);
33
+ const showLauncher = useCallback(() => {
34
+ DebugToolkit.showLauncher();
35
+ }, []);
36
+ const hideLauncher = useCallback(() => {
37
+ DebugToolkit.hideLauncher();
38
+ }, []);
39
+ const clearAll = useCallback(() => {
40
+ DebugToolkit.clearAll();
31
41
  }, []);
32
- const toolkit = DebugToolkit.getInstance();
33
- const contextValue = {
42
+ const contextValue = useMemo(() => ({
34
43
  features: state.features,
35
- showPanel: toolkit.showPanel.bind(toolkit),
36
- hidePanel: toolkit.hidePanel.bind(toolkit),
37
- addFeature: toolkit.addFeature.bind(toolkit),
38
- removeFeature: toolkit.removeFeature.bind(toolkit),
39
- clearAll: toolkit.clearAll.bind(toolkit),
40
- destroy: toolkit.destroy.bind(toolkit)
41
- };
44
+ showLauncher,
45
+ hideLauncher,
46
+ clearAll
47
+ }), [state.features, showLauncher, hideLauncher, clearAll]);
42
48
  return /*#__PURE__*/_jsxs(ToolkitContext.Provider, {
43
49
  value: contextValue,
44
- children: [children, state.panelVisible && /*#__PURE__*/_jsx(FloatPanelView, {
50
+ children: [children, state.launcherVisible && /*#__PURE__*/_jsx(FloatPanelView, {
45
51
  features: state.features,
46
- onClose: () => toolkit.hidePanel(),
47
- onClearAll: () => toolkit.clearAll()
52
+ panelOpen: state.panelOpen,
53
+ onOpenPanel: () => DebugToolkit.openPanel(),
54
+ onClosePanel: () => DebugToolkit.closePanel(),
55
+ onClearAll: () => DebugToolkit.clearAll()
48
56
  })]
49
57
  });
50
58
  }