@osdk/react-devtools 0.5.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/CHANGELOG.md +79 -0
  2. package/build/esm/DevToolsContext.js +19 -0
  3. package/build/esm/DevToolsContext.js.map +1 -0
  4. package/build/esm/components/ActionMetrics.js +89 -0
  5. package/build/esm/components/ActionMetrics.js.map +1 -0
  6. package/build/esm/components/BubbleChart.js +175 -0
  7. package/build/esm/components/BubbleChart.js.map +1 -0
  8. package/build/esm/components/BubbleChart.module.scss.js +6 -0
  9. package/build/esm/components/CacheInspectorTab.js +291 -0
  10. package/build/esm/components/CacheInspectorTab.js.map +1 -0
  11. package/build/esm/components/CacheInspectorTab.module.scss.js +39 -0
  12. package/build/esm/components/CacheMetrics.js +55 -0
  13. package/build/esm/components/CacheMetrics.js.map +1 -0
  14. package/build/esm/components/ComponentCard.js +124 -0
  15. package/build/esm/components/ComponentCard.js.map +1 -0
  16. package/build/esm/components/ComponentCard.module.scss.js +31 -0
  17. package/build/esm/components/ComputeTab.js +175 -0
  18. package/build/esm/components/ComputeTab.js.map +1 -0
  19. package/build/esm/components/CopyableCodeBlock.js +49 -0
  20. package/build/esm/components/CopyableCodeBlock.js.map +1 -0
  21. package/build/esm/components/CopyableCodeBlock.module.scss.js +10 -0
  22. package/build/esm/components/DebuggingTab.js +342 -0
  23. package/build/esm/components/DebuggingTab.js.map +1 -0
  24. package/build/esm/components/DebuggingTab.module.scss.js +18 -0
  25. package/build/esm/components/HookRow.js +180 -0
  26. package/build/esm/components/HookRow.js.map +1 -0
  27. package/build/esm/components/HookRow.module.scss.js +16 -0
  28. package/build/esm/components/ImprovementsTab.js +138 -0
  29. package/build/esm/components/ImprovementsTab.js.map +1 -0
  30. package/build/esm/components/ImprovementsTab.module.scss.js +30 -0
  31. package/build/esm/components/InspectorSelectionHeader.js +65 -0
  32. package/build/esm/components/InspectorSelectionHeader.js.map +1 -0
  33. package/build/esm/components/InterceptTab.js +862 -0
  34. package/build/esm/components/InterceptTab.js.map +1 -0
  35. package/build/esm/components/InterceptTab.module.scss.js +49 -0
  36. package/build/esm/components/IssueCard.js +115 -0
  37. package/build/esm/components/IssueCard.js.map +1 -0
  38. package/build/esm/components/IssueCard.module.scss.js +24 -0
  39. package/build/esm/components/LogEntryCard.js +94 -0
  40. package/build/esm/components/LogEntryCard.js.map +1 -0
  41. package/build/esm/components/LogEntryCard.module.scss.js +19 -0
  42. package/build/esm/components/MockEditor.js +316 -0
  43. package/build/esm/components/MockEditor.js.map +1 -0
  44. package/build/esm/components/MonitorErrorBoundary.js +64 -0
  45. package/build/esm/components/MonitorErrorBoundary.js.map +1 -0
  46. package/build/esm/components/MonitorErrorBoundary.module.scss.js +9 -0
  47. package/build/esm/components/MonitoringPanel.js +434 -0
  48. package/build/esm/components/MonitoringPanel.js.map +1 -0
  49. package/build/esm/components/MonitoringPanel.module.scss.js +81 -0
  50. package/build/esm/components/ObjectLoadingMetrics.js +60 -0
  51. package/build/esm/components/ObjectLoadingMetrics.js.map +1 -0
  52. package/build/esm/components/OsdkAppErrorBoundary.js +68 -0
  53. package/build/esm/components/OsdkAppErrorBoundary.js.map +1 -0
  54. package/build/esm/components/OsdkDevTools.js +40 -0
  55. package/build/esm/components/OsdkDevTools.js.map +1 -0
  56. package/build/esm/components/OverrideEditor.js +197 -0
  57. package/build/esm/components/OverrideEditor.js.map +1 -0
  58. package/build/esm/components/PerformanceTab.js +297 -0
  59. package/build/esm/components/PerformanceTab.js.map +1 -0
  60. package/build/esm/components/PrimitiveSelectionPanel.js +220 -0
  61. package/build/esm/components/PrimitiveSelectionPanel.js.map +1 -0
  62. package/build/esm/components/PrimitiveSelectionPanel.module.scss.js +26 -0
  63. package/build/esm/components/issueTypes.js +2 -0
  64. package/build/esm/components/issueTypes.js.map +1 -0
  65. package/build/esm/components/resolveComponentName.js +57 -0
  66. package/build/esm/components/resolveComponentName.js.map +1 -0
  67. package/build/esm/components/testHelpers.js +312 -0
  68. package/build/esm/components/testHelpers.js.map +1 -0
  69. package/build/esm/css.d.ts +20 -0
  70. package/build/esm/fiber/DegradationNotice.js +193 -0
  71. package/build/esm/fiber/DegradationNotice.js.map +1 -0
  72. package/build/esm/fiber/DevtoolsHook.js +252 -0
  73. package/build/esm/fiber/DevtoolsHook.js.map +1 -0
  74. package/build/esm/fiber/FiberAccess.js +65 -0
  75. package/build/esm/fiber/FiberAccess.js.map +1 -0
  76. package/build/esm/fiber/FiberInspection.js +140 -0
  77. package/build/esm/fiber/FiberInspection.js.map +1 -0
  78. package/build/esm/fiber/FiberTags.js +52 -0
  79. package/build/esm/fiber/FiberTags.js.map +1 -0
  80. package/build/esm/fiber/HookStateInspector.js +254 -0
  81. package/build/esm/fiber/HookStateInspector.js.map +1 -0
  82. package/build/esm/fiber/SafeFiberOperation.js +35 -0
  83. package/build/esm/fiber/SafeFiberOperation.js.map +1 -0
  84. package/build/esm/fiber/capabilities.js +180 -0
  85. package/build/esm/fiber/capabilities.js.map +1 -0
  86. package/build/esm/fiber/traverseFiber.js +129 -0
  87. package/build/esm/fiber/traverseFiber.js.map +1 -0
  88. package/build/esm/fiber/types.js +2 -0
  89. package/build/esm/fiber/types.js.map +1 -0
  90. package/build/esm/fiber/validation.js +155 -0
  91. package/build/esm/fiber/validation.js.map +1 -0
  92. package/build/esm/hooks/createPollingStore.js +81 -0
  93. package/build/esm/hooks/createPollingStore.js.map +1 -0
  94. package/build/esm/hooks/useActiveComponents.js +27 -0
  95. package/build/esm/hooks/useActiveComponents.js.map +1 -0
  96. package/build/esm/hooks/useComponentRegistry.js +25 -0
  97. package/build/esm/hooks/useComponentRegistry.js.map +1 -0
  98. package/build/esm/hooks/useComputeSelectors.js +43 -0
  99. package/build/esm/hooks/useComputeSelectors.js.map +1 -0
  100. package/build/esm/hooks/useConsoleLogs.js +46 -0
  101. package/build/esm/hooks/useConsoleLogs.js.map +1 -0
  102. package/build/esm/hooks/useInspectorSelection.js +93 -0
  103. package/build/esm/hooks/useInspectorSelection.js.map +1 -0
  104. package/build/esm/hooks/useMetrics.js +23 -0
  105. package/build/esm/hooks/useMetrics.js.map +1 -0
  106. package/build/esm/hooks/usePersistedState.js +89 -0
  107. package/build/esm/hooks/usePersistedState.js.map +1 -0
  108. package/build/esm/hooks/useRecommendations.js +123 -0
  109. package/build/esm/hooks/useRecommendations.js.map +1 -0
  110. package/build/esm/hooks/useSharedTick.js +49 -0
  111. package/build/esm/hooks/useSharedTick.js.map +1 -0
  112. package/build/esm/hooks/useTimeElapsed.js +51 -0
  113. package/build/esm/hooks/useTimeElapsed.js.map +1 -0
  114. package/build/esm/hooks/useTrackerSubscription.js +97 -0
  115. package/build/esm/hooks/useTrackerSubscription.js.map +1 -0
  116. package/build/esm/hooks/useUnusedFieldAnalysis.js +99 -0
  117. package/build/esm/hooks/useUnusedFieldAnalysis.js.map +1 -0
  118. package/build/esm/index.js +31 -0
  119. package/build/esm/index.js.map +1 -0
  120. package/build/esm/inspector/ClickToInspectSystem.js +228 -0
  121. package/build/esm/inspector/ClickToInspectSystem.js.map +1 -0
  122. package/build/esm/inspector/components/ComponentLabel.js +175 -0
  123. package/build/esm/inspector/components/ComponentLabel.js.map +1 -0
  124. package/build/esm/inspector/components/ComponentLabel.module.scss.js +12 -0
  125. package/build/esm/inspector/components/InspectorBanner.js +79 -0
  126. package/build/esm/inspector/components/InspectorBanner.js.map +1 -0
  127. package/build/esm/inspector/components/InspectorOverlay.js +149 -0
  128. package/build/esm/inspector/components/InspectorOverlay.js.map +1 -0
  129. package/build/esm/inspector/components/SelectionHighlight.js +74 -0
  130. package/build/esm/inspector/components/SelectionHighlight.js.map +1 -0
  131. package/build/esm/inspector/createClickToInspect.js +21 -0
  132. package/build/esm/inspector/createClickToInspect.js.map +1 -0
  133. package/build/esm/inspector/hooks/useAnimatedBounds.js +167 -0
  134. package/build/esm/inspector/hooks/useAnimatedBounds.js.map +1 -0
  135. package/build/esm/inspector/index.js +40 -0
  136. package/build/esm/inspector/index.js.map +1 -0
  137. package/build/esm/inspector/inspectorController.js +328 -0
  138. package/build/esm/inspector/inspectorController.js.map +1 -0
  139. package/build/esm/inspector/types.js +2 -0
  140. package/build/esm/inspector/types.js.map +1 -0
  141. package/build/esm/inspector/utils/elementBounds.js +72 -0
  142. package/build/esm/inspector/utils/elementBounds.js.map +1 -0
  143. package/build/esm/inspector/utils/interpolation.js +26 -0
  144. package/build/esm/inspector/utils/interpolation.js.map +1 -0
  145. package/build/esm/inspector/utils/labelPositioning.js +62 -0
  146. package/build/esm/inspector/utils/labelPositioning.js.map +1 -0
  147. package/build/esm/mocking/MockCacheKeyGenerator.js +109 -0
  148. package/build/esm/mocking/MockCacheKeyGenerator.js.map +1 -0
  149. package/build/esm/mocking/MockManager.js +281 -0
  150. package/build/esm/mocking/MockManager.js.map +1 -0
  151. package/build/esm/prototyping/PrototypeOverrideStore.js +66 -0
  152. package/build/esm/prototyping/PrototypeOverrideStore.js.map +1 -0
  153. package/build/esm/prototyping/index.js +18 -0
  154. package/build/esm/prototyping/index.js.map +1 -0
  155. package/build/esm/public/vite.js +19 -0
  156. package/build/esm/public/vite.js.map +1 -0
  157. package/build/esm/register.js +41 -0
  158. package/build/esm/register.js.map +1 -0
  159. package/build/esm/scss.d.ts +20 -0
  160. package/build/esm/store/ComputeStore.js +269 -0
  161. package/build/esm/store/ComputeStore.js.map +1 -0
  162. package/build/esm/store/ConsoleLogStore.js +289 -0
  163. package/build/esm/store/ConsoleLogStore.js.map +1 -0
  164. package/build/esm/store/MetricsStore.js +428 -0
  165. package/build/esm/store/MetricsStore.js.map +1 -0
  166. package/build/esm/store/MonitorStore.js +288 -0
  167. package/build/esm/store/MonitorStore.js.map +1 -0
  168. package/build/esm/store/SubscribableStore.js +38 -0
  169. package/build/esm/store/SubscribableStore.js.map +1 -0
  170. package/build/esm/store/WindowErrorStore.js +195 -0
  171. package/build/esm/store/WindowErrorStore.js.map +1 -0
  172. package/build/esm/styles.css +19441 -0
  173. package/build/esm/styles.js +31 -0
  174. package/build/esm/styles.js.map +1 -0
  175. package/build/esm/types/compute.js +2 -0
  176. package/build/esm/types/compute.js.map +1 -0
  177. package/build/esm/types/emissions.js +2 -0
  178. package/build/esm/types/emissions.js.map +1 -0
  179. package/build/esm/types/index.js +23 -0
  180. package/build/esm/types/index.js.map +1 -0
  181. package/build/esm/utils/ActionLifecycleTracker.js +178 -0
  182. package/build/esm/utils/ActionLifecycleTracker.js.map +1 -0
  183. package/build/esm/utils/CacheEfficiencyAnalyzer.js +198 -0
  184. package/build/esm/utils/CacheEfficiencyAnalyzer.js.map +1 -0
  185. package/build/esm/utils/CircularBuffer.js +96 -0
  186. package/build/esm/utils/CircularBuffer.js.map +1 -0
  187. package/build/esm/utils/ComponentContextCapture.js +215 -0
  188. package/build/esm/utils/ComponentContextCapture.js.map +1 -0
  189. package/build/esm/utils/ComponentPrimitiveDiscovery.js +173 -0
  190. package/build/esm/utils/ComponentPrimitiveDiscovery.js.map +1 -0
  191. package/build/esm/utils/ComponentQueryRegistry.js +340 -0
  192. package/build/esm/utils/ComponentQueryRegistry.js.map +1 -0
  193. package/build/esm/utils/ComputeMonitor.js +199 -0
  194. package/build/esm/utils/ComputeMonitor.js.map +1 -0
  195. package/build/esm/utils/EventTimeline.js +130 -0
  196. package/build/esm/utils/EventTimeline.js.map +1 -0
  197. package/build/esm/utils/LinkTraversalTracker.js +116 -0
  198. package/build/esm/utils/LinkTraversalTracker.js.map +1 -0
  199. package/build/esm/utils/MockDataGenerator.js +473 -0
  200. package/build/esm/utils/MockDataGenerator.js.map +1 -0
  201. package/build/esm/utils/ObservableClientMonitor.js +768 -0
  202. package/build/esm/utils/ObservableClientMonitor.js.map +1 -0
  203. package/build/esm/utils/PerformanceRecommendationEngine.js +185 -0
  204. package/build/esm/utils/PerformanceRecommendationEngine.js.map +1 -0
  205. package/build/esm/utils/PropertyAccessTracker.js +238 -0
  206. package/build/esm/utils/PropertyAccessTracker.js.map +1 -0
  207. package/build/esm/utils/RecommendationMatcher.js +53 -0
  208. package/build/esm/utils/RecommendationMatcher.js.map +1 -0
  209. package/build/esm/utils/SubscriptionTracker.js +132 -0
  210. package/build/esm/utils/SubscriptionTracker.js.map +1 -0
  211. package/build/esm/utils/UnusedFieldAnalyzer.js +186 -0
  212. package/build/esm/utils/UnusedFieldAnalyzer.js.map +1 -0
  213. package/build/esm/utils/WaterfallDetector.js +200 -0
  214. package/build/esm/utils/WaterfallDetector.js.map +1 -0
  215. package/build/esm/utils/computePayload.js +37 -0
  216. package/build/esm/utils/computePayload.js.map +1 -0
  217. package/build/esm/utils/computeRequest.js +29 -0
  218. package/build/esm/utils/computeRequest.js.map +1 -0
  219. package/build/esm/utils/format.js +69 -0
  220. package/build/esm/utils/format.js.map +1 -0
  221. package/build/esm/utils/logger.js +31 -0
  222. package/build/esm/utils/logger.js.map +1 -0
  223. package/build/esm/vite/constants.js +18 -0
  224. package/build/esm/vite/constants.js.map +1 -0
  225. package/build/esm/vite/hookInstaller.js +99 -0
  226. package/build/esm/vite/hookInstaller.js.map +1 -0
  227. package/build/esm/vite/index.js +77 -0
  228. package/build/esm/vite/index.js.map +1 -0
  229. package/build/types/DevToolsContext.d.ts +3 -0
  230. package/build/types/DevToolsContext.d.ts.map +1 -0
  231. package/build/types/components/ActionMetrics.d.ts +6 -0
  232. package/build/types/components/ActionMetrics.d.ts.map +1 -0
  233. package/build/types/components/BubbleChart.d.ts +10 -0
  234. package/build/types/components/BubbleChart.d.ts.map +1 -0
  235. package/build/types/components/CacheInspectorTab.d.ts +6 -0
  236. package/build/types/components/CacheInspectorTab.d.ts.map +1 -0
  237. package/build/types/components/CacheMetrics.d.ts +6 -0
  238. package/build/types/components/CacheMetrics.d.ts.map +1 -0
  239. package/build/types/components/ComponentCard.d.ts +13 -0
  240. package/build/types/components/ComponentCard.d.ts.map +1 -0
  241. package/build/types/components/ComputeTab.d.ts +6 -0
  242. package/build/types/components/ComputeTab.d.ts.map +1 -0
  243. package/build/types/components/CopyableCodeBlock.d.ts +7 -0
  244. package/build/types/components/CopyableCodeBlock.d.ts.map +1 -0
  245. package/build/types/components/DebuggingTab.d.ts +6 -0
  246. package/build/types/components/DebuggingTab.d.ts.map +1 -0
  247. package/build/types/components/HookRow.d.ts +9 -0
  248. package/build/types/components/HookRow.d.ts.map +1 -0
  249. package/build/types/components/ImprovementsTab.d.ts +7 -0
  250. package/build/types/components/ImprovementsTab.d.ts.map +1 -0
  251. package/build/types/components/InspectorSelectionHeader.d.ts +12 -0
  252. package/build/types/components/InspectorSelectionHeader.d.ts.map +1 -0
  253. package/build/types/components/InterceptTab.d.ts +126 -0
  254. package/build/types/components/InterceptTab.d.ts.map +1 -0
  255. package/build/types/components/IssueCard.d.ts +8 -0
  256. package/build/types/components/IssueCard.d.ts.map +1 -0
  257. package/build/types/components/LogEntryCard.d.ts +7 -0
  258. package/build/types/components/LogEntryCard.d.ts.map +1 -0
  259. package/build/types/components/MockEditor.d.ts +58 -0
  260. package/build/types/components/MockEditor.d.ts.map +1 -0
  261. package/build/types/components/MonitorErrorBoundary.d.ts +16 -0
  262. package/build/types/components/MonitorErrorBoundary.d.ts.map +1 -0
  263. package/build/types/components/MonitoringPanel.d.ts +8 -0
  264. package/build/types/components/MonitoringPanel.d.ts.map +1 -0
  265. package/build/types/components/ObjectLoadingMetrics.d.ts +7 -0
  266. package/build/types/components/ObjectLoadingMetrics.d.ts.map +1 -0
  267. package/build/types/components/OsdkAppErrorBoundary.d.ts +18 -0
  268. package/build/types/components/OsdkAppErrorBoundary.d.ts.map +1 -0
  269. package/build/types/components/OsdkDevTools.d.ts +2 -0
  270. package/build/types/components/OsdkDevTools.d.ts.map +1 -0
  271. package/build/types/components/OverrideEditor.d.ts +26 -0
  272. package/build/types/components/OverrideEditor.d.ts.map +1 -0
  273. package/build/types/components/PerformanceTab.d.ts +8 -0
  274. package/build/types/components/PerformanceTab.d.ts.map +1 -0
  275. package/build/types/components/PrimitiveSelectionPanel.d.ts +28 -0
  276. package/build/types/components/PrimitiveSelectionPanel.d.ts.map +1 -0
  277. package/build/types/components/issueTypes.d.ts +16 -0
  278. package/build/types/components/issueTypes.d.ts.map +1 -0
  279. package/build/types/components/resolveComponentName.d.ts +3 -0
  280. package/build/types/components/resolveComponentName.d.ts.map +1 -0
  281. package/build/types/components/testHelpers.d.ts +2 -0
  282. package/build/types/components/testHelpers.d.ts.map +1 -0
  283. package/build/types/css.d.d.ts +4 -0
  284. package/build/types/css.d.d.ts.map +1 -0
  285. package/build/types/fiber/DegradationNotice.d.ts +8 -0
  286. package/build/types/fiber/DegradationNotice.d.ts.map +1 -0
  287. package/build/types/fiber/DevtoolsHook.d.ts +7 -0
  288. package/build/types/fiber/DevtoolsHook.d.ts.map +1 -0
  289. package/build/types/fiber/FiberAccess.d.ts +2 -0
  290. package/build/types/fiber/FiberAccess.d.ts.map +1 -0
  291. package/build/types/fiber/FiberInspection.d.ts +6 -0
  292. package/build/types/fiber/FiberInspection.d.ts.map +1 -0
  293. package/build/types/fiber/FiberTags.d.ts +33 -0
  294. package/build/types/fiber/FiberTags.d.ts.map +1 -0
  295. package/build/types/fiber/HookStateInspector.d.ts +45 -0
  296. package/build/types/fiber/HookStateInspector.d.ts.map +1 -0
  297. package/build/types/fiber/SafeFiberOperation.d.ts +7 -0
  298. package/build/types/fiber/SafeFiberOperation.d.ts.map +1 -0
  299. package/build/types/fiber/capabilities.d.ts +38 -0
  300. package/build/types/fiber/capabilities.d.ts.map +1 -0
  301. package/build/types/fiber/traverseFiber.d.ts +5 -0
  302. package/build/types/fiber/traverseFiber.d.ts.map +1 -0
  303. package/build/types/fiber/types.d.ts +87 -0
  304. package/build/types/fiber/types.d.ts.map +1 -0
  305. package/build/types/fiber/validation.d.ts +10 -0
  306. package/build/types/fiber/validation.d.ts.map +1 -0
  307. package/build/types/hooks/createPollingStore.d.ts +5 -0
  308. package/build/types/hooks/createPollingStore.d.ts.map +1 -0
  309. package/build/types/hooks/useActiveComponents.d.ts +3 -0
  310. package/build/types/hooks/useActiveComponents.d.ts.map +1 -0
  311. package/build/types/hooks/useComponentRegistry.d.ts +3 -0
  312. package/build/types/hooks/useComponentRegistry.d.ts.map +1 -0
  313. package/build/types/hooks/useComputeSelectors.d.ts +7 -0
  314. package/build/types/hooks/useComputeSelectors.d.ts.map +1 -0
  315. package/build/types/hooks/useConsoleLogs.d.ts +7 -0
  316. package/build/types/hooks/useConsoleLogs.d.ts.map +1 -0
  317. package/build/types/hooks/useInspectorSelection.d.ts +9 -0
  318. package/build/types/hooks/useInspectorSelection.d.ts.map +1 -0
  319. package/build/types/hooks/useMetrics.d.ts +3 -0
  320. package/build/types/hooks/useMetrics.d.ts.map +1 -0
  321. package/build/types/hooks/usePersistedState.d.ts +1 -0
  322. package/build/types/hooks/usePersistedState.d.ts.map +1 -0
  323. package/build/types/hooks/useRecommendations.d.ts +10 -0
  324. package/build/types/hooks/useRecommendations.d.ts.map +1 -0
  325. package/build/types/hooks/useSharedTick.d.ts +1 -0
  326. package/build/types/hooks/useSharedTick.d.ts.map +1 -0
  327. package/build/types/hooks/useTimeElapsed.d.ts +1 -0
  328. package/build/types/hooks/useTimeElapsed.d.ts.map +1 -0
  329. package/build/types/hooks/useTrackerSubscription.d.ts +16 -0
  330. package/build/types/hooks/useTrackerSubscription.d.ts.map +1 -0
  331. package/build/types/hooks/useUnusedFieldAnalysis.d.ts +8 -0
  332. package/build/types/hooks/useUnusedFieldAnalysis.d.ts.map +1 -0
  333. package/build/types/index.d.ts +21 -0
  334. package/build/types/index.d.ts.map +1 -0
  335. package/build/types/inspector/ClickToInspectSystem.d.ts +40 -0
  336. package/build/types/inspector/ClickToInspectSystem.d.ts.map +1 -0
  337. package/build/types/inspector/components/ComponentLabel.d.ts +3 -0
  338. package/build/types/inspector/components/ComponentLabel.d.ts.map +1 -0
  339. package/build/types/inspector/components/InspectorBanner.d.ts +5 -0
  340. package/build/types/inspector/components/InspectorBanner.d.ts.map +1 -0
  341. package/build/types/inspector/components/InspectorOverlay.d.ts +3 -0
  342. package/build/types/inspector/components/InspectorOverlay.d.ts.map +1 -0
  343. package/build/types/inspector/components/SelectionHighlight.d.ts +3 -0
  344. package/build/types/inspector/components/SelectionHighlight.d.ts.map +1 -0
  345. package/build/types/inspector/createClickToInspect.d.ts +3 -0
  346. package/build/types/inspector/createClickToInspect.d.ts.map +1 -0
  347. package/build/types/inspector/hooks/useAnimatedBounds.d.ts +2 -0
  348. package/build/types/inspector/hooks/useAnimatedBounds.d.ts.map +1 -0
  349. package/build/types/inspector/index.d.ts +13 -0
  350. package/build/types/inspector/index.d.ts.map +1 -0
  351. package/build/types/inspector/inspectorController.d.ts +2 -0
  352. package/build/types/inspector/inspectorController.d.ts.map +1 -0
  353. package/build/types/inspector/types.d.ts +94 -0
  354. package/build/types/inspector/types.d.ts.map +1 -0
  355. package/build/types/inspector/utils/elementBounds.d.ts +3 -0
  356. package/build/types/inspector/utils/elementBounds.d.ts.map +1 -0
  357. package/build/types/inspector/utils/interpolation.d.ts +7 -0
  358. package/build/types/inspector/utils/interpolation.d.ts.map +1 -0
  359. package/build/types/inspector/utils/labelPositioning.d.ts +3 -0
  360. package/build/types/inspector/utils/labelPositioning.d.ts.map +1 -0
  361. package/build/types/mocking/MockCacheKeyGenerator.d.ts +41 -0
  362. package/build/types/mocking/MockCacheKeyGenerator.d.ts.map +1 -0
  363. package/build/types/mocking/MockManager.d.ts +103 -0
  364. package/build/types/mocking/MockManager.d.ts.map +1 -0
  365. package/build/types/prototyping/PrototypeOverrideStore.d.ts +33 -0
  366. package/build/types/prototyping/PrototypeOverrideStore.d.ts.map +1 -0
  367. package/build/types/prototyping/index.d.ts +1 -0
  368. package/build/types/prototyping/index.d.ts.map +1 -0
  369. package/build/types/public/vite.d.ts +2 -0
  370. package/build/types/public/vite.d.ts.map +1 -0
  371. package/build/types/register.d.ts +1 -0
  372. package/build/types/register.d.ts.map +1 -0
  373. package/build/types/scss.d.d.ts +6 -0
  374. package/build/types/scss.d.d.ts.map +1 -0
  375. package/build/types/store/ComputeStore.d.ts +47 -0
  376. package/build/types/store/ComputeStore.d.ts.map +1 -0
  377. package/build/types/store/ConsoleLogStore.d.ts +29 -0
  378. package/build/types/store/ConsoleLogStore.d.ts.map +1 -0
  379. package/build/types/store/MetricsStore.d.ts +42 -0
  380. package/build/types/store/MetricsStore.d.ts.map +1 -0
  381. package/build/types/store/MonitorStore.d.ts +86 -0
  382. package/build/types/store/MonitorStore.d.ts.map +1 -0
  383. package/build/types/store/SubscribableStore.d.ts +6 -0
  384. package/build/types/store/SubscribableStore.d.ts.map +1 -0
  385. package/build/types/store/WindowErrorStore.d.ts +32 -0
  386. package/build/types/store/WindowErrorStore.d.ts.map +1 -0
  387. package/build/types/styles.d.ts +1 -0
  388. package/build/types/styles.d.ts.map +1 -0
  389. package/build/types/types/compute.d.ts +73 -0
  390. package/build/types/types/compute.d.ts.map +1 -0
  391. package/build/types/types/emissions.d.ts +24 -0
  392. package/build/types/types/emissions.d.ts.map +1 -0
  393. package/build/types/types/index.d.ts +143 -0
  394. package/build/types/types/index.d.ts.map +1 -0
  395. package/build/types/utils/ActionLifecycleTracker.d.ts +39 -0
  396. package/build/types/utils/ActionLifecycleTracker.d.ts.map +1 -0
  397. package/build/types/utils/CacheEfficiencyAnalyzer.d.ts +45 -0
  398. package/build/types/utils/CacheEfficiencyAnalyzer.d.ts.map +1 -0
  399. package/build/types/utils/CircularBuffer.d.ts +18 -0
  400. package/build/types/utils/CircularBuffer.d.ts.map +1 -0
  401. package/build/types/utils/ComponentContextCapture.d.ts +29 -0
  402. package/build/types/utils/ComponentContextCapture.d.ts.map +1 -0
  403. package/build/types/utils/ComponentPrimitiveDiscovery.d.ts +62 -0
  404. package/build/types/utils/ComponentPrimitiveDiscovery.d.ts.map +1 -0
  405. package/build/types/utils/ComponentQueryRegistry.d.ts +91 -0
  406. package/build/types/utils/ComponentQueryRegistry.d.ts.map +1 -0
  407. package/build/types/utils/ComputeMonitor.d.ts +14 -0
  408. package/build/types/utils/ComputeMonitor.d.ts.map +1 -0
  409. package/build/types/utils/EventTimeline.d.ts +102 -0
  410. package/build/types/utils/EventTimeline.d.ts.map +1 -0
  411. package/build/types/utils/LinkTraversalTracker.d.ts +43 -0
  412. package/build/types/utils/LinkTraversalTracker.d.ts.map +1 -0
  413. package/build/types/utils/MockDataGenerator.d.ts +23 -0
  414. package/build/types/utils/MockDataGenerator.d.ts.map +1 -0
  415. package/build/types/utils/ObservableClientMonitor.d.ts +62 -0
  416. package/build/types/utils/ObservableClientMonitor.d.ts.map +1 -0
  417. package/build/types/utils/PerformanceRecommendationEngine.d.ts +67 -0
  418. package/build/types/utils/PerformanceRecommendationEngine.d.ts.map +1 -0
  419. package/build/types/utils/PropertyAccessTracker.d.ts +50 -0
  420. package/build/types/utils/PropertyAccessTracker.d.ts.map +1 -0
  421. package/build/types/utils/RecommendationMatcher.d.ts +5 -0
  422. package/build/types/utils/RecommendationMatcher.d.ts.map +1 -0
  423. package/build/types/utils/SubscriptionTracker.d.ts +17 -0
  424. package/build/types/utils/SubscriptionTracker.d.ts.map +1 -0
  425. package/build/types/utils/UnusedFieldAnalyzer.d.ts +46 -0
  426. package/build/types/utils/UnusedFieldAnalyzer.d.ts.map +1 -0
  427. package/build/types/utils/WaterfallDetector.d.ts +28 -0
  428. package/build/types/utils/WaterfallDetector.d.ts.map +1 -0
  429. package/build/types/utils/computePayload.d.ts +3 -0
  430. package/build/types/utils/computePayload.d.ts.map +1 -0
  431. package/build/types/utils/computeRequest.d.ts +20 -0
  432. package/build/types/utils/computeRequest.d.ts.map +1 -0
  433. package/build/types/utils/format.d.ts +5 -0
  434. package/build/types/utils/format.d.ts.map +1 -0
  435. package/build/types/utils/logger.d.ts +2 -0
  436. package/build/types/utils/logger.d.ts.map +1 -0
  437. package/build/types/vite/constants.d.ts +1 -0
  438. package/build/types/vite/constants.d.ts.map +1 -0
  439. package/build/types/vite/hookInstaller.d.ts +1 -0
  440. package/build/types/vite/hookInstaller.d.ts.map +1 -0
  441. package/build/types/vite/index.d.ts +20 -0
  442. package/build/types/vite/index.d.ts.map +1 -0
  443. package/package.json +114 -0
