@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.
- package/CHANGELOG.md +79 -0
- package/build/esm/DevToolsContext.js +19 -0
- package/build/esm/DevToolsContext.js.map +1 -0
- package/build/esm/components/ActionMetrics.js +89 -0
- package/build/esm/components/ActionMetrics.js.map +1 -0
- package/build/esm/components/BubbleChart.js +175 -0
- package/build/esm/components/BubbleChart.js.map +1 -0
- package/build/esm/components/BubbleChart.module.scss.js +6 -0
- package/build/esm/components/CacheInspectorTab.js +291 -0
- package/build/esm/components/CacheInspectorTab.js.map +1 -0
- package/build/esm/components/CacheInspectorTab.module.scss.js +39 -0
- package/build/esm/components/CacheMetrics.js +55 -0
- package/build/esm/components/CacheMetrics.js.map +1 -0
- package/build/esm/components/ComponentCard.js +124 -0
- package/build/esm/components/ComponentCard.js.map +1 -0
- package/build/esm/components/ComponentCard.module.scss.js +31 -0
- package/build/esm/components/ComputeTab.js +175 -0
- package/build/esm/components/ComputeTab.js.map +1 -0
- package/build/esm/components/CopyableCodeBlock.js +49 -0
- package/build/esm/components/CopyableCodeBlock.js.map +1 -0
- package/build/esm/components/CopyableCodeBlock.module.scss.js +10 -0
- package/build/esm/components/DebuggingTab.js +342 -0
- package/build/esm/components/DebuggingTab.js.map +1 -0
- package/build/esm/components/DebuggingTab.module.scss.js +18 -0
- package/build/esm/components/HookRow.js +180 -0
- package/build/esm/components/HookRow.js.map +1 -0
- package/build/esm/components/HookRow.module.scss.js +16 -0
- package/build/esm/components/ImprovementsTab.js +138 -0
- package/build/esm/components/ImprovementsTab.js.map +1 -0
- package/build/esm/components/ImprovementsTab.module.scss.js +30 -0
- package/build/esm/components/InspectorSelectionHeader.js +65 -0
- package/build/esm/components/InspectorSelectionHeader.js.map +1 -0
- package/build/esm/components/InterceptTab.js +862 -0
- package/build/esm/components/InterceptTab.js.map +1 -0
- package/build/esm/components/InterceptTab.module.scss.js +49 -0
- package/build/esm/components/IssueCard.js +115 -0
- package/build/esm/components/IssueCard.js.map +1 -0
- package/build/esm/components/IssueCard.module.scss.js +24 -0
- package/build/esm/components/LogEntryCard.js +94 -0
- package/build/esm/components/LogEntryCard.js.map +1 -0
- package/build/esm/components/LogEntryCard.module.scss.js +19 -0
- package/build/esm/components/MockEditor.js +316 -0
- package/build/esm/components/MockEditor.js.map +1 -0
- package/build/esm/components/MonitorErrorBoundary.js +64 -0
- package/build/esm/components/MonitorErrorBoundary.js.map +1 -0
- package/build/esm/components/MonitorErrorBoundary.module.scss.js +9 -0
- package/build/esm/components/MonitoringPanel.js +434 -0
- package/build/esm/components/MonitoringPanel.js.map +1 -0
- package/build/esm/components/MonitoringPanel.module.scss.js +81 -0
- package/build/esm/components/ObjectLoadingMetrics.js +60 -0
- package/build/esm/components/ObjectLoadingMetrics.js.map +1 -0
- package/build/esm/components/OsdkAppErrorBoundary.js +68 -0
- package/build/esm/components/OsdkAppErrorBoundary.js.map +1 -0
- package/build/esm/components/OsdkDevTools.js +40 -0
- package/build/esm/components/OsdkDevTools.js.map +1 -0
- package/build/esm/components/OverrideEditor.js +197 -0
- package/build/esm/components/OverrideEditor.js.map +1 -0
- package/build/esm/components/PerformanceTab.js +297 -0
- package/build/esm/components/PerformanceTab.js.map +1 -0
- package/build/esm/components/PrimitiveSelectionPanel.js +220 -0
- package/build/esm/components/PrimitiveSelectionPanel.js.map +1 -0
- package/build/esm/components/PrimitiveSelectionPanel.module.scss.js +26 -0
- package/build/esm/components/issueTypes.js +2 -0
- package/build/esm/components/issueTypes.js.map +1 -0
- package/build/esm/components/resolveComponentName.js +57 -0
- package/build/esm/components/resolveComponentName.js.map +1 -0
- package/build/esm/components/testHelpers.js +312 -0
- package/build/esm/components/testHelpers.js.map +1 -0
- package/build/esm/css.d.ts +20 -0
- package/build/esm/fiber/DegradationNotice.js +193 -0
- package/build/esm/fiber/DegradationNotice.js.map +1 -0
- package/build/esm/fiber/DevtoolsHook.js +252 -0
- package/build/esm/fiber/DevtoolsHook.js.map +1 -0
- package/build/esm/fiber/FiberAccess.js +65 -0
- package/build/esm/fiber/FiberAccess.js.map +1 -0
- package/build/esm/fiber/FiberInspection.js +140 -0
- package/build/esm/fiber/FiberInspection.js.map +1 -0
- package/build/esm/fiber/FiberTags.js +52 -0
- package/build/esm/fiber/FiberTags.js.map +1 -0
- package/build/esm/fiber/HookStateInspector.js +254 -0
- package/build/esm/fiber/HookStateInspector.js.map +1 -0
- package/build/esm/fiber/SafeFiberOperation.js +35 -0
- package/build/esm/fiber/SafeFiberOperation.js.map +1 -0
- package/build/esm/fiber/capabilities.js +180 -0
- package/build/esm/fiber/capabilities.js.map +1 -0
- package/build/esm/fiber/traverseFiber.js +129 -0
- package/build/esm/fiber/traverseFiber.js.map +1 -0
- package/build/esm/fiber/types.js +2 -0
- package/build/esm/fiber/types.js.map +1 -0
- package/build/esm/fiber/validation.js +155 -0
- package/build/esm/fiber/validation.js.map +1 -0
- package/build/esm/hooks/createPollingStore.js +81 -0
- package/build/esm/hooks/createPollingStore.js.map +1 -0
- package/build/esm/hooks/useActiveComponents.js +27 -0
- package/build/esm/hooks/useActiveComponents.js.map +1 -0
- package/build/esm/hooks/useComponentRegistry.js +25 -0
- package/build/esm/hooks/useComponentRegistry.js.map +1 -0
- package/build/esm/hooks/useComputeSelectors.js +43 -0
- package/build/esm/hooks/useComputeSelectors.js.map +1 -0
- package/build/esm/hooks/useConsoleLogs.js +46 -0
- package/build/esm/hooks/useConsoleLogs.js.map +1 -0
- package/build/esm/hooks/useInspectorSelection.js +93 -0
- package/build/esm/hooks/useInspectorSelection.js.map +1 -0
- package/build/esm/hooks/useMetrics.js +23 -0
- package/build/esm/hooks/useMetrics.js.map +1 -0
- package/build/esm/hooks/usePersistedState.js +89 -0
- package/build/esm/hooks/usePersistedState.js.map +1 -0
- package/build/esm/hooks/useRecommendations.js +123 -0
- package/build/esm/hooks/useRecommendations.js.map +1 -0
- package/build/esm/hooks/useSharedTick.js +49 -0
- package/build/esm/hooks/useSharedTick.js.map +1 -0
- package/build/esm/hooks/useTimeElapsed.js +51 -0
- package/build/esm/hooks/useTimeElapsed.js.map +1 -0
- package/build/esm/hooks/useTrackerSubscription.js +97 -0
- package/build/esm/hooks/useTrackerSubscription.js.map +1 -0
- package/build/esm/hooks/useUnusedFieldAnalysis.js +99 -0
- package/build/esm/hooks/useUnusedFieldAnalysis.js.map +1 -0
- package/build/esm/index.js +31 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/inspector/ClickToInspectSystem.js +228 -0
- package/build/esm/inspector/ClickToInspectSystem.js.map +1 -0
- package/build/esm/inspector/components/ComponentLabel.js +175 -0
- package/build/esm/inspector/components/ComponentLabel.js.map +1 -0
- package/build/esm/inspector/components/ComponentLabel.module.scss.js +12 -0
- package/build/esm/inspector/components/InspectorBanner.js +79 -0
- package/build/esm/inspector/components/InspectorBanner.js.map +1 -0
- package/build/esm/inspector/components/InspectorOverlay.js +149 -0
- package/build/esm/inspector/components/InspectorOverlay.js.map +1 -0
- package/build/esm/inspector/components/SelectionHighlight.js +74 -0
- package/build/esm/inspector/components/SelectionHighlight.js.map +1 -0
- package/build/esm/inspector/createClickToInspect.js +21 -0
- package/build/esm/inspector/createClickToInspect.js.map +1 -0
- package/build/esm/inspector/hooks/useAnimatedBounds.js +167 -0
- package/build/esm/inspector/hooks/useAnimatedBounds.js.map +1 -0
- package/build/esm/inspector/index.js +40 -0
- package/build/esm/inspector/index.js.map +1 -0
- package/build/esm/inspector/inspectorController.js +328 -0
- package/build/esm/inspector/inspectorController.js.map +1 -0
- package/build/esm/inspector/types.js +2 -0
- package/build/esm/inspector/types.js.map +1 -0
- package/build/esm/inspector/utils/elementBounds.js +72 -0
- package/build/esm/inspector/utils/elementBounds.js.map +1 -0
- package/build/esm/inspector/utils/interpolation.js +26 -0
- package/build/esm/inspector/utils/interpolation.js.map +1 -0
- package/build/esm/inspector/utils/labelPositioning.js +62 -0
- package/build/esm/inspector/utils/labelPositioning.js.map +1 -0
- package/build/esm/mocking/MockCacheKeyGenerator.js +109 -0
- package/build/esm/mocking/MockCacheKeyGenerator.js.map +1 -0
- package/build/esm/mocking/MockManager.js +281 -0
- package/build/esm/mocking/MockManager.js.map +1 -0
- package/build/esm/prototyping/PrototypeOverrideStore.js +66 -0
- package/build/esm/prototyping/PrototypeOverrideStore.js.map +1 -0
- package/build/esm/prototyping/index.js +18 -0
- package/build/esm/prototyping/index.js.map +1 -0
- package/build/esm/public/vite.js +19 -0
- package/build/esm/public/vite.js.map +1 -0
- package/build/esm/register.js +41 -0
- package/build/esm/register.js.map +1 -0
- package/build/esm/scss.d.ts +20 -0
- package/build/esm/store/ComputeStore.js +269 -0
- package/build/esm/store/ComputeStore.js.map +1 -0
- package/build/esm/store/ConsoleLogStore.js +289 -0
- package/build/esm/store/ConsoleLogStore.js.map +1 -0
- package/build/esm/store/MetricsStore.js +428 -0
- package/build/esm/store/MetricsStore.js.map +1 -0
- package/build/esm/store/MonitorStore.js +288 -0
- package/build/esm/store/MonitorStore.js.map +1 -0
- package/build/esm/store/SubscribableStore.js +38 -0
- package/build/esm/store/SubscribableStore.js.map +1 -0
- package/build/esm/store/WindowErrorStore.js +195 -0
- package/build/esm/store/WindowErrorStore.js.map +1 -0
- package/build/esm/styles.css +19441 -0
- package/build/esm/styles.js +31 -0
- package/build/esm/styles.js.map +1 -0
- package/build/esm/types/compute.js +2 -0
- package/build/esm/types/compute.js.map +1 -0
- package/build/esm/types/emissions.js +2 -0
- package/build/esm/types/emissions.js.map +1 -0
- package/build/esm/types/index.js +23 -0
- package/build/esm/types/index.js.map +1 -0
- package/build/esm/utils/ActionLifecycleTracker.js +178 -0
- package/build/esm/utils/ActionLifecycleTracker.js.map +1 -0
- package/build/esm/utils/CacheEfficiencyAnalyzer.js +198 -0
- package/build/esm/utils/CacheEfficiencyAnalyzer.js.map +1 -0
- package/build/esm/utils/CircularBuffer.js +96 -0
- package/build/esm/utils/CircularBuffer.js.map +1 -0
- package/build/esm/utils/ComponentContextCapture.js +215 -0
- package/build/esm/utils/ComponentContextCapture.js.map +1 -0
- package/build/esm/utils/ComponentPrimitiveDiscovery.js +173 -0
- package/build/esm/utils/ComponentPrimitiveDiscovery.js.map +1 -0
- package/build/esm/utils/ComponentQueryRegistry.js +340 -0
- package/build/esm/utils/ComponentQueryRegistry.js.map +1 -0
- package/build/esm/utils/ComputeMonitor.js +199 -0
- package/build/esm/utils/ComputeMonitor.js.map +1 -0
- package/build/esm/utils/EventTimeline.js +130 -0
- package/build/esm/utils/EventTimeline.js.map +1 -0
- package/build/esm/utils/LinkTraversalTracker.js +116 -0
- package/build/esm/utils/LinkTraversalTracker.js.map +1 -0
- package/build/esm/utils/MockDataGenerator.js +473 -0
- package/build/esm/utils/MockDataGenerator.js.map +1 -0
- package/build/esm/utils/ObservableClientMonitor.js +768 -0
- package/build/esm/utils/ObservableClientMonitor.js.map +1 -0
- package/build/esm/utils/PerformanceRecommendationEngine.js +185 -0
- package/build/esm/utils/PerformanceRecommendationEngine.js.map +1 -0
- package/build/esm/utils/PropertyAccessTracker.js +238 -0
- package/build/esm/utils/PropertyAccessTracker.js.map +1 -0
- package/build/esm/utils/RecommendationMatcher.js +53 -0
- package/build/esm/utils/RecommendationMatcher.js.map +1 -0
- package/build/esm/utils/SubscriptionTracker.js +132 -0
- package/build/esm/utils/SubscriptionTracker.js.map +1 -0
- package/build/esm/utils/UnusedFieldAnalyzer.js +186 -0
- package/build/esm/utils/UnusedFieldAnalyzer.js.map +1 -0
- package/build/esm/utils/WaterfallDetector.js +200 -0
- package/build/esm/utils/WaterfallDetector.js.map +1 -0
- package/build/esm/utils/computePayload.js +37 -0
- package/build/esm/utils/computePayload.js.map +1 -0
- package/build/esm/utils/computeRequest.js +29 -0
- package/build/esm/utils/computeRequest.js.map +1 -0
- package/build/esm/utils/format.js +69 -0
- package/build/esm/utils/format.js.map +1 -0
- package/build/esm/utils/logger.js +31 -0
- package/build/esm/utils/logger.js.map +1 -0
- package/build/esm/vite/constants.js +18 -0
- package/build/esm/vite/constants.js.map +1 -0
- package/build/esm/vite/hookInstaller.js +99 -0
- package/build/esm/vite/hookInstaller.js.map +1 -0
- package/build/esm/vite/index.js +77 -0
- package/build/esm/vite/index.js.map +1 -0
- package/build/types/DevToolsContext.d.ts +3 -0
- package/build/types/DevToolsContext.d.ts.map +1 -0
- package/build/types/components/ActionMetrics.d.ts +6 -0
- package/build/types/components/ActionMetrics.d.ts.map +1 -0
- package/build/types/components/BubbleChart.d.ts +10 -0
- package/build/types/components/BubbleChart.d.ts.map +1 -0
- package/build/types/components/CacheInspectorTab.d.ts +6 -0
- package/build/types/components/CacheInspectorTab.d.ts.map +1 -0
- package/build/types/components/CacheMetrics.d.ts +6 -0
- package/build/types/components/CacheMetrics.d.ts.map +1 -0
- package/build/types/components/ComponentCard.d.ts +13 -0
- package/build/types/components/ComponentCard.d.ts.map +1 -0
- package/build/types/components/ComputeTab.d.ts +6 -0
- package/build/types/components/ComputeTab.d.ts.map +1 -0
- package/build/types/components/CopyableCodeBlock.d.ts +7 -0
- package/build/types/components/CopyableCodeBlock.d.ts.map +1 -0
- package/build/types/components/DebuggingTab.d.ts +6 -0
- package/build/types/components/DebuggingTab.d.ts.map +1 -0
- package/build/types/components/HookRow.d.ts +9 -0
- package/build/types/components/HookRow.d.ts.map +1 -0
- package/build/types/components/ImprovementsTab.d.ts +7 -0
- package/build/types/components/ImprovementsTab.d.ts.map +1 -0
- package/build/types/components/InspectorSelectionHeader.d.ts +12 -0
- package/build/types/components/InspectorSelectionHeader.d.ts.map +1 -0
- package/build/types/components/InterceptTab.d.ts +126 -0
- package/build/types/components/InterceptTab.d.ts.map +1 -0
- package/build/types/components/IssueCard.d.ts +8 -0
- package/build/types/components/IssueCard.d.ts.map +1 -0
- package/build/types/components/LogEntryCard.d.ts +7 -0
- package/build/types/components/LogEntryCard.d.ts.map +1 -0
- package/build/types/components/MockEditor.d.ts +58 -0
- package/build/types/components/MockEditor.d.ts.map +1 -0
- package/build/types/components/MonitorErrorBoundary.d.ts +16 -0
- package/build/types/components/MonitorErrorBoundary.d.ts.map +1 -0
- package/build/types/components/MonitoringPanel.d.ts +8 -0
- package/build/types/components/MonitoringPanel.d.ts.map +1 -0
- package/build/types/components/ObjectLoadingMetrics.d.ts +7 -0
- package/build/types/components/ObjectLoadingMetrics.d.ts.map +1 -0
- package/build/types/components/OsdkAppErrorBoundary.d.ts +18 -0
- package/build/types/components/OsdkAppErrorBoundary.d.ts.map +1 -0
- package/build/types/components/OsdkDevTools.d.ts +2 -0
- package/build/types/components/OsdkDevTools.d.ts.map +1 -0
- package/build/types/components/OverrideEditor.d.ts +26 -0
- package/build/types/components/OverrideEditor.d.ts.map +1 -0
- package/build/types/components/PerformanceTab.d.ts +8 -0
- package/build/types/components/PerformanceTab.d.ts.map +1 -0
- package/build/types/components/PrimitiveSelectionPanel.d.ts +28 -0
- package/build/types/components/PrimitiveSelectionPanel.d.ts.map +1 -0
- package/build/types/components/issueTypes.d.ts +16 -0
- package/build/types/components/issueTypes.d.ts.map +1 -0
- package/build/types/components/resolveComponentName.d.ts +3 -0
- package/build/types/components/resolveComponentName.d.ts.map +1 -0
- package/build/types/components/testHelpers.d.ts +2 -0
- package/build/types/components/testHelpers.d.ts.map +1 -0
- package/build/types/css.d.d.ts +4 -0
- package/build/types/css.d.d.ts.map +1 -0
- package/build/types/fiber/DegradationNotice.d.ts +8 -0
- package/build/types/fiber/DegradationNotice.d.ts.map +1 -0
- package/build/types/fiber/DevtoolsHook.d.ts +7 -0
- package/build/types/fiber/DevtoolsHook.d.ts.map +1 -0
- package/build/types/fiber/FiberAccess.d.ts +2 -0
- package/build/types/fiber/FiberAccess.d.ts.map +1 -0
- package/build/types/fiber/FiberInspection.d.ts +6 -0
- package/build/types/fiber/FiberInspection.d.ts.map +1 -0
- package/build/types/fiber/FiberTags.d.ts +33 -0
- package/build/types/fiber/FiberTags.d.ts.map +1 -0
- package/build/types/fiber/HookStateInspector.d.ts +45 -0
- package/build/types/fiber/HookStateInspector.d.ts.map +1 -0
- package/build/types/fiber/SafeFiberOperation.d.ts +7 -0
- package/build/types/fiber/SafeFiberOperation.d.ts.map +1 -0
- package/build/types/fiber/capabilities.d.ts +38 -0
- package/build/types/fiber/capabilities.d.ts.map +1 -0
- package/build/types/fiber/traverseFiber.d.ts +5 -0
- package/build/types/fiber/traverseFiber.d.ts.map +1 -0
- package/build/types/fiber/types.d.ts +87 -0
- package/build/types/fiber/types.d.ts.map +1 -0
- package/build/types/fiber/validation.d.ts +10 -0
- package/build/types/fiber/validation.d.ts.map +1 -0
- package/build/types/hooks/createPollingStore.d.ts +5 -0
- package/build/types/hooks/createPollingStore.d.ts.map +1 -0
- package/build/types/hooks/useActiveComponents.d.ts +3 -0
- package/build/types/hooks/useActiveComponents.d.ts.map +1 -0
- package/build/types/hooks/useComponentRegistry.d.ts +3 -0
- package/build/types/hooks/useComponentRegistry.d.ts.map +1 -0
- package/build/types/hooks/useComputeSelectors.d.ts +7 -0
- package/build/types/hooks/useComputeSelectors.d.ts.map +1 -0
- package/build/types/hooks/useConsoleLogs.d.ts +7 -0
- package/build/types/hooks/useConsoleLogs.d.ts.map +1 -0
- package/build/types/hooks/useInspectorSelection.d.ts +9 -0
- package/build/types/hooks/useInspectorSelection.d.ts.map +1 -0
- package/build/types/hooks/useMetrics.d.ts +3 -0
- package/build/types/hooks/useMetrics.d.ts.map +1 -0
- package/build/types/hooks/usePersistedState.d.ts +1 -0
- package/build/types/hooks/usePersistedState.d.ts.map +1 -0
- package/build/types/hooks/useRecommendations.d.ts +10 -0
- package/build/types/hooks/useRecommendations.d.ts.map +1 -0
- package/build/types/hooks/useSharedTick.d.ts +1 -0
- package/build/types/hooks/useSharedTick.d.ts.map +1 -0
- package/build/types/hooks/useTimeElapsed.d.ts +1 -0
- package/build/types/hooks/useTimeElapsed.d.ts.map +1 -0
- package/build/types/hooks/useTrackerSubscription.d.ts +16 -0
- package/build/types/hooks/useTrackerSubscription.d.ts.map +1 -0
- package/build/types/hooks/useUnusedFieldAnalysis.d.ts +8 -0
- package/build/types/hooks/useUnusedFieldAnalysis.d.ts.map +1 -0
- package/build/types/index.d.ts +21 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/inspector/ClickToInspectSystem.d.ts +40 -0
- package/build/types/inspector/ClickToInspectSystem.d.ts.map +1 -0
- package/build/types/inspector/components/ComponentLabel.d.ts +3 -0
- package/build/types/inspector/components/ComponentLabel.d.ts.map +1 -0
- package/build/types/inspector/components/InspectorBanner.d.ts +5 -0
- package/build/types/inspector/components/InspectorBanner.d.ts.map +1 -0
- package/build/types/inspector/components/InspectorOverlay.d.ts +3 -0
- package/build/types/inspector/components/InspectorOverlay.d.ts.map +1 -0
- package/build/types/inspector/components/SelectionHighlight.d.ts +3 -0
- package/build/types/inspector/components/SelectionHighlight.d.ts.map +1 -0
- package/build/types/inspector/createClickToInspect.d.ts +3 -0
- package/build/types/inspector/createClickToInspect.d.ts.map +1 -0
- package/build/types/inspector/hooks/useAnimatedBounds.d.ts +2 -0
- package/build/types/inspector/hooks/useAnimatedBounds.d.ts.map +1 -0
- package/build/types/inspector/index.d.ts +13 -0
- package/build/types/inspector/index.d.ts.map +1 -0
- package/build/types/inspector/inspectorController.d.ts +2 -0
- package/build/types/inspector/inspectorController.d.ts.map +1 -0
- package/build/types/inspector/types.d.ts +94 -0
- package/build/types/inspector/types.d.ts.map +1 -0
- package/build/types/inspector/utils/elementBounds.d.ts +3 -0
- package/build/types/inspector/utils/elementBounds.d.ts.map +1 -0
- package/build/types/inspector/utils/interpolation.d.ts +7 -0
- package/build/types/inspector/utils/interpolation.d.ts.map +1 -0
- package/build/types/inspector/utils/labelPositioning.d.ts +3 -0
- package/build/types/inspector/utils/labelPositioning.d.ts.map +1 -0
- package/build/types/mocking/MockCacheKeyGenerator.d.ts +41 -0
- package/build/types/mocking/MockCacheKeyGenerator.d.ts.map +1 -0
- package/build/types/mocking/MockManager.d.ts +103 -0
- package/build/types/mocking/MockManager.d.ts.map +1 -0
- package/build/types/prototyping/PrototypeOverrideStore.d.ts +33 -0
- package/build/types/prototyping/PrototypeOverrideStore.d.ts.map +1 -0
- package/build/types/prototyping/index.d.ts +1 -0
- package/build/types/prototyping/index.d.ts.map +1 -0
- package/build/types/public/vite.d.ts +2 -0
- package/build/types/public/vite.d.ts.map +1 -0
- package/build/types/register.d.ts +1 -0
- package/build/types/register.d.ts.map +1 -0
- package/build/types/scss.d.d.ts +6 -0
- package/build/types/scss.d.d.ts.map +1 -0
- package/build/types/store/ComputeStore.d.ts +47 -0
- package/build/types/store/ComputeStore.d.ts.map +1 -0
- package/build/types/store/ConsoleLogStore.d.ts +29 -0
- package/build/types/store/ConsoleLogStore.d.ts.map +1 -0
- package/build/types/store/MetricsStore.d.ts +42 -0
- package/build/types/store/MetricsStore.d.ts.map +1 -0
- package/build/types/store/MonitorStore.d.ts +86 -0
- package/build/types/store/MonitorStore.d.ts.map +1 -0
- package/build/types/store/SubscribableStore.d.ts +6 -0
- package/build/types/store/SubscribableStore.d.ts.map +1 -0
- package/build/types/store/WindowErrorStore.d.ts +32 -0
- package/build/types/store/WindowErrorStore.d.ts.map +1 -0
- package/build/types/styles.d.ts +1 -0
- package/build/types/styles.d.ts.map +1 -0
- package/build/types/types/compute.d.ts +73 -0
- package/build/types/types/compute.d.ts.map +1 -0
- package/build/types/types/emissions.d.ts +24 -0
- package/build/types/types/emissions.d.ts.map +1 -0
- package/build/types/types/index.d.ts +143 -0
- package/build/types/types/index.d.ts.map +1 -0
- package/build/types/utils/ActionLifecycleTracker.d.ts +39 -0
- package/build/types/utils/ActionLifecycleTracker.d.ts.map +1 -0
- package/build/types/utils/CacheEfficiencyAnalyzer.d.ts +45 -0
- package/build/types/utils/CacheEfficiencyAnalyzer.d.ts.map +1 -0
- package/build/types/utils/CircularBuffer.d.ts +18 -0
- package/build/types/utils/CircularBuffer.d.ts.map +1 -0
- package/build/types/utils/ComponentContextCapture.d.ts +29 -0
- package/build/types/utils/ComponentContextCapture.d.ts.map +1 -0
- package/build/types/utils/ComponentPrimitiveDiscovery.d.ts +62 -0
- package/build/types/utils/ComponentPrimitiveDiscovery.d.ts.map +1 -0
- package/build/types/utils/ComponentQueryRegistry.d.ts +91 -0
- package/build/types/utils/ComponentQueryRegistry.d.ts.map +1 -0
- package/build/types/utils/ComputeMonitor.d.ts +14 -0
- package/build/types/utils/ComputeMonitor.d.ts.map +1 -0
- package/build/types/utils/EventTimeline.d.ts +102 -0
- package/build/types/utils/EventTimeline.d.ts.map +1 -0
- package/build/types/utils/LinkTraversalTracker.d.ts +43 -0
- package/build/types/utils/LinkTraversalTracker.d.ts.map +1 -0
- package/build/types/utils/MockDataGenerator.d.ts +23 -0
- package/build/types/utils/MockDataGenerator.d.ts.map +1 -0
- package/build/types/utils/ObservableClientMonitor.d.ts +62 -0
- package/build/types/utils/ObservableClientMonitor.d.ts.map +1 -0
- package/build/types/utils/PerformanceRecommendationEngine.d.ts +67 -0
- package/build/types/utils/PerformanceRecommendationEngine.d.ts.map +1 -0
- package/build/types/utils/PropertyAccessTracker.d.ts +50 -0
- package/build/types/utils/PropertyAccessTracker.d.ts.map +1 -0
- package/build/types/utils/RecommendationMatcher.d.ts +5 -0
- package/build/types/utils/RecommendationMatcher.d.ts.map +1 -0
- package/build/types/utils/SubscriptionTracker.d.ts +17 -0
- package/build/types/utils/SubscriptionTracker.d.ts.map +1 -0
- package/build/types/utils/UnusedFieldAnalyzer.d.ts +46 -0
- package/build/types/utils/UnusedFieldAnalyzer.d.ts.map +1 -0
- package/build/types/utils/WaterfallDetector.d.ts +28 -0
- package/build/types/utils/WaterfallDetector.d.ts.map +1 -0
- package/build/types/utils/computePayload.d.ts +3 -0
- package/build/types/utils/computePayload.d.ts.map +1 -0
- package/build/types/utils/computeRequest.d.ts +20 -0
- package/build/types/utils/computeRequest.d.ts.map +1 -0
- package/build/types/utils/format.d.ts +5 -0
- package/build/types/utils/format.d.ts.map +1 -0
- package/build/types/utils/logger.d.ts +2 -0
- package/build/types/utils/logger.d.ts.map +1 -0
- package/build/types/vite/constants.d.ts +1 -0
- package/build/types/vite/constants.d.ts.map +1 -0
- package/build/types/vite/hookInstaller.d.ts +1 -0
- package/build/types/vite/hookInstaller.d.ts.map +1 -0
- package/build/types/vite/index.d.ts +20 -0
- package/build/types/vite/index.d.ts.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterceptTab.js","names":["Button","Icon","React","useCallback","useMemo","useReducer","createPollingStore","useInspectorSelection","MockDataGenerator","InspectorSelectionHeader","styles","createMatcherFromPrimitive","createResponseFromConfig","getMockPrimitiveInfo","MockEditor","MockItem","OverrideEditor","OverrideItem","PrimitiveSelectionPanel","lazyJson","then","m","json","jsonExtensionValue","jsonExtensionListeners","Set","jsonExtensionPromise","jsonFn","listener","subscribeJsonExtension","callback","add","delete","getJsonExtensionSnapshot","parseJsonField","text","fieldName","trimmed","trim","value","JSON","parse","error","undefined","DEFAULT_STATIC_DATA","DEFAULT_FUNCTION_CODE","DEFAULT_ERROR_MESSAGE","initialState","selectedPrimitive","mocks","editingMock","mockType","responseType","usePayload","mockPayload","useResponse","staticData","functionCode","errorMessage","selectedQuery","activeOverrides","whereClauseText","orderByText","pageSize","groupByText","selectText","choosingPrimitive","hydrateOverrideFields","params","jsonOrEmpty","val","fallback","stringify","isAggregation","where","groupBy","select","orderBy","interceptReducer","state","action","type","primitive","updater","mock","query","overrides","cfg","config","payload","generateStaticData","generateFunctionCode","generatePayload","InterceptTab","monitorStore","theme","isSelectionActive","discoveredPrimitives","activateSelection","clearDiscoveredPrimitives","dispatch","jsonExtension","useSyncExternalStore","jsonExtensions","overrideStore","getPrototypeOverrideStore","overrideSnapshotRef","useRef","overrideSubscribe","subscribe","overrideGetSnapshot","current","getAll","prev","length","every","o","i","overrideStoreOverrides","mockPollingStore","mockManager","getMockManager","getMocks","polledMocks","getSnapshot","effectiveMocks","map","existingMock","find","item","id","data","name","signature","location","hookIndex","enabled","handleSelectPrimitive","handleChooseMock","handleChooseOverride","componentId","componentName","objectType","hookType","originalParams","whereClause","aggregate","querySignature","handleSaveMock","mockData","message","_jsonError","response","sharedFields","matcher","usedCount","removeMock","mockResponse","registerMock","prevMocks","crypto","randomUUID","delay","err","msg","Error","handleCancelMockEditor","handleToggleMock","mockId","getMock","newEnabled","updateMock","handleDeleteMock","filter","handleEditMock","handleApplyOverride","whereResult","bindingId","overrideParams","groupByResult","selectResult","orderByResult","override","createdAt","Date","now","setOverride","handleToggleOverride","getOverride","updateOverride","handleRemoveOverride","clearOverride","handleEditOverride","handleClearSelection","hasActiveIntercepts","mockPrimitiveInfo","createElement","className","interceptTab","onDismissError","onActivateSelection","infoText","Fragment","activeWarningText","buttonLabel","showHelpTooltip","content","primitives","onSelectPrimitive","onClose","interceptTypeChoice","panelHeader","icon","variant","size","onClick","choiceGrid","choiceCard","choiceTitle","choiceDescription","onSaveMock","onCancel","onApplyOverride","onClearSelection","mainContent","section","sectionTitle","emptyState","emptySubtext","intent","disabled","interceptList","key","onToggle","onDelete","onEdit","onRemove"],"sources":["InterceptTab.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, Icon } from \"@blueprintjs/core\";\nimport React, { useCallback, useMemo, useReducer } from \"react\";\nimport { createPollingStore } from \"../hooks/createPollingStore.js\";\nimport { useInspectorSelection } from \"../hooks/useInspectorSelection.js\";\nimport type { MockResponse } from \"../mocking/MockManager.js\";\nimport type {\n PrototypeOverride,\n PrototypeOverrideParams,\n} from \"../prototyping/PrototypeOverrideStore.js\";\nimport type { MonitorStore } from \"../store/MonitorStore.js\";\nimport { MockDataGenerator } from \"../utils/MockDataGenerator.js\";\nimport { InspectorSelectionHeader } from \"./InspectorSelectionHeader.js\";\nimport styles from \"./InterceptTab.module.scss\";\nimport {\n createMatcherFromPrimitive,\n createResponseFromConfig,\n getMockPrimitiveInfo,\n MockEditor,\n MockItem,\n} from \"./MockEditor.js\";\nimport { OverrideEditor, OverrideItem } from \"./OverrideEditor.js\";\nimport type { SelectedPrimitive } from \"./PrimitiveSelectionPanel.js\";\nimport { PrimitiveSelectionPanel } from \"./PrimitiveSelectionPanel.js\";\n\nconst lazyJson = () => import(\"@codemirror/lang-json\").then(m => m.json);\n\ntype JsonExtension = ReturnType<Awaited<ReturnType<typeof lazyJson>>>;\nlet jsonExtensionValue: JsonExtension | null = null;\nconst jsonExtensionListeners = new Set<() => void>();\nconst jsonExtensionPromise = lazyJson().then(jsonFn => {\n jsonExtensionValue = jsonFn();\n for (const listener of jsonExtensionListeners) {\n listener();\n }\n});\nvoid jsonExtensionPromise;\n\nfunction subscribeJsonExtension(callback: () => void): () => void {\n jsonExtensionListeners.add(callback);\n return () => {\n jsonExtensionListeners.delete(callback);\n };\n}\n\nfunction getJsonExtensionSnapshot(): JsonExtension | null {\n return jsonExtensionValue;\n}\n\nfunction parseJsonField<T>(\n text: string,\n fieldName: string,\n): { value: T | undefined; error: string | null } {\n try {\n const trimmed = text.trim();\n if (trimmed && trimmed !== \"{}\") {\n return { value: JSON.parse(trimmed) as T, error: null };\n }\n return { value: undefined, error: null };\n } catch {\n return { value: undefined, error: `Invalid JSON in ${fieldName} field` };\n }\n}\n\nexport interface MockConfiguration {\n primitive: SelectedPrimitive;\n mockType: \"static\" | \"function\" | \"passthrough\";\n responseType: \"success\" | \"error\";\n usePayload?: boolean;\n payload?: string;\n useResponse?: boolean;\n staticData?: string;\n functionCode?: string;\n errorMessage?: string;\n enabled: boolean;\n}\n\nexport interface SelectedQuery {\n componentId: string;\n componentName: string;\n objectType: string;\n hookType: string;\n hookIndex: number;\n originalParams: PrototypeOverrideParams;\n querySignature: string;\n isAggregation?: boolean;\n}\n\ntype MockWithConfig = MockResponse & { config: MockConfiguration };\n\ninterface InterceptState {\n selectedPrimitive: SelectedPrimitive | null;\n mocks: Array<MockWithConfig>;\n editingMock: MockWithConfig | null;\n\n mockType: MockConfiguration[\"mockType\"];\n responseType: MockConfiguration[\"responseType\"];\n usePayload: boolean;\n mockPayload: string;\n useResponse: boolean;\n staticData: string;\n functionCode: string;\n errorMessage: string;\n\n selectedQuery: SelectedQuery | null;\n activeOverrides: PrototypeOverride[];\n whereClauseText: string;\n orderByText: string;\n pageSize: number | undefined;\n groupByText: string;\n selectText: string;\n\n choosingPrimitive: SelectedPrimitive | null;\n error: string | null;\n}\n\nconst DEFAULT_STATIC_DATA = \"{\\n \\\"status\\\": \\\"SUCCESS\\\",\\n \\\"data\\\": {}\\n}\";\nconst DEFAULT_FUNCTION_CODE =\n \"function generateMock(params) {\\n return {\\n status: \\\"SUCCESS\\\",\\n data: {}\\n };\\n}\";\nconst DEFAULT_ERROR_MESSAGE = \"Mock request failed\";\n\nconst initialState: InterceptState = {\n selectedPrimitive: null,\n mocks: [],\n editingMock: null,\n\n mockType: \"static\",\n responseType: \"success\",\n usePayload: true,\n mockPayload: \"{}\",\n useResponse: true,\n staticData: DEFAULT_STATIC_DATA,\n functionCode: DEFAULT_FUNCTION_CODE,\n errorMessage: DEFAULT_ERROR_MESSAGE,\n\n selectedQuery: null,\n activeOverrides: [],\n whereClauseText: \"\",\n orderByText: \"\",\n pageSize: undefined,\n groupByText: \"\",\n selectText: \"\",\n\n choosingPrimitive: null,\n error: null,\n};\n\nexport type InterceptAction =\n | { type: \"SET_SELECTED_PRIMITIVE\"; primitive: SelectedPrimitive | null }\n | { type: \"SET_MOCKS\"; mocks: Array<MockWithConfig> }\n | {\n type: \"UPDATE_MOCKS\";\n updater: (prev: Array<MockWithConfig>) => Array<MockWithConfig>;\n }\n | { type: \"SET_EDITING_MOCK\"; mock: MockWithConfig | null }\n | { type: \"SET_MOCK_TYPE\"; mockType: MockConfiguration[\"mockType\"] }\n | {\n type: \"SET_RESPONSE_TYPE\";\n responseType: MockConfiguration[\"responseType\"];\n }\n | { type: \"SET_USE_PAYLOAD\"; usePayload: boolean }\n | { type: \"SET_MOCK_PAYLOAD\"; mockPayload: string }\n | { type: \"SET_USE_RESPONSE\"; useResponse: boolean }\n | { type: \"SET_STATIC_DATA\"; staticData: string }\n | { type: \"SET_FUNCTION_CODE\"; functionCode: string }\n | { type: \"SET_ERROR_MESSAGE\"; errorMessage: string }\n | { type: \"SET_SELECTED_QUERY\"; query: SelectedQuery | null }\n | { type: \"SET_ACTIVE_OVERRIDES\"; overrides: PrototypeOverride[] }\n | { type: \"SET_WHERE_CLAUSE_TEXT\"; text: string }\n | { type: \"SET_ORDER_BY_TEXT\"; text: string }\n | { type: \"SET_PAGE_SIZE\"; pageSize: number | undefined }\n | { type: \"SET_GROUP_BY_TEXT\"; text: string }\n | { type: \"SET_SELECT_TEXT\"; text: string }\n | { type: \"SET_CHOOSING_PRIMITIVE\"; primitive: SelectedPrimitive | null }\n | { type: \"SET_ERROR\"; error: string | null }\n | { type: \"HYDRATE_OVERRIDE_FORM\"; params: HydrateOverrideFormParams }\n | { type: \"INIT_MOCK_FORM_FROM_CONFIG\"; config: MockConfiguration }\n | { type: \"INIT_MOCK_FORM_FROM_PRIMITIVE\"; primitive: SelectedPrimitive }\n | { type: \"SELECT_PRIMITIVE_FOR_MOCK\"; primitive: SelectedPrimitive }\n | { type: \"CANCEL_MOCK_EDITOR\" }\n | { type: \"CLEAR_SELECTION\" }\n | { type: \"SAVE_MOCK_DONE\" };\n\ninterface HydrateOverrideFormParams {\n isAggregation: boolean;\n where?: unknown;\n orderBy?: unknown;\n pageSize?: number;\n groupBy?: unknown;\n select?: unknown;\n}\n\nfunction hydrateOverrideFields(\n params: HydrateOverrideFormParams,\n): Pick<\n InterceptState,\n \"whereClauseText\" | \"orderByText\" | \"pageSize\" | \"groupByText\" | \"selectText\"\n> {\n const jsonOrEmpty = (val: unknown, fallback: string) =>\n val ? JSON.stringify(val, null, 2) : fallback;\n\n if (params.isAggregation) {\n return {\n whereClauseText: jsonOrEmpty(params.where, \"{}\"),\n groupByText: jsonOrEmpty(params.groupBy, \"{}\"),\n selectText: jsonOrEmpty(params.select, \"{}\"),\n orderByText: \"{}\",\n pageSize: undefined,\n };\n }\n\n return {\n whereClauseText: jsonOrEmpty(params.where, \"{}\"),\n orderByText: jsonOrEmpty(params.orderBy, \"{}\"),\n pageSize: params.pageSize,\n groupByText: \"\",\n selectText: \"\",\n };\n}\n\nfunction interceptReducer(\n state: InterceptState,\n action: InterceptAction,\n): InterceptState {\n switch (action.type) {\n case \"SET_SELECTED_PRIMITIVE\":\n return { ...state, selectedPrimitive: action.primitive };\n case \"SET_MOCKS\":\n return { ...state, mocks: action.mocks };\n case \"UPDATE_MOCKS\":\n return { ...state, mocks: action.updater(state.mocks) };\n case \"SET_EDITING_MOCK\":\n return { ...state, editingMock: action.mock };\n case \"SET_MOCK_TYPE\":\n return { ...state, mockType: action.mockType };\n case \"SET_RESPONSE_TYPE\":\n return { ...state, responseType: action.responseType };\n case \"SET_USE_PAYLOAD\":\n return { ...state, usePayload: action.usePayload };\n case \"SET_MOCK_PAYLOAD\":\n return { ...state, mockPayload: action.mockPayload };\n case \"SET_USE_RESPONSE\":\n return { ...state, useResponse: action.useResponse };\n case \"SET_STATIC_DATA\":\n return { ...state, staticData: action.staticData };\n case \"SET_FUNCTION_CODE\":\n return { ...state, functionCode: action.functionCode };\n case \"SET_ERROR_MESSAGE\":\n return { ...state, errorMessage: action.errorMessage };\n case \"SET_SELECTED_QUERY\":\n return { ...state, selectedQuery: action.query };\n case \"SET_ACTIVE_OVERRIDES\":\n return { ...state, activeOverrides: action.overrides };\n case \"SET_WHERE_CLAUSE_TEXT\":\n return { ...state, whereClauseText: action.text };\n case \"SET_ORDER_BY_TEXT\":\n return { ...state, orderByText: action.text };\n case \"SET_PAGE_SIZE\":\n return { ...state, pageSize: action.pageSize };\n case \"SET_GROUP_BY_TEXT\":\n return { ...state, groupByText: action.text };\n case \"SET_SELECT_TEXT\":\n return { ...state, selectText: action.text };\n case \"SET_CHOOSING_PRIMITIVE\":\n return { ...state, choosingPrimitive: action.primitive };\n case \"SET_ERROR\":\n return { ...state, error: action.error };\n case \"HYDRATE_OVERRIDE_FORM\":\n return { ...state, ...hydrateOverrideFields(action.params) };\n case \"INIT_MOCK_FORM_FROM_CONFIG\": {\n const cfg = action.config;\n return {\n ...state,\n mockType: cfg.mockType,\n responseType: cfg.responseType,\n usePayload: cfg.usePayload ?? false,\n mockPayload: cfg.payload || \"{}\",\n useResponse: cfg.useResponse ?? false,\n staticData: cfg.staticData || DEFAULT_STATIC_DATA,\n functionCode: cfg.functionCode || DEFAULT_FUNCTION_CODE,\n errorMessage: cfg.errorMessage || DEFAULT_ERROR_MESSAGE,\n };\n }\n case \"INIT_MOCK_FORM_FROM_PRIMITIVE\":\n return {\n ...state,\n staticData: MockDataGenerator.generateStaticData(action.primitive),\n functionCode: MockDataGenerator.generateFunctionCode(action.primitive),\n mockPayload: MockDataGenerator.generatePayload(action.primitive),\n mockType: \"static\",\n responseType: \"success\",\n usePayload: true,\n useResponse: true,\n errorMessage: DEFAULT_ERROR_MESSAGE,\n };\n case \"SELECT_PRIMITIVE_FOR_MOCK\":\n return {\n ...state,\n selectedPrimitive: action.primitive,\n editingMock: null,\n };\n case \"CANCEL_MOCK_EDITOR\":\n return {\n ...state,\n selectedPrimitive: null,\n editingMock: null,\n };\n case \"CLEAR_SELECTION\":\n return {\n ...state,\n selectedQuery: null,\n choosingPrimitive: null,\n error: null,\n };\n case \"SAVE_MOCK_DONE\":\n return {\n ...state,\n selectedPrimitive: null,\n editingMock: null,\n };\n }\n}\n\nexport interface InterceptTabProps {\n monitorStore: MonitorStore;\n theme?: \"light\" | \"dark\";\n}\n\nexport const InterceptTab: React.FC<InterceptTabProps> = ({\n monitorStore,\n theme,\n}) => {\n const {\n isSelectionActive,\n discoveredPrimitives,\n activateSelection,\n clearDiscoveredPrimitives,\n } = useInspectorSelection(monitorStore);\n\n const [state, dispatch] = useReducer(interceptReducer, initialState);\n\n const {\n selectedPrimitive,\n mocks,\n editingMock,\n mockType,\n responseType,\n usePayload,\n mockPayload,\n useResponse,\n staticData,\n functionCode,\n errorMessage,\n selectedQuery,\n activeOverrides,\n whereClauseText,\n orderByText,\n pageSize,\n groupByText,\n selectText,\n choosingPrimitive,\n error,\n } = state;\n\n const jsonExtension = React.useSyncExternalStore(\n subscribeJsonExtension,\n getJsonExtensionSnapshot,\n );\n const jsonExtensions = useMemo(\n () => (jsonExtension ? [jsonExtension] : []),\n [jsonExtension],\n );\n\n const overrideStore = monitorStore.getPrototypeOverrideStore();\n\n const overrideSnapshotRef = React.useRef<PrototypeOverride[]>([]);\n const overrideSubscribe = useCallback(\n (callback: () => void) => overrideStore.subscribe(callback),\n [overrideStore],\n );\n const overrideGetSnapshot = useCallback(\n (): PrototypeOverride[] => {\n const current = overrideStore.getAll();\n const prev = overrideSnapshotRef.current;\n if (\n prev.length === current.length\n && prev.every((o, i) => o === current[i])\n ) {\n return prev;\n }\n overrideSnapshotRef.current = current;\n return current;\n },\n [overrideStore],\n );\n const overrideStoreOverrides = React.useSyncExternalStore(\n overrideSubscribe,\n overrideGetSnapshot,\n );\n\n const mockPollingStore = React.useMemo(\n () => {\n const mockManager = monitorStore.getMockManager();\n return createPollingStore(() => mockManager.getMocks(), 1000);\n },\n [monitorStore],\n );\n const polledMocks = React.useSyncExternalStore(\n mockPollingStore.subscribe,\n mockPollingStore.getSnapshot,\n );\n\n const effectiveMocks: Array<MockWithConfig> = useMemo(() => {\n if (!polledMocks || polledMocks.length === 0) {\n return mocks;\n }\n return polledMocks.map(m => {\n const existingMock = mocks.find(item => item.id === m.id);\n if (existingMock?.config) {\n return { ...m, config: existingMock.config };\n }\n return {\n ...m,\n config: {\n primitive: {\n type: \"action\" as const,\n data: {\n name: \"unknown\",\n signature: \"\",\n location: \"\",\n hookIndex: 0,\n },\n },\n mockType: \"static\" as const,\n responseType: \"success\" as const,\n enabled: m.enabled,\n },\n };\n });\n }, [polledMocks, mocks]);\n\n const handleSelectPrimitive = useCallback((primitive: SelectedPrimitive) => {\n if (primitive.type === \"objectSet\" || primitive.type === \"aggregation\") {\n dispatch({ type: \"SET_CHOOSING_PRIMITIVE\", primitive });\n } else {\n dispatch({ type: \"SELECT_PRIMITIVE_FOR_MOCK\", primitive });\n dispatch({ type: \"INIT_MOCK_FORM_FROM_PRIMITIVE\", primitive });\n }\n }, []);\n\n const handleChooseMock = useCallback(() => {\n if (!choosingPrimitive) {\n return;\n }\n dispatch({\n type: \"SELECT_PRIMITIVE_FOR_MOCK\",\n primitive: choosingPrimitive,\n });\n dispatch({\n type: \"INIT_MOCK_FORM_FROM_PRIMITIVE\",\n primitive: choosingPrimitive,\n });\n dispatch({ type: \"SET_CHOOSING_PRIMITIVE\", primitive: null });\n }, [choosingPrimitive]);\n\n const handleChooseOverride = useCallback(() => {\n if (!choosingPrimitive || !discoveredPrimitives) {\n return;\n }\n\n if (choosingPrimitive.type === \"aggregation\") {\n const data = choosingPrimitive.data;\n dispatch({\n type: \"SET_SELECTED_QUERY\",\n query: {\n componentId: discoveredPrimitives.componentId,\n componentName: discoveredPrimitives.componentName,\n objectType: data.type,\n hookType: \"useOsdkAggregation\",\n hookIndex: data.hookIndex,\n originalParams: {\n where: data.whereClause,\n groupBy: data.aggregate?.groupBy as\n | Record<string, unknown>\n | undefined,\n select: data.aggregate?.select as\n | Record<string, unknown>\n | undefined,\n },\n querySignature: data.querySignature,\n isAggregation: true,\n },\n });\n\n dispatch({\n type: \"HYDRATE_OVERRIDE_FORM\",\n params: {\n isAggregation: true,\n where: data.whereClause,\n groupBy: data.aggregate?.groupBy,\n select: data.aggregate?.select,\n },\n });\n } else if (choosingPrimitive.type === \"objectSet\") {\n const data = choosingPrimitive.data;\n dispatch({\n type: \"SET_SELECTED_QUERY\",\n query: {\n componentId: discoveredPrimitives.componentId,\n componentName: discoveredPrimitives.componentName,\n objectType: data.type,\n hookType: \"useOsdkObjects\",\n hookIndex: data.hookIndex,\n originalParams: {\n where: data.whereClause,\n orderBy: data.orderBy,\n pageSize: data.pageSize,\n },\n querySignature: data.querySignature,\n isAggregation: false,\n },\n });\n\n dispatch({\n type: \"HYDRATE_OVERRIDE_FORM\",\n params: {\n isAggregation: false,\n where: data.whereClause,\n orderBy: data.orderBy,\n pageSize: data.pageSize,\n },\n });\n }\n\n dispatch({ type: \"SET_CHOOSING_PRIMITIVE\", primitive: null });\n clearDiscoveredPrimitives();\n dispatch({ type: \"SET_ERROR\", error: null });\n }, [choosingPrimitive, discoveredPrimitives, clearDiscoveredPrimitives]);\n\n const handleSaveMock = useCallback(() => {\n if (!selectedPrimitive) {\n return;\n }\n\n const mockManager = monitorStore.getMockManager();\n\n dispatch({ type: \"SET_ERROR\", error: null });\n\n try {\n if (!selectedPrimitive.type || !selectedPrimitive.data) {\n dispatch({\n type: \"SET_ERROR\",\n error:\n \"Invalid primitive structure. Please try selecting the component again.\",\n });\n return;\n }\n\n const config: MockConfiguration = {\n primitive: selectedPrimitive,\n mockType,\n responseType,\n usePayload: selectedPrimitive.type === \"action\"\n ? usePayload\n : undefined,\n payload: selectedPrimitive.type === \"action\" && usePayload\n ? mockPayload\n : undefined,\n useResponse,\n staticData: mockType === \"static\" && useResponse\n ? staticData\n : undefined,\n functionCode: mockType === \"function\" && useResponse\n ? functionCode\n : undefined,\n errorMessage: responseType === \"error\" && useResponse\n ? errorMessage\n : undefined,\n enabled: true,\n };\n\n let mockData: unknown;\n if (!useResponse) {\n mockData = null;\n } else if (responseType === \"error\") {\n mockData = {\n error: true,\n message: errorMessage || DEFAULT_ERROR_MESSAGE,\n };\n } else if (mockType === \"static\" && staticData) {\n try {\n mockData = JSON.parse(staticData);\n } catch (_jsonError) {\n dispatch({\n type: \"SET_ERROR\",\n error: \"Invalid JSON in mock data. Please check your JSON syntax.\",\n });\n return;\n }\n }\n\n const response = !useResponse\n ? { type: \"passthrough\" as const }\n : responseType === \"error\"\n ? {\n type: \"error\" as const,\n error: errorMessage || DEFAULT_ERROR_MESSAGE,\n }\n : createResponseFromConfig(selectedPrimitive, mockData);\n\n const sharedFields = {\n matcher: createMatcherFromPrimitive(selectedPrimitive),\n response,\n enabled: config.enabled,\n usePayload: config.usePayload,\n payload: config.payload,\n usedCount: 0,\n };\n\n if (editingMock) {\n mockManager.removeMock(editingMock.id);\n const mockResponse: MockResponse = { ...editingMock, ...sharedFields };\n const id = mockManager.registerMock(mockResponse);\n dispatch({\n type: \"UPDATE_MOCKS\",\n updater: (prevMocks) =>\n prevMocks.map(m =>\n m.id === editingMock.id ? { ...mockResponse, config, id } : m\n ),\n });\n } else {\n const mockResponse: MockResponse = {\n id: crypto.randomUUID(),\n type: selectedPrimitive.type === \"action\"\n ? \"action\"\n : selectedPrimitive.type === \"objectSet\"\n || selectedPrimitive.type === \"link\"\n || selectedPrimitive.type === \"aggregation\"\n ? \"list\"\n : \"object\",\n delay: 0,\n ...sharedFields,\n };\n const id = mockManager.registerMock(mockResponse);\n dispatch({\n type: \"UPDATE_MOCKS\",\n updater: (\n prevMocks,\n ) => [...prevMocks, { ...mockResponse, config, id }],\n });\n }\n\n dispatch({ type: \"SAVE_MOCK_DONE\" });\n clearDiscoveredPrimitives();\n } catch (err) {\n const msg = err instanceof Error ? err.message : \"Unknown error\";\n dispatch({ type: \"SET_ERROR\", error: `Failed to save mock: ${msg}` });\n }\n }, [\n selectedPrimitive,\n editingMock,\n mockType,\n responseType,\n usePayload,\n mockPayload,\n useResponse,\n staticData,\n functionCode,\n errorMessage,\n monitorStore,\n clearDiscoveredPrimitives,\n ]);\n\n const handleCancelMockEditor = useCallback(() => {\n dispatch({ type: \"CANCEL_MOCK_EDITOR\" });\n }, []);\n\n const handleToggleMock = useCallback((mockId: string) => {\n const mockManager = monitorStore.getMockManager();\n const mock = mockManager.getMock(mockId);\n if (mock) {\n const newEnabled = !mock.enabled;\n mockManager.updateMock(mockId, { enabled: newEnabled });\n dispatch({\n type: \"UPDATE_MOCKS\",\n updater: (prevMocks) =>\n prevMocks.map(m =>\n m.id === mockId ? { ...m, enabled: newEnabled } : m\n ),\n });\n }\n }, [monitorStore]);\n\n const handleDeleteMock = useCallback((mockId: string) => {\n const mockManager = monitorStore.getMockManager();\n mockManager.removeMock(mockId);\n dispatch({\n type: \"UPDATE_MOCKS\",\n updater: (prevMocks) => prevMocks.filter(m => m.id !== mockId),\n });\n }, [monitorStore]);\n\n const handleEditMock = useCallback((\n mock: MockWithConfig,\n ) => {\n dispatch({ type: \"SET_EDITING_MOCK\", mock });\n dispatch({\n type: \"SET_SELECTED_PRIMITIVE\",\n primitive: mock.config.primitive,\n });\n dispatch({\n type: \"INIT_MOCK_FORM_FROM_CONFIG\",\n config: mock.config,\n });\n }, []);\n\n const handleApplyOverride = useCallback(() => {\n if (!selectedQuery) {\n return;\n }\n\n dispatch({ type: \"SET_ERROR\", error: null });\n\n const whereResult = parseJsonField<Record<string, unknown>>(\n whereClauseText,\n \"Where Clause\",\n );\n if (whereResult.error) {\n dispatch({ type: \"SET_ERROR\", error: whereResult.error });\n return;\n }\n\n const bindingId = `${selectedQuery.componentId}:${selectedQuery.hookIndex}`;\n\n let overrideParams: PrototypeOverrideParams;\n\n if (selectedQuery.isAggregation) {\n const groupByResult = parseJsonField<Record<string, unknown>>(\n groupByText,\n \"Group By\",\n );\n if (groupByResult.error) {\n dispatch({ type: \"SET_ERROR\", error: groupByResult.error });\n return;\n }\n\n const selectResult = parseJsonField<Record<string, unknown>>(\n selectText,\n \"Select\",\n );\n if (selectResult.error) {\n dispatch({ type: \"SET_ERROR\", error: selectResult.error });\n return;\n }\n\n overrideParams = {\n where: whereResult.value,\n groupBy: groupByResult.value,\n select: selectResult.value,\n };\n } else {\n const orderByResult = parseJsonField<Record<string, \"asc\" | \"desc\">>(\n orderByText,\n \"Order By\",\n );\n if (orderByResult.error) {\n dispatch({ type: \"SET_ERROR\", error: orderByResult.error });\n return;\n }\n\n overrideParams = {\n where: whereResult.value,\n orderBy: orderByResult.value,\n pageSize,\n };\n }\n\n const override: PrototypeOverride = {\n bindingId,\n componentId: selectedQuery.componentId,\n componentName: selectedQuery.componentName,\n hookType: selectedQuery.hookType,\n hookIndex: selectedQuery.hookIndex,\n objectType: selectedQuery.objectType,\n querySignature: selectedQuery.querySignature,\n originalParams: selectedQuery.originalParams,\n overrideParams,\n enabled: true,\n createdAt: Date.now(),\n };\n\n overrideStore.setOverride(override);\n dispatch({ type: \"SET_SELECTED_QUERY\", query: null });\n }, [\n selectedQuery,\n whereClauseText,\n orderByText,\n pageSize,\n groupByText,\n selectText,\n overrideStore,\n ]);\n\n const handleToggleOverride = useCallback(\n (bindingId: string) => {\n const override = overrideStore.getOverride(bindingId);\n if (override) {\n overrideStore.updateOverride(bindingId, { enabled: !override.enabled });\n }\n },\n [overrideStore],\n );\n\n const handleRemoveOverride = useCallback(\n (bindingId: string) => {\n overrideStore.clearOverride(bindingId);\n },\n [overrideStore],\n );\n\n const handleEditOverride = useCallback(\n (override: PrototypeOverride) => {\n const isAggregation = override.hookType === \"useOsdkAggregation\";\n\n dispatch({\n type: \"SET_SELECTED_QUERY\",\n query: {\n componentId: override.componentId,\n componentName: override.componentName,\n objectType: override.objectType,\n hookType: override.hookType,\n hookIndex: override.hookIndex,\n originalParams: override.originalParams,\n querySignature: override.querySignature,\n isAggregation,\n },\n });\n\n dispatch({\n type: \"HYDRATE_OVERRIDE_FORM\",\n params: {\n isAggregation,\n where: override.overrideParams.where,\n orderBy: override.overrideParams.orderBy,\n pageSize: override.overrideParams.pageSize,\n groupBy: override.overrideParams.groupBy,\n select: override.overrideParams.select,\n },\n });\n dispatch({ type: \"SET_ERROR\", error: null });\n },\n [],\n );\n\n const handleClearSelection = useCallback(() => {\n dispatch({ type: \"CLEAR_SELECTION\" });\n clearDiscoveredPrimitives();\n }, [clearDiscoveredPrimitives]);\n\n const hasActiveIntercepts = effectiveMocks.length > 0\n || overrideStoreOverrides.length > 0;\n const isShowingList = !discoveredPrimitives && !choosingPrimitive\n && !selectedQuery && !selectedPrimitive;\n\n const mockPrimitiveInfo = useMemo(() => {\n if (!selectedPrimitive) {\n return null;\n }\n return getMockPrimitiveInfo(selectedPrimitive);\n }, [selectedPrimitive]);\n\n return (\n <div className={styles.interceptTab}>\n <InspectorSelectionHeader\n error={error}\n onDismissError={() => dispatch({ type: \"SET_ERROR\", error: null })}\n isSelectionActive={isSelectionActive}\n onActivateSelection={activateSelection}\n infoText={\n <>\n <strong>Intercept:</strong>{\" \"}\n Select a component to mock responses or override query parameters.\n </>\n }\n activeWarningText=\"Selection mode is active. Click on any component to discover its OSDK usage.\"\n buttonLabel=\"Select Component\"\n showHelpTooltip={true}\n />\n\n <div className={styles.content}>\n {discoveredPrimitives && !choosingPrimitive && !selectedPrimitive && (\n <PrimitiveSelectionPanel\n primitives={discoveredPrimitives}\n onSelectPrimitive={handleSelectPrimitive}\n onClose={clearDiscoveredPrimitives}\n />\n )}\n\n {choosingPrimitive && (\n <div className={styles.interceptTypeChoice}>\n <div className={styles.panelHeader}>\n <Icon icon=\"fork\" />\n <span>How do you want to intercept?</span>\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon=\"cross\"\n aria-label=\"Cancel\"\n onClick={handleClearSelection}\n />\n </div>\n <div className={styles.choiceGrid}>\n <button\n type=\"button\"\n className={styles.choiceCard}\n onClick={handleChooseMock}\n >\n <Icon icon=\"shield\" size={24} />\n <div className={styles.choiceTitle}>Mock Response</div>\n <div className={styles.choiceDescription}>\n Replace the response data with static or dynamic mock data\n </div>\n </button>\n <button\n type=\"button\"\n className={styles.choiceCard}\n onClick={handleChooseOverride}\n >\n <Icon icon=\"edit\" size={24} />\n <div className={styles.choiceTitle}>Override Query</div>\n <div className={styles.choiceDescription}>\n Edit where, orderBy, pageSize, or aggregation params in\n real-time\n </div>\n </button>\n </div>\n </div>\n )}\n\n {selectedPrimitive && (\n <MockEditor\n selectedPrimitive={selectedPrimitive}\n editingMock={editingMock}\n mockType={mockType}\n responseType={responseType}\n usePayload={usePayload}\n mockPayload={mockPayload}\n useResponse={useResponse}\n staticData={staticData}\n functionCode={functionCode}\n errorMessage={errorMessage}\n dispatch={dispatch}\n mockPrimitiveInfo={mockPrimitiveInfo}\n onSaveMock={handleSaveMock}\n onCancel={handleCancelMockEditor}\n />\n )}\n\n {selectedQuery && (\n <OverrideEditor\n selectedQuery={selectedQuery}\n whereClauseText={whereClauseText}\n orderByText={orderByText}\n pageSize={pageSize}\n groupByText={groupByText}\n selectText={selectText}\n jsonExtensions={jsonExtensions}\n theme={theme ?? \"dark\"}\n dispatch={dispatch}\n onApplyOverride={handleApplyOverride}\n onClearSelection={handleClearSelection}\n />\n )}\n\n {isShowingList && (\n <div className={styles.mainContent}>\n <div className={styles.section}>\n <h3 className={styles.sectionTitle}>\n <Icon icon=\"shield\" />\n Active Intercepts\n </h3>\n\n {!hasActiveIntercepts\n ? (\n <div className={styles.emptyState}>\n <Icon icon=\"search\" size={40} />\n <div>No active intercepts</div>\n <div className={styles.emptySubtext}>\n Select a component to mock responses or override query\n parameters\n </div>\n <Button\n intent=\"primary\"\n icon=\"style\"\n onClick={activateSelection}\n disabled={isSelectionActive}\n >\n Select Component\n </Button>\n </div>\n )\n : (\n <div className={styles.interceptList}>\n {effectiveMocks.map((mock) => (\n <MockItem\n key={`mock-${mock.id}`}\n mock={mock}\n onToggle={() => handleToggleMock(mock.id)}\n onDelete={() => handleDeleteMock(mock.id)}\n onEdit={() => handleEditMock(mock)}\n />\n ))}\n {overrideStoreOverrides.map((override) => (\n <OverrideItem\n key={`override-${override.bindingId}`}\n override={override}\n onToggle={() =>\n handleToggleOverride(override.bindingId)}\n onRemove={() =>\n handleRemoveOverride(override.bindingId)}\n onEdit={() => handleEditOverride(override)}\n />\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/build-css.mjs. Do not edit by hand.
|
|
2
|
+
const styles = {
|
|
3
|
+
"interceptTab": "InterceptTab-module__interceptTab___PioGUVUx",
|
|
4
|
+
"header": "InterceptTab-module__header___JsvLNjbZ",
|
|
5
|
+
"info": "InterceptTab-module__info___gXo6mUXJ",
|
|
6
|
+
"activateButton": "InterceptTab-module__activateButton___sLomNt7k",
|
|
7
|
+
"content": "InterceptTab-module__content___GzKYSXRa",
|
|
8
|
+
"error": "InterceptTab-module__error___WUgzNTRf",
|
|
9
|
+
"dismissButton": "InterceptTab-module__dismissButton___HVzI2rQ8",
|
|
10
|
+
"helpIcon": "InterceptTab-module__helpIcon___TFAHrP7Y",
|
|
11
|
+
"mainContent": "InterceptTab-module__mainContent___qMEJzST4",
|
|
12
|
+
"section": "InterceptTab-module__section___u5VqGtSU",
|
|
13
|
+
"sectionTitle": "InterceptTab-module__sectionTitle___wnFl8azX",
|
|
14
|
+
"emptyState": "InterceptTab-module__emptyState___qzlpW30d",
|
|
15
|
+
"emptySubtext": "InterceptTab-module__emptySubtext___pLphKvB4",
|
|
16
|
+
"interceptTypeChoice": "InterceptTab-module__interceptTypeChoice___-nF5Hup2",
|
|
17
|
+
"choiceGrid": "InterceptTab-module__choiceGrid___j3wAqJYB",
|
|
18
|
+
"choiceCard": "InterceptTab-module__choiceCard___5r5JbjRd",
|
|
19
|
+
"choiceTitle": "InterceptTab-module__choiceTitle___MR35rBju",
|
|
20
|
+
"choiceDescription": "InterceptTab-module__choiceDescription___iehOQzuw",
|
|
21
|
+
"interceptList": "InterceptTab-module__interceptList___jcYZN1v3",
|
|
22
|
+
"interceptItem": "InterceptTab-module__interceptItem___WGCPqjaP",
|
|
23
|
+
"interceptItemContent": "InterceptTab-module__interceptItemContent___CDqLL5U-",
|
|
24
|
+
"interceptItemHeader": "InterceptTab-module__interceptItemHeader___Bw1CVvpY",
|
|
25
|
+
"interceptItemTitle": "InterceptTab-module__interceptItemTitle___6GuH-tqi",
|
|
26
|
+
"interceptItemMeta": "InterceptTab-module__interceptItemMeta___X35ixVGw",
|
|
27
|
+
"interceptItemDetails": "InterceptTab-module__interceptItemDetails___B13xHi54",
|
|
28
|
+
"interceptItemActions": "InterceptTab-module__interceptItemActions___Ezl1YVdv",
|
|
29
|
+
"interceptBadge": "InterceptTab-module__interceptBadge___yu7Wb3Hy",
|
|
30
|
+
"interceptBadgeMock": "InterceptTab-module__interceptBadgeMock___o3UibI6M",
|
|
31
|
+
"interceptBadgeOverride": "InterceptTab-module__interceptBadgeOverride___YHlVmXw7",
|
|
32
|
+
"overrideItemStatus": "InterceptTab-module__overrideItemStatus___ZjHDORi8",
|
|
33
|
+
"statusEnabled": "InterceptTab-module__statusEnabled___be4vHriu",
|
|
34
|
+
"statusDisabled": "InterceptTab-module__statusDisabled___oKwxzxmJ",
|
|
35
|
+
"clickable": "InterceptTab-module__clickable___trufoAxu",
|
|
36
|
+
"editorPanel": "InterceptTab-module__editorPanel___RIXfz99D",
|
|
37
|
+
"panelHeader": "InterceptTab-module__panelHeader___yhHLV-oY",
|
|
38
|
+
"panelTitle": "InterceptTab-module__panelTitle___gERbNwYG",
|
|
39
|
+
"panelSubtitle": "InterceptTab-module__panelSubtitle___N4gqw-Dq",
|
|
40
|
+
"editorContent": "InterceptTab-module__editorContent___YUUVZ1sC",
|
|
41
|
+
"editorActions": "InterceptTab-module__editorActions___x5axmG1R",
|
|
42
|
+
"detail": "InterceptTab-module__detail___GcJXLvmM",
|
|
43
|
+
"editorPlaceholder": "InterceptTab-module__editorPlaceholder___RsMcE2Jd",
|
|
44
|
+
"primitiveSignature": "InterceptTab-module__primitiveSignature___v45rndsb",
|
|
45
|
+
"codeEditor": "InterceptTab-module__codeEditor___zJVaUvlT",
|
|
46
|
+
"dt-shimmer": "InterceptTab-module__dt-shimmer___-ECfWaeF",
|
|
47
|
+
"dt-fade-up": "InterceptTab-module__dt-fade-up___o8tlTxF6"
|
|
48
|
+
};
|
|
49
|
+
export default styles;
|
|
@@ -0,0 +1,115 @@
|
|
|
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, Collapse, Icon, Tag } from "@blueprintjs/core";
|
|
18
|
+
import classNames from "classnames";
|
|
19
|
+
import React, { useState } from "react";
|
|
20
|
+
import { formatRelativeTime } from "../utils/format.js";
|
|
21
|
+
import { CopyableCodeBlock } from "./CopyableCodeBlock.js";
|
|
22
|
+
import styles from "./IssueCard.module.scss.js";
|
|
23
|
+
const severityIcon = {
|
|
24
|
+
error: {
|
|
25
|
+
icon: "error",
|
|
26
|
+
intent: "danger"
|
|
27
|
+
},
|
|
28
|
+
warning: {
|
|
29
|
+
icon: "warning-sign",
|
|
30
|
+
intent: "warning"
|
|
31
|
+
},
|
|
32
|
+
info: {
|
|
33
|
+
icon: "info-sign",
|
|
34
|
+
intent: "primary"
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const severityClass = {
|
|
38
|
+
error: styles.severityError,
|
|
39
|
+
warning: styles.severityWarning,
|
|
40
|
+
info: styles.severityInfo
|
|
41
|
+
};
|
|
42
|
+
export const IssueCard = ({
|
|
43
|
+
issue,
|
|
44
|
+
onComponentClick,
|
|
45
|
+
style
|
|
46
|
+
}) => {
|
|
47
|
+
const [expanded, setExpanded] = useState(false);
|
|
48
|
+
const {
|
|
49
|
+
icon,
|
|
50
|
+
intent
|
|
51
|
+
} = severityIcon[issue.severity];
|
|
52
|
+
const hasDetails = issue.expandable && (issue.expandable.stack || issue.expandable.detailsJson || issue.expandable.code);
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: classNames(styles.issueCard, severityClass[issue.severity]),
|
|
55
|
+
onClick: () => setExpanded(!expanded),
|
|
56
|
+
onKeyDown: e => {
|
|
57
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
setExpanded(!expanded);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
role: "button",
|
|
63
|
+
tabIndex: 0,
|
|
64
|
+
"aria-expanded": hasDetails ? expanded : undefined,
|
|
65
|
+
style: style
|
|
66
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: styles.header
|
|
68
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
69
|
+
icon: icon,
|
|
70
|
+
intent: intent,
|
|
71
|
+
className: styles.icon
|
|
72
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: styles.content
|
|
74
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: styles.topRow
|
|
76
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
77
|
+
className: styles.category
|
|
78
|
+
}, issue.category.toUpperCase()), /*#__PURE__*/React.createElement("span", {
|
|
79
|
+
className: styles.title
|
|
80
|
+
}, issue.title)), /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: styles.message
|
|
82
|
+
}, issue.message), issue.suggestion && /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: styles.suggestion
|
|
84
|
+
}, issue.suggestion)), /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: styles.meta
|
|
86
|
+
}, issue.componentName && /*#__PURE__*/React.createElement(Tag, {
|
|
87
|
+
minimal: true,
|
|
88
|
+
className: styles.componentTag,
|
|
89
|
+
interactive: !!onComponentClick && !!issue.componentId,
|
|
90
|
+
onClick: e => {
|
|
91
|
+
if (onComponentClick && issue.componentId) {
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
onComponentClick(issue.componentId);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, issue.componentName), /*#__PURE__*/React.createElement("span", {
|
|
97
|
+
className: styles.timestamp
|
|
98
|
+
}, formatRelativeTime(issue.timestamp)), hasDetails && /*#__PURE__*/React.createElement(Button, {
|
|
99
|
+
variant: "minimal",
|
|
100
|
+
size: "small",
|
|
101
|
+
icon: expanded ? "chevron-up" : "chevron-down",
|
|
102
|
+
className: styles.expandButton
|
|
103
|
+
}))), hasDetails && /*#__PURE__*/React.createElement(Collapse, {
|
|
104
|
+
isOpen: expanded
|
|
105
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
106
|
+
className: styles.details
|
|
107
|
+
}, issue.expandable?.stack && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", null, "Stack Trace"), /*#__PURE__*/React.createElement(CopyableCodeBlock, {
|
|
108
|
+
className: styles.codeBlock
|
|
109
|
+
}, issue.expandable.stack)), issue.expandable?.detailsJson && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", null, "Details"), /*#__PURE__*/React.createElement(CopyableCodeBlock, {
|
|
110
|
+
className: styles.codeBlock
|
|
111
|
+
}, issue.expandable.detailsJson)), issue.expandable?.code && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", null, "Example"), /*#__PURE__*/React.createElement(CopyableCodeBlock, {
|
|
112
|
+
className: styles.codeBlock
|
|
113
|
+
}, issue.expandable.code)))));
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=IssueCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IssueCard.js","names":["Button","Collapse","Icon","Tag","classNames","React","useState","formatRelativeTime","CopyableCodeBlock","styles","severityIcon","error","icon","intent","warning","info","severityClass","severityError","severityWarning","severityInfo","IssueCard","issue","onComponentClick","style","expanded","setExpanded","severity","hasDetails","expandable","stack","detailsJson","code","createElement","className","issueCard","onClick","onKeyDown","e","key","preventDefault","role","tabIndex","undefined","header","content","topRow","category","toUpperCase","title","message","suggestion","meta","componentName","minimal","componentTag","interactive","componentId","stopPropagation","timestamp","variant","size","expandButton","isOpen","details","Fragment","codeBlock"],"sources":["IssueCard.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, Collapse, Icon, Tag } from \"@blueprintjs/core\";\nimport classNames from \"classnames\";\nimport React, { useState } from \"react\";\nimport { formatRelativeTime } from \"../utils/format.js\";\nimport { CopyableCodeBlock } from \"./CopyableCodeBlock.js\";\nimport styles from \"./IssueCard.module.scss\";\nimport type { Issue } from \"./issueTypes.js\";\n\nexport interface IssueCardProps {\n issue: Issue;\n onComponentClick?: (componentId: string) => void;\n style?: React.CSSProperties;\n}\n\nconst severityIcon: Record<\n Issue[\"severity\"],\n {\n icon: \"error\" | \"warning-sign\" | \"info-sign\";\n intent: \"danger\" | \"warning\" | \"primary\";\n }\n> = {\n error: { icon: \"error\", intent: \"danger\" },\n warning: { icon: \"warning-sign\", intent: \"warning\" },\n info: { icon: \"info-sign\", intent: \"primary\" },\n};\n\nconst severityClass: Record<Issue[\"severity\"], string> = {\n error: styles.severityError,\n warning: styles.severityWarning,\n info: styles.severityInfo,\n};\n\nexport const IssueCard: React.FC<IssueCardProps> = ({\n issue,\n onComponentClick,\n style,\n}) => {\n const [expanded, setExpanded] = useState(false);\n\n const { icon, intent } = severityIcon[issue.severity];\n const hasDetails = issue.expandable\n && (issue.expandable.stack || issue.expandable.detailsJson\n || issue.expandable.code);\n\n return (\n <div\n className={classNames(styles.issueCard, severityClass[issue.severity])}\n onClick={() => setExpanded(!expanded)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setExpanded(!expanded);\n }\n }}\n role=\"button\"\n tabIndex={0}\n aria-expanded={hasDetails ? expanded : undefined}\n style={style}\n >\n <div className={styles.header}>\n <Icon icon={icon} intent={intent} className={styles.icon} />\n <div className={styles.content}>\n <div className={styles.topRow}>\n <span className={styles.category}>\n {issue.category.toUpperCase()}\n </span>\n <span className={styles.title}>{issue.title}</span>\n </div>\n <div className={styles.message}>{issue.message}</div>\n {issue.suggestion && (\n <div className={styles.suggestion}>{issue.suggestion}</div>\n )}\n </div>\n <div className={styles.meta}>\n {issue.componentName && (\n <Tag\n minimal\n className={styles.componentTag}\n interactive={!!onComponentClick && !!issue.componentId}\n onClick={(e: React.MouseEvent) => {\n if (onComponentClick && issue.componentId) {\n e.stopPropagation();\n onComponentClick(issue.componentId);\n }\n }}\n >\n {issue.componentName}\n </Tag>\n )}\n <span className={styles.timestamp}>\n {formatRelativeTime(issue.timestamp)}\n </span>\n {hasDetails && (\n <Button\n variant=\"minimal\"\n size=\"small\"\n icon={expanded ? \"chevron-up\" : \"chevron-down\"}\n className={styles.expandButton}\n />\n )}\n </div>\n </div>\n\n {hasDetails && (\n <Collapse isOpen={expanded}>\n <div className={styles.details}>\n {issue.expandable?.stack && (\n <>\n <h6>Stack Trace</h6>\n <CopyableCodeBlock className={styles.codeBlock}>\n {issue.expandable.stack}\n </CopyableCodeBlock>\n </>\n )}\n {issue.expandable?.detailsJson && (\n <>\n <h6>Details</h6>\n <CopyableCodeBlock className={styles.codeBlock}>\n {issue.expandable.detailsJson}\n </CopyableCodeBlock>\n </>\n )}\n {issue.expandable?.code && (\n <>\n <h6>Example</h6>\n <CopyableCodeBlock className={styles.codeBlock}>\n {issue.expandable.code}\n </CopyableCodeBlock>\n </>\n )}\n </div>\n </Collapse>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/build-css.mjs. Do not edit by hand.
|
|
2
|
+
const styles = {
|
|
3
|
+
"issueCard": "IssueCard-module__issueCard___1bV-nxdk",
|
|
4
|
+
"dt-fade-up": "IssueCard-module__dt-fade-up___ND7Y3MeU",
|
|
5
|
+
"severityError": "IssueCard-module__severityError___-EKldMdO",
|
|
6
|
+
"severityWarning": "IssueCard-module__severityWarning___RvFMQxAG",
|
|
7
|
+
"severityInfo": "IssueCard-module__severityInfo___5cYCFfNl",
|
|
8
|
+
"header": "IssueCard-module__header___Vv3evbgQ",
|
|
9
|
+
"icon": "IssueCard-module__icon___693JIz6H",
|
|
10
|
+
"content": "IssueCard-module__content___7VhF0W8g",
|
|
11
|
+
"topRow": "IssueCard-module__topRow___viFUtrGr",
|
|
12
|
+
"category": "IssueCard-module__category___tRY0LnrM",
|
|
13
|
+
"title": "IssueCard-module__title___DneGdQgx",
|
|
14
|
+
"message": "IssueCard-module__message___vkECZa5w",
|
|
15
|
+
"suggestion": "IssueCard-module__suggestion___DkhGPj1C",
|
|
16
|
+
"meta": "IssueCard-module__meta___oMkuN-cz",
|
|
17
|
+
"componentTag": "IssueCard-module__componentTag___jUq5Dr-P",
|
|
18
|
+
"timestamp": "IssueCard-module__timestamp___4lLPdSBo",
|
|
19
|
+
"expandButton": "IssueCard-module__expandButton___ZB-AGqp-",
|
|
20
|
+
"details": "IssueCard-module__details___hcNnObTs",
|
|
21
|
+
"codeBlock": "IssueCard-module__codeBlock___3P9yB-3T",
|
|
22
|
+
"dt-shimmer": "IssueCard-module__dt-shimmer___8Gz2CmkV"
|
|
23
|
+
};
|
|
24
|
+
export default styles;
|
|
@@ -0,0 +1,94 @@
|
|
|
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 { Icon } from "@blueprintjs/core";
|
|
18
|
+
import classNames from "classnames";
|
|
19
|
+
import React, { useState } from "react";
|
|
20
|
+
import { formatRelativeTime } from "../utils/format.js";
|
|
21
|
+
import styles from "./LogEntryCard.module.scss.js";
|
|
22
|
+
const levelConfig = {
|
|
23
|
+
error: {
|
|
24
|
+
icon: "error",
|
|
25
|
+
color: "var(--dt-red)",
|
|
26
|
+
className: styles.levelError
|
|
27
|
+
},
|
|
28
|
+
warn: {
|
|
29
|
+
icon: "warning-sign",
|
|
30
|
+
color: "var(--dt-orange)",
|
|
31
|
+
className: styles.levelWarn
|
|
32
|
+
},
|
|
33
|
+
info: {
|
|
34
|
+
icon: "info-sign",
|
|
35
|
+
color: "var(--dt-blue)",
|
|
36
|
+
className: styles.levelInfo
|
|
37
|
+
},
|
|
38
|
+
debug: {
|
|
39
|
+
icon: "code",
|
|
40
|
+
color: "var(--dt-gray)",
|
|
41
|
+
className: styles.levelDebug
|
|
42
|
+
},
|
|
43
|
+
log: {
|
|
44
|
+
icon: "console",
|
|
45
|
+
color: "var(--dt-text-tertiary)",
|
|
46
|
+
className: styles.levelLog
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const LogEntryCard = ({
|
|
50
|
+
entry,
|
|
51
|
+
style
|
|
52
|
+
}) => {
|
|
53
|
+
const [expanded, setExpanded] = useState(false);
|
|
54
|
+
const config = levelConfig[entry.level];
|
|
55
|
+
const summary = entry.args.join(" ");
|
|
56
|
+
const isMultiline = summary.includes("\n") || summary.length > 120;
|
|
57
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
className: classNames(styles.logEntry, config.className),
|
|
59
|
+
onClick: () => {
|
|
60
|
+
if (isMultiline) {
|
|
61
|
+
setExpanded(!expanded);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
onKeyDown: e => {
|
|
65
|
+
if ((e.key === "Enter" || e.key === " ") && isMultiline) {
|
|
66
|
+
e.preventDefault();
|
|
67
|
+
setExpanded(!expanded);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
role: isMultiline ? "button" : undefined,
|
|
71
|
+
tabIndex: isMultiline ? 0 : undefined,
|
|
72
|
+
"aria-expanded": isMultiline ? expanded : undefined,
|
|
73
|
+
style: style
|
|
74
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
75
|
+
icon: config.icon,
|
|
76
|
+
size: 12,
|
|
77
|
+
color: config.color,
|
|
78
|
+
className: styles.levelBadge
|
|
79
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
80
|
+
className: styles.content
|
|
81
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
className: styles.args
|
|
83
|
+
}, expanded ? summary : summary.split("\n")[0]), expanded && isMultiline && /*#__PURE__*/React.createElement("pre", {
|
|
84
|
+
className: styles.argsExpanded
|
|
85
|
+
}, summary)), /*#__PURE__*/React.createElement("div", {
|
|
86
|
+
className: styles.meta
|
|
87
|
+
}, entry.source && /*#__PURE__*/React.createElement("span", {
|
|
88
|
+
className: styles.source,
|
|
89
|
+
title: entry.source
|
|
90
|
+
}, entry.source), /*#__PURE__*/React.createElement("span", {
|
|
91
|
+
className: styles.timestamp
|
|
92
|
+
}, formatRelativeTime(entry.timestamp))));
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=LogEntryCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogEntryCard.js","names":["Icon","classNames","React","useState","formatRelativeTime","styles","levelConfig","error","icon","color","className","levelError","warn","levelWarn","info","levelInfo","debug","levelDebug","log","levelLog","LogEntryCard","entry","style","expanded","setExpanded","config","level","summary","args","join","isMultiline","includes","length","createElement","logEntry","onClick","onKeyDown","e","key","preventDefault","role","undefined","tabIndex","size","levelBadge","content","split","argsExpanded","meta","source","title","timestamp"],"sources":["LogEntryCard.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 { Icon } from \"@blueprintjs/core\";\nimport classNames from \"classnames\";\nimport React, { useState } from \"react\";\nimport type { ConsoleLogEntry } from \"../store/ConsoleLogStore.js\";\nimport { formatRelativeTime } from \"../utils/format.js\";\nimport styles from \"./LogEntryCard.module.scss\";\n\nexport interface LogEntryCardProps {\n entry: ConsoleLogEntry;\n style?: React.CSSProperties;\n}\n\nconst levelConfig: Record<\n ConsoleLogEntry[\"level\"],\n {\n icon: \"error\" | \"warning-sign\" | \"info-sign\" | \"code\" | \"console\";\n color: string;\n className: string;\n }\n> = {\n error: {\n icon: \"error\",\n color: \"var(--dt-red)\",\n className: styles.levelError,\n },\n warn: {\n icon: \"warning-sign\",\n color: \"var(--dt-orange)\",\n className: styles.levelWarn,\n },\n info: {\n icon: \"info-sign\",\n color: \"var(--dt-blue)\",\n className: styles.levelInfo,\n },\n debug: {\n icon: \"code\",\n color: \"var(--dt-gray)\",\n className: styles.levelDebug,\n },\n log: {\n icon: \"console\",\n color: \"var(--dt-text-tertiary)\",\n className: styles.levelLog,\n },\n};\n\nexport const LogEntryCard: React.FC<LogEntryCardProps> = ({ entry, style }) => {\n const [expanded, setExpanded] = useState(false);\n const config = levelConfig[entry.level];\n\n const summary = entry.args.join(\" \");\n const isMultiline = summary.includes(\"\\n\") || summary.length > 120;\n\n return (\n <div\n className={classNames(styles.logEntry, config.className)}\n onClick={() => {\n if (isMultiline) {\n setExpanded(!expanded);\n }\n }}\n onKeyDown={(e) => {\n if ((e.key === \"Enter\" || e.key === \" \") && isMultiline) {\n e.preventDefault();\n setExpanded(!expanded);\n }\n }}\n role={isMultiline ? \"button\" : undefined}\n tabIndex={isMultiline ? 0 : undefined}\n aria-expanded={isMultiline ? expanded : undefined}\n style={style}\n >\n <Icon\n icon={config.icon}\n size={12}\n color={config.color}\n className={styles.levelBadge}\n />\n <div className={styles.content}>\n <div className={styles.args}>\n {expanded ? summary : summary.split(\"\\n\")[0]}\n </div>\n {expanded && isMultiline && (\n <pre className={styles.argsExpanded}>{summary}</pre>\n )}\n </div>\n <div className={styles.meta}>\n {entry.source && (\n <span className={styles.source} title={entry.source}>\n {entry.source}\n </span>\n )}\n <span className={styles.timestamp}>\n {formatRelativeTime(entry.timestamp)}\n </span>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/build-css.mjs. Do not edit by hand.
|
|
2
|
+
const styles = {
|
|
3
|
+
"logEntry": "LogEntryCard-module__logEntry___YDqpZExA",
|
|
4
|
+
"dt-fade-up": "LogEntryCard-module__dt-fade-up___n4w1IryM",
|
|
5
|
+
"levelError": "LogEntryCard-module__levelError___R4Dud8-5",
|
|
6
|
+
"levelWarn": "LogEntryCard-module__levelWarn___X-hQCE-c",
|
|
7
|
+
"levelInfo": "LogEntryCard-module__levelInfo___tHoc487U",
|
|
8
|
+
"levelDebug": "LogEntryCard-module__levelDebug___ny2GQk01",
|
|
9
|
+
"levelLog": "LogEntryCard-module__levelLog___ift70uWc",
|
|
10
|
+
"levelBadge": "LogEntryCard-module__levelBadge___gFi6wjkA",
|
|
11
|
+
"content": "LogEntryCard-module__content___Rcfmhrlz",
|
|
12
|
+
"args": "LogEntryCard-module__args___j0KVcHje",
|
|
13
|
+
"argsExpanded": "LogEntryCard-module__argsExpanded___DkIBGGaf",
|
|
14
|
+
"meta": "LogEntryCard-module__meta___WJU45pQ2",
|
|
15
|
+
"timestamp": "LogEntryCard-module__timestamp___y2JMrgiT",
|
|
16
|
+
"source": "LogEntryCard-module__source___Fs1uGvxb",
|
|
17
|
+
"dt-shimmer": "LogEntryCard-module__dt-shimmer___3N1FgIay"
|
|
18
|
+
};
|
|
19
|
+
export default styles;
|