@flanksource/clicky-ui 0.3.45 → 0.3.47
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/NOTICE.md +11 -0
- package/README.md +22 -0
- package/dist/ai.cjs +13 -8
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +7 -2
- package/dist/ai.js.map +1 -1
- package/dist/components/ErrorWrapper.cjs +2 -3
- package/dist/components/ErrorWrapper.cjs.map +1 -1
- package/dist/components/ErrorWrapper.d.ts.map +1 -1
- package/dist/components/ErrorWrapper.js +3 -4
- package/dist/components/ErrorWrapper.js.map +1 -1
- package/dist/data/AccessMark.cjs +23 -0
- package/dist/data/AccessMark.cjs.map +1 -0
- package/dist/data/AccessMark.d.ts +11 -0
- package/dist/data/AccessMark.d.ts.map +1 -0
- package/dist/data/AccessMark.js +23 -0
- package/dist/data/AccessMark.js.map +1 -0
- package/dist/data/Clicky.cjs +3 -0
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.js +3 -0
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/CodeDiff.cjs +116 -23
- package/dist/data/CodeDiff.cjs.map +1 -1
- package/dist/data/CodeDiff.d.ts +26 -0
- package/dist/data/CodeDiff.d.ts.map +1 -1
- package/dist/data/CodeDiff.js +116 -23
- package/dist/data/CodeDiff.js.map +1 -1
- package/dist/data/FilterPill.cjs +15 -2
- package/dist/data/FilterPill.cjs.map +1 -1
- package/dist/data/FilterPill.d.ts +1 -1
- package/dist/data/FilterPill.d.ts.map +1 -1
- package/dist/data/FilterPill.js +15 -2
- package/dist/data/FilterPill.js.map +1 -1
- package/dist/data/GraphDiagram.cjs +65 -13
- package/dist/data/GraphDiagram.cjs.map +1 -1
- package/dist/data/GraphDiagram.d.ts +9 -2
- package/dist/data/GraphDiagram.d.ts.map +1 -1
- package/dist/data/GraphDiagram.js +66 -14
- package/dist/data/GraphDiagram.js.map +1 -1
- package/dist/data/GraphDiagramGroups.cjs +100 -0
- package/dist/data/GraphDiagramGroups.cjs.map +1 -0
- package/dist/data/GraphDiagramGroups.d.ts +24 -0
- package/dist/data/GraphDiagramGroups.d.ts.map +1 -0
- package/dist/data/GraphDiagramGroups.js +100 -0
- package/dist/data/GraphDiagramGroups.js.map +1 -0
- package/dist/data/GraphDiagramNodes.cjs +17 -31
- package/dist/data/GraphDiagramNodes.cjs.map +1 -1
- package/dist/data/GraphDiagramNodes.d.ts +6 -13
- package/dist/data/GraphDiagramNodes.d.ts.map +1 -1
- package/dist/data/GraphDiagramNodes.js +17 -31
- package/dist/data/GraphDiagramNodes.js.map +1 -1
- package/dist/data/LogViewer.cjs +27 -8
- package/dist/data/LogViewer.cjs.map +1 -1
- package/dist/data/LogViewer.d.ts +11 -3
- package/dist/data/LogViewer.d.ts.map +1 -1
- package/dist/data/LogViewer.js +27 -8
- package/dist/data/LogViewer.js.map +1 -1
- package/dist/data/Properties.cjs +2 -15
- package/dist/data/Properties.cjs.map +1 -1
- package/dist/data/Properties.d.ts +4 -0
- package/dist/data/Properties.d.ts.map +1 -1
- package/dist/data/Properties.js +2 -15
- package/dist/data/Properties.js.map +1 -1
- package/dist/data/PropertyValue.cjs +37 -0
- package/dist/data/PropertyValue.cjs.map +1 -0
- package/dist/data/PropertyValue.d.ts +6 -0
- package/dist/data/PropertyValue.d.ts.map +1 -0
- package/dist/data/PropertyValue.js +37 -0
- package/dist/data/PropertyValue.js.map +1 -0
- package/dist/data/Tree.cjs +4 -3
- package/dist/data/Tree.cjs.map +1 -1
- package/dist/data/Tree.d.ts +3 -1
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/Tree.js +4 -3
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/TreeNode.cjs +1 -1
- package/dist/data/TreeNode.cjs.map +1 -1
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/TreeNode.js +1 -1
- package/dist/data/TreeNode.js.map +1 -1
- package/dist/data/ai/ChatFab.cjs +1 -1
- package/dist/data/ai/ChatFab.cjs.map +1 -1
- package/dist/data/ai/ChatFab.js +1 -1
- package/dist/data/ai/ChatFab.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +106 -171
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +6 -2
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.header.cjs +104 -0
- package/dist/data/ai/ChatWindow.header.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.header.d.ts +29 -0
- package/dist/data/ai/ChatWindow.header.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.header.js +104 -0
- package/dist/data/ai/ChatWindow.header.js.map +1 -0
- package/dist/data/ai/ChatWindow.js +107 -172
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.placement.cjs +95 -0
- package/dist/data/ai/ChatWindow.placement.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.placement.d.ts +32 -0
- package/dist/data/ai/ChatWindow.placement.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.placement.js +95 -0
- package/dist/data/ai/ChatWindow.placement.js.map +1 -0
- package/dist/data/ai/SessionChatComposer.cjs +3 -1
- package/dist/data/ai/SessionChatComposer.cjs.map +1 -1
- package/dist/data/ai/SessionChatComposer.d.ts +4 -1
- package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
- package/dist/data/ai/SessionChatComposer.js +3 -1
- package/dist/data/ai/SessionChatComposer.js.map +1 -1
- package/dist/data/ai/SessionInspector.cjs +68 -72
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.composer-slot.cjs +8 -0
- package/dist/data/ai/SessionInspector.composer-slot.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.composer-slot.d.ts +9 -0
- package/dist/data/ai/SessionInspector.composer-slot.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.composer-slot.js +8 -0
- package/dist/data/ai/SessionInspector.composer-slot.js.map +1 -0
- package/dist/data/ai/SessionInspector.d.ts +6 -1
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.js +69 -73
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.cjs +41 -42
- package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.js +41 -42
- package/dist/data/ai/SessionInspector.legacy.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.cjs +14 -9
- package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.d.ts +6 -2
- package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.js +14 -9
- package/dist/data/ai/SessionInspector.remote-view.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote.cjs +84 -16
- package/dist/data/ai/SessionInspector.remote.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.remote.d.ts +42 -7
- package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.remote.js +86 -18
- package/dist/data/ai/SessionInspector.remote.js.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.cjs +5 -0
- package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.js +5 -0
- package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
- package/dist/data/ai/SessionTail.cjs +63 -0
- package/dist/data/ai/SessionTail.cjs.map +1 -0
- package/dist/data/ai/SessionTail.d.ts +14 -0
- package/dist/data/ai/SessionTail.d.ts.map +1 -0
- package/dist/data/ai/SessionTail.js +63 -0
- package/dist/data/ai/SessionTail.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +10 -3
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +7 -1
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.js +10 -3
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +14 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/index.d.ts +4 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.cjs +30 -6
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +7 -0
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js +30 -6
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/call-graph/CallGraph.cjs +50 -31
- package/dist/data/call-graph/CallGraph.cjs.map +1 -1
- package/dist/data/call-graph/CallGraph.d.ts +10 -1
- package/dist/data/call-graph/CallGraph.d.ts.map +1 -1
- package/dist/data/call-graph/CallGraph.js +52 -33
- package/dist/data/call-graph/CallGraph.js.map +1 -1
- package/dist/data/call-graph/CallGraphMembers.cjs +5 -4
- package/dist/data/call-graph/CallGraphMembers.cjs.map +1 -1
- package/dist/data/call-graph/CallGraphMembers.d.ts +1 -1
- package/dist/data/call-graph/CallGraphMembers.d.ts.map +1 -1
- package/dist/data/call-graph/CallGraphMembers.js +5 -4
- package/dist/data/call-graph/CallGraphMembers.js.map +1 -1
- package/dist/data/call-graph/CallGraphToolbar.cjs +17 -5
- package/dist/data/call-graph/CallGraphToolbar.cjs.map +1 -1
- package/dist/data/call-graph/CallGraphToolbar.d.ts +10 -0
- package/dist/data/call-graph/CallGraphToolbar.d.ts.map +1 -1
- package/dist/data/call-graph/CallGraphToolbar.js +18 -6
- package/dist/data/call-graph/CallGraphToolbar.js.map +1 -1
- package/dist/data/call-graph/call-graph-model.cjs +169 -18
- package/dist/data/call-graph/call-graph-model.cjs.map +1 -1
- package/dist/data/call-graph/call-graph-model.d.ts +40 -4
- package/dist/data/call-graph/call-graph-model.d.ts.map +1 -1
- package/dist/data/call-graph/call-graph-model.js +170 -19
- package/dist/data/call-graph/call-graph-model.js.map +1 -1
- package/dist/data/call-graph/call-graph-vocabulary.cjs +19 -1
- package/dist/data/call-graph/call-graph-vocabulary.cjs.map +1 -1
- package/dist/data/call-graph/call-graph-vocabulary.d.ts +4 -0
- package/dist/data/call-graph/call-graph-vocabulary.d.ts.map +1 -1
- package/dist/data/call-graph/call-graph-vocabulary.js +19 -1
- package/dist/data/call-graph/call-graph-vocabulary.js.map +1 -1
- package/dist/data/call-graph/call-graph.fixtures.d.ts.map +1 -1
- package/dist/data/call-graph/index.d.ts +2 -2
- package/dist/data/call-graph/index.d.ts.map +1 -1
- package/dist/data/call-graph/types.cjs.map +1 -1
- package/dist/data/call-graph/types.d.ts +7 -2
- package/dist/data/call-graph/types.d.ts.map +1 -1
- package/dist/data/call-graph/types.js.map +1 -1
- package/dist/data/chat/Chat.cjs +1 -1
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.js +1 -1
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.cjs +4 -4
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.js +4 -4
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
- package/dist/data/chat/PromptInput.cjs +4 -2
- package/dist/data/chat/PromptInput.cjs.map +1 -1
- package/dist/data/chat/PromptInput.d.ts +5 -1
- package/dist/data/chat/PromptInput.d.ts.map +1 -1
- package/dist/data/chat/PromptInput.js +4 -2
- package/dist/data/chat/PromptInput.js.map +1 -1
- package/dist/data/data-access.cjs +8 -0
- package/dist/data/data-access.cjs.map +1 -0
- package/dist/data/data-access.d.ts +5 -0
- package/dist/data/data-access.d.ts.map +1 -0
- package/dist/data/data-access.js +8 -0
- package/dist/data/data-access.js.map +1 -0
- package/dist/data/diagnostics/ErrorDetails.cjs +13 -2
- package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts +3 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.js +14 -3
- package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.cjs +3 -2
- package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.js +3 -2
- package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.cjs +5 -0
- package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.d.ts +1 -0
- package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.js +6 -1
- package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
- package/dist/data/git/GitChangeList.cjs +6 -2
- package/dist/data/git/GitChangeList.cjs.map +1 -1
- package/dist/data/git/GitChangeList.d.ts +6 -1
- package/dist/data/git/GitChangeList.d.ts.map +1 -1
- package/dist/data/git/GitChangeList.js +6 -2
- package/dist/data/git/GitChangeList.js.map +1 -1
- package/dist/data/graph-columns-layout.cjs +47 -16
- package/dist/data/graph-columns-layout.cjs.map +1 -1
- package/dist/data/graph-columns-layout.d.ts +34 -0
- package/dist/data/graph-columns-layout.d.ts.map +1 -1
- package/dist/data/graph-columns-layout.js +47 -16
- package/dist/data/graph-columns-layout.js.map +1 -1
- package/dist/data/graph-diagram-model.cjs +5 -0
- package/dist/data/graph-diagram-model.cjs.map +1 -1
- package/dist/data/graph-diagram-model.d.ts +19 -0
- package/dist/data/graph-diagram-model.d.ts.map +1 -1
- package/dist/data/graph-diagram-model.js +5 -0
- package/dist/data/graph-diagram-model.js.map +1 -1
- package/dist/data/graph-group-window.cjs +60 -0
- package/dist/data/graph-group-window.cjs.map +1 -0
- package/dist/data/graph-group-window.d.ts +33 -0
- package/dist/data/graph-group-window.d.ts.map +1 -0
- package/dist/data/graph-group-window.js +60 -0
- package/dist/data/graph-group-window.js.map +1 -0
- package/dist/data/har/HarPanel.cjs +3 -1
- package/dist/data/har/HarPanel.cjs.map +1 -1
- package/dist/data/har/HarPanel.d.ts +4 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/har/HarPanel.js +3 -1
- package/dist/data/har/HarPanel.js.map +1 -1
- package/dist/data/test-runner/Expectation.cjs +57 -0
- package/dist/data/test-runner/Expectation.cjs.map +1 -0
- package/dist/data/test-runner/Expectation.d.ts +19 -0
- package/dist/data/test-runner/Expectation.d.ts.map +1 -0
- package/dist/data/test-runner/Expectation.js +57 -0
- package/dist/data/test-runner/Expectation.js.map +1 -0
- package/dist/data/test-runner/MarkIcons.cjs +38 -0
- package/dist/data/test-runner/MarkIcons.cjs.map +1 -0
- package/dist/data/test-runner/MarkIcons.d.ts +15 -0
- package/dist/data/test-runner/MarkIcons.d.ts.map +1 -0
- package/dist/data/test-runner/MarkIcons.js +38 -0
- package/dist/data/test-runner/MarkIcons.js.map +1 -0
- package/dist/data/test-runner/TestDetailPanel.cjs +74 -42
- package/dist/data/test-runner/TestDetailPanel.cjs.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.js +76 -44
- package/dist/data/test-runner/TestDetailPanel.js.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.cjs +23 -27
- package/dist/data/test-runner/TestFailureDetail.cjs.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.d.ts +2 -2
- package/dist/data/test-runner/TestFailureDetail.d.ts.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.js +23 -27
- package/dist/data/test-runner/TestFailureDetail.js.map +1 -1
- package/dist/data/test-runner/TestFilterBar.cjs +87 -93
- package/dist/data/test-runner/TestFilterBar.cjs.map +1 -1
- package/dist/data/test-runner/TestFilterBar.d.ts +3 -2
- package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
- package/dist/data/test-runner/TestFilterBar.js +89 -95
- package/dist/data/test-runner/TestFilterBar.js.map +1 -1
- package/dist/data/test-runner/TestRunSummary.cjs +35 -21
- package/dist/data/test-runner/TestRunSummary.cjs.map +1 -1
- package/dist/data/test-runner/TestRunSummary.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunSummary.js +35 -21
- package/dist/data/test-runner/TestRunSummary.js.map +1 -1
- package/dist/data/test-runner/TestRunner.cjs +52 -30
- package/dist/data/test-runner/TestRunner.cjs.map +1 -1
- package/dist/data/test-runner/TestRunner.d.ts +3 -2
- package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunner.js +52 -30
- package/dist/data/test-runner/TestRunner.js.map +1 -1
- package/dist/data/test-runner/TestTree.cjs +5 -2
- package/dist/data/test-runner/TestTree.cjs.map +1 -1
- package/dist/data/test-runner/TestTree.d.ts +5 -2
- package/dist/data/test-runner/TestTree.d.ts.map +1 -1
- package/dist/data/test-runner/TestTree.js +5 -2
- package/dist/data/test-runner/TestTree.js.map +1 -1
- package/dist/data/test-runner/TestTreeNode.cjs +27 -19
- package/dist/data/test-runner/TestTreeNode.cjs.map +1 -1
- package/dist/data/test-runner/TestTreeNode.d.ts.map +1 -1
- package/dist/data/test-runner/TestTreeNode.js +28 -20
- package/dist/data/test-runner/TestTreeNode.js.map +1 -1
- package/dist/data/test-runner/adapter.cjs +11 -0
- package/dist/data/test-runner/adapter.cjs.map +1 -1
- package/dist/data/test-runner/adapter.d.ts +18 -7
- package/dist/data/test-runner/adapter.d.ts.map +1 -1
- package/dist/data/test-runner/adapter.js +11 -0
- package/dist/data/test-runner/adapter.js.map +1 -1
- package/dist/data/test-runner/copy.cjs +114 -0
- package/dist/data/test-runner/copy.cjs.map +1 -0
- package/dist/data/test-runner/copy.d.ts +47 -0
- package/dist/data/test-runner/copy.d.ts.map +1 -0
- package/dist/data/test-runner/copy.js +114 -0
- package/dist/data/test-runner/copy.js.map +1 -0
- package/dist/data/test-runner/index.d.ts +5 -2
- package/dist/data/test-runner/index.d.ts.map +1 -1
- package/dist/data/test-runner/marks.cjs +143 -0
- package/dist/data/test-runner/marks.cjs.map +1 -0
- package/dist/data/test-runner/marks.d.ts +30 -0
- package/dist/data/test-runner/marks.d.ts.map +1 -0
- package/dist/data/test-runner/marks.js +143 -0
- package/dist/data/test-runner/marks.js.map +1 -0
- package/dist/data/test-runner/status.cjs +27 -44
- package/dist/data/test-runner/status.cjs.map +1 -1
- package/dist/data/test-runner/status.d.ts +12 -3
- package/dist/data/test-runner/status.d.ts.map +1 -1
- package/dist/data/test-runner/status.js +27 -44
- package/dist/data/test-runner/status.js.map +1 -1
- package/dist/data/use-group-windows.cjs +50 -0
- package/dist/data/use-group-windows.cjs.map +1 -0
- package/dist/data/use-group-windows.d.ts +27 -0
- package/dist/data/use-group-windows.d.ts.map +1 -0
- package/dist/data/use-group-windows.js +50 -0
- package/dist/data/use-group-windows.js.map +1 -0
- package/dist/data/verification/adapterViews.cjs +16 -41
- package/dist/data/verification/adapterViews.cjs.map +1 -1
- package/dist/data/verification/adapterViews.d.ts.map +1 -1
- package/dist/data/verification/adapterViews.js +16 -41
- package/dist/data/verification/adapterViews.js.map +1 -1
- package/dist/data/verification/adapters.cjs +115 -3
- package/dist/data/verification/adapters.cjs.map +1 -1
- package/dist/data/verification/adapters.d.ts.map +1 -1
- package/dist/data/verification/adapters.js +115 -3
- package/dist/data/verification/adapters.js.map +1 -1
- package/dist/data/verification/verifyReportTests.cjs.map +1 -1
- package/dist/data/verification/verifyReportTests.js.map +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +54 -3
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +6 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +58 -7
- package/dist/data.js.map +1 -1
- package/dist/hooks/event-hub.cjs +229 -0
- package/dist/hooks/event-hub.cjs.map +1 -0
- package/dist/hooks/event-hub.d.ts +26 -0
- package/dist/hooks/event-hub.d.ts.map +1 -0
- package/dist/hooks/event-hub.js +229 -0
- package/dist/hooks/event-hub.js.map +1 -0
- package/dist/hooks.cjs +2 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +1 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +2 -0
- package/dist/hooks.js.map +1 -1
- package/dist/icons/components/UiLogoEslint.cjs +10 -0
- package/dist/icons/components/UiLogoEslint.cjs.map +1 -0
- package/dist/icons/components/UiLogoEslint.d.ts +9 -0
- package/dist/icons/components/UiLogoEslint.d.ts.map +1 -0
- package/dist/icons/components/UiLogoEslint.js +10 -0
- package/dist/icons/components/UiLogoEslint.js.map +1 -0
- package/dist/icons/components/UiLogoGo.cjs +10 -0
- package/dist/icons/components/UiLogoGo.cjs.map +1 -0
- package/dist/icons/components/UiLogoGo.d.ts +9 -0
- package/dist/icons/components/UiLogoGo.d.ts.map +1 -0
- package/dist/icons/components/UiLogoGo.js +10 -0
- package/dist/icons/components/UiLogoGo.js.map +1 -0
- package/dist/icons/components/UiLogoJest.cjs +10 -0
- package/dist/icons/components/UiLogoJest.cjs.map +1 -0
- package/dist/icons/components/UiLogoJest.d.ts +9 -0
- package/dist/icons/components/UiLogoJest.d.ts.map +1 -0
- package/dist/icons/components/UiLogoJest.js +10 -0
- package/dist/icons/components/UiLogoJest.js.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.cjs +10 -0
- package/dist/icons/components/UiLogoMarkdown.cjs.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.d.ts +9 -0
- package/dist/icons/components/UiLogoMarkdown.d.ts.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.js +10 -0
- package/dist/icons/components/UiLogoMarkdown.js.map +1 -0
- package/dist/icons/components/UiLogoOxc.cjs +10 -0
- package/dist/icons/components/UiLogoOxc.cjs.map +1 -0
- package/dist/icons/components/UiLogoOxc.d.ts +9 -0
- package/dist/icons/components/UiLogoOxc.d.ts.map +1 -0
- package/dist/icons/components/UiLogoOxc.js +10 -0
- package/dist/icons/components/UiLogoOxc.js.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.cjs +10 -0
- package/dist/icons/components/UiLogoPlaywright.cjs.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.d.ts +9 -0
- package/dist/icons/components/UiLogoPlaywright.d.ts.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.js +10 -0
- package/dist/icons/components/UiLogoPlaywright.js.map +1 -0
- package/dist/icons/components/UiLogoPython.cjs +10 -0
- package/dist/icons/components/UiLogoPython.cjs.map +1 -0
- package/dist/icons/components/UiLogoPython.d.ts +9 -0
- package/dist/icons/components/UiLogoPython.d.ts.map +1 -0
- package/dist/icons/components/UiLogoPython.js +10 -0
- package/dist/icons/components/UiLogoPython.js.map +1 -0
- package/dist/icons/components/UiLogoReact.cjs +10 -0
- package/dist/icons/components/UiLogoReact.cjs.map +1 -0
- package/dist/icons/components/UiLogoReact.d.ts +9 -0
- package/dist/icons/components/UiLogoReact.d.ts.map +1 -0
- package/dist/icons/components/UiLogoReact.js +10 -0
- package/dist/icons/components/UiLogoReact.js.map +1 -0
- package/dist/icons/components/UiLogoRuff.cjs +10 -0
- package/dist/icons/components/UiLogoRuff.cjs.map +1 -0
- package/dist/icons/components/UiLogoRuff.d.ts +9 -0
- package/dist/icons/components/UiLogoRuff.d.ts.map +1 -0
- package/dist/icons/components/UiLogoRuff.js +10 -0
- package/dist/icons/components/UiLogoRuff.js.map +1 -0
- package/dist/icons/components/UiLogoTypescript.cjs +10 -0
- package/dist/icons/components/UiLogoTypescript.cjs.map +1 -0
- package/dist/icons/components/UiLogoTypescript.d.ts +9 -0
- package/dist/icons/components/UiLogoTypescript.d.ts.map +1 -0
- package/dist/icons/components/UiLogoTypescript.js +10 -0
- package/dist/icons/components/UiLogoTypescript.js.map +1 -0
- package/dist/icons/components/UiLogoVitest.cjs +10 -0
- package/dist/icons/components/UiLogoVitest.cjs.map +1 -0
- package/dist/icons/components/UiLogoVitest.d.ts +9 -0
- package/dist/icons/components/UiLogoVitest.d.ts.map +1 -0
- package/dist/icons/components/UiLogoVitest.js +10 -0
- package/dist/icons/components/UiLogoVitest.js.map +1 -0
- package/dist/icons/index.d.ts +11 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +22 -0
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +22 -0
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +22 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +22 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +56 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +60 -7
- package/dist/index.js.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +4 -4
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +4 -4
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/overlay/modalStack.cjs +13 -6
- package/dist/overlay/modalStack.cjs.map +1 -1
- package/dist/overlay/modalStack.d.ts.map +1 -1
- package/dist/overlay/modalStack.js +13 -6
- package/dist/overlay/modalStack.js.map +1 -1
- package/dist/rpc/InlineError.cjs +12 -43
- package/dist/rpc/InlineError.cjs.map +1 -1
- package/dist/rpc/InlineError.d.ts.map +1 -1
- package/dist/rpc/InlineError.js +13 -44
- package/dist/rpc/InlineError.js.map +1 -1
- package/dist/rpc/OperationScheduleDialog.cjs +63 -10
- package/dist/rpc/OperationScheduleDialog.cjs.map +1 -1
- package/dist/rpc/OperationScheduleDialog.d.ts +4 -0
- package/dist/rpc/OperationScheduleDialog.d.ts.map +1 -1
- package/dist/rpc/OperationScheduleDialog.js +63 -10
- package/dist/rpc/OperationScheduleDialog.js.map +1 -1
- package/dist/rpc/OperationSchedules.cjs +12 -2
- package/dist/rpc/OperationSchedules.cjs.map +1 -1
- package/dist/rpc/OperationSchedules.d.ts.map +1 -1
- package/dist/rpc/OperationSchedules.js +12 -2
- package/dist/rpc/OperationSchedules.js.map +1 -1
- package/dist/rpc/operation-schedule-model.cjs +2 -0
- package/dist/rpc/operation-schedule-model.cjs.map +1 -1
- package/dist/rpc/operation-schedule-model.d.ts.map +1 -1
- package/dist/rpc/operation-schedule-model.js +2 -0
- package/dist/rpc/operation-schedule-model.js.map +1 -1
- package/dist/rpc/operation-schedule-types.d.ts +7 -1
- package/dist/rpc/operation-schedule-types.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/data/test-runner/frameworkIcon.cjs +0 -27
- package/dist/data/test-runner/frameworkIcon.cjs.map +0 -1
- package/dist/data/test-runner/frameworkIcon.d.ts +0 -3
- package/dist/data/test-runner/frameworkIcon.d.ts.map +0 -1
- package/dist/data/test-runner/frameworkIcon.js +0 -27
- package/dist/data/test-runner/frameworkIcon.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -23,6 +23,7 @@ const useSort = require("./hooks/use-sort.cjs");
|
|
|
23
23
|
const useHistoryRoute = require("./hooks/use-history-route.cjs");
|
|
24
24
|
const eventSource = require("./hooks/event-source.cjs");
|
|
25
25
|
const eventSourceProvider = require("./hooks/event-source-provider.cjs");
|
|
26
|
+
const eventHub = require("./hooks/event-hub.cjs");
|
|
26
27
|
const useTaskRun = require("./hooks/use-task-run.cjs");
|
|
27
28
|
const usePrompts = require("./hooks/use-prompts.cjs");
|
|
28
29
|
const useHotkey = require("./hooks/use-hotkey.cjs");
|
|
@@ -199,6 +200,8 @@ const ExecutionTree = require("./data/ExecutionTree.cjs");
|
|
|
199
200
|
const GraphDiagram = require("./data/GraphDiagram.cjs");
|
|
200
201
|
const graphLayout = require("./data/graph-layout.cjs");
|
|
201
202
|
const graphColumnsLayout = require("./data/graph-columns-layout.cjs");
|
|
203
|
+
const AccessMark = require("./data/AccessMark.cjs");
|
|
204
|
+
const dataAccess = require("./data/data-access.cjs");
|
|
202
205
|
const TreeNode = require("./data/TreeNode.cjs");
|
|
203
206
|
const TreeGroupHeader = require("./data/TreeGroupHeader.cjs");
|
|
204
207
|
const Timeline = require("./data/Timeline.cjs");
|
|
@@ -221,6 +224,8 @@ const PromptBanner = require("./data/PromptBanner.cjs");
|
|
|
221
224
|
const DiagnosticsTree = require("./data/diagnostics/DiagnosticsTree.cjs");
|
|
222
225
|
const DiagnosticsDetailPanel = require("./data/diagnostics/DiagnosticsDetailPanel.cjs");
|
|
223
226
|
const utils$1 = require("./data/diagnostics/utils.cjs");
|
|
227
|
+
const GoroutineCard = require("./data/diagnostics/GoroutineCard.cjs");
|
|
228
|
+
const ThreadCard = require("./data/diagnostics/ThreadCard.cjs");
|
|
224
229
|
const stacktrace = require("./data/diagnostics/stacktrace.cjs");
|
|
225
230
|
const jvmStacktrace = require("./data/diagnostics/jvm-stacktrace.cjs");
|
|
226
231
|
const JvmStackTrace = require("./data/diagnostics/JvmStackTrace.cjs");
|
|
@@ -299,8 +304,11 @@ const CacheStatsOverview = require("./data/cache-browser/CacheStatsOverview.cjs"
|
|
|
299
304
|
const CacheValue = require("./data/cache-browser/CacheValue.cjs");
|
|
300
305
|
const CallGraph = require("./data/call-graph/CallGraph.cjs");
|
|
301
306
|
const ClickyExportDialog = require("./data/clicky-export/ClickyExportDialog.cjs");
|
|
307
|
+
const Expectation = require("./data/test-runner/Expectation.cjs");
|
|
302
308
|
const FixtureEditor = require("./data/FixtureEditor/FixtureEditor.cjs");
|
|
303
309
|
const GitChangeList = require("./data/git/GitChangeList.cjs");
|
|
310
|
+
const marks = require("./data/test-runner/marks.cjs");
|
|
311
|
+
const MarkIcons = require("./data/test-runner/MarkIcons.cjs");
|
|
304
312
|
const QueryBrowser = require("./data/query-browser/QueryBrowser.cjs");
|
|
305
313
|
const QueryBrowser_types = require("./data/query-browser/QueryBrowser.types.cjs");
|
|
306
314
|
const status = require("./data/test-runner/status.cjs");
|
|
@@ -608,14 +616,25 @@ const UiLockOpen = require("./icons/components/UiLockOpen.cjs");
|
|
|
608
616
|
const UiLogoAnthropic = require("./icons/components/UiLogoAnthropic.cjs");
|
|
609
617
|
const UiLogoClaude = require("./icons/components/UiLogoClaude.cjs");
|
|
610
618
|
const UiLogoDeepseek = require("./icons/components/UiLogoDeepseek.cjs");
|
|
619
|
+
const UiLogoEslint = require("./icons/components/UiLogoEslint.cjs");
|
|
611
620
|
const UiLogoGemini = require("./icons/components/UiLogoGemini.cjs");
|
|
621
|
+
const UiLogoGo = require("./icons/components/UiLogoGo.cjs");
|
|
612
622
|
const UiLogoGoogle = require("./icons/components/UiLogoGoogle.cjs");
|
|
613
623
|
const UiLogoHuggingface = require("./icons/components/UiLogoHuggingface.cjs");
|
|
624
|
+
const UiLogoJest = require("./icons/components/UiLogoJest.cjs");
|
|
625
|
+
const UiLogoMarkdown = require("./icons/components/UiLogoMarkdown.cjs");
|
|
614
626
|
const UiLogoMeta = require("./icons/components/UiLogoMeta.cjs");
|
|
615
627
|
const UiLogoMistral = require("./icons/components/UiLogoMistral.cjs");
|
|
616
628
|
const UiLogoOllama = require("./icons/components/UiLogoOllama.cjs");
|
|
617
629
|
const UiLogoOpenai = require("./icons/components/UiLogoOpenai.cjs");
|
|
630
|
+
const UiLogoOxc = require("./icons/components/UiLogoOxc.cjs");
|
|
618
631
|
const UiLogoPerplexity = require("./icons/components/UiLogoPerplexity.cjs");
|
|
632
|
+
const UiLogoPlaywright = require("./icons/components/UiLogoPlaywright.cjs");
|
|
633
|
+
const UiLogoPython = require("./icons/components/UiLogoPython.cjs");
|
|
634
|
+
const UiLogoReact = require("./icons/components/UiLogoReact.cjs");
|
|
635
|
+
const UiLogoRuff = require("./icons/components/UiLogoRuff.cjs");
|
|
636
|
+
const UiLogoTypescript = require("./icons/components/UiLogoTypescript.cjs");
|
|
637
|
+
const UiLogoVitest = require("./icons/components/UiLogoVitest.cjs");
|
|
619
638
|
const UiMagicWand = require("./icons/components/UiMagicWand.cjs");
|
|
620
639
|
const UiMarkdown = require("./icons/components/UiMarkdown.cjs");
|
|
621
640
|
const UiMaterializedLog = require("./icons/components/UiMaterializedLog.cjs");
|
|
@@ -887,6 +906,7 @@ const UiZoomOut = require("./icons/components/UiZoomOut.cjs");
|
|
|
887
906
|
const VerificationResults = require("./data/verification/VerificationResults.cjs");
|
|
888
907
|
const routePath = require("./data/test-runner/routePath.cjs");
|
|
889
908
|
const fixtureFrontmatter = require("./data/FixtureEditor/fixture-frontmatter.cjs");
|
|
909
|
+
const copy = require("./data/test-runner/copy.cjs");
|
|
890
910
|
const api = require("./data/cache-browser/api.cjs");
|
|
891
911
|
const changeIconAliases = require("./icons/changeIconAliases.cjs");
|
|
892
912
|
const registry = require("./icons/registry.cjs");
|
|
@@ -894,7 +914,6 @@ const fixtureBlocks = require("./data/FixtureEditor/fixture-blocks.cjs");
|
|
|
894
914
|
const filterState = require("./data/test-runner/filterState.cjs");
|
|
895
915
|
const verifyReport = require("./data/verification/verify-report.cjs");
|
|
896
916
|
const gitDates = require("./data/git/git-dates.cjs");
|
|
897
|
-
const frameworkIcon = require("./data/test-runner/frameworkIcon.cjs");
|
|
898
917
|
const types$1 = require("./data/cache-browser/types.cjs");
|
|
899
918
|
const programmingCatalog = require("./icons/programmingCatalog.cjs");
|
|
900
919
|
const graphEdgeRouting = require("./data/graph-edge-routing.cjs");
|
|
@@ -992,6 +1011,7 @@ exports.useSort = useSort.useSort;
|
|
|
992
1011
|
exports.useHistoryRoute = useHistoryRoute.useHistoryRoute;
|
|
993
1012
|
exports.useEventSourceFactory = eventSource.useEventSourceFactory;
|
|
994
1013
|
exports.EventSourceProvider = eventSourceProvider.EventSourceProvider;
|
|
1014
|
+
exports.createEventHub = eventHub.createEventHub;
|
|
995
1015
|
exports.useTaskRun = useTaskRun.useTaskRun;
|
|
996
1016
|
exports.useTaskRuns = useTaskRun.useTaskRuns;
|
|
997
1017
|
exports.answerPrompt = usePrompts.answerPrompt;
|
|
@@ -1270,7 +1290,10 @@ exports.pruneNullNodes = objectGraphNodes.pruneNullNodes;
|
|
|
1270
1290
|
exports.ExecutionTree = ExecutionTree.ExecutionTree;
|
|
1271
1291
|
exports.GraphDiagram = GraphDiagram.GraphDiagram;
|
|
1272
1292
|
exports.ringLayout = graphLayout.ringLayout;
|
|
1293
|
+
exports.GROUP_MEMBER_WINDOW = graphColumnsLayout.GROUP_MEMBER_WINDOW;
|
|
1273
1294
|
exports.columnsLayout = graphColumnsLayout.columnsLayout;
|
|
1295
|
+
exports.AccessMark = AccessMark.AccessMark;
|
|
1296
|
+
exports.mergeAccess = dataAccess.mergeAccess;
|
|
1274
1297
|
exports.TreeNode = TreeNode.TreeNode;
|
|
1275
1298
|
exports.TreeGroupHeader = TreeGroupHeader.TreeGroupHeader;
|
|
1276
1299
|
exports.Timeline = Timeline.Timeline;
|
|
@@ -1322,6 +1345,8 @@ exports.findProcessByPID = utils$1.findProcessByPID;
|
|
|
1322
1345
|
exports.processLabel = utils$1.processLabel;
|
|
1323
1346
|
exports.processStateColor = utils$1.processStateColor;
|
|
1324
1347
|
exports.processStateIcon = utils$1.processStateIcon;
|
|
1348
|
+
exports.GoroutineCard = GoroutineCard.GoroutineCard;
|
|
1349
|
+
exports.ThreadCard = ThreadCard.ThreadCard;
|
|
1325
1350
|
exports.countGoroutinesByState = stacktrace.countGoroutinesByState;
|
|
1326
1351
|
exports.countStackByState = stacktrace.countStackByState;
|
|
1327
1352
|
exports.detectDumpFormat = stacktrace.detectDumpFormat;
|
|
@@ -1471,14 +1496,19 @@ exports.isPositionalParam = types$2.isPositionalParam;
|
|
|
1471
1496
|
exports.CALL_GRAPH_ACCESS = types.CALL_GRAPH_ACCESS;
|
|
1472
1497
|
exports.CALL_GRAPH_DATA_GLYPHS = callGraphVocabulary.CALL_GRAPH_DATA_GLYPHS;
|
|
1473
1498
|
exports.CALL_GRAPH_DATA_KIND_WORDS = callGraphVocabulary.DATA_KIND_WORDS;
|
|
1499
|
+
exports.DATA_MEMBER_OWNER = callGraphVocabulary.DATA_MEMBER_OWNER;
|
|
1474
1500
|
exports.UIR_CALL_GRAPH_VOCABULARY = callGraphVocabulary.UIR_CALL_GRAPH_VOCABULARY;
|
|
1475
1501
|
exports.callsItself = callGraphVocabulary.callsItself;
|
|
1502
|
+
exports.dataMemberAside = callGraphVocabulary.dataMemberAside;
|
|
1476
1503
|
exports.dataNodeBacking = callGraphVocabulary.dataNodeBacking;
|
|
1504
|
+
exports.dataNodeGlyph = callGraphVocabulary.dataNodeGlyph;
|
|
1477
1505
|
exports.dataNodeStatus = callGraphVocabulary.dataNodeStatus;
|
|
1478
1506
|
exports.interfaceMethods = callGraphVocabulary.interfaceMethods;
|
|
1507
|
+
exports.isDataMember = callGraphVocabulary.isDataMember;
|
|
1479
1508
|
exports.isDataNode = callGraphVocabulary.isDataNode;
|
|
1480
1509
|
exports.CALL_GRAPH_DEFAULT_DEPTH = callGraphModel.CALL_GRAPH_DEFAULT_DEPTH;
|
|
1481
1510
|
exports.CALL_GRAPH_MAX_DEPTH = callGraphModel.CALL_GRAPH_MAX_DEPTH;
|
|
1511
|
+
exports.baseCallGraphAccess = callGraphModel.baseAccess;
|
|
1482
1512
|
exports.mergeCallGraph = callGraphModel.mergeGraph;
|
|
1483
1513
|
exports.toggleCallGraphAccess = callGraphModel.toggleAccess;
|
|
1484
1514
|
exports.CALL_GRAPH_EXCLUDE_EXTERNAL = callGraphExclude.EXCLUDE_EXTERNAL;
|
|
@@ -1497,11 +1527,19 @@ exports.CacheStatsOverview = CacheStatsOverview.CacheStatsOverview;
|
|
|
1497
1527
|
exports.CacheValue = CacheValue.CacheValue;
|
|
1498
1528
|
exports.CallGraph = CallGraph.CallGraph;
|
|
1499
1529
|
exports.ClickyExportDialog = ClickyExportDialog.ClickyExportDialog;
|
|
1530
|
+
exports.Expectation = Expectation.Expectation;
|
|
1500
1531
|
exports.FixtureEditor = FixtureEditor.FixtureEditor;
|
|
1501
1532
|
exports.GitChangedFilesSummary = GitChangeList.GitChangedFilesSummary;
|
|
1502
1533
|
exports.GitCommitList = GitChangeList.GitCommitList;
|
|
1503
1534
|
exports.GitDiffPanel = GitChangeList.GitDiffPanel;
|
|
1504
1535
|
exports.GitFileList = GitChangeList.GitFileList;
|
|
1536
|
+
exports.LINT_SEVERITIES = marks.LINT_SEVERITIES;
|
|
1537
|
+
exports.TEST_OUTCOMES = marks.TEST_OUTCOMES;
|
|
1538
|
+
exports.TEST_TOOLS = marks.TEST_TOOLS;
|
|
1539
|
+
exports.toolMark = marks.toolMark;
|
|
1540
|
+
exports.LintSeverityIcon = MarkIcons.LintSeverityIcon;
|
|
1541
|
+
exports.OutcomeIcon = MarkIcons.OutcomeIcon;
|
|
1542
|
+
exports.ToolIcon = MarkIcons.ToolIcon;
|
|
1505
1543
|
exports.QueryBrowser = QueryBrowser.QueryBrowser;
|
|
1506
1544
|
exports.QueryBrowserExecutionError = QueryBrowser_types.QueryBrowserExecutionError;
|
|
1507
1545
|
exports.STATUS_LABELS = status.STATUS_LABELS;
|
|
@@ -1514,7 +1552,7 @@ exports.formatTestDuration = status.formatTestDuration;
|
|
|
1514
1552
|
exports.hasFailed = status.hasFailed;
|
|
1515
1553
|
exports.hasPending = status.hasPending;
|
|
1516
1554
|
exports.humanizeName = status.humanizeName;
|
|
1517
|
-
exports.
|
|
1555
|
+
exports.outcomeFor = status.outcomeFor;
|
|
1518
1556
|
exports.statusToneFor = status.statusToneFor;
|
|
1519
1557
|
exports.sum = status.sum;
|
|
1520
1558
|
exports.sumNonTaskTests = status.sumNonTaskTests;
|
|
@@ -2067,14 +2105,25 @@ exports.UiLockOpenFilled = UiLockOpen.UiLockOpenFilled;
|
|
|
2067
2105
|
exports.UiLogoAnthropic = UiLogoAnthropic.UiLogoAnthropic;
|
|
2068
2106
|
exports.UiLogoClaude = UiLogoClaude.UiLogoClaude;
|
|
2069
2107
|
exports.UiLogoDeepseek = UiLogoDeepseek.UiLogoDeepseek;
|
|
2108
|
+
exports.UiLogoEslint = UiLogoEslint.UiLogoEslint;
|
|
2070
2109
|
exports.UiLogoGemini = UiLogoGemini.UiLogoGemini;
|
|
2110
|
+
exports.UiLogoGo = UiLogoGo.UiLogoGo;
|
|
2071
2111
|
exports.UiLogoGoogle = UiLogoGoogle.UiLogoGoogle;
|
|
2072
2112
|
exports.UiLogoHuggingface = UiLogoHuggingface.UiLogoHuggingface;
|
|
2113
|
+
exports.UiLogoJest = UiLogoJest.UiLogoJest;
|
|
2114
|
+
exports.UiLogoMarkdown = UiLogoMarkdown.UiLogoMarkdown;
|
|
2073
2115
|
exports.UiLogoMeta = UiLogoMeta.UiLogoMeta;
|
|
2074
2116
|
exports.UiLogoMistral = UiLogoMistral.UiLogoMistral;
|
|
2075
2117
|
exports.UiLogoOllama = UiLogoOllama.UiLogoOllama;
|
|
2076
2118
|
exports.UiLogoOpenai = UiLogoOpenai.UiLogoOpenai;
|
|
2119
|
+
exports.UiLogoOxc = UiLogoOxc.UiLogoOxc;
|
|
2077
2120
|
exports.UiLogoPerplexity = UiLogoPerplexity.UiLogoPerplexity;
|
|
2121
|
+
exports.UiLogoPlaywright = UiLogoPlaywright.UiLogoPlaywright;
|
|
2122
|
+
exports.UiLogoPython = UiLogoPython.UiLogoPython;
|
|
2123
|
+
exports.UiLogoReact = UiLogoReact.UiLogoReact;
|
|
2124
|
+
exports.UiLogoRuff = UiLogoRuff.UiLogoRuff;
|
|
2125
|
+
exports.UiLogoTypescript = UiLogoTypescript.UiLogoTypescript;
|
|
2126
|
+
exports.UiLogoVitest = UiLogoVitest.UiLogoVitest;
|
|
2078
2127
|
exports.UiMagicWand = UiMagicWand.UiMagicWand;
|
|
2079
2128
|
exports.UiMagicWandFilled = UiMagicWand.UiMagicWandFilled;
|
|
2080
2129
|
exports.UiMarkdown = UiMarkdown.UiMarkdown;
|
|
@@ -2603,6 +2652,11 @@ exports.applyFixtureFrontmatterRaw = fixtureFrontmatter.applyFixtureFrontmatterR
|
|
|
2603
2652
|
exports.applyFixtureFrontmatterState = fixtureFrontmatter.applyFixtureFrontmatterState;
|
|
2604
2653
|
exports.fixtureFrontmatterState = fixtureFrontmatter.fixtureFrontmatterState;
|
|
2605
2654
|
exports.parseFixtureFrontmatter = fixtureFrontmatter.parseFixtureFrontmatter;
|
|
2655
|
+
exports.buildBrief = copy.buildBrief;
|
|
2656
|
+
exports.buildNodeBrief = copy.buildNodeBrief;
|
|
2657
|
+
exports.buildNodeJson = copy.buildNodeJson;
|
|
2658
|
+
exports.genericCopySections = copy.genericCopySections;
|
|
2659
|
+
exports.mergeCopySections = copy.mergeCopySections;
|
|
2606
2660
|
exports.cacheQueryKeys = api.cacheQueryKeys;
|
|
2607
2661
|
exports.createCacheClient = api.createCacheClient;
|
|
2608
2662
|
exports.changeIconAliases = changeIconAliases.changeIconAliases;
|
|
@@ -2628,7 +2682,6 @@ exports.recordToFilterState = filterState.recordToFilterState;
|
|
|
2628
2682
|
exports.emptyVerifySummary = verifyReport.emptyVerifySummary;
|
|
2629
2683
|
exports.summarizeVerifyNodes = verifyReport.summarizeVerifyNodes;
|
|
2630
2684
|
exports.formatGitCommitDateHeader = gitDates.formatGitCommitDateHeader;
|
|
2631
|
-
exports.frameworkIcon = frameworkIcon.frameworkIcon;
|
|
2632
2685
|
exports.isLeaf = types$1.isLeaf;
|
|
2633
2686
|
exports.programmingIconCatalog = programmingCatalog.programmingIconCatalog;
|
|
2634
2687
|
exports.routeEdges = graphEdgeRouting.routeEdges;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { useSort } from "./hooks/use-sort.js";
|
|
|
21
21
|
import { useHistoryRoute } from "./hooks/use-history-route.js";
|
|
22
22
|
import { useEventSourceFactory } from "./hooks/event-source.js";
|
|
23
23
|
import { EventSourceProvider } from "./hooks/event-source-provider.js";
|
|
24
|
+
import { createEventHub } from "./hooks/event-hub.js";
|
|
24
25
|
import { useTaskRun, useTaskRuns } from "./hooks/use-task-run.js";
|
|
25
26
|
import { answerPrompt, usePrompts } from "./hooks/use-prompts.js";
|
|
26
27
|
import { formatHotkey, parseHotkey, useHotkey } from "./hooks/use-hotkey.js";
|
|
@@ -196,7 +197,9 @@ import { countObjectGraphNodes, pruneNullNodes } from "./data/object-graph-nodes
|
|
|
196
197
|
import { ExecutionTree } from "./data/ExecutionTree.js";
|
|
197
198
|
import { GraphDiagram } from "./data/GraphDiagram.js";
|
|
198
199
|
import { ringLayout } from "./data/graph-layout.js";
|
|
199
|
-
import { columnsLayout } from "./data/graph-columns-layout.js";
|
|
200
|
+
import { GROUP_MEMBER_WINDOW, columnsLayout } from "./data/graph-columns-layout.js";
|
|
201
|
+
import { AccessMark } from "./data/AccessMark.js";
|
|
202
|
+
import { mergeAccess } from "./data/data-access.js";
|
|
200
203
|
import { TreeNode } from "./data/TreeNode.js";
|
|
201
204
|
import { TreeGroupHeader } from "./data/TreeGroupHeader.js";
|
|
202
205
|
import { Timeline } from "./data/Timeline.js";
|
|
@@ -219,6 +222,8 @@ import { PromptBanner } from "./data/PromptBanner.js";
|
|
|
219
222
|
import { DiagnosticsTree } from "./data/diagnostics/DiagnosticsTree.js";
|
|
220
223
|
import { DiagnosticsDetailPanel } from "./data/diagnostics/DiagnosticsDetailPanel.js";
|
|
221
224
|
import { countProcesses, findProcessByPID, processLabel, processStateColor, processStateIcon } from "./data/diagnostics/utils.js";
|
|
225
|
+
import { GoroutineCard } from "./data/diagnostics/GoroutineCard.js";
|
|
226
|
+
import { ThreadCard } from "./data/diagnostics/ThreadCard.js";
|
|
222
227
|
import { countGoroutinesByState, countStackByState, detectDumpFormat, parseGoroutineDump, parseStackDump } from "./data/diagnostics/stacktrace.js";
|
|
223
228
|
import { countThreadsByState, parseJvmThreadDump } from "./data/diagnostics/jvm-stacktrace.js";
|
|
224
229
|
import { JvmStackTrace } from "./data/diagnostics/JvmStackTrace.js";
|
|
@@ -286,8 +291,8 @@ import { useBrowserRouter, useMemoryRouter, useRouter } from "./rpc/router.js";
|
|
|
286
291
|
import { RouterProvider } from "./rpc/RouterProvider.js";
|
|
287
292
|
import { isPositionalParam } from "./rpc/types.js";
|
|
288
293
|
import { CALL_GRAPH_ACCESS } from "./data/call-graph/types.js";
|
|
289
|
-
import { CALL_GRAPH_DATA_GLYPHS, DATA_KIND_WORDS, UIR_CALL_GRAPH_VOCABULARY, callsItself, dataNodeBacking, dataNodeStatus, interfaceMethods, isDataNode } from "./data/call-graph/call-graph-vocabulary.js";
|
|
290
|
-
import { CALL_GRAPH_DEFAULT_DEPTH, CALL_GRAPH_MAX_DEPTH, mergeGraph, toggleAccess } from "./data/call-graph/call-graph-model.js";
|
|
294
|
+
import { CALL_GRAPH_DATA_GLYPHS, DATA_KIND_WORDS, DATA_MEMBER_OWNER, UIR_CALL_GRAPH_VOCABULARY, callsItself, dataMemberAside, dataNodeBacking, dataNodeGlyph, dataNodeStatus, interfaceMethods, isDataMember, isDataNode } from "./data/call-graph/call-graph-vocabulary.js";
|
|
295
|
+
import { CALL_GRAPH_DEFAULT_DEPTH, CALL_GRAPH_MAX_DEPTH, baseAccess, mergeGraph, toggleAccess } from "./data/call-graph/call-graph-model.js";
|
|
291
296
|
import { EXCLUDE_EXTERNAL, callGraphGroupFacts, formatExclude, matchesExclude, parseExclude } from "./data/call-graph/call-graph-exclude.js";
|
|
292
297
|
import { CacheAdapterRegistry, createCacheRegistry, prefixAdapter } from "./data/cache-browser/adapter.js";
|
|
293
298
|
import { CacheBrowser } from "./data/cache-browser/CacheBrowser.js";
|
|
@@ -297,11 +302,14 @@ import { CacheStatsOverview } from "./data/cache-browser/CacheStatsOverview.js";
|
|
|
297
302
|
import { CacheValue } from "./data/cache-browser/CacheValue.js";
|
|
298
303
|
import { CallGraph } from "./data/call-graph/CallGraph.js";
|
|
299
304
|
import { ClickyExportDialog } from "./data/clicky-export/ClickyExportDialog.js";
|
|
305
|
+
import { Expectation } from "./data/test-runner/Expectation.js";
|
|
300
306
|
import { FixtureEditor } from "./data/FixtureEditor/FixtureEditor.js";
|
|
301
307
|
import { GitChangedFilesSummary, GitCommitList, GitDiffPanel, GitFileList } from "./data/git/GitChangeList.js";
|
|
308
|
+
import { LINT_SEVERITIES, TEST_OUTCOMES, TEST_TOOLS, toolMark } from "./data/test-runner/marks.js";
|
|
309
|
+
import { LintSeverityIcon, OutcomeIcon, ToolIcon } from "./data/test-runner/MarkIcons.js";
|
|
302
310
|
import { QueryBrowser } from "./data/query-browser/QueryBrowser.js";
|
|
303
311
|
import { QueryBrowserExecutionError } from "./data/query-browser/QueryBrowser.types.js";
|
|
304
|
-
import { STATUS_LABELS, aggregateStatusCounts, collapseSingleChildChains, collectFrameworks, filterTests, formatCount, formatTestDuration, hasFailed, hasPending, humanizeName,
|
|
312
|
+
import { STATUS_LABELS, aggregateStatusCounts, collapseSingleChildChains, collectFrameworks, filterTests, formatCount, formatTestDuration, hasFailed, hasPending, humanizeName, outcomeFor, statusToneFor, sum, sumNonTaskTests, testStatus, totalDuration } from "./data/test-runner/status.js";
|
|
305
313
|
import { TestAttempts, TestFailureDetail, TestOutput } from "./data/test-runner/TestFailureDetail.js";
|
|
306
314
|
import { TestDetailPanel } from "./data/test-runner/TestDetailPanel.js";
|
|
307
315
|
import { TestFilterBar } from "./data/test-runner/TestFilterBar.js";
|
|
@@ -606,14 +614,25 @@ import { UiLockOpen, UiLockOpenFilled } from "./icons/components/UiLockOpen.js";
|
|
|
606
614
|
import { UiLogoAnthropic } from "./icons/components/UiLogoAnthropic.js";
|
|
607
615
|
import { UiLogoClaude } from "./icons/components/UiLogoClaude.js";
|
|
608
616
|
import { UiLogoDeepseek } from "./icons/components/UiLogoDeepseek.js";
|
|
617
|
+
import { UiLogoEslint } from "./icons/components/UiLogoEslint.js";
|
|
609
618
|
import { UiLogoGemini } from "./icons/components/UiLogoGemini.js";
|
|
619
|
+
import { UiLogoGo } from "./icons/components/UiLogoGo.js";
|
|
610
620
|
import { UiLogoGoogle } from "./icons/components/UiLogoGoogle.js";
|
|
611
621
|
import { UiLogoHuggingface } from "./icons/components/UiLogoHuggingface.js";
|
|
622
|
+
import { UiLogoJest } from "./icons/components/UiLogoJest.js";
|
|
623
|
+
import { UiLogoMarkdown } from "./icons/components/UiLogoMarkdown.js";
|
|
612
624
|
import { UiLogoMeta } from "./icons/components/UiLogoMeta.js";
|
|
613
625
|
import { UiLogoMistral } from "./icons/components/UiLogoMistral.js";
|
|
614
626
|
import { UiLogoOllama } from "./icons/components/UiLogoOllama.js";
|
|
615
627
|
import { UiLogoOpenai } from "./icons/components/UiLogoOpenai.js";
|
|
628
|
+
import { UiLogoOxc } from "./icons/components/UiLogoOxc.js";
|
|
616
629
|
import { UiLogoPerplexity } from "./icons/components/UiLogoPerplexity.js";
|
|
630
|
+
import { UiLogoPlaywright } from "./icons/components/UiLogoPlaywright.js";
|
|
631
|
+
import { UiLogoPython } from "./icons/components/UiLogoPython.js";
|
|
632
|
+
import { UiLogoReact } from "./icons/components/UiLogoReact.js";
|
|
633
|
+
import { UiLogoRuff } from "./icons/components/UiLogoRuff.js";
|
|
634
|
+
import { UiLogoTypescript } from "./icons/components/UiLogoTypescript.js";
|
|
635
|
+
import { UiLogoVitest } from "./icons/components/UiLogoVitest.js";
|
|
617
636
|
import { UiMagicWand, UiMagicWandFilled } from "./icons/components/UiMagicWand.js";
|
|
618
637
|
import { UiMarkdown } from "./icons/components/UiMarkdown.js";
|
|
619
638
|
import { UiMaterializedLog, UiMaterializedLogDark } from "./icons/components/UiMaterializedLog.js";
|
|
@@ -885,6 +904,7 @@ import { UiZoomOut, UiZoomOutFilled } from "./icons/components/UiZoomOut.js";
|
|
|
885
904
|
import { VerificationResults } from "./data/verification/VerificationResults.js";
|
|
886
905
|
import { annotateRoutePaths, findNodeByRoutePath, slugify } from "./data/test-runner/routePath.js";
|
|
887
906
|
import { applyFixtureFrontmatterRaw, applyFixtureFrontmatterState, fixtureFrontmatterState, parseFixtureFrontmatter } from "./data/FixtureEditor/fixture-frontmatter.js";
|
|
907
|
+
import { buildBrief, buildNodeBrief, buildNodeJson, genericCopySections, mergeCopySections } from "./data/test-runner/copy.js";
|
|
888
908
|
import { cacheQueryKeys, createCacheClient } from "./data/cache-browser/api.js";
|
|
889
909
|
import { changeIconAliases, getChangeIcon } from "./icons/changeIconAliases.js";
|
|
890
910
|
import { clickyIconProvider, iconsByConsumerName } from "./icons/registry.js";
|
|
@@ -892,7 +912,6 @@ import { createChecklistMarkdown, createFenceMarkdown, fixtureFenceKind, fixture
|
|
|
892
912
|
import { cycleFilterState, decodeFilterState, emptyTestFilters, encodeFilterState, filterStateToRecord, matchesFilterState, recordToFilterState } from "./data/test-runner/filterState.js";
|
|
893
913
|
import { emptyVerifySummary, summarizeVerifyNodes } from "./data/verification/verify-report.js";
|
|
894
914
|
import { formatGitCommitDateHeader } from "./data/git/git-dates.js";
|
|
895
|
-
import { frameworkIcon } from "./data/test-runner/frameworkIcon.js";
|
|
896
915
|
import { isLeaf } from "./data/cache-browser/types.js";
|
|
897
916
|
import { programmingIconCatalog } from "./icons/programmingCatalog.js";
|
|
898
917
|
import { routeEdges } from "./data/graph-edge-routing.js";
|
|
@@ -902,6 +921,7 @@ import { verifyReportCounts, verifyReportTests } from "./data/verification/verif
|
|
|
902
921
|
export {
|
|
903
922
|
ACCEPT_OPTIONS,
|
|
904
923
|
AVATAR_PALETTE,
|
|
924
|
+
AccessMark,
|
|
905
925
|
AccordionList,
|
|
906
926
|
AnsiHtml,
|
|
907
927
|
AppLayout,
|
|
@@ -971,6 +991,7 @@ export {
|
|
|
971
991
|
CopyButton,
|
|
972
992
|
CountryFlag,
|
|
973
993
|
CountryPicker,
|
|
994
|
+
DATA_MEMBER_OWNER,
|
|
974
995
|
DATA_TABLE_FILTER_LOOKUP_LIMIT,
|
|
975
996
|
DEBUG_CAPTURE_HEADER,
|
|
976
997
|
DEBUG_REFRESH_INSPECTION_HEADER,
|
|
@@ -1002,6 +1023,7 @@ export {
|
|
|
1002
1023
|
ErrorWrapper,
|
|
1003
1024
|
EventSourceProvider,
|
|
1004
1025
|
ExecutionTree,
|
|
1026
|
+
Expectation,
|
|
1005
1027
|
Field,
|
|
1006
1028
|
FieldErrorText,
|
|
1007
1029
|
FilterBar,
|
|
@@ -1015,12 +1037,14 @@ export {
|
|
|
1015
1037
|
FormLookupProvider,
|
|
1016
1038
|
FormatOptionsDropdown,
|
|
1017
1039
|
FrameSourceWindow,
|
|
1040
|
+
GROUP_MEMBER_WINDOW,
|
|
1018
1041
|
Gauge,
|
|
1019
1042
|
GaugeHoverCard,
|
|
1020
1043
|
GitChangedFilesSummary,
|
|
1021
1044
|
GitCommitList,
|
|
1022
1045
|
GitDiffPanel,
|
|
1023
1046
|
GitFileList,
|
|
1047
|
+
GoroutineCard,
|
|
1024
1048
|
GraphDiagram,
|
|
1025
1049
|
GroupedComments,
|
|
1026
1050
|
HINT_FIELDS,
|
|
@@ -1041,7 +1065,9 @@ export {
|
|
|
1041
1065
|
JsonView,
|
|
1042
1066
|
JvmStackTrace,
|
|
1043
1067
|
KeyValueList,
|
|
1068
|
+
LINT_SEVERITIES,
|
|
1044
1069
|
LabelIcon,
|
|
1070
|
+
LintSeverityIcon,
|
|
1045
1071
|
ListMenu,
|
|
1046
1072
|
ListMenuActionBar,
|
|
1047
1073
|
ListMenuHeader,
|
|
@@ -1080,6 +1106,7 @@ export {
|
|
|
1080
1106
|
OperationScheduleDialog,
|
|
1081
1107
|
OperationSchedules,
|
|
1082
1108
|
OperationsApiClientError,
|
|
1109
|
+
OutcomeIcon,
|
|
1083
1110
|
PATH_SEPARATOR,
|
|
1084
1111
|
PATTERN_FIELDS,
|
|
1085
1112
|
Panel,
|
|
@@ -1131,6 +1158,8 @@ export {
|
|
|
1131
1158
|
StatusDot,
|
|
1132
1159
|
StatusRows,
|
|
1133
1160
|
Switch,
|
|
1161
|
+
TEST_OUTCOMES,
|
|
1162
|
+
TEST_TOOLS,
|
|
1134
1163
|
TabButton,
|
|
1135
1164
|
Tabs,
|
|
1136
1165
|
TagActionsProvider,
|
|
@@ -1154,6 +1183,7 @@ export {
|
|
|
1154
1183
|
TestTreeNode,
|
|
1155
1184
|
ThemeProvider,
|
|
1156
1185
|
ThemeSwitcher,
|
|
1186
|
+
ThreadCard,
|
|
1157
1187
|
TimeRange,
|
|
1158
1188
|
Timeline,
|
|
1159
1189
|
TimeseriesCoreBars,
|
|
@@ -1161,6 +1191,7 @@ export {
|
|
|
1161
1191
|
TimeseriesPanel,
|
|
1162
1192
|
Timestamp,
|
|
1163
1193
|
ToastProvider,
|
|
1194
|
+
ToolIcon,
|
|
1164
1195
|
Tour,
|
|
1165
1196
|
TourProvider,
|
|
1166
1197
|
Tree,
|
|
@@ -1703,14 +1734,25 @@ export {
|
|
|
1703
1734
|
UiLogoAnthropic,
|
|
1704
1735
|
UiLogoClaude,
|
|
1705
1736
|
UiLogoDeepseek,
|
|
1737
|
+
UiLogoEslint,
|
|
1706
1738
|
UiLogoGemini,
|
|
1739
|
+
UiLogoGo,
|
|
1707
1740
|
UiLogoGoogle,
|
|
1708
1741
|
UiLogoHuggingface,
|
|
1742
|
+
UiLogoJest,
|
|
1743
|
+
UiLogoMarkdown,
|
|
1709
1744
|
UiLogoMeta,
|
|
1710
1745
|
UiLogoMistral,
|
|
1711
1746
|
UiLogoOllama,
|
|
1712
1747
|
UiLogoOpenai,
|
|
1748
|
+
UiLogoOxc,
|
|
1713
1749
|
UiLogoPerplexity,
|
|
1750
|
+
UiLogoPlaywright,
|
|
1751
|
+
UiLogoPython,
|
|
1752
|
+
UiLogoReact,
|
|
1753
|
+
UiLogoRuff,
|
|
1754
|
+
UiLogoTypescript,
|
|
1755
|
+
UiLogoVitest,
|
|
1714
1756
|
UiMagicWand,
|
|
1715
1757
|
UiMagicWandFilled,
|
|
1716
1758
|
UiMarkdown,
|
|
@@ -2256,10 +2298,14 @@ export {
|
|
|
2256
2298
|
authorDisplayName,
|
|
2257
2299
|
authoredRuntimeSpec,
|
|
2258
2300
|
badgeVariants,
|
|
2301
|
+
baseAccess as baseCallGraphAccess,
|
|
2259
2302
|
bucketTasks,
|
|
2303
|
+
buildBrief,
|
|
2260
2304
|
buildCommandHref,
|
|
2261
2305
|
buildJSONPathNode,
|
|
2262
2306
|
buildMarkdownPreviewUrl,
|
|
2307
|
+
buildNodeBrief,
|
|
2308
|
+
buildNodeJson,
|
|
2263
2309
|
buildOnePasswordReference,
|
|
2264
2310
|
buildPathTree,
|
|
2265
2311
|
buildReplyMap,
|
|
@@ -2298,6 +2344,7 @@ export {
|
|
|
2298
2344
|
createCacheRegistry,
|
|
2299
2345
|
createChecklistMarkdown,
|
|
2300
2346
|
createComboboxCustomEntry,
|
|
2347
|
+
createEventHub,
|
|
2301
2348
|
createFenceMarkdown,
|
|
2302
2349
|
createLazyJSONPathTree,
|
|
2303
2350
|
createOperationsApiClient,
|
|
@@ -2305,7 +2352,9 @@ export {
|
|
|
2305
2352
|
createTestRunnerRegistry,
|
|
2306
2353
|
createUnitFormExtensions,
|
|
2307
2354
|
cycleFilterState,
|
|
2355
|
+
dataMemberAside,
|
|
2308
2356
|
dataNodeBacking,
|
|
2357
|
+
dataNodeGlyph,
|
|
2309
2358
|
dataNodeStatus,
|
|
2310
2359
|
debugCaptureHeaders,
|
|
2311
2360
|
debugConsoleAvailable,
|
|
@@ -2367,7 +2416,7 @@ export {
|
|
|
2367
2416
|
formatUnitAwareValue,
|
|
2368
2417
|
frameHasSource,
|
|
2369
2418
|
frameLocation,
|
|
2370
|
-
|
|
2419
|
+
genericCopySections,
|
|
2371
2420
|
getChangeIcon,
|
|
2372
2421
|
getClickySurfaces,
|
|
2373
2422
|
getCountryOption,
|
|
@@ -2386,6 +2435,7 @@ export {
|
|
|
2386
2435
|
isApplicationStackFrame,
|
|
2387
2436
|
isConnectionLoggingCapability,
|
|
2388
2437
|
isCountryCode,
|
|
2438
|
+
isDataMember,
|
|
2389
2439
|
isDataNode,
|
|
2390
2440
|
isFailedOrWarn,
|
|
2391
2441
|
isFlatMetadata,
|
|
@@ -2421,7 +2471,9 @@ export {
|
|
|
2421
2471
|
matchingTools,
|
|
2422
2472
|
mediaMatches,
|
|
2423
2473
|
memoryTourStorage,
|
|
2474
|
+
mergeAccess,
|
|
2424
2475
|
mergeGraph as mergeCallGraph,
|
|
2476
|
+
mergeCopySections,
|
|
2425
2477
|
mergeRuntimeSpec,
|
|
2426
2478
|
mergeSeries,
|
|
2427
2479
|
metadataEntries,
|
|
@@ -2442,6 +2494,7 @@ export {
|
|
|
2442
2494
|
normalizeStatus,
|
|
2443
2495
|
normalizeTags,
|
|
2444
2496
|
onMediaChange,
|
|
2497
|
+
outcomeFor,
|
|
2445
2498
|
paletteClass,
|
|
2446
2499
|
parseBoundsValue,
|
|
2447
2500
|
parseExclude as parseCallGraphExclude,
|
|
@@ -2538,7 +2591,6 @@ export {
|
|
|
2538
2591
|
splitSelectionActions,
|
|
2539
2592
|
splitTagToken,
|
|
2540
2593
|
statusForCommentStage,
|
|
2541
|
-
statusIconFor,
|
|
2542
2594
|
statusToneFor,
|
|
2543
2595
|
strategyPreset,
|
|
2544
2596
|
strictAnchorResolver,
|
|
@@ -2565,6 +2617,7 @@ export {
|
|
|
2565
2617
|
toggleAccess as toggleCallGraphAccess,
|
|
2566
2618
|
toneToBadgeTone,
|
|
2567
2619
|
toolFieldSuggestions,
|
|
2620
|
+
toolMark,
|
|
2568
2621
|
totalDuration,
|
|
2569
2622
|
truncatePlain,
|
|
2570
2623
|
uniqueName,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -116,13 +116,13 @@ function MenuSubmenu({ item }) {
|
|
|
116
116
|
const { getReferenceProps, getFloatingProps, getItemProps } = react$1.useInteractions(
|
|
117
117
|
[hover, click, role, dismiss, listNav]
|
|
118
118
|
);
|
|
119
|
-
modalStack.useEscapeLayer(isOpen, () =>
|
|
119
|
+
modalStack.useEscapeLayer(isOpen, () => context.onOpenChange(false));
|
|
120
120
|
react.useEffect(() => {
|
|
121
121
|
if (!tree) return;
|
|
122
|
-
const closeAll = () =>
|
|
122
|
+
const closeAll = () => context.onOpenChange(false);
|
|
123
123
|
const closeSiblings = (event) => {
|
|
124
124
|
if (event.nodeId !== nodeId && event.parentId === parentId) {
|
|
125
|
-
|
|
125
|
+
context.onOpenChange(false);
|
|
126
126
|
}
|
|
127
127
|
};
|
|
128
128
|
tree.events.on("click", closeAll);
|
|
@@ -131,7 +131,7 @@ function MenuSubmenu({ item }) {
|
|
|
131
131
|
tree.events.off("click", closeAll);
|
|
132
132
|
tree.events.off("menuopen", closeSiblings);
|
|
133
133
|
};
|
|
134
|
-
}, [tree, nodeId, parentId]);
|
|
134
|
+
}, [tree, nodeId, parentId, context.onOpenChange]);
|
|
135
135
|
react.useEffect(() => {
|
|
136
136
|
if (isOpen && tree) tree.events.emit("menuopen", { parentId, nodeId });
|
|
137
137
|
}, [isOpen, tree, nodeId, parentId]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenuSubmenu.cjs","sources":["../../src/overlay/DropdownMenuSubmenu.tsx"],"sourcesContent":["import { Fragment, useContext, useEffect, useRef, useState } from \"react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingNode,\n FloatingPortal,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListItem,\n useListNavigation,\n useMergeRefs,\n useRole,\n type UseInteractionsReturn,\n} from \"@floating-ui/react\";\nimport { Icon, type StaticIconComponent } from \"../data/Icon\";\nimport { UiChevronRight } from \"../icons\";\nimport { MENU_POPOVER_CLASS, MenuContext } from \"./dropdownMenuContext\";\nimport { useEscapeLayer, useFloatingZIndex } from \"./modalStack\";\nimport type { DropdownMenuItem } from \"./DropdownMenu\";\nimport { cn } from \"../lib/utils\";\n\n// Shared item surfaces so a leaf renders identically in the root menu or a\n// flyout submenu.\nconst MENU_ITEM_CLASS =\n \"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs text-popover-foreground hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\";\nconst MENU_HEADER_CLASS =\n \"select-none px-3 pb-1 pt-2 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\";\n\nfunction MenuItemIcon({\n icon,\n iconColor,\n iconClassName,\n}: {\n icon: string | StaticIconComponent | undefined;\n iconColor: string | undefined;\n iconClassName: string | undefined;\n}) {\n if (!icon) return null;\n return (\n // `text-base` rather than inheriting the row: `Icon` sizes at 1em, so on a\n // `text-xs` row the glyph came out at 12px — smaller than anything a caller\n // puts in the label beside it, and too small to identify at a glance. The\n // row's content box is already 16px tall, so this does not change its height.\n <span\n className={cn(\"inline-flex shrink-0 text-base\", iconClassName)}\n style={iconColor ? { color: iconColor } : undefined}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} />\n </span>\n );\n}\n\nfunction MenuLeaf({ item }: { item: DropdownMenuItem }) {\n const menu = useContext(MenuContext);\n const tree = useFloatingTree();\n const listItem = useListItem();\n const isActive = listItem.index === menu.activeIndex;\n\n const activate = () => {\n if (item.disabled) return;\n item.onSelect();\n // A selection closes every open level; each menu subscribes to \"click\".\n tree?.events.emit(\"click\");\n };\n\n return (\n <button\n ref={listItem.ref}\n type=\"button\"\n role=\"menuitem\"\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n title={item.title}\n className={MENU_ITEM_CLASS}\n {...menu.getItemProps({\n onClick: activate,\n onFocus: () => menu.setHasFocusInside(true),\n onKeyDown: (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n activate();\n }\n },\n })}\n >\n <MenuItemIcon\n icon={item.icon}\n iconColor={item.iconColor}\n iconClassName={item.iconClassName}\n />\n {item.label}\n </button>\n );\n}\n\nfunction MenuSubmenu({ item }: { item: DropdownMenuItem }) {\n const parent = useContext(MenuContext);\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const parentId = useFloatingParentNodeId();\n const listItem = useListItem();\n\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const elementsRef = useRef<Array<HTMLElement | null>>([]);\n const floatingZ = useFloatingZIndex();\n\n const { refs, floatingStyles, context } = useFloating<HTMLButtonElement>({\n // nodeId is always defined inside the FloatingTree; guard for the type only.\n ...(nodeId ? { nodeId } : {}),\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: \"right-start\",\n middleware: [\n offset({ mainAxis: 0, alignmentAxis: -4 }),\n flip({ padding: 8 }),\n shift({ padding: 8, crossAxis: true }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const hover = useHover(context, {\n delay: { open: 75 },\n handleClose: safePolygon(),\n });\n // Hover opens the flyout for mouse users; click/tap also opens it (touch and\n // keyboard) but never toggles it shut — leaving via safePolygon or selecting a\n // leaf is what closes it.\n const click = useClick(context, { toggle: false });\n const role = useRole(context, { role: \"menu\" });\n // Escape is owned by useEscapeLayer (below) so it dismisses one menu level at\n // a time and cooperates with modals; useDismiss keeps outside-press dismissal.\n const dismiss = useDismiss(context, { escapeKey: false, bubbles: true });\n const listNav = useListNavigation(context, {\n listRef: elementsRef,\n activeIndex,\n nested: true,\n onNavigate: setActiveIndex,\n loop: true,\n });\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [hover, click, role, dismiss, listNav],\n );\n\n useEscapeLayer(isOpen, () => setIsOpen(false));\n\n useEffect(() => {\n if (!tree) return;\n const closeAll = () => setIsOpen(false);\n const closeSiblings = (event: {\n nodeId: string;\n parentId: string | null;\n }) => {\n if (event.nodeId !== nodeId && event.parentId === parentId) {\n setIsOpen(false);\n }\n };\n tree.events.on(\"click\", closeAll);\n tree.events.on(\"menuopen\", closeSiblings);\n return () => {\n tree.events.off(\"click\", closeAll);\n tree.events.off(\"menuopen\", closeSiblings);\n };\n }, [tree, nodeId, parentId]);\n\n useEffect(() => {\n if (isOpen && tree) tree.events.emit(\"menuopen\", { parentId, nodeId });\n }, [isOpen, tree, nodeId, parentId]);\n\n const isActive = listItem.index === parent.activeIndex;\n const referenceRef = useMergeRefs([refs.setReference, listItem.ref]);\n const ariaLabel = typeof item.label === \"string\" ? item.label : undefined;\n\n return (\n <FloatingNode id={nodeId}>\n <button\n ref={referenceRef}\n type=\"button\"\n role=\"menuitem\"\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n title={item.title}\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n className={MENU_ITEM_CLASS}\n {...parent.getItemProps(\n // Merge the parent's roving-tabindex props with this trigger's own\n // reference props (open on hover/click/ArrowRight). Both prop-getters\n // return an opaque prop bag; the cast bridges the two getter\n // signatures (getReferenceProps -> getItemProps parameter).\n getReferenceProps({\n onFocus: () => {\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n }) as unknown as Parameters<UseInteractionsReturn[\"getItemProps\"]>[0],\n )}\n >\n <MenuItemIcon\n icon={item.icon}\n iconColor={item.iconColor}\n iconClassName={item.iconClassName}\n />\n <span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n <Icon icon={UiChevronRight} className=\"ml-auto shrink-0 opacity-60\" />\n </button>\n <MenuContext.Provider\n value={{\n getItemProps,\n activeIndex,\n setActiveIndex,\n setHasFocusInside,\n isOpen,\n }}\n >\n <FloatingList elementsRef={elementsRef}>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false}\n >\n <div\n ref={refs.setFloating}\n role=\"menu\"\n style={{ ...floatingStyles, zIndex: floatingZ }}\n className={MENU_POPOVER_CLASS}\n {...getFloatingProps()}\n aria-label={ariaLabel}\n {...(ariaLabel ? { \"aria-labelledby\": undefined } : {})}\n >\n {item.header != null && (\n <div className=\"border-b border-border px-3 py-1.5\">\n {item.header}\n </div>\n )}\n <MenuItemList items={item.children ?? []} />\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </FloatingNode>\n );\n}\n\n/**\n * Renders one menu level: a leaf `menuitem` button, or a submenu trigger when\n * the item has `children`. A group header renders above the first item of each\n * contiguous group (headers are not focusable, so keyboard navigation stays\n * dense over the interactive items). Must be rendered inside a `FloatingList`\n * whose `elementsRef` backs the enclosing menu's list navigation.\n */\nexport function MenuItemList({ items }: { items: DropdownMenuItem[] }) {\n return (\n <>\n {items.map((item, index) => {\n const showHeader =\n item.group != null && item.group !== items[index - 1]?.group;\n const hasChildren = !!item.children && item.children.length > 0;\n return (\n <Fragment key={index}>\n {showHeader && (\n <div role=\"presentation\" className={MENU_HEADER_CLASS}>\n {item.group}\n </div>\n )}\n {hasChildren ? (\n <MenuSubmenu item={item} />\n ) : (\n <MenuLeaf item={item} />\n )}\n </Fragment>\n );\n })}\n </>\n );\n}\n"],"names":["jsx","cn","Icon","useContext","MenuContext","useFloatingTree","useListItem","jsxs","useFloatingNodeId","useFloatingParentNodeId","useState","useRef","useFloatingZIndex","useFloating","offset","flip","shift","autoUpdate","useHover","safePolygon","useClick","useRole","useDismiss","useListNavigation","useInteractions","useEscapeLayer","useEffect","useMergeRefs","FloatingNode","UiChevronRight","FloatingList","FloatingPortal","FloatingFocusManager","MENU_POPOVER_CLASS","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownMenuSubmenu.cjs","sources":["../../src/overlay/DropdownMenuSubmenu.tsx"],"sourcesContent":["import { Fragment, useContext, useEffect, useRef, useState } from \"react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingNode,\n FloatingPortal,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListItem,\n useListNavigation,\n useMergeRefs,\n useRole,\n type UseInteractionsReturn,\n} from \"@floating-ui/react\";\nimport { Icon, type StaticIconComponent } from \"../data/Icon\";\nimport { UiChevronRight } from \"../icons\";\nimport { MENU_POPOVER_CLASS, MenuContext } from \"./dropdownMenuContext\";\nimport { useEscapeLayer, useFloatingZIndex } from \"./modalStack\";\nimport type { DropdownMenuItem } from \"./DropdownMenu\";\nimport { cn } from \"../lib/utils\";\n\n// Shared item surfaces so a leaf renders identically in the root menu or a\n// flyout submenu.\nconst MENU_ITEM_CLASS =\n \"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs text-popover-foreground hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\";\nconst MENU_HEADER_CLASS =\n \"select-none px-3 pb-1 pt-2 text-[10px] font-medium uppercase tracking-wide text-muted-foreground\";\n\nfunction MenuItemIcon({\n icon,\n iconColor,\n iconClassName,\n}: {\n icon: string | StaticIconComponent | undefined;\n iconColor: string | undefined;\n iconClassName: string | undefined;\n}) {\n if (!icon) return null;\n return (\n // `text-base` rather than inheriting the row: `Icon` sizes at 1em, so on a\n // `text-xs` row the glyph came out at 12px — smaller than anything a caller\n // puts in the label beside it, and too small to identify at a glance. The\n // row's content box is already 16px tall, so this does not change its height.\n <span\n className={cn(\"inline-flex shrink-0 text-base\", iconClassName)}\n style={iconColor ? { color: iconColor } : undefined}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} />\n </span>\n );\n}\n\nfunction MenuLeaf({ item }: { item: DropdownMenuItem }) {\n const menu = useContext(MenuContext);\n const tree = useFloatingTree();\n const listItem = useListItem();\n const isActive = listItem.index === menu.activeIndex;\n\n const activate = () => {\n if (item.disabled) return;\n item.onSelect();\n // A selection closes every open level; each menu subscribes to \"click\".\n tree?.events.emit(\"click\");\n };\n\n return (\n <button\n ref={listItem.ref}\n type=\"button\"\n role=\"menuitem\"\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n title={item.title}\n className={MENU_ITEM_CLASS}\n {...menu.getItemProps({\n onClick: activate,\n onFocus: () => menu.setHasFocusInside(true),\n onKeyDown: (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n activate();\n }\n },\n })}\n >\n <MenuItemIcon\n icon={item.icon}\n iconColor={item.iconColor}\n iconClassName={item.iconClassName}\n />\n {item.label}\n </button>\n );\n}\n\nfunction MenuSubmenu({ item }: { item: DropdownMenuItem }) {\n const parent = useContext(MenuContext);\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const parentId = useFloatingParentNodeId();\n const listItem = useListItem();\n\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const elementsRef = useRef<Array<HTMLElement | null>>([]);\n const floatingZ = useFloatingZIndex();\n\n const { refs, floatingStyles, context } = useFloating<HTMLButtonElement>({\n // nodeId is always defined inside the FloatingTree; guard for the type only.\n ...(nodeId ? { nodeId } : {}),\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: \"right-start\",\n middleware: [\n offset({ mainAxis: 0, alignmentAxis: -4 }),\n flip({ padding: 8 }),\n shift({ padding: 8, crossAxis: true }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const hover = useHover(context, {\n delay: { open: 75 },\n handleClose: safePolygon(),\n });\n // Hover opens the flyout for mouse users; click/tap also opens it (touch and\n // keyboard) but never toggles it shut — leaving via safePolygon or selecting a\n // leaf is what closes it.\n const click = useClick(context, { toggle: false });\n const role = useRole(context, { role: \"menu\" });\n // Escape is owned by useEscapeLayer (below) so it dismisses one menu level at\n // a time and cooperates with modals; useDismiss keeps outside-press dismissal.\n const dismiss = useDismiss(context, { escapeKey: false, bubbles: true });\n const listNav = useListNavigation(context, {\n listRef: elementsRef,\n activeIndex,\n nested: true,\n onNavigate: setActiveIndex,\n loop: true,\n });\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [hover, click, role, dismiss, listNav],\n );\n\n useEscapeLayer(isOpen, () => context.onOpenChange(false));\n\n useEffect(() => {\n if (!tree) return;\n const closeAll = () => context.onOpenChange(false);\n const closeSiblings = (event: {\n nodeId: string;\n parentId: string | null;\n }) => {\n if (event.nodeId !== nodeId && event.parentId === parentId) {\n context.onOpenChange(false);\n }\n };\n tree.events.on(\"click\", closeAll);\n tree.events.on(\"menuopen\", closeSiblings);\n return () => {\n tree.events.off(\"click\", closeAll);\n tree.events.off(\"menuopen\", closeSiblings);\n };\n }, [tree, nodeId, parentId, context.onOpenChange]);\n\n useEffect(() => {\n if (isOpen && tree) tree.events.emit(\"menuopen\", { parentId, nodeId });\n }, [isOpen, tree, nodeId, parentId]);\n\n const isActive = listItem.index === parent.activeIndex;\n const referenceRef = useMergeRefs([refs.setReference, listItem.ref]);\n const ariaLabel = typeof item.label === \"string\" ? item.label : undefined;\n\n return (\n <FloatingNode id={nodeId}>\n <button\n ref={referenceRef}\n type=\"button\"\n role=\"menuitem\"\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n title={item.title}\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n data-focus-inside={hasFocusInside ? \"\" : undefined}\n className={MENU_ITEM_CLASS}\n {...parent.getItemProps(\n // Merge the parent's roving-tabindex props with this trigger's own\n // reference props (open on hover/click/ArrowRight). Both prop-getters\n // return an opaque prop bag; the cast bridges the two getter\n // signatures (getReferenceProps -> getItemProps parameter).\n getReferenceProps({\n onFocus: () => {\n setHasFocusInside(false);\n parent.setHasFocusInside(true);\n },\n }) as unknown as Parameters<UseInteractionsReturn[\"getItemProps\"]>[0],\n )}\n >\n <MenuItemIcon\n icon={item.icon}\n iconColor={item.iconColor}\n iconClassName={item.iconClassName}\n />\n <span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n <Icon icon={UiChevronRight} className=\"ml-auto shrink-0 opacity-60\" />\n </button>\n <MenuContext.Provider\n value={{\n getItemProps,\n activeIndex,\n setActiveIndex,\n setHasFocusInside,\n isOpen,\n }}\n >\n <FloatingList elementsRef={elementsRef}>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n modal={false}\n initialFocus={-1}\n returnFocus={false}\n >\n <div\n ref={refs.setFloating}\n role=\"menu\"\n style={{ ...floatingStyles, zIndex: floatingZ }}\n className={MENU_POPOVER_CLASS}\n {...getFloatingProps()}\n aria-label={ariaLabel}\n {...(ariaLabel ? { \"aria-labelledby\": undefined } : {})}\n >\n {item.header != null && (\n <div className=\"border-b border-border px-3 py-1.5\">\n {item.header}\n </div>\n )}\n <MenuItemList items={item.children ?? []} />\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </FloatingNode>\n );\n}\n\n/**\n * Renders one menu level: a leaf `menuitem` button, or a submenu trigger when\n * the item has `children`. A group header renders above the first item of each\n * contiguous group (headers are not focusable, so keyboard navigation stays\n * dense over the interactive items). Must be rendered inside a `FloatingList`\n * whose `elementsRef` backs the enclosing menu's list navigation.\n */\nexport function MenuItemList({ items }: { items: DropdownMenuItem[] }) {\n return (\n <>\n {items.map((item, index) => {\n const showHeader =\n item.group != null && item.group !== items[index - 1]?.group;\n const hasChildren = !!item.children && item.children.length > 0;\n return (\n <Fragment key={index}>\n {showHeader && (\n <div role=\"presentation\" className={MENU_HEADER_CLASS}>\n {item.group}\n </div>\n )}\n {hasChildren ? (\n <MenuSubmenu item={item} />\n ) : (\n <MenuLeaf item={item} />\n )}\n </Fragment>\n );\n })}\n </>\n );\n}\n"],"names":["jsx","cn","Icon","useContext","MenuContext","useFloatingTree","useListItem","jsxs","useFloatingNodeId","useFloatingParentNodeId","useState","useRef","useFloatingZIndex","useFloating","offset","flip","shift","autoUpdate","useHover","safePolygon","useClick","useRole","useDismiss","useListNavigation","useInteractions","useEscapeLayer","useEffect","useMergeRefs","FloatingNode","UiChevronRight","FloatingList","FloatingPortal","FloatingFocusManager","MENU_POPOVER_CLASS","Fragment"],"mappings":";;;;;;;;;;AAkCA,MAAM,kBACJ;AACF,MAAM,oBACJ;AAEF,SAAS,aAAa;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,MAAI,CAAC,KAAM,QAAO;AAClB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,MAAAA,GAAG,kCAAkC,aAAa;AAAA,QAC7D,OAAO,YAAY,EAAE,OAAO,cAAc;AAAA,QAE1C,UAAAD,2BAAAA,IAACE,WAAA,EAAM,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,SAAS,EAAE,KAAA,EAAK,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA;AAGxE;AAEA,SAAS,SAAS,EAAE,QAAoC;AACtD,QAAM,OAAOC,MAAAA,WAAWC,+BAAW;AACnC,QAAM,OAAOC,QAAAA,gBAAA;AACb,QAAM,WAAWC,QAAAA,YAAA;AACjB,QAAM,WAAW,SAAS,UAAU,KAAK;AAEzC,QAAM,WAAW,MAAM;AACrB,QAAI,KAAK,SAAU;AACnB,SAAK,SAAA;AAEL,iCAAM,OAAO,KAAK;AAAA,EACpB;AAEA,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK,SAAS;AAAA,MACd,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAU,WAAW,IAAI;AAAA,MACzB,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,MACZ,WAAW;AAAA,MACV,GAAG,KAAK,aAAa;AAAA,QACpB,SAAS;AAAA,QACT,SAAS,MAAM,KAAK,kBAAkB,IAAI;AAAA,QAC1C,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;AAC9C,kBAAM,eAAA;AACN,qBAAA;AAAA,UACF;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MAED,UAAA;AAAA,QAAAP,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM,KAAK;AAAA,YACX,WAAW,KAAK;AAAA,YAChB,eAAe,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAErB,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;AAEA,SAAS,YAAY,EAAE,QAAoC;AACzD,QAAM,SAASG,MAAAA,WAAWC,+BAAW;AACrC,QAAM,OAAOC,QAAAA,gBAAA;AACb,QAAM,SAASG,QAAAA,kBAAA;AACf,QAAM,WAAWC,QAAAA,wBAAA;AACjB,QAAM,WAAWH,QAAAA,YAAA;AAEjB,QAAM,CAAC,QAAQ,SAAS,IAAII,MAAAA,SAAS,KAAK;AAC1C,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAwB,IAAI;AAClE,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAC1D,QAAM,cAAcC,MAAAA,OAAkC,EAAE;AACxD,QAAM,YAAYC,WAAAA,kBAAA;AAElB,QAAM,EAAE,MAAM,gBAAgB,QAAA,IAAYC,QAAAA,YAA+B;AAAA;AAAA,IAEvE,GAAI,SAAS,EAAE,OAAA,IAAW,CAAA;AAAA,IAC1B,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,YAAY;AAAA,MACVC,QAAAA,OAAO,EAAE,UAAU,GAAG,eAAe,IAAI;AAAA,MACzCC,aAAK,EAAE,SAAS,GAAG;AAAA,MACnBC,QAAAA,MAAM,EAAE,SAAS,GAAG,WAAW,MAAM;AAAA,IAAA;AAAA,IAEvC,sBAAsBC,QAAAA;AAAAA,EAAA,CACvB;AAED,QAAM,QAAQC,QAAAA,SAAS,SAAS;AAAA,IAC9B,OAAO,EAAE,MAAM,GAAA;AAAA,IACf,aAAaC,QAAAA,YAAA;AAAA,EAAY,CAC1B;AAID,QAAM,QAAQC,QAAAA,SAAS,SAAS,EAAE,QAAQ,OAAO;AACjD,QAAM,OAAOC,QAAAA,QAAQ,SAAS,EAAE,MAAM,QAAQ;AAG9C,QAAM,UAAUC,QAAAA,WAAW,SAAS,EAAE,WAAW,OAAO,SAAS,MAAM;AACvE,QAAM,UAAUC,QAAAA,kBAAkB,SAAS;AAAA,IACzC,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,MAAM;AAAA,EAAA,CACP;AACD,QAAM,EAAE,mBAAmB,kBAAkB,aAAA,IAAiBC,QAAAA;AAAAA,IAC5D,CAAC,OAAO,OAAO,MAAM,SAAS,OAAO;AAAA,EAAA;AAGvCC,aAAAA,eAAe,QAAQ,MAAM,QAAQ,aAAa,KAAK,CAAC;AAExDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,KAAM;AACX,UAAM,WAAW,MAAM,QAAQ,aAAa,KAAK;AACjD,UAAM,gBAAgB,CAAC,UAGjB;AACJ,UAAI,MAAM,WAAW,UAAU,MAAM,aAAa,UAAU;AAC1D,gBAAQ,aAAa,KAAK;AAAA,MAC5B;AAAA,IACF;AACA,SAAK,OAAO,GAAG,SAAS,QAAQ;AAChC,SAAK,OAAO,GAAG,YAAY,aAAa;AACxC,WAAO,MAAM;AACX,WAAK,OAAO,IAAI,SAAS,QAAQ;AACjC,WAAK,OAAO,IAAI,YAAY,aAAa;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,UAAU,QAAQ,YAAY,CAAC;AAEjDA,QAAAA,UAAU,MAAM;AACd,QAAI,UAAU,KAAM,MAAK,OAAO,KAAK,YAAY,EAAE,UAAU,QAAQ;AAAA,EACvE,GAAG,CAAC,QAAQ,MAAM,QAAQ,QAAQ,CAAC;AAEnC,QAAM,WAAW,SAAS,UAAU,OAAO;AAC3C,QAAM,eAAeC,QAAAA,aAAa,CAAC,KAAK,cAAc,SAAS,GAAG,CAAC;AACnE,QAAM,YAAY,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;AAEhE,SACEpB,2BAAAA,KAACqB,QAAAA,cAAA,EAAa,IAAI,QAChB,UAAA;AAAA,IAAArB,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK;AAAA,QACL,MAAK;AAAA,QACL,MAAK;AAAA,QACL,UAAU,WAAW,IAAI;AAAA,QACzB,UAAU,KAAK;AAAA,QACf,OAAO,KAAK;AAAA,QACZ,iBAAc;AAAA,QACd,iBAAe;AAAA,QACf,qBAAmB,iBAAiB,KAAK;AAAA,QACzC,WAAW;AAAA,QACV,GAAG,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKT,kBAAkB;AAAA,YAChB,SAAS,MAAM;AACb,gCAAkB,KAAK;AACvB,qBAAO,kBAAkB,IAAI;AAAA,YAC/B;AAAA,UAAA,CACD;AAAA,QAAA;AAAA,QAGH,UAAA;AAAA,UAAAP,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM,KAAK;AAAA,cACX,WAAW,KAAK;AAAA,cAChB,eAAe,KAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEtBA,2BAAAA,IAAC,QAAA,EAAK,WAAU,2BAA2B,eAAK,OAAM;AAAA,UACtDA,2BAAAA,IAACE,KAAAA,MAAA,EAAK,MAAM2B,eAAAA,gBAAgB,WAAU,8BAAA,CAA8B;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEtE7B,2BAAAA;AAAAA,MAACI,oBAAAA,YAAY;AAAA,MAAZ;AAAA,QACC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAGF,UAAAJ,2BAAAA,IAAC8B,sBAAA,EAAa,aACX,UAAA,yCACEC,QAAAA,gBAAA,EACC,UAAA/B,2BAAAA;AAAAA,UAACgC,QAAAA;AAAAA,UAAA;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,cAAc;AAAA,YACd,aAAa;AAAA,YAEb,UAAAzB,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAK,KAAK;AAAA,gBACV,MAAK;AAAA,gBACL,OAAO,EAAE,GAAG,gBAAgB,QAAQ,UAAA;AAAA,gBACpC,WAAW0B,oBAAAA;AAAAA,gBACV,GAAG,iBAAA;AAAA,gBACJ,cAAY;AAAA,gBACX,GAAI,YAAY,EAAE,mBAAmB,OAAA,IAAc,CAAA;AAAA,gBAEnD,UAAA;AAAA,kBAAA,KAAK,UAAU,QACdjC,2BAAAA,IAAC,SAAI,WAAU,sCACZ,eAAK,OAAA,CACR;AAAA,iDAED,cAAA,EAAa,OAAO,KAAK,YAAY,CAAA,EAAC,CAAG;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAC5C;AAAA,QAAA,GAEJ,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AASO,SAAS,aAAa,EAAE,SAAwC;AACrE,SACEA,2BAAAA,IAAAkC,WAAAA,UAAA,EACG,UAAA,MAAM,IAAI,CAAC,MAAM,UAAU;;AAC1B,UAAM,aACJ,KAAK,SAAS,QAAQ,KAAK,YAAU,WAAM,QAAQ,CAAC,MAAf,mBAAkB;AACzD,UAAM,cAAc,CAAC,CAAC,KAAK,YAAY,KAAK,SAAS,SAAS;AAC9D,WACE3B,2BAAAA,KAAC2B,gBAAA,EACE,UAAA;AAAA,MAAA,6CACE,OAAA,EAAI,MAAK,gBAAe,WAAW,mBACjC,eAAK,MAAA,CACR;AAAA,MAED,cACClC,2BAAAA,IAAC,aAAA,EAAY,MAAY,IAEzBA,2BAAAA,IAAC,YAAS,KAAA,CAAY;AAAA,IAAA,EAAA,GATX,KAWf;AAAA,EAEJ,CAAC,EAAA,CACH;AAEJ;;"}
|
|
@@ -114,13 +114,13 @@ function MenuSubmenu({ item }) {
|
|
|
114
114
|
const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(
|
|
115
115
|
[hover, click, role, dismiss, listNav]
|
|
116
116
|
);
|
|
117
|
-
useEscapeLayer(isOpen, () =>
|
|
117
|
+
useEscapeLayer(isOpen, () => context.onOpenChange(false));
|
|
118
118
|
useEffect(() => {
|
|
119
119
|
if (!tree) return;
|
|
120
|
-
const closeAll = () =>
|
|
120
|
+
const closeAll = () => context.onOpenChange(false);
|
|
121
121
|
const closeSiblings = (event) => {
|
|
122
122
|
if (event.nodeId !== nodeId && event.parentId === parentId) {
|
|
123
|
-
|
|
123
|
+
context.onOpenChange(false);
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
tree.events.on("click", closeAll);
|
|
@@ -129,7 +129,7 @@ function MenuSubmenu({ item }) {
|
|
|
129
129
|
tree.events.off("click", closeAll);
|
|
130
130
|
tree.events.off("menuopen", closeSiblings);
|
|
131
131
|
};
|
|
132
|
-
}, [tree, nodeId, parentId]);
|
|
132
|
+
}, [tree, nodeId, parentId, context.onOpenChange]);
|
|
133
133
|
useEffect(() => {
|
|
134
134
|
if (isOpen && tree) tree.events.emit("menuopen", { parentId, nodeId });
|
|
135
135
|
}, [isOpen, tree, nodeId, parentId]);
|