@@ -0,0 +1,434 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { Button, Classes, Tooltip } from "@blueprintjs/core";
18
+ import classNames from "classnames";
19
+ import React, { useCallback, useMemo, useRef, useState } from "react";
20
+ import { createPortal } from "react-dom";
21
+ import { DegradationNotice, useFiberCapabilities } from "../fiber/DegradationNotice.js";
22
+ import { validateFiberAccess } from "../fiber/validation.js";
23
+ import { usePersistedState } from "../hooks/usePersistedState.js";
24
+ import { ComputeTab } from "./ComputeTab.js";
25
+ import { DebuggingTab } from "./DebuggingTab.js";
26
+ import { InterceptTab } from "./InterceptTab.js";
27
+ import { MonitorErrorBoundary } from "./MonitorErrorBoundary.js";
28
+ import styles from "./MonitoringPanel.module.scss.js";
29
+ import { PerformanceTab } from "./PerformanceTab.js";
30
+ const darkModeMql = typeof window !== "undefined" ? window.matchMedia("(prefers-color-scheme: dark)") : undefined;
31
+ function subscribeDarkMode(callback) {
32
+ if (darkModeMql) {
33
+ darkModeMql.addEventListener("change", callback);
34
+ return () => darkModeMql.removeEventListener("change", callback);
35
+ }
36
+ return () => {};
37
+ }
38
+ function getDarkModeSnapshot() {
39
+ return darkModeMql ? darkModeMql.matches : true;
40
+ }
41
+ function subscribeWindowSize(callback) {
42
+ window.addEventListener("resize", callback);
43
+ return () => window.removeEventListener("resize", callback);
44
+ }
45
+ let windowSizeSnapshot = typeof window !== "undefined" ? {
46
+ width: window.innerWidth,
47
+ height: window.innerHeight
48
+ } : {
49
+ width: 0,
50
+ height: 0
51
+ };
52
+ function getWindowSizeSnapshot() {
53
+ const current = {
54
+ width: window.innerWidth,
55
+ height: window.innerHeight
56
+ };
57
+ if (current.width !== windowSizeSnapshot.width || current.height !== windowSizeSnapshot.height) {
58
+ windowSizeSnapshot = current;
59
+ }
60
+ return windowSizeSnapshot;
61
+ }
62
+ const UI_CONSTANTS = {
63
+ DEFAULT_PANEL_WIDTH: 400,
64
+ DEFAULT_PANEL_HEIGHT: 600,
65
+ DEFAULT_PANEL_RIGHT_OFFSET: 420,
66
+ DEFAULT_PANEL_TOP_OFFSET: 20,
67
+ MIN_PANEL_WIDTH: 320,
68
+ MIN_PANEL_HEIGHT: 200,
69
+ TOOLTIP_HOVER_DELAY: 500,
70
+ DOCKED_BOTTOM_HEIGHT: 400,
71
+ DOCKED_RIGHT_WIDTH: 500,
72
+ MIN_DOCKED_BOTTOM_HEIGHT: 200,
73
+ MIN_DOCKED_RIGHT_WIDTH: 320,
74
+ MAX_DOCKED_BOTTOM_HEIGHT: 800,
75
+ MAX_DOCKED_RIGHT_WIDTH: 800
76
+ };
77
+ export const MonitoringPanel = ({
78
+ monitorStore
79
+ }) => {
80
+ const metricsStore = monitorStore.getMetricsStore();
81
+ const computeStore = monitorStore.getComputeStore();
82
+ const fiberCapabilities = useFiberCapabilities();
83
+ const [activeTab, setActiveTab] = useState("performance");
84
+ const [position, setPosition] = usePersistedState("osdk-monitor-position", {
85
+ x: window.innerWidth - UI_CONSTANTS.DEFAULT_PANEL_RIGHT_OFFSET,
86
+ y: UI_CONSTANTS.DEFAULT_PANEL_TOP_OFFSET,
87
+ width: UI_CONSTANTS.DEFAULT_PANEL_WIDTH,
88
+ height: UI_CONSTANTS.DEFAULT_PANEL_HEIGHT,
89
+ collapsed: false,
90
+ dockMode: "floating"
91
+ });
92
+ const [themePreference, setThemePreference] = usePersistedState("osdk-devtools-theme", "dark");
93
+ const systemPrefersDark = React.useSyncExternalStore(subscribeDarkMode, getDarkModeSnapshot);
94
+ const resolvedTheme = useMemo(() => themePreference === "auto" ? systemPrefersDark ? "dark" : "light" : themePreference, [themePreference, systemPrefersDark]);
95
+ const panelRef = useRef(null);
96
+ const isDragging = useRef(false);
97
+ const isResizing = useRef(null);
98
+ const dragStart = useRef({
99
+ x: 0,
100
+ y: 0,
101
+ elemX: 0,
102
+ elemY: 0
103
+ });
104
+ const resizeStart = useRef({
105
+ x: 0,
106
+ y: 0,
107
+ width: 0,
108
+ height: 0,
109
+ elemX: 0,
110
+ elemY: 0
111
+ });
112
+ const setPositionRef = useRef(setPosition);
113
+ setPositionRef.current = setPosition;
114
+ const dragAbortRef = useRef(null);
115
+ const attachDragListeners = useCallback(() => {
116
+ dragAbortRef.current?.abort();
117
+ const controller = new AbortController();
118
+ dragAbortRef.current = controller;
119
+ const {
120
+ signal
121
+ } = controller;
122
+ document.addEventListener("mousemove", e => {
123
+ if (isDragging.current) {
124
+ const deltaX = e.clientX - dragStart.current.x;
125
+ const deltaY = e.clientY - dragStart.current.y;
126
+ setPositionRef.current(prev => ({
127
+ ...prev,
128
+ x: Math.max(0, Math.min(window.innerWidth - prev.width, dragStart.current.elemX + deltaX)),
129
+ y: Math.max(0, Math.min(window.innerHeight - prev.height, dragStart.current.elemY + deltaY))
130
+ }));
131
+ } else if (isResizing.current) {
132
+ const deltaX = e.clientX - resizeStart.current.x;
133
+ const deltaY = e.clientY - resizeStart.current.y;
134
+ const handle = isResizing.current;
135
+ setPositionRef.current(prev => {
136
+ if (prev.dockMode === "docked-bottom") {
137
+ const newHeight = Math.max(UI_CONSTANTS.MIN_DOCKED_BOTTOM_HEIGHT, Math.min(UI_CONSTANTS.MAX_DOCKED_BOTTOM_HEIGHT, resizeStart.current.height - deltaY));
138
+ return {
139
+ ...prev,
140
+ height: newHeight,
141
+ y: window.innerHeight - newHeight
142
+ };
143
+ }
144
+ if (prev.dockMode === "docked-right") {
145
+ const newWidth = Math.max(UI_CONSTANTS.MIN_DOCKED_RIGHT_WIDTH, Math.min(UI_CONSTANTS.MAX_DOCKED_RIGHT_WIDTH, resizeStart.current.width - deltaX));
146
+ return {
147
+ ...prev,
148
+ width: newWidth,
149
+ x: window.innerWidth - newWidth
150
+ };
151
+ }
152
+ let newX = prev.x;
153
+ let newY = prev.y;
154
+ let newWidth = prev.width;
155
+ let newHeight = prev.height;
156
+ if (handle.includes("right")) {
157
+ newWidth = Math.max(UI_CONSTANTS.MIN_PANEL_WIDTH, resizeStart.current.width + deltaX);
158
+ }
159
+ if (handle.includes("left")) {
160
+ newWidth = Math.max(UI_CONSTANTS.MIN_PANEL_WIDTH, resizeStart.current.width - deltaX);
161
+ newX = resizeStart.current.elemX + deltaX;
162
+ if (newWidth === UI_CONSTANTS.MIN_PANEL_WIDTH) {
163
+ newX = resizeStart.current.elemX + resizeStart.current.width - UI_CONSTANTS.MIN_PANEL_WIDTH;
164
+ }
165
+ }
166
+ if (handle.includes("bottom")) {
167
+ newHeight = Math.max(UI_CONSTANTS.MIN_PANEL_HEIGHT, resizeStart.current.height + deltaY);
168
+ }
169
+ if (handle.includes("top")) {
170
+ newHeight = Math.max(UI_CONSTANTS.MIN_PANEL_HEIGHT, resizeStart.current.height - deltaY);
171
+ newY = resizeStart.current.elemY + deltaY;
172
+ if (newHeight === UI_CONSTANTS.MIN_PANEL_HEIGHT) {
173
+ newY = resizeStart.current.elemY + resizeStart.current.height - UI_CONSTANTS.MIN_PANEL_HEIGHT;
174
+ }
175
+ }
176
+ return {
177
+ ...prev,
178
+ x: newX,
179
+ y: newY,
180
+ width: newWidth,
181
+ height: newHeight
182
+ };
183
+ });
184
+ }
185
+ }, {
186
+ signal
187
+ });
188
+ document.addEventListener("mouseup", () => {
189
+ isDragging.current = false;
190
+ isResizing.current = null;
191
+ controller.abort();
192
+ dragAbortRef.current = null;
193
+ }, {
194
+ signal
195
+ });
196
+ }, []);
197
+ const handleMouseDown = useCallback(e => {
198
+ if (e.target.closest(`.${styles.controls}`)) {
199
+ return;
200
+ }
201
+ if (position.dockMode !== "floating") {
202
+ return;
203
+ }
204
+ isDragging.current = true;
205
+ dragStart.current = {
206
+ x: e.clientX,
207
+ y: e.clientY,
208
+ elemX: position.x,
209
+ elemY: position.y
210
+ };
211
+ e.preventDefault();
212
+ attachDragListeners();
213
+ }, [position, attachDragListeners]);
214
+ const handleResizeMouseDown = useCallback((e, handle) => {
215
+ isResizing.current = handle;
216
+ resizeStart.current = {
217
+ x: e.clientX,
218
+ y: e.clientY,
219
+ width: position.width,
220
+ height: position.height,
221
+ elemX: position.x,
222
+ elemY: position.y
223
+ };
224
+ e.preventDefault();
225
+ e.stopPropagation();
226
+ attachDragListeners();
227
+ }, [position, attachDragListeners]);
228
+ const handleDockToggle = useCallback(() => {
229
+ setPosition(prev => {
230
+ const nextMode = prev.dockMode === "floating" ? "docked-bottom" : prev.dockMode === "docked-bottom" ? "docked-right" : "floating";
231
+ if (nextMode === "docked-bottom") {
232
+ return {
233
+ x: 0,
234
+ y: window.innerHeight - UI_CONSTANTS.DOCKED_BOTTOM_HEIGHT,
235
+ width: window.innerWidth,
236
+ height: UI_CONSTANTS.DOCKED_BOTTOM_HEIGHT,
237
+ collapsed: false,
238
+ dockMode: nextMode
239
+ };
240
+ } else if (nextMode === "docked-right") {
241
+ return {
242
+ x: window.innerWidth - UI_CONSTANTS.DOCKED_RIGHT_WIDTH,
243
+ y: 0,
244
+ width: UI_CONSTANTS.DOCKED_RIGHT_WIDTH,
245
+ height: window.innerHeight,
246
+ collapsed: false,
247
+ dockMode: nextMode
248
+ };
249
+ } else {
250
+ return {
251
+ x: window.innerWidth - UI_CONSTANTS.DEFAULT_PANEL_RIGHT_OFFSET,
252
+ y: UI_CONSTANTS.DEFAULT_PANEL_TOP_OFFSET,
253
+ width: UI_CONSTANTS.DEFAULT_PANEL_WIDTH,
254
+ height: UI_CONSTANTS.DEFAULT_PANEL_HEIGHT,
255
+ collapsed: false,
256
+ dockMode: nextMode
257
+ };
258
+ }
259
+ });
260
+ }, [setPosition]);
261
+ const windowSize = React.useSyncExternalStore(subscribeWindowSize, getWindowSizeSnapshot);
262
+ const effectivePosition = useMemo(() => {
263
+ if (position.dockMode === "floating") {
264
+ const maxX = windowSize.width - position.width;
265
+ const maxY = windowSize.height - position.height;
266
+ return {
267
+ ...position,
268
+ x: Math.max(0, Math.min(position.x, maxX)),
269
+ y: Math.max(0, Math.min(position.y, maxY))
270
+ };
271
+ }
272
+ if (position.dockMode === "docked-bottom") {
273
+ return {
274
+ ...position,
275
+ width: windowSize.width,
276
+ y: windowSize.height - position.height
277
+ };
278
+ }
279
+ if (position.dockMode === "docked-right") {
280
+ return {
281
+ ...position,
282
+ height: windowSize.height,
283
+ x: windowSize.width - position.width
284
+ };
285
+ }
286
+ return position;
287
+ }, [position, windowSize]);
288
+ if (position.collapsed) {
289
+ return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(Tooltip, {
290
+ content: "View OSDK Devtools",
291
+ placement: "left",
292
+ hoverOpenDelay: UI_CONSTANTS.TOOLTIP_HOVER_DELAY
293
+ }, /*#__PURE__*/React.createElement("div", {
294
+ className: styles.minimized,
295
+ "data-dt-theme": resolvedTheme,
296
+ onClick: () => setPosition(prev => ({
297
+ ...prev,
298
+ collapsed: false
299
+ }))
300
+ }, /*#__PURE__*/React.createElement("span", {
301
+ className: styles.minimizedIcon
302
+ }, "</>"))), document.body);
303
+ }
304
+ const panelClassName = classNames(styles.panel, resolvedTheme === "dark" ? Classes.DARK : undefined, {
305
+ [styles.floating]: position.dockMode === "floating",
306
+ [styles.dockedBottom]: position.dockMode === "docked-bottom",
307
+ [styles.dockedRight]: position.dockMode === "docked-right"
308
+ });
309
+ return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement("div", {
310
+ ref: panelRef,
311
+ className: panelClassName,
312
+ "data-dt-theme": resolvedTheme,
313
+ style: {
314
+ left: effectivePosition.dockMode === "docked-bottom" ? 0 : effectivePosition.x,
315
+ top: effectivePosition.dockMode === "docked-right" ? 0 : effectivePosition.y,
316
+ width: effectivePosition.width,
317
+ height: effectivePosition.height,
318
+ right: effectivePosition.dockMode === "docked-right" ? 0 : undefined,
319
+ bottom: effectivePosition.dockMode === "docked-bottom" ? 0 : undefined
320
+ }
321
+ }, (position.dockMode === "floating" ? [{
322
+ cls: [styles.horizontal, styles.top],
323
+ handle: "top"
324
+ }, {
325
+ cls: [styles.horizontal, styles.bottom],
326
+ handle: "bottom"
327
+ }, {
328
+ cls: [styles.vertical, styles.left],
329
+ handle: "left"
330
+ }, {
331
+ cls: [styles.vertical, styles.right],
332
+ handle: "right"
333
+ }, {
334
+ cls: [styles.corner, styles.topLeft],
335
+ handle: "topLeft"
336
+ }, {
337
+ cls: [styles.corner, styles.topRight],
338
+ handle: "topRight"
339
+ }, {
340
+ cls: [styles.corner, styles.bottomLeft],
341
+ handle: "bottomLeft"
342
+ }, {
343
+ cls: [styles.corner, styles.bottomRight],
344
+ handle: "bottomRight"
345
+ }] : position.dockMode === "docked-bottom" ? [{
346
+ cls: [styles.horizontal, styles.top],
347
+ handle: "top"
348
+ }] : position.dockMode === "docked-right" ? [{
349
+ cls: [styles.vertical, styles.left],
350
+ handle: "left"
351
+ }] : []).map(({
352
+ cls,
353
+ handle
354
+ }) => /*#__PURE__*/React.createElement("div", {
355
+ key: handle,
356
+ className: classNames(styles.resizeHandle, ...cls),
357
+ onMouseDown: e => handleResizeMouseDown(e, handle)
358
+ })), /*#__PURE__*/React.createElement("div", {
359
+ className: styles.header,
360
+ onMouseDown: handleMouseDown
361
+ }, /*#__PURE__*/React.createElement("h3", {
362
+ className: styles.title
363
+ }, "OSDK Devtools", /*#__PURE__*/React.createElement("span", {
364
+ className: styles.badge
365
+ }, "Beta")), /*#__PURE__*/React.createElement("div", {
366
+ className: styles.controls
367
+ }, /*#__PURE__*/React.createElement(Button, {
368
+ variant: "minimal",
369
+ size: "small",
370
+ icon: themePreference === "dark" ? "moon" : themePreference === "light" ? "flash" : "automatic-updates",
371
+ onClick: () => setThemePreference(themePreference === "dark" ? "light" : themePreference === "light" ? "auto" : "dark"),
372
+ title: `Theme: ${themePreference} (click to cycle)`,
373
+ "aria-label": `Theme: ${themePreference}. Click to cycle.`
374
+ }), /*#__PURE__*/React.createElement(Button, {
375
+ variant: "minimal",
376
+ size: "small",
377
+ icon: position.dockMode === "floating" ? "widget" : position.dockMode === "docked-bottom" ? "layout-sorted-clusters" : "layout-hierarchy",
378
+ onClick: handleDockToggle,
379
+ title: `Dock mode: ${position.dockMode} (click to cycle)`,
380
+ "aria-label": `Dock mode: ${position.dockMode}. Click to cycle.`
381
+ }), /*#__PURE__*/React.createElement(Button, {
382
+ variant: "minimal",
383
+ size: "small",
384
+ icon: "reset",
385
+ onClick: () => metricsStore.reset(),
386
+ title: "Reset metrics",
387
+ "aria-label": "Reset metrics"
388
+ }), /*#__PURE__*/React.createElement(Button, {
389
+ variant: "minimal",
390
+ size: "small",
391
+ icon: "minimize",
392
+ onClick: () => setPosition(prev => ({
393
+ ...prev,
394
+ collapsed: true
395
+ })),
396
+ title: "Minimize",
397
+ "aria-label": "Minimize devtools panel"
398
+ }))), /*#__PURE__*/React.createElement("div", {
399
+ className: styles.tabs,
400
+ role: "tablist",
401
+ "aria-label": "Devtools tabs"
402
+ }, ["performance", "compute", "intercept", "debugging"].map(tab => /*#__PURE__*/React.createElement("button", {
403
+ key: tab,
404
+ type: "button",
405
+ role: "tab",
406
+ "aria-selected": activeTab === tab,
407
+ className: classNames(styles.tabButton, activeTab === tab && styles.tabButtonActive),
408
+ onClick: () => setActiveTab(tab)
409
+ }, tab.charAt(0).toUpperCase() + tab.slice(1)))), /*#__PURE__*/React.createElement("div", {
410
+ className: styles.content
411
+ }, (!fiberCapabilities.hookInstalled || !fiberCapabilities.fiberAccessWorking) && /*#__PURE__*/React.createElement(DegradationNotice, {
412
+ onRetry: () => validateFiberAccess()
413
+ }), /*#__PURE__*/React.createElement("div", {
414
+ className: activeTab === "performance" ? styles.tabContentVisible : styles.tabContentHidden
415
+ }, /*#__PURE__*/React.createElement(PerformanceTab, {
416
+ metricsStore: metricsStore,
417
+ monitorStore: monitorStore
418
+ })), /*#__PURE__*/React.createElement("div", {
419
+ className: activeTab === "compute" ? styles.tabContentVisible : styles.tabContentHidden
420
+ }, /*#__PURE__*/React.createElement(ComputeTab, {
421
+ computeStore: computeStore
422
+ })), /*#__PURE__*/React.createElement("div", {
423
+ className: activeTab === "intercept" ? styles.tabContentVisible : styles.tabContentHidden
424
+ }, /*#__PURE__*/React.createElement(InterceptTab, {
425
+ monitorStore: monitorStore,
426
+ theme: resolvedTheme
427
+ })), /*#__PURE__*/React.createElement("div", {
428
+ className: activeTab === "debugging" ? styles.tabContentVisible : styles.tabContentHidden
429
+ }, /*#__PURE__*/React.createElement(DebuggingTab, {
430
+ monitorStore: monitorStore
431
+ })))), document.body);
432
+ };
433
+ export const SafeMonitoringPanel = props => /*#__PURE__*/React.createElement(MonitorErrorBoundary, null, /*#__PURE__*/React.createElement(MonitoringPanel, props));
434
+ //# sourceMappingURL=MonitoringPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitoringPanel.js","names":["Button","Classes","Tooltip","classNames","React","useCallback","useMemo","useRef","useState","createPortal","DegradationNotice","useFiberCapabilities","validateFiberAccess","usePersistedState","ComputeTab","DebuggingTab","InterceptTab","MonitorErrorBoundary","styles","PerformanceTab","darkModeMql","window","matchMedia","undefined","subscribeDarkMode","callback","addEventListener","removeEventListener","getDarkModeSnapshot","matches","subscribeWindowSize","windowSizeSnapshot","width","innerWidth","height","innerHeight","getWindowSizeSnapshot","current","UI_CONSTANTS","DEFAULT_PANEL_WIDTH","DEFAULT_PANEL_HEIGHT","DEFAULT_PANEL_RIGHT_OFFSET","DEFAULT_PANEL_TOP_OFFSET","MIN_PANEL_WIDTH","MIN_PANEL_HEIGHT","TOOLTIP_HOVER_DELAY","DOCKED_BOTTOM_HEIGHT","DOCKED_RIGHT_WIDTH","MIN_DOCKED_BOTTOM_HEIGHT","MIN_DOCKED_RIGHT_WIDTH","MAX_DOCKED_BOTTOM_HEIGHT","MAX_DOCKED_RIGHT_WIDTH","MonitoringPanel","monitorStore","metricsStore","getMetricsStore","computeStore","getComputeStore","fiberCapabilities","activeTab","setActiveTab","position","setPosition","x","y","collapsed","dockMode","themePreference","setThemePreference","systemPrefersDark","useSyncExternalStore","resolvedTheme","panelRef","isDragging","isResizing","dragStart","elemX","elemY","resizeStart","setPositionRef","dragAbortRef","attachDragListeners","abort","controller","AbortController","signal","document","e","deltaX","clientX","deltaY","clientY","prev","Math","max","min","handle","newHeight","newWidth","newX","newY","includes","handleMouseDown","target","closest","controls","preventDefault","handleResizeMouseDown","stopPropagation","handleDockToggle","nextMode","windowSize","effectivePosition","maxX","maxY","createElement","content","placement","hoverOpenDelay","className","minimized","onClick","minimizedIcon","body","panelClassName","panel","DARK","floating","dockedBottom","dockedRight","ref","style","left","top","right","bottom","cls","horizontal","vertical","corner","topLeft","topRight","bottomLeft","bottomRight","map","key","resizeHandle","onMouseDown","header","title","badge","variant","size","icon","reset","tabs","role","tab","type","tabButton","tabButtonActive","charAt","toUpperCase","slice","hookInstalled","fiberAccessWorking","onRetry","tabContentVisible","tabContentHidden","theme","SafeMonitoringPanel","props"],"sources":["MonitoringPanel.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button, Classes, Tooltip } from \"@blueprintjs/core\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n DegradationNotice,\n useFiberCapabilities,\n} from \"../fiber/DegradationNotice.js\";\nimport { validateFiberAccess } from \"../fiber/validation.js\";\nimport { usePersistedState } from \"../hooks/usePersistedState.js\";\nimport type { MonitorStore } from \"../store/MonitorStore.js\";\nimport type { PanelPosition } from \"../types/index.js\";\nimport { ComputeTab } from \"./ComputeTab.js\";\nimport { DebuggingTab } from \"./DebuggingTab.js\";\nimport { InterceptTab } from \"./InterceptTab.js\";\nimport { MonitorErrorBoundary } from \"./MonitorErrorBoundary.js\";\nimport styles from \"./MonitoringPanel.module.scss\";\nimport { PerformanceTab } from \"./PerformanceTab.js\";\n\nconst darkModeMql = typeof window !== \"undefined\"\n ? window.matchMedia(\"(prefers-color-scheme: dark)\")\n : undefined;\n\nfunction subscribeDarkMode(callback: () => void): () => void {\n if (darkModeMql) {\n darkModeMql.addEventListener(\"change\", callback);\n return () => darkModeMql.removeEventListener(\"change\", callback);\n }\n return () => {};\n}\n\nfunction getDarkModeSnapshot(): boolean {\n return darkModeMql ? darkModeMql.matches : true;\n}\n\nfunction subscribeWindowSize(callback: () => void): () => void {\n window.addEventListener(\"resize\", callback);\n return () => window.removeEventListener(\"resize\", callback);\n}\n\nlet windowSizeSnapshot = typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n\nfunction getWindowSizeSnapshot(): { width: number; height: number } {\n const current = { width: window.innerWidth, height: window.innerHeight };\n if (\n current.width !== windowSizeSnapshot.width\n || current.height !== windowSizeSnapshot.height\n ) {\n windowSizeSnapshot = current;\n }\n return windowSizeSnapshot;\n}\n\nconst UI_CONSTANTS = {\n DEFAULT_PANEL_WIDTH: 400,\n DEFAULT_PANEL_HEIGHT: 600,\n DEFAULT_PANEL_RIGHT_OFFSET: 420,\n DEFAULT_PANEL_TOP_OFFSET: 20,\n MIN_PANEL_WIDTH: 320,\n MIN_PANEL_HEIGHT: 200,\n TOOLTIP_HOVER_DELAY: 500,\n DOCKED_BOTTOM_HEIGHT: 400,\n DOCKED_RIGHT_WIDTH: 500,\n MIN_DOCKED_BOTTOM_HEIGHT: 200,\n MIN_DOCKED_RIGHT_WIDTH: 320,\n MAX_DOCKED_BOTTOM_HEIGHT: 800,\n MAX_DOCKED_RIGHT_WIDTH: 800,\n};\n\nexport interface MonitoringPanelProps {\n /** The MonitorStore instance that provides all metrics, compute, and component tracking data. */\n monitorStore: MonitorStore;\n}\n\nexport const MonitoringPanel: React.FC<MonitoringPanelProps> = ({\n monitorStore,\n}) => {\n const metricsStore = monitorStore.getMetricsStore();\n const computeStore = monitorStore.getComputeStore();\n const fiberCapabilities = useFiberCapabilities();\n const [activeTab, setActiveTab] = useState<\n | \"performance\"\n | \"compute\"\n | \"intercept\"\n | \"debugging\"\n >(\"performance\");\n const [position, setPosition] = usePersistedState<PanelPosition>(\n \"osdk-monitor-position\",\n {\n x: window.innerWidth - UI_CONSTANTS.DEFAULT_PANEL_RIGHT_OFFSET,\n y: UI_CONSTANTS.DEFAULT_PANEL_TOP_OFFSET,\n width: UI_CONSTANTS.DEFAULT_PANEL_WIDTH,\n height: UI_CONSTANTS.DEFAULT_PANEL_HEIGHT,\n collapsed: false,\n dockMode: \"floating\",\n },\n );\n\n const [themePreference, setThemePreference] = usePersistedState<\n \"light\" | \"dark\" | \"auto\"\n >(\"osdk-devtools-theme\", \"dark\");\n\n const systemPrefersDark = React.useSyncExternalStore(\n subscribeDarkMode,\n getDarkModeSnapshot,\n );\n\n const resolvedTheme = useMemo(\n () =>\n themePreference === \"auto\"\n ? (systemPrefersDark ? \"dark\" : \"light\")\n : themePreference,\n [themePreference, systemPrefersDark],\n );\n\n const panelRef = useRef<HTMLDivElement>(null);\n const isDragging = useRef(false);\n const isResizing = useRef<string | null>(null);\n const dragStart = useRef({ x: 0, y: 0, elemX: 0, elemY: 0 });\n const resizeStart = useRef({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n elemX: 0,\n elemY: 0,\n });\n\n const setPositionRef = useRef(setPosition);\n setPositionRef.current = setPosition;\n\n const dragAbortRef = useRef<AbortController | null>(null);\n\n const attachDragListeners = useCallback(() => {\n dragAbortRef.current?.abort();\n const controller = new AbortController();\n dragAbortRef.current = controller;\n const { signal } = controller;\n\n const handleMouseMove = (e: MouseEvent) => {\n if (isDragging.current) {\n const deltaX = e.clientX - dragStart.current.x;\n const deltaY = e.clientY - dragStart.current.y;\n setPositionRef.current((prev) => ({\n ...prev,\n x: Math.max(\n 0,\n Math.min(\n window.innerWidth - prev.width,\n dragStart.current.elemX + deltaX,\n ),\n ),\n y: Math.max(\n 0,\n Math.min(\n window.innerHeight - prev.height,\n dragStart.current.elemY + deltaY,\n ),\n ),\n }));\n } else if (isResizing.current) {\n const deltaX = e.clientX - resizeStart.current.x;\n const deltaY = e.clientY - resizeStart.current.y;\n const handle = isResizing.current;\n\n setPositionRef.current((prev) => {\n if (prev.dockMode === \"docked-bottom\") {\n const newHeight = Math.max(\n UI_CONSTANTS.MIN_DOCKED_BOTTOM_HEIGHT,\n Math.min(\n UI_CONSTANTS.MAX_DOCKED_BOTTOM_HEIGHT,\n resizeStart.current.height - deltaY,\n ),\n );\n return {\n ...prev,\n height: newHeight,\n y: window.innerHeight - newHeight,\n };\n }\n\n if (prev.dockMode === \"docked-right\") {\n const newWidth = Math.max(\n UI_CONSTANTS.MIN_DOCKED_RIGHT_WIDTH,\n Math.min(\n UI_CONSTANTS.MAX_DOCKED_RIGHT_WIDTH,\n resizeStart.current.width - deltaX,\n ),\n );\n return {\n ...prev,\n width: newWidth,\n x: window.innerWidth - newWidth,\n };\n }\n\n let newX = prev.x;\n let newY = prev.y;\n let newWidth = prev.width;\n let newHeight = prev.height;\n\n if (handle.includes(\"right\")) {\n newWidth = Math.max(\n UI_CONSTANTS.MIN_PANEL_WIDTH,\n resizeStart.current.width + deltaX,\n );\n }\n if (handle.includes(\"left\")) {\n newWidth = Math.max(\n UI_CONSTANTS.MIN_PANEL_WIDTH,\n resizeStart.current.width - deltaX,\n );\n newX = resizeStart.current.elemX + deltaX;\n if (newWidth === UI_CONSTANTS.MIN_PANEL_WIDTH) {\n newX = resizeStart.current.elemX + resizeStart.current.width\n - UI_CONSTANTS.MIN_PANEL_WIDTH;\n }\n }\n if (handle.includes(\"bottom\")) {\n newHeight = Math.max(\n UI_CONSTANTS.MIN_PANEL_HEIGHT,\n resizeStart.current.height + deltaY,\n );\n }\n if (handle.includes(\"top\")) {\n newHeight = Math.max(\n UI_CONSTANTS.MIN_PANEL_HEIGHT,\n resizeStart.current.height - deltaY,\n );\n newY = resizeStart.current.elemY + deltaY;\n if (newHeight === UI_CONSTANTS.MIN_PANEL_HEIGHT) {\n newY = resizeStart.current.elemY + resizeStart.current.height\n - UI_CONSTANTS.MIN_PANEL_HEIGHT;\n }\n }\n\n return {\n ...prev,\n x: newX,\n y: newY,\n width: newWidth,\n height: newHeight,\n };\n });\n }\n };\n\n const handleMouseUp = () => {\n isDragging.current = false;\n isResizing.current = null;\n controller.abort();\n dragAbortRef.current = null;\n };\n\n document.addEventListener(\"mousemove\", handleMouseMove, { signal });\n document.addEventListener(\"mouseup\", handleMouseUp, { signal });\n }, []);\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n if ((e.target as HTMLElement).closest(`.${styles.controls}`)) {\n return;\n }\n if (position.dockMode !== \"floating\") {\n return;\n }\n isDragging.current = true;\n dragStart.current = {\n x: e.clientX,\n y: e.clientY,\n elemX: position.x,\n elemY: position.y,\n };\n e.preventDefault();\n attachDragListeners();\n },\n [position, attachDragListeners],\n );\n\n const handleResizeMouseDown = useCallback(\n (e: React.MouseEvent, handle: string) => {\n isResizing.current = handle;\n resizeStart.current = {\n x: e.clientX,\n y: e.clientY,\n width: position.width,\n height: position.height,\n elemX: position.x,\n elemY: position.y,\n };\n e.preventDefault();\n e.stopPropagation();\n attachDragListeners();\n },\n [position, attachDragListeners],\n );\n\n const handleDockToggle = useCallback(() => {\n setPosition((prev) => {\n const nextMode = prev.dockMode === \"floating\"\n ? \"docked-bottom\"\n : prev.dockMode === \"docked-bottom\"\n ? \"docked-right\"\n : \"floating\";\n\n if (nextMode === \"docked-bottom\") {\n return {\n x: 0,\n y: window.innerHeight - UI_CONSTANTS.DOCKED_BOTTOM_HEIGHT,\n width: window.innerWidth,\n height: UI_CONSTANTS.DOCKED_BOTTOM_HEIGHT,\n collapsed: false,\n dockMode: nextMode,\n };\n } else if (nextMode === \"docked-right\") {\n return {\n x: window.innerWidth - UI_CONSTANTS.DOCKED_RIGHT_WIDTH,\n y: 0,\n width: UI_CONSTANTS.DOCKED_RIGHT_WIDTH,\n height: window.innerHeight,\n collapsed: false,\n dockMode: nextMode,\n };\n } else {\n return {\n x: window.innerWidth - UI_CONSTANTS.DEFAULT_PANEL_RIGHT_OFFSET,\n y: UI_CONSTANTS.DEFAULT_PANEL_TOP_OFFSET,\n width: UI_CONSTANTS.DEFAULT_PANEL_WIDTH,\n height: UI_CONSTANTS.DEFAULT_PANEL_HEIGHT,\n collapsed: false,\n dockMode: nextMode,\n };\n }\n });\n }, [setPosition]);\n\n const windowSize = React.useSyncExternalStore(\n subscribeWindowSize,\n getWindowSizeSnapshot,\n );\n\n const effectivePosition = useMemo(() => {\n if (position.dockMode === \"floating\") {\n const maxX = windowSize.width - position.width;\n const maxY = windowSize.height - position.height;\n return {\n ...position,\n x: Math.max(0, Math.min(position.x, maxX)),\n y: Math.max(0, Math.min(position.y, maxY)),\n };\n }\n if (position.dockMode === \"docked-bottom\") {\n return {\n ...position,\n width: windowSize.width,\n y: windowSize.height - position.height,\n };\n }\n if (position.dockMode === \"docked-right\") {\n return {\n ...position,\n height: windowSize.height,\n x: windowSize.width - position.width,\n };\n }\n return position;\n }, [position, windowSize]);\n\n if (position.collapsed) {\n return createPortal(\n <Tooltip\n content=\"View OSDK Devtools\"\n placement=\"left\"\n hoverOpenDelay={UI_CONSTANTS.TOOLTIP_HOVER_DELAY}\n >\n <div\n className={styles.minimized}\n data-dt-theme={resolvedTheme}\n onClick={() => setPosition((prev) => ({ ...prev, collapsed: false }))}\n >\n <span className={styles.minimizedIcon}>&lt;/&gt;</span>\n </div>\n </Tooltip>,\n document.body,\n );\n }\n\n const panelClassName = classNames(\n styles.panel,\n resolvedTheme === \"dark\" ? Classes.DARK : undefined,\n {\n [styles.floating]: position.dockMode === \"floating\",\n [styles.dockedBottom]: position.dockMode === \"docked-bottom\",\n [styles.dockedRight]: position.dockMode === \"docked-right\",\n },\n );\n return createPortal(\n <div\n ref={panelRef}\n className={panelClassName}\n data-dt-theme={resolvedTheme}\n style={{\n left: effectivePosition.dockMode === \"docked-bottom\"\n ? 0\n : effectivePosition.x,\n top: effectivePosition.dockMode === \"docked-right\"\n ? 0\n : effectivePosition.y,\n width: effectivePosition.width,\n height: effectivePosition.height,\n right: effectivePosition.dockMode === \"docked-right\" ? 0 : undefined,\n bottom: effectivePosition.dockMode === \"docked-bottom\" ? 0 : undefined,\n }}\n >\n {(position.dockMode === \"floating\"\n ? [\n { cls: [styles.horizontal, styles.top], handle: \"top\" },\n { cls: [styles.horizontal, styles.bottom], handle: \"bottom\" },\n { cls: [styles.vertical, styles.left], handle: \"left\" },\n { cls: [styles.vertical, styles.right], handle: \"right\" },\n { cls: [styles.corner, styles.topLeft], handle: \"topLeft\" },\n { cls: [styles.corner, styles.topRight], handle: \"topRight\" },\n { cls: [styles.corner, styles.bottomLeft], handle: \"bottomLeft\" },\n { cls: [styles.corner, styles.bottomRight], handle: \"bottomRight\" },\n ]\n : position.dockMode === \"docked-bottom\"\n ? [{ cls: [styles.horizontal, styles.top], handle: \"top\" }]\n : position.dockMode === \"docked-right\"\n ? [{ cls: [styles.vertical, styles.left], handle: \"left\" }]\n : []).map(({ cls, handle }) => (\n <div\n key={handle}\n className={classNames(styles.resizeHandle, ...cls)}\n onMouseDown={(e) => handleResizeMouseDown(e, handle)}\n />\n ))}\n\n <div className={styles.header} onMouseDown={handleMouseDown}>\n <h3 className={styles.title}>\n OSDK Devtools\n <span className={styles.badge}>Beta</span>\n </h3>\n <div className={styles.controls}>\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon={themePreference === \"dark\"\n ? \"moon\"\n : themePreference === \"light\"\n ? \"flash\"\n : \"automatic-updates\"}\n onClick={() =>\n setThemePreference(\n themePreference === \"dark\"\n ? \"light\"\n : themePreference === \"light\"\n ? \"auto\"\n : \"dark\",\n )}\n title={`Theme: ${themePreference} (click to cycle)`}\n aria-label={`Theme: ${themePreference}. Click to cycle.`}\n />\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon={position.dockMode === \"floating\"\n ? \"widget\"\n : position.dockMode === \"docked-bottom\"\n ? \"layout-sorted-clusters\"\n : \"layout-hierarchy\"}\n onClick={handleDockToggle}\n title={`Dock mode: ${position.dockMode} (click to cycle)`}\n aria-label={`Dock mode: ${position.dockMode}. Click to cycle.`}\n />\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon=\"reset\"\n onClick={() => metricsStore.reset()}\n title=\"Reset metrics\"\n aria-label=\"Reset metrics\"\n />\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon=\"minimize\"\n onClick={() =>\n setPosition((prev) => ({ ...prev, collapsed: true }))}\n title=\"Minimize\"\n aria-label=\"Minimize devtools panel\"\n />\n </div>\n </div>\n\n <div className={styles.tabs} role=\"tablist\" aria-label=\"Devtools tabs\">\n {(\n [\"performance\", \"compute\", \"intercept\", \"debugging\"] as const\n ).map((tab) => (\n <button\n key={tab}\n type=\"button\"\n role=\"tab\"\n aria-selected={activeTab === tab}\n className={classNames(\n styles.tabButton,\n activeTab === tab && styles.tabButtonActive,\n )}\n onClick={() => setActiveTab(tab)}\n >\n {tab.charAt(0).toUpperCase() + tab.slice(1)}\n </button>\n ))}\n </div>\n\n <div className={styles.content}>\n {(!fiberCapabilities.hookInstalled\n || !fiberCapabilities.fiberAccessWorking) && (\n <DegradationNotice onRetry={() => validateFiberAccess()} />\n )}\n\n <div\n className={activeTab === \"performance\"\n ? styles.tabContentVisible\n : styles.tabContentHidden}\n >\n <PerformanceTab\n metricsStore={metricsStore}\n monitorStore={monitorStore}\n />\n </div>\n <div\n className={activeTab === \"compute\"\n ? styles.tabContentVisible\n : styles.tabContentHidden}\n >\n <ComputeTab computeStore={computeStore} />\n </div>\n <div\n className={activeTab === \"intercept\"\n ? styles.tabContentVisible\n : styles.tabContentHidden}\n >\n <InterceptTab monitorStore={monitorStore} theme={resolvedTheme} />\n </div>\n <div\n className={activeTab === \"debugging\"\n ? styles.tabContentVisible\n : styles.tabContentHidden}\n >\n <DebuggingTab monitorStore={monitorStore} />\n </div>\n </div>\n </div>,\n document.body,\n );\n};\n\nexport const SafeMonitoringPanel: React.FC<MonitoringPanelProps> = (props) => (\n <MonitorErrorBoundary>\n <MonitoringPanel {...props} />\n </MonitorErrorBoundary>\n);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ // AUTO-GENERATED by scripts/build-css.mjs. Do not edit by hand.
2
+ const styles = {
3
+ "panel": "MonitoringPanel-module__panel___nLfigSXQ",
4
+ "collapsed": "MonitoringPanel-module__collapsed___pQFGiC3Y",
5
+ "floating": "MonitoringPanel-module__floating___FJSPBbhW",
6
+ "dockedBottom": "MonitoringPanel-module__dockedBottom___Lk-LOHZ5",
7
+ "dockedRight": "MonitoringPanel-module__dockedRight___clBz4I88",
8
+ "resizeHandle": "MonitoringPanel-module__resizeHandle___9x0yh5lU",
9
+ "horizontal": "MonitoringPanel-module__horizontal___PGCdBOUh",
10
+ "top": "MonitoringPanel-module__top___LzSQg8NP",
11
+ "bottom": "MonitoringPanel-module__bottom___KS-5RnxQ",
12
+ "vertical": "MonitoringPanel-module__vertical___1oMz2aXw",
13
+ "left": "MonitoringPanel-module__left___-ndE4pdQ",
14
+ "right": "MonitoringPanel-module__right___xWS34a7v",
15
+ "corner": "MonitoringPanel-module__corner___Y3E9-Ngt",
16
+ "topLeft": "MonitoringPanel-module__topLeft___egiC6jiI",
17
+ "topRight": "MonitoringPanel-module__topRight___1iBhTC4R",
18
+ "bottomLeft": "MonitoringPanel-module__bottomLeft___RhDHxAdJ",
19
+ "bottomRight": "MonitoringPanel-module__bottomRight___-kD0dpnE",
20
+ "header": "MonitoringPanel-module__header___QiCDZ5w4",
21
+ "title": "MonitoringPanel-module__title___nyXKziOu",
22
+ "badge": "MonitoringPanel-module__badge___EVCARt18",
23
+ "controls": "MonitoringPanel-module__controls___0x-Xb00n",
24
+ "iconButton": "MonitoringPanel-module__iconButton___Ofs4kVaT",
25
+ "content": "MonitoringPanel-module__content___ZVPMCH4O",
26
+ "tabs": "MonitoringPanel-module__tabs___bqn6HDbz",
27
+ "tabButton": "MonitoringPanel-module__tabButton___cjPGg0FS",
28
+ "tabButtonActive": "MonitoringPanel-module__tabButtonActive___gEhlfE4y",
29
+ "tabContentVisible": "MonitoringPanel-module__tabContentVisible___llXLpVeb",
30
+ "tabContentHidden": "MonitoringPanel-module__tabContentHidden___Hm4ckAQm",
31
+ "metricsGrid": "MonitoringPanel-module__metricsGrid___Ui5kYWKE",
32
+ "computeMetricsGrid": "MonitoringPanel-module__computeMetricsGrid___7yTv8eKM",
33
+ "metricCell": "MonitoringPanel-module__metricCell___5zQ-5e-x",
34
+ "metricGroup": "MonitoringPanel-module__metricGroup___Fp6hUY6B",
35
+ "metricGroupTitle": "MonitoringPanel-module__metricGroupTitle___AAAJ0bwx",
36
+ "metricGroupContent": "MonitoringPanel-module__metricGroupContent___adfvrz7S",
37
+ "filterControls": "MonitoringPanel-module__filterControls___wDE5Chtb",
38
+ "metric": "MonitoringPanel-module__metric___DH779Z6S",
39
+ "metricLabel": "MonitoringPanel-module__metricLabel___vLuqCOAL",
40
+ "metricValue": "MonitoringPanel-module__metricValue___czLLjZXS",
41
+ "success": "MonitoringPanel-module__success___G0JJEQwh",
42
+ "warning": "MonitoringPanel-module__warning___5YufTRI-",
43
+ "danger": "MonitoringPanel-module__danger___YL15n2gC",
44
+ "metricSubtext": "MonitoringPanel-module__metricSubtext___GBakeTNA",
45
+ "operationsList": "MonitoringPanel-module__operationsList___hsBFBVLc",
46
+ "operationItem": "MonitoringPanel-module__operationItem___kq8nTthj",
47
+ "selectedItem": "MonitoringPanel-module__selectedItem___ZImakpn-",
48
+ "operationType": "MonitoringPanel-module__operationType___Uh0vHvOa",
49
+ "cacheHit": "MonitoringPanel-module__cacheHit___L7hFFyH9",
50
+ "cacheMiss": "MonitoringPanel-module__cacheMiss___K4S4ylBH",
51
+ "deduplication": "MonitoringPanel-module__deduplication___zwTcbDVv",
52
+ "optimistic": "MonitoringPanel-module__optimistic___6uuChUrU",
53
+ "action": "MonitoringPanel-module__action___GWwyF452",
54
+ "revalidation": "MonitoringPanel-module__revalidation___wjb0pZIG",
55
+ "validation": "MonitoringPanel-module__validation___fdnbTdj8",
56
+ "operationDetails": "MonitoringPanel-module__operationDetails___qtP8IccP",
57
+ "operationSignature": "MonitoringPanel-module__operationSignature___neFY6h6Q",
58
+ "actionCauseBadge": "MonitoringPanel-module__actionCauseBadge___MCsU7F1O",
59
+ "operationTime": "MonitoringPanel-module__operationTime___54SdGSfF",
60
+ "operationMetric": "MonitoringPanel-module__operationMetric___OmQ6PFH-",
61
+ "saved": "MonitoringPanel-module__saved___lnYxmslL",
62
+ "operationMetrics": "MonitoringPanel-module__operationMetrics___RsIpcXjl",
63
+ "rollback": "MonitoringPanel-module__rollback___9XS7UXok",
64
+ "emptyState": "MonitoringPanel-module__emptyState___0-9OEEoK",
65
+ "minimized": "MonitoringPanel-module__minimized___FKTZeeJi",
66
+ "minimizedIcon": "MonitoringPanel-module__minimizedIcon___1mK64ane",
67
+ "bubbleChartContainer": "MonitoringPanel-module__bubbleChartContainer___QY96L6Y0",
68
+ "computeControls": "MonitoringPanel-module__computeControls___443I5RMM",
69
+ "computeFulfilled": "MonitoringPanel-module__computeFulfilled___KDkGUSj6",
70
+ "computeFulfilledWithoutUsage": "MonitoringPanel-module__computeFulfilledWithoutUsage___MwbFYzav",
71
+ "computeFailed": "MonitoringPanel-module__computeFailed___tY8qLNXd",
72
+ "computePending": "MonitoringPanel-module__computePending___7l8ZBcf5",
73
+ "timelineContainer": "MonitoringPanel-module__timelineContainer___NbpXl298",
74
+ "inlineIndicator": "MonitoringPanel-module__inlineIndicator___oADVDeoM",
75
+ "inlineTip": "MonitoringPanel-module__inlineTip___99PpKMlx",
76
+ "emptyIcon": "MonitoringPanel-module__emptyIcon___X4HxVKa6",
77
+ "emptySubtext": "MonitoringPanel-module__emptySubtext___4G-5gbFh",
78
+ "dt-shimmer": "MonitoringPanel-module__dt-shimmer___JebnPw7-",
79
+ "dt-fade-up": "MonitoringPanel-module__dt-fade-up___WQOMI910"
80
+ };
81
+ export default styles;