@google/gemini-cli 0.16.0-nightly.20251112.c961f274 → 0.16.0-preview.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/dist/package.json +3 -3
- package/dist/src/config/keyBindings.d.ts +19 -0
- package/dist/src/config/keyBindings.js +151 -0
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/keyBindings.test.js +26 -1
- package/dist/src/config/keyBindings.test.js.map +1 -1
- package/dist/src/config/policy-engine.integration.test.js +62 -44
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/settingPaths.d.ts +10 -0
- package/dist/src/config/settingPaths.js +11 -0
- package/dist/src/config/settingPaths.js.map +1 -0
- package/dist/src/config/settings.js +2 -1
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +12 -3
- package/dist/src/config/settingsSchema.js +12 -3
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/gemini.js +14 -22
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +4 -0
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/services/FileCommandLoader.js +5 -4
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js +39 -1
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/render.js +5 -1
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/AppContainer.js +9 -2
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +15 -3
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.test.js +44 -5
- package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +1 -4
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +1 -4
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +3 -0
- package/dist/src/ui/components/AsciiArt.js +36 -0
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/Header.js +6 -4
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +25 -1
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/StickyHeader.d.ts +3 -0
- package/dist/src/ui/components/StickyHeader.js +2 -2
- package/dist/src/ui/components/StickyHeader.js.map +1 -1
- package/dist/src/ui/components/StickyHeader.test.js +2 -2
- package/dist/src/ui/components/StickyHeader.test.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.test.js +1 -1
- package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +5 -7
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +18 -12
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +56 -27
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +3 -0
- package/dist/src/ui/components/messages/ToolMessage.js +6 -10
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +3 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +3 -0
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.js +99 -9
- package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.test.js +66 -0
- package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -1
- package/dist/src/ui/components/views/ToolsList.js +1 -1
- package/dist/src/ui/components/views/ToolsList.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +0 -6
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/ScrollProvider.d.ts +1 -0
- package/dist/src/ui/contexts/ScrollProvider.drag.test.d.ts +6 -0
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js +307 -0
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js.map +1 -0
- package/dist/src/ui/contexts/ScrollProvider.js +112 -2
- package/dist/src/ui/contexts/ScrollProvider.js.map +1 -1
- package/dist/src/ui/contexts/ScrollProvider.test.js +138 -0
- package/dist/src/ui/contexts/ScrollProvider.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +2 -2
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +0 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +0 -28
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAlternateBuffer.d.ts +2 -0
- package/dist/src/ui/hooks/useAlternateBuffer.js +2 -1
- package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.js +2 -1
- package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +5 -4
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +0 -19
- package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +37 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +5 -5
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.test.d.ts +6 -0
- package/dist/src/ui/utils/CodeColorizer.test.js +38 -0
- package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -0
- package/dist/src/ui/utils/terminalSetup.d.ts +3 -0
- package/dist/src/ui/utils/terminalSetup.js +9 -2
- package/dist/src/ui/utils/terminalSetup.js.map +1 -1
- package/dist/src/ui/utils/ui-sizing.js +2 -1
- package/dist/src/ui/utils/ui-sizing.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/google-gemini-cli-0.16.0-nightly.20251112.2abc288c.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConfirmationMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAOrE,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAUvE,MAAM,CAAC,MAAM,uBAAuB,GAEhC,CAAC,EACH,mBAAmB,EACnB,MAAM,EACN,SAAS,GAAG,IAAI,EAChB,uBAAuB,EACvB,aAAa,GACd,EAAE,EAAE;IACH,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolConfirmationMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,24 +7,20 @@ import { ToolConfirmationMessage } from './ToolConfirmationMessage.js';
|
|
|
7
7
|
import { theme } from '../../semantic-colors.js';
|
|
8
8
|
import { SHELL_COMMAND_NAME, SHELL_NAME } from '../../constants.js';
|
|
9
9
|
import { useConfig } from '../../contexts/ConfigContext.js';
|
|
10
|
-
import { useAlternateBuffer } from '../../hooks/useAlternateBuffer.js';
|
|
11
10
|
// Main component renders the border and maps the tools using ToolMessage
|
|
12
11
|
export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalWidth, isFocused = true, activeShellPtyId, embeddedShellFocused, }) => {
|
|
13
12
|
const isEmbeddedShellFocused = embeddedShellFocused &&
|
|
14
13
|
toolCalls.some((t) => t.ptyId === activeShellPtyId && t.status === ToolCallStatus.Executing);
|
|
15
14
|
const hasPending = !toolCalls.every((t) => t.status === ToolCallStatus.Success);
|
|
16
15
|
const config = useConfig();
|
|
17
|
-
const isAlternateBuffer = useAlternateBuffer();
|
|
18
16
|
const isShellCommand = toolCalls.some((t) => t.name === SHELL_COMMAND_NAME || t.name === SHELL_NAME);
|
|
19
17
|
const borderColor = (isShellCommand && hasPending) || isEmbeddedShellFocused
|
|
20
18
|
? theme.ui.symbol
|
|
21
19
|
: hasPending
|
|
22
20
|
? theme.status.warning
|
|
23
21
|
: theme.border.default;
|
|
22
|
+
const borderDimColor = hasPending && (!isShellCommand || !isEmbeddedShellFocused);
|
|
24
23
|
const staticHeight = /* border */ 2 + /* marginBottom */ 1;
|
|
25
|
-
// This is a bit of a magic number, but it accounts for the border and
|
|
26
|
-
// marginLeft in regular mode and just the border in alternate buffer mode.
|
|
27
|
-
const innerWidth = isAlternateBuffer ? terminalWidth - 3 : terminalWidth - 4;
|
|
28
24
|
// only prompt for tool approval on the first 'confirming' tool in the list
|
|
29
25
|
// note, after the CTA, this automatically moves over to the next 'confirming' tool
|
|
30
26
|
const toolAwaitingApproval = useMemo(() => toolCalls.find((tc) => tc.status === ToolCallStatus.Confirming), [toolCalls]);
|
|
@@ -39,18 +35,28 @@ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalW
|
|
|
39
35
|
? Math.max(Math.floor((availableTerminalHeight - staticHeight - countOneLineToolCalls) /
|
|
40
36
|
Math.max(1, countToolCallsWithResults)), 1)
|
|
41
37
|
: undefined;
|
|
42
|
-
return (
|
|
38
|
+
return (
|
|
39
|
+
// This box doesn't have a border even though it conceptually does because
|
|
40
|
+
// we need to allow the sticky headers to render the borders themselves so
|
|
41
|
+
// that the top border can be sticky.
|
|
42
|
+
_jsxs(Box, { flexDirection: "column",
|
|
43
43
|
/*
|
|
44
44
|
This width constraint is highly important and protects us from an Ink rendering bug.
|
|
45
45
|
Since the ToolGroup can typically change rendering states frequently, it can cause
|
|
46
46
|
Ink to render the border of the box incorrectly and span multiple lines and even
|
|
47
47
|
cause tearing.
|
|
48
48
|
*/
|
|
49
|
-
width: terminalWidth,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
width: terminalWidth, children: [toolCalls.map((tool, index) => {
|
|
50
|
+
const isConfirming = toolAwaitingApproval?.callId === tool.callId;
|
|
51
|
+
const isFirst = index === 0;
|
|
52
|
+
return (_jsxs(Box, { flexDirection: "column", minHeight: 1, width: terminalWidth, children: [_jsx(ToolMessage, { ...tool, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: terminalWidth, emphasis: isConfirming ? 'high' : toolAwaitingApproval ? 'low' : 'medium', activeShellPtyId: activeShellPtyId, embeddedShellFocused: embeddedShellFocused, config: config, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor }), _jsxs(Box, { borderLeft: true, borderRight: true, borderTop: false, borderBottom: false, borderColor: borderColor, borderDimColor: borderDimColor, flexDirection: "column", borderStyle: "round", paddingLeft: 1, paddingRight: 1, children: [tool.status === ToolCallStatus.Confirming &&
|
|
53
|
+
isConfirming &&
|
|
54
|
+
tool.confirmationDetails && (_jsx(ToolConfirmationMessage, { confirmationDetails: tool.confirmationDetails, config: config, isFocused: isFocused, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: terminalWidth - 4 })), tool.outputFile && (_jsx(Box, { children: _jsxs(Text, { color: theme.text.primary, children: ["Output too long and was saved to: ", tool.outputFile] }) }))] })] }, tool.callId));
|
|
55
|
+
}),
|
|
56
|
+
/*
|
|
57
|
+
We have to keep the bottom border separate so it doesn't get
|
|
58
|
+
drawn over by the sticky header directly inside it.
|
|
59
|
+
*/
|
|
60
|
+
toolCalls.length > 0 && (_jsx(Box, { height: 0, width: terminalWidth, borderLeft: true, borderRight: true, borderTop: false, borderBottom: true, borderColor: borderColor, borderDimColor: borderDimColor, borderStyle: "round" }))] }));
|
|
55
61
|
};
|
|
56
62
|
//# sourceMappingURL=ToolGroupMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
@@ -6,34 +6,9 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
|
6
6
|
*/
|
|
7
7
|
import { renderWithProviders } from '../../../test-utils/render.js';
|
|
8
8
|
import { describe, it, expect, vi } from 'vitest';
|
|
9
|
-
import { Text } from 'ink';
|
|
10
9
|
import { ToolGroupMessage } from './ToolGroupMessage.js';
|
|
11
10
|
import { ToolCallStatus } from '../../types.js';
|
|
12
|
-
import {
|
|
13
|
-
// Mock child components to isolate ToolGroupMessage behavior
|
|
14
|
-
vi.mock('./ToolMessage.js', () => ({
|
|
15
|
-
ToolMessage: function MockToolMessage({ callId, name, description, status, emphasis, }) {
|
|
16
|
-
// Use the same constants as the real component
|
|
17
|
-
const statusSymbolMap = {
|
|
18
|
-
[ToolCallStatus.Success]: TOOL_STATUS.SUCCESS,
|
|
19
|
-
[ToolCallStatus.Pending]: TOOL_STATUS.PENDING,
|
|
20
|
-
[ToolCallStatus.Executing]: TOOL_STATUS.EXECUTING,
|
|
21
|
-
[ToolCallStatus.Confirming]: TOOL_STATUS.CONFIRMING,
|
|
22
|
-
[ToolCallStatus.Canceled]: TOOL_STATUS.CANCELED,
|
|
23
|
-
[ToolCallStatus.Error]: TOOL_STATUS.ERROR,
|
|
24
|
-
};
|
|
25
|
-
const statusSymbol = statusSymbolMap[status] || '?';
|
|
26
|
-
return (_jsxs(Text, { children: ["MockTool[", callId, "]: ", statusSymbol, " ", name, " - ", description, " (", emphasis, ")"] }));
|
|
27
|
-
},
|
|
28
|
-
}));
|
|
29
|
-
vi.mock('./ToolConfirmationMessage.js', () => ({
|
|
30
|
-
ToolConfirmationMessage: function MockToolConfirmationMessage({ confirmationDetails, }) {
|
|
31
|
-
const displayText = confirmationDetails?.type === 'info'
|
|
32
|
-
? confirmationDetails.prompt
|
|
33
|
-
: confirmationDetails?.title || 'confirm';
|
|
34
|
-
return _jsxs(Text, { children: ["MockConfirmation: ", displayText] });
|
|
35
|
-
},
|
|
36
|
-
}));
|
|
11
|
+
import { Scrollable } from '../shared/Scrollable.js';
|
|
37
12
|
describe('<ToolGroupMessage />', () => {
|
|
38
13
|
const createToolCall = (overrides = {}) => ({
|
|
39
14
|
callId: 'tool-123',
|
|
@@ -180,6 +155,60 @@ describe('<ToolGroupMessage />', () => {
|
|
|
180
155
|
expect(lastFrame()).toMatchSnapshot();
|
|
181
156
|
unmount();
|
|
182
157
|
});
|
|
158
|
+
it('renders header when scrolled', () => {
|
|
159
|
+
const toolCalls = [
|
|
160
|
+
createToolCall({
|
|
161
|
+
callId: '1',
|
|
162
|
+
name: 'tool-1',
|
|
163
|
+
description: 'Description 1. This is a long description that will need to be truncated if the terminal width is small.',
|
|
164
|
+
resultDisplay: 'line1\nline2\nline3\nline4\nline5',
|
|
165
|
+
}),
|
|
166
|
+
createToolCall({
|
|
167
|
+
callId: '2',
|
|
168
|
+
name: 'tool-2',
|
|
169
|
+
description: 'Description 2',
|
|
170
|
+
resultDisplay: 'line1\nline2',
|
|
171
|
+
}),
|
|
172
|
+
];
|
|
173
|
+
const { lastFrame, unmount } = renderWithProviders(_jsx(Scrollable, { height: 10, hasFocus: true, scrollToBottom: true, children: _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }) }));
|
|
174
|
+
expect(lastFrame()).toMatchSnapshot();
|
|
175
|
+
unmount();
|
|
176
|
+
});
|
|
177
|
+
it('renders tool call with outputFile', () => {
|
|
178
|
+
const toolCalls = [
|
|
179
|
+
createToolCall({
|
|
180
|
+
callId: 'tool-output-file',
|
|
181
|
+
name: 'tool-with-file',
|
|
182
|
+
description: 'Tool that saved output to file',
|
|
183
|
+
status: ToolCallStatus.Success,
|
|
184
|
+
outputFile: '/path/to/output.txt',
|
|
185
|
+
}),
|
|
186
|
+
];
|
|
187
|
+
const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
|
|
188
|
+
expect(lastFrame()).toMatchSnapshot();
|
|
189
|
+
unmount();
|
|
190
|
+
});
|
|
191
|
+
it('renders two tool groups where only the last line of the previous group is visible', () => {
|
|
192
|
+
const toolCalls1 = [
|
|
193
|
+
createToolCall({
|
|
194
|
+
callId: '1',
|
|
195
|
+
name: 'tool-1',
|
|
196
|
+
description: 'Description 1',
|
|
197
|
+
resultDisplay: 'line1\nline2\nline3\nline4\nline5',
|
|
198
|
+
}),
|
|
199
|
+
];
|
|
200
|
+
const toolCalls2 = [
|
|
201
|
+
createToolCall({
|
|
202
|
+
callId: '2',
|
|
203
|
+
name: 'tool-2',
|
|
204
|
+
description: 'Description 2',
|
|
205
|
+
resultDisplay: 'line1',
|
|
206
|
+
}),
|
|
207
|
+
];
|
|
208
|
+
const { lastFrame, unmount } = renderWithProviders(_jsxs(Scrollable, { height: 6, hasFocus: true, scrollToBottom: true, children: [_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls1 }), _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls2 })] }));
|
|
209
|
+
expect(lastFrame()).toMatchSnapshot();
|
|
210
|
+
unmount();
|
|
211
|
+
});
|
|
183
212
|
});
|
|
184
213
|
describe('Border Color Logic', () => {
|
|
185
214
|
it('uses yellow border when tools are pending', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolGroupMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolGroupMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export interface ToolMessageProps extends IndividualToolCallDisplay {
|
|
|
14
14
|
renderOutputAsMarkdown?: boolean;
|
|
15
15
|
activeShellPtyId?: number | null;
|
|
16
16
|
embeddedShellFocused?: boolean;
|
|
17
|
+
isFirst: boolean;
|
|
18
|
+
borderColor: string;
|
|
19
|
+
borderDimColor: boolean;
|
|
17
20
|
config?: Config;
|
|
18
21
|
}
|
|
19
22
|
export declare const ToolMessage: React.FC<ToolMessageProps>;
|
|
@@ -25,7 +25,7 @@ const MIN_LINES_SHOWN = 2; // show at least this many lines
|
|
|
25
25
|
// Large threshold to ensure we don't cause performance issues for very large
|
|
26
26
|
// outputs that will get truncated further MaxSizedBox anyway.
|
|
27
27
|
const MAXIMUM_RESULT_DISPLAY_CHARACTERS = 1000000;
|
|
28
|
-
export const ToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, activeShellPtyId, embeddedShellFocused, ptyId, config, }) => {
|
|
28
|
+
export const ToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, activeShellPtyId, embeddedShellFocused, ptyId, config, isFirst, borderColor, borderDimColor, }) => {
|
|
29
29
|
const { renderMarkdown } = useUIState();
|
|
30
30
|
const isAlternateBuffer = useAlternateBuffer();
|
|
31
31
|
const isThisShellFocused = (name === SHELL_COMMAND_NAME || name === 'Shell') &&
|
|
@@ -67,7 +67,8 @@ export const ToolMessage = ({ name, description, resultDisplay, status, availabl
|
|
|
67
67
|
if (availableHeight && !isAlternateBuffer) {
|
|
68
68
|
renderOutputAsMarkdown = false;
|
|
69
69
|
}
|
|
70
|
-
const
|
|
70
|
+
const combinedPaddingAndBorderWidth = 4;
|
|
71
|
+
const childWidth = terminalWidth - combinedPaddingAndBorderWidth;
|
|
71
72
|
const truncatedResultDisplay = React.useMemo(() => {
|
|
72
73
|
if (typeof resultDisplay === 'string') {
|
|
73
74
|
if (resultDisplay.length > MAXIMUM_RESULT_DISPLAY_CHARACTERS) {
|
|
@@ -79,7 +80,7 @@ export const ToolMessage = ({ name, description, resultDisplay, status, availabl
|
|
|
79
80
|
const renderedResult = React.useMemo(() => {
|
|
80
81
|
if (!truncatedResultDisplay)
|
|
81
82
|
return null;
|
|
82
|
-
return (_jsx(Box, { width:
|
|
83
|
+
return (_jsx(Box, { width: childWidth, flexDirection: "column", children: _jsx(Box, { flexDirection: "column", children: typeof truncatedResultDisplay === 'string' &&
|
|
83
84
|
renderOutputAsMarkdown ? (_jsx(Box, { flexDirection: "column", children: _jsx(MarkdownDisplay, { text: truncatedResultDisplay, terminalWidth: childWidth, renderMarkdown: renderMarkdown, isPending: false }) })) : typeof truncatedResultDisplay === 'string' &&
|
|
84
85
|
!renderOutputAsMarkdown ? (isAlternateBuffer ? (_jsx(Box, { flexDirection: "column", width: childWidth, children: _jsx(Text, { wrap: "wrap", color: theme.text.primary, children: truncatedResultDisplay }) })) : (_jsx(MaxSizedBox, { maxHeight: availableHeight, maxWidth: childWidth, children: _jsx(Box, { children: _jsx(Text, { wrap: "wrap", color: theme.text.primary, children: truncatedResultDisplay }) }) }))) : typeof truncatedResultDisplay === 'object' &&
|
|
85
86
|
'fileDiff' in truncatedResultDisplay ? (_jsx(DiffRenderer, { diffContent: truncatedResultDisplay.fileDiff, filename: truncatedResultDisplay.fileName, availableTerminalHeight: availableHeight, terminalWidth: childWidth })) : typeof truncatedResultDisplay === 'object' &&
|
|
@@ -93,13 +94,8 @@ export const ToolMessage = ({ name, description, resultDisplay, status, availabl
|
|
|
93
94
|
renderMarkdown,
|
|
94
95
|
isAlternateBuffer,
|
|
95
96
|
availableHeight,
|
|
96
|
-
terminalWidth,
|
|
97
97
|
]);
|
|
98
|
-
return (
|
|
99
|
-
// We have the StickyHeader intentionally exceedsthe allowed width for this
|
|
100
|
-
// component by 1 so tne horizontal line it renders can extend into the 1
|
|
101
|
-
// pixel of padding of the box drawn by the parent of the ToolMessage.
|
|
102
|
-
_jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth + 1, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), shouldShowFocusHint && (_jsx(Box, { marginLeft: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.accent, children: isThisShellFocused ? '(Focused)' : '(ctrl+f to focus)' }) })), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), renderedResult, isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] }));
|
|
98
|
+
return (_jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), shouldShowFocusHint && (_jsx(Box, { marginLeft: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.accent, children: isThisShellFocused ? '(Focused)' : '(ctrl+f to focus)' }) })), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), _jsxs(Box, { width: terminalWidth, borderStyle: "round", borderColor: borderColor, borderDimColor: borderDimColor, borderTop: false, borderBottom: false, borderLeft: true, borderRight: true, paddingX: 1, flexDirection: "column", children: [renderedResult, isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] })] }));
|
|
103
99
|
};
|
|
104
100
|
const ToolStatusIndicator = ({ status, name, }) => {
|
|
105
101
|
const isShell = name === SHELL_COMMAND_NAME || name === SHELL_NAME;
|
|
@@ -121,7 +117,7 @@ const ToolInfo = ({ name, description, status, emphasis, }) => {
|
|
|
121
117
|
}
|
|
122
118
|
}
|
|
123
119
|
}, [emphasis]);
|
|
124
|
-
return (_jsx(Box, { children: _jsxs(Text, { strikethrough: status === ToolCallStatus.Canceled, children: [_jsx(Text, { color: nameColor, bold: true, children: name }), ' ', _jsx(Text, { color: theme.text.secondary, children: description })] }) }));
|
|
120
|
+
return (_jsx(Box, { overflow: "hidden", height: 1, flexGrow: 1, flexShrink: 1, children: _jsxs(Text, { strikethrough: status === ToolCallStatus.Canceled, wrap: "truncate", children: [_jsx(Text, { color: nameColor, bold: true, children: name }), ' ', _jsx(Text, { color: theme.text.secondary, children: description })] }) }));
|
|
125
121
|
};
|
|
126
122
|
const TrailingIndicator = () => (_jsxs(Text, { color: theme.text.primary, wrap: "truncate", children: [' ', "\u2190"] }));
|
|
127
123
|
//# sourceMappingURL=ToolMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,sCAAsC;AACrE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,gCAAgC;AAE3D,6EAA6E;AAC7E,8DAA8D;AAC9D,MAAM,iCAAiC,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,9 @@ describe('<ToolMessage />', () => {
|
|
|
59
59
|
terminalWidth: 80,
|
|
60
60
|
confirmationDetails: undefined,
|
|
61
61
|
emphasis: 'medium',
|
|
62
|
+
isFirst: true,
|
|
63
|
+
borderColor: 'green',
|
|
64
|
+
borderDimColor: false,
|
|
62
65
|
};
|
|
63
66
|
it('renders basic tool information', () => {
|
|
64
67
|
const { lastFrame } = renderWithContext(_jsx(ToolMessage, { ...baseProps }), StreamingState.Idle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ToolMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolMessageRawMarkdown.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessageRawMarkdown.test.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,MAAM,SAAS,GAAqB;QAClC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oBAAoB;QACjC,aAAa,EAAE,mCAAmC;QAClD,MAAM,EAAE,cAAc,CAAC,OAAO;QAC9B,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,SAAS;QAC9B,QAAQ,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"ToolMessageRawMarkdown.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessageRawMarkdown.test.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,MAAM,SAAS,GAAqB;QAClC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oBAAoB;QACjC,aAAa,EAAE,mCAAmC;QAClD,MAAM,EAAE,cAAc,CAAC,OAAO;QAC9B,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,SAAS;QAC9B,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,KAAK;KACtB,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC;QACN;YACE,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,KAAK;YACzB,WAAW,EAAE,2BAA2B;SACzC;QACD;YACE,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,6BAA6B;SAC3C;QACD;YACE,cAAc,EAAE,KAAK;YACrB,kBAAkB,EAAE,KAAK;YACzB,WAAW,EAAE,gCAAgC;SAC9C;QACD;YACE,cAAc,EAAE,KAAK;YACrB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,kCAAkC;SAChD;QACD,2FAA2F;QAC3F;YACE,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,KAAK;YACzB,uBAAuB,EAAE,EAAE;YAC3B,WAAW,EAAE,oDAAoD;SAClE;QACD;YACE,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,IAAI;YACxB,uBAAuB,EAAE,EAAE;YAC3B,WAAW,EAAE,0DAA0D;SACxE;KACF,CAAC,CACA,kGAAkG,EAClG,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAClE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,CAAC,IAAI,YACnD,KAAC,WAAW,OACN,SAAS,EACb,uBAAuB,EAAE,uBAAuB,GAChD,GACwB,EAC5B;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE;YAChE,kBAAkB;SACnB,CACF,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -4,12 +4,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
import { useRef, forwardRef, useImperativeHandle, useCallback, useMemo, } from 'react';
|
|
8
|
-
import { VirtualizedList } from './VirtualizedList.js';
|
|
7
|
+
import { useRef, forwardRef, useImperativeHandle, useCallback, useMemo, useEffect, } from 'react';
|
|
8
|
+
import { VirtualizedList, SCROLL_TO_ITEM_END, } from './VirtualizedList.js';
|
|
9
9
|
import { useScrollable } from '../../contexts/ScrollProvider.js';
|
|
10
10
|
import { Box } from 'ink';
|
|
11
11
|
import { useAnimatedScrollbar } from '../../hooks/useAnimatedScrollbar.js';
|
|
12
12
|
import { useKeypress } from '../../hooks/useKeypress.js';
|
|
13
|
+
import { keyMatchers, Command } from '../../keyMatchers.js';
|
|
14
|
+
const ANIMATION_FRAME_DURATION_MS = 33;
|
|
13
15
|
function ScrollableList(props, ref) {
|
|
14
16
|
const { hasFocus } = props;
|
|
15
17
|
const virtualizedListRef = useRef(null);
|
|
@@ -36,14 +38,95 @@ function ScrollableList(props, ref) {
|
|
|
36
38
|
virtualizedListRef.current?.scrollBy(delta);
|
|
37
39
|
}, []);
|
|
38
40
|
const { scrollbarColor, flashScrollbar, scrollByWithAnimation } = useAnimatedScrollbar(hasFocus, scrollBy);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
const smoothScrollState = useRef({ active: false, start: 0, from: 0, to: 0, duration: 0, timer: null });
|
|
42
|
+
const stopSmoothScroll = useCallback(() => {
|
|
43
|
+
if (smoothScrollState.current.timer) {
|
|
44
|
+
clearInterval(smoothScrollState.current.timer);
|
|
45
|
+
smoothScrollState.current.timer = null;
|
|
46
|
+
}
|
|
47
|
+
smoothScrollState.current.active = false;
|
|
48
|
+
}, []);
|
|
49
|
+
useEffect(() => stopSmoothScroll, [stopSmoothScroll]);
|
|
50
|
+
const smoothScrollTo = useCallback((targetScrollTop, duration = 200) => {
|
|
51
|
+
stopSmoothScroll();
|
|
52
|
+
const scrollState = virtualizedListRef.current?.getScrollState() ?? {
|
|
53
|
+
scrollTop: 0,
|
|
54
|
+
scrollHeight: 0,
|
|
55
|
+
innerHeight: 0,
|
|
56
|
+
};
|
|
57
|
+
const { scrollTop: startScrollTop, scrollHeight, innerHeight, } = scrollState;
|
|
58
|
+
const maxScrollTop = Math.max(0, scrollHeight - innerHeight);
|
|
59
|
+
let effectiveTarget = targetScrollTop;
|
|
60
|
+
if (targetScrollTop === SCROLL_TO_ITEM_END) {
|
|
61
|
+
effectiveTarget = maxScrollTop;
|
|
62
|
+
}
|
|
63
|
+
const clampedTarget = Math.max(0, Math.min(maxScrollTop, effectiveTarget));
|
|
64
|
+
if (duration === 0) {
|
|
65
|
+
if (targetScrollTop === SCROLL_TO_ITEM_END) {
|
|
66
|
+
virtualizedListRef.current?.scrollTo(SCROLL_TO_ITEM_END);
|
|
43
67
|
}
|
|
44
|
-
|
|
45
|
-
|
|
68
|
+
else {
|
|
69
|
+
virtualizedListRef.current?.scrollTo(Math.round(clampedTarget));
|
|
46
70
|
}
|
|
71
|
+
flashScrollbar();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
smoothScrollState.current = {
|
|
75
|
+
active: true,
|
|
76
|
+
start: Date.now(),
|
|
77
|
+
from: startScrollTop,
|
|
78
|
+
to: clampedTarget,
|
|
79
|
+
duration,
|
|
80
|
+
timer: setInterval(() => {
|
|
81
|
+
const now = Date.now();
|
|
82
|
+
const elapsed = now - smoothScrollState.current.start;
|
|
83
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
84
|
+
// Ease-in-out
|
|
85
|
+
const t = progress;
|
|
86
|
+
const ease = t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
87
|
+
const current = smoothScrollState.current.from +
|
|
88
|
+
(smoothScrollState.current.to - smoothScrollState.current.from) *
|
|
89
|
+
ease;
|
|
90
|
+
if (progress >= 1) {
|
|
91
|
+
if (targetScrollTop === SCROLL_TO_ITEM_END) {
|
|
92
|
+
virtualizedListRef.current?.scrollTo(SCROLL_TO_ITEM_END);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
virtualizedListRef.current?.scrollTo(Math.round(current));
|
|
96
|
+
}
|
|
97
|
+
stopSmoothScroll();
|
|
98
|
+
flashScrollbar();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
virtualizedListRef.current?.scrollTo(Math.round(current));
|
|
102
|
+
}
|
|
103
|
+
}, ANIMATION_FRAME_DURATION_MS),
|
|
104
|
+
};
|
|
105
|
+
}, [stopSmoothScroll, flashScrollbar]);
|
|
106
|
+
useKeypress((key) => {
|
|
107
|
+
if (keyMatchers[Command.SCROLL_UP](key)) {
|
|
108
|
+
stopSmoothScroll();
|
|
109
|
+
scrollByWithAnimation(-1);
|
|
110
|
+
}
|
|
111
|
+
else if (keyMatchers[Command.SCROLL_DOWN](key)) {
|
|
112
|
+
stopSmoothScroll();
|
|
113
|
+
scrollByWithAnimation(1);
|
|
114
|
+
}
|
|
115
|
+
else if (keyMatchers[Command.PAGE_UP](key) ||
|
|
116
|
+
keyMatchers[Command.PAGE_DOWN](key)) {
|
|
117
|
+
const direction = keyMatchers[Command.PAGE_UP](key) ? -1 : 1;
|
|
118
|
+
const scrollState = getScrollState();
|
|
119
|
+
const current = smoothScrollState.current.active
|
|
120
|
+
? smoothScrollState.current.to
|
|
121
|
+
: scrollState.scrollTop;
|
|
122
|
+
const innerHeight = scrollState.innerHeight;
|
|
123
|
+
smoothScrollTo(current + direction * innerHeight);
|
|
124
|
+
}
|
|
125
|
+
else if (keyMatchers[Command.SCROLL_HOME](key)) {
|
|
126
|
+
smoothScrollTo(0);
|
|
127
|
+
}
|
|
128
|
+
else if (keyMatchers[Command.SCROLL_END](key)) {
|
|
129
|
+
smoothScrollTo(SCROLL_TO_ITEM_END);
|
|
47
130
|
}
|
|
48
131
|
}, { isActive: hasFocus });
|
|
49
132
|
const hasFocusCallback = useCallback(() => hasFocus, [hasFocus]);
|
|
@@ -51,9 +134,16 @@ function ScrollableList(props, ref) {
|
|
|
51
134
|
ref: containerRef,
|
|
52
135
|
getScrollState,
|
|
53
136
|
scrollBy: scrollByWithAnimation,
|
|
137
|
+
scrollTo: smoothScrollTo,
|
|
54
138
|
hasFocus: hasFocusCallback,
|
|
55
139
|
flashScrollbar,
|
|
56
|
-
}), [
|
|
140
|
+
}), [
|
|
141
|
+
getScrollState,
|
|
142
|
+
hasFocusCallback,
|
|
143
|
+
flashScrollbar,
|
|
144
|
+
scrollByWithAnimation,
|
|
145
|
+
smoothScrollTo,
|
|
146
|
+
]);
|
|
57
147
|
useScrollable(scrollableEntry, hasFocus);
|
|
58
148
|
return (_jsx(Box, { ref: containerRef, flexGrow: 1, flexDirection: "column", overflow: "hidden", children: _jsx(VirtualizedList, { ref: virtualizedListRef, ...props, scrollbarThumbColor: scrollbarColor }) }));
|
|
59
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollableList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EACL,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,OAAO,
|
|
1
|
+
{"version":3,"file":"ScrollableList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.tsx"],"names":[],"mappings":"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"}
|