@molecule/app-ide-react 1.20.2 → 1.20.4
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/components/BackgroundTasksStrip.d.ts.map +1 -1
- package/dist/components/BackgroundTasksStrip.js +5 -1
- package/dist/components/BackgroundTasksStrip.js.map +1 -1
- package/dist/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +127 -118
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/DockStrip.d.ts +24 -2
- package/dist/components/DockStrip.d.ts.map +1 -1
- package/dist/components/DockStrip.js +52 -3
- package/dist/components/DockStrip.js.map +1 -1
- package/dist/components/PlanCard.d.ts +5 -1
- package/dist/components/PlanCard.d.ts.map +1 -1
- package/dist/components/PlanCard.js +14 -4
- package/dist/components/PlanCard.js.map +1 -1
- package/dist/components/WorkCard.d.ts +16 -0
- package/dist/components/WorkCard.d.ts.map +1 -0
- package/dist/components/WorkCard.js +47 -0
- package/dist/components/WorkCard.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundTasksStrip.d.ts","sourceRoot":"","sources":["../../src/components/BackgroundTasksStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAMhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,mBAAmB,EAAE,CAAA;CAC7B,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"BackgroundTasksStrip.d.ts","sourceRoot":"","sources":["../../src/components/BackgroundTasksStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAMhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,mBAAmB,EAAE,CAAA;CAC7B,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAmGrB"}
|
|
@@ -39,7 +39,11 @@ export function BackgroundTasksStrip({ tasks, }) {
|
|
|
39
39
|
: t('ide.chat.backgroundDone', { count: tasks.length }, { defaultValue: '{{count}} background task finished' });
|
|
40
40
|
// Collapsed, name what the strip is about: the purpose of the task in flight.
|
|
41
41
|
const lead = running[0] ?? failed[0];
|
|
42
|
-
return (_jsx(DockStrip, { molId: "chat-background-tasks", toggleMolId: "chat-background-tasks-toggle", expanded: expanded, onToggle: () => setExpanded((open) => !open), icon: _jsx(StatusMark, { state: running.length > 0 ? 'active' : failed.length > 0 ? 'failed' : 'done', size: 14 }), label: summary,
|
|
42
|
+
return (_jsx(DockStrip, { molId: "chat-background-tasks", toggleMolId: "chat-background-tasks-toggle", expanded: expanded, onToggle: () => setExpanded((open) => !open), icon: _jsx(StatusMark, { state: running.length > 0 ? 'active' : failed.length > 0 ? 'failed' : 'done', size: 14 }), label: summary, chipLabel: running.length > 0
|
|
43
|
+
? t('ide.work.running', { count: running.length }, { defaultValue: '{{count}} running' })
|
|
44
|
+
: failed.length > 0
|
|
45
|
+
? t('ide.work.failed', { count: failed.length }, { defaultValue: '{{count}} failed' })
|
|
46
|
+
: t('ide.work.finished', { count: tasks.length }, { defaultValue: '{{count}} done' }), chipTitle: lead ? purpose(lead) : undefined, hint: !expanded && lead ? `· ${purpose(lead)}` : undefined, children: _jsx("ul", { style: { listStyle: 'none', margin: 0, padding: 0 }, children: tasks.map((task) => (_jsxs("li", { "data-mol-id": "chat-background-task", className: cm.textSize('xs'), style: { display: 'flex', alignItems: 'flex-start', gap: 8, padding: '3px 0' }, children: [_jsx("span", { style: { flexShrink: 0, display: 'inline-flex', paddingTop: 1 }, children: _jsx(StatusMark, { state: task.status === 'running'
|
|
43
47
|
? 'active'
|
|
44
48
|
: task.status === 'failed'
|
|
45
49
|
? 'failed'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundTasksStrip.js","sourceRoot":"","sources":["../../src/components/BackgroundTasksStrip.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackgroundTasksStrip.js","sourceRoot":"","sources":["../../src/components/BackgroundTasksStrip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;AAa3C,OAAO,KAAK,EAAa,WAAW,EAAmB,MAAM,uBAAuB,CAAA;AAyCpF,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EAIhB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAiBvD,OAAO,EAEL,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAA;AAY3B,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@ import { TipCard } from './TipCard.js';
|
|
|
57
57
|
import { readFilePaths, str } from './tool-call-utilities.js';
|
|
58
58
|
import { ToolCallCard } from './ToolCallCard.js';
|
|
59
59
|
import { UserAvatar } from './UserAvatar.js';
|
|
60
|
+
import { WorkCard } from './WorkCard.js';
|
|
60
61
|
const logger = getLogger('chat-panel');
|
|
61
62
|
// Every region the picker can offer: the flag's country code (resolved via the
|
|
62
63
|
// bonded @molecule/app-country-flags set) + the English fallback for its i18n
|
|
@@ -5995,6 +5996,22 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
5995
5996
|
};
|
|
5996
5997
|
const bgCommands = useMemo(() => backgroundTaskCommands(messages), [messages]);
|
|
5997
5998
|
const plan = useMemo(() => latestPlan(messages), [messages]);
|
|
5999
|
+
// A plan step only spins while a turn is running; otherwise it says it is waiting
|
|
6000
|
+
// on the person (an unanswered ask_user) or that the work stopped.
|
|
6001
|
+
const planLive = isLoading || isRemoteStreaming;
|
|
6002
|
+
const planAwaitingUser = useMemo(() => (messages[messages.length - 1]?.toolCalls ?? []).some((tc) => tc.output != null &&
|
|
6003
|
+
typeof tc.output === 'object' &&
|
|
6004
|
+
tc.output.status === 'awaiting_response'), [messages]);
|
|
6005
|
+
// Everything about the work in flight shares one card above the composer. The
|
|
6006
|
+
// tests strip also shows for a read-only viewer (watching is not editing); the
|
|
6007
|
+
// files strip does not (committing is editor work). Popups hide the card.
|
|
6008
|
+
const showTests = testsBarVisible && shouldShowTestsBar(testsRun, testsList);
|
|
6009
|
+
const showFiles = canEdit !== false && pendingFiles != null && pendingFiles.length > 0;
|
|
6010
|
+
const workVisible = !commandMenu &&
|
|
6011
|
+
!modelPicker &&
|
|
6012
|
+
!effortPicker &&
|
|
6013
|
+
!panelOverlay &&
|
|
6014
|
+
(plan.length > 0 || backgroundTasks.length > 0 || showTests || showFiles);
|
|
5998
6015
|
// ── Render ─────────────────────────────────────────────────────────────────
|
|
5999
6016
|
const root = (_jsxs("div", { style: {
|
|
6000
6017
|
display: 'flex',
|
|
@@ -6247,7 +6264,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
6247
6264
|
pointerEvents: showActivity ? 'auto' : 'none',
|
|
6248
6265
|
transition: 'opacity 0.18s ease-out',
|
|
6249
6266
|
}, children: showActivity && (_jsx(StreamingIndicator, { label: label, tokens: streamingLike ? turnTokens : undefined, startedAt: streamingLike ? turnStartedAt : undefined })) }));
|
|
6250
|
-
})(), _jsx("div", { ref: messagesEndRef })] }),
|
|
6267
|
+
})(), _jsx("div", { ref: messagesEndRef })] }), autoFixCountdown && (_jsxs("div", { className: cm.cn(cm.shrink0, cm.borderT), style: {
|
|
6251
6268
|
display: 'flex',
|
|
6252
6269
|
alignItems: 'center',
|
|
6253
6270
|
gap: 8,
|
|
@@ -7531,127 +7548,116 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
7531
7548
|
}, onMouseLeave: (e) => {
|
|
7532
7549
|
e.currentTarget.style.opacity = '0.7';
|
|
7533
7550
|
e.currentTarget.style.background = 'none';
|
|
7534
|
-
}, children: _jsx("svg", { width: "13", height: "13", viewBox: "0 0 12 12", style: { display: 'block' }, children: _jsx("path", { d: "M 2.5,6.5 L 6,3 L 9.5,6.5 M 6,3.5 L 6,10", fill: "none", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }) }) }))] }, qm.id))) })] })),
|
|
7535
|
-
|
|
7536
|
-
|
|
7537
|
-
|
|
7538
|
-
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
|
|
7542
|
-
|
|
7543
|
-
|
|
7544
|
-
|
|
7545
|
-
|
|
7546
|
-
|
|
7547
|
-
|
|
7548
|
-
|
|
7549
|
-
|
|
7550
|
-
|
|
7551
|
-
|
|
7552
|
-
|
|
7553
|
-
|
|
7554
|
-
|
|
7555
|
-
|
|
7556
|
-
|
|
7557
|
-
|
|
7558
|
-
|
|
7559
|
-
|
|
7560
|
-
|
|
7561
|
-
|
|
7562
|
-
|
|
7563
|
-
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
|
|
7572
|
-
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7579
|
-
|
|
7580
|
-
|
|
7581
|
-
|
|
7582
|
-
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
|
|
7587
|
-
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
|
|
7599
|
-
textAlign: 'left',
|
|
7600
|
-
width: '100%',
|
|
7601
|
-
overflow: 'hidden',
|
|
7602
|
-
whiteSpace: 'nowrap',
|
|
7603
|
-
}, className: cm.textMuted, children: [_jsx("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis' }, children: f.path }), (!!f.additions || !!f.deletions) && (_jsxs("span", { style: { marginLeft: 'auto', flexShrink: 0, fontSize: 10, opacity: 0.8 }, children: [!!f.additions && _jsxs("span", { style: { color: '#3fb950' }, children: ["+", f.additions] }), !!f.additions && !!f.deletions && ' ', !!f.deletions && _jsxs("span", { style: { color: '#f85149' }, children: ["-", f.deletions] })] })), onFileRevert && (_jsx("span", {
|
|
7604
|
-
/* mol-bespoke-button: icon-only per-file revert affordance — 18px (32px coarse) hit box on a dense file row */
|
|
7605
|
-
role: "button", tabIndex: 0, title: t('ide.chat.revertFile', undefined, {
|
|
7606
|
-
defaultValue: 'Revert to last commit',
|
|
7607
|
-
}), onClick: (e) => {
|
|
7608
|
-
e.stopPropagation();
|
|
7609
|
-
// Revert file to last committed state (handles modified, new, and deleted files)
|
|
7610
|
-
http
|
|
7611
|
-
.post(`/projects/${projectId}/git-revert`, { path: f.path })
|
|
7612
|
-
.then(() => {
|
|
7613
|
-
refreshGitStatus();
|
|
7614
|
-
// Refresh editor if the file is open — fetch fresh content for modified/restored,
|
|
7615
|
-
// or close if it was a new file that got deleted
|
|
7616
|
-
if (f.status === 'untracked' || f.status === 'added') {
|
|
7617
|
-
onFileDeleted?.(f.path);
|
|
7618
|
-
}
|
|
7619
|
-
else {
|
|
7620
|
-
// Re-fetch file content from sandbox to update editor
|
|
7551
|
+
}, children: _jsx("svg", { width: "13", height: "13", viewBox: "0 0 12 12", style: { display: 'block' }, children: _jsx("path", { d: "M 2.5,6.5 L 6,3 L 9.5,6.5 M 6,3.5 L 6,10", fill: "none", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }) }) }))] }, qm.id))) })] })), workVisible && (_jsxs(WorkCard, { children: [_jsx(PlanCard, { todos: plan, live: planLive, awaitingUser: planAwaitingUser }), _jsx(BackgroundTasksStrip, { tasks: backgroundTasks }), showTests && (_jsx(TestStatusBar, { run: testsRun, tests: testsList, expanded: testsBarExpanded, onToggle: () => setTestsBarExpanded((v) => !v), onOpen: () => openTestsBrowser(''), onStop: testsRun.running ? cancelTestsRun : undefined })), showFiles && pendingFiles != null && (_jsx(DockStrip, { molId: "chat-commit-bar", toggleMolId: "chat-commit-toggle", expanded: commitBarExpanded, onToggle: () => setCommitBarExpanded((v) => !v), label: commitState?.status === 'committed'
|
|
7552
|
+
? stripCommitCoauthorTrailer(commitState.message ?? '')
|
|
7553
|
+
: commitState?.status === 'error'
|
|
7554
|
+
? t('ide.chat.commitFailed')
|
|
7555
|
+
: t('ide.chat.uncommittedFileCount', { count: pendingFiles.length }, { defaultValue: '{{count}} uncommitted files' }), actions: _jsx(_Fragment, { children: isAutoCommitEnabled(autoCommit) &&
|
|
7556
|
+
commitState?.status !== 'committing' &&
|
|
7557
|
+
commitState?.status !== 'committed' ? (_jsx(AutoCommitBadge, { state: autoCommit, disabled: autoCommitHeld, onCommitNow: () => {
|
|
7558
|
+
// Pause the countdown before committing so a due auto-fire
|
|
7559
|
+
// doesn't race the manual commit onto a freshly clean tree
|
|
7560
|
+
// (which would drop a noisy "No changes to commit" card).
|
|
7561
|
+
dispatchAutoCommit({ type: 'fired' });
|
|
7562
|
+
void handleCommit();
|
|
7563
|
+
}, inline: true })) : ((() => {
|
|
7564
|
+
const commitBusy = commitState?.status === 'committing' ||
|
|
7565
|
+
commitState?.status === 'committed' ||
|
|
7566
|
+
autoCommitHeld;
|
|
7567
|
+
return (_jsx("button", { type: "button", "data-mol-id": "chat-commit-button", onClick: (e) => {
|
|
7568
|
+
e.stopPropagation();
|
|
7569
|
+
if (commitBusy)
|
|
7570
|
+
return;
|
|
7571
|
+
handleCommit();
|
|
7572
|
+
}, disabled: commitBusy,
|
|
7573
|
+
// The SAME design-system button as the tests bar's action
|
|
7574
|
+
// one strip above (and as the green AutoCommitBadge that
|
|
7575
|
+
// replaces this one when auto-commit is on) — only the
|
|
7576
|
+
// semantic colour differs. The CVA owns hover/active/focus
|
|
7577
|
+
// and the disabled look, so there is nothing to hand-roll:
|
|
7578
|
+
// this used to be an inline 12px/6px-radius button with
|
|
7579
|
+
// hardcoded rgba(64,112,224,*) and hand-written hover, and
|
|
7580
|
+
// it visibly mismatched the 13px/3px tests-bar button.
|
|
7581
|
+
className: cm.cn(cm.button({ variant: 'solid', color: 'primary', size: 'xs' }), cm.touchTargetCompact), children: commitState?.status === 'committing'
|
|
7582
|
+
? t('ide.chat.committing')
|
|
7583
|
+
: t('ide.chat.commit') }));
|
|
7584
|
+
})()) }), children: _jsx("div", { style: { maxHeight: 200, overflowY: 'auto' }, children: pendingFiles.map((f) => (_jsxs("button", { type: "button", onClick: () => onFileDiff?.(f.path), onMouseEnter: (e) => {
|
|
7585
|
+
// Theme PRIMARY token, not a literal blue — the row sits in
|
|
7586
|
+
// the same bar as the commit button, which is now primary.
|
|
7587
|
+
e.currentTarget.style.color = 'var(--mol-color-primary, #4070e0)';
|
|
7588
|
+
}, onMouseLeave: (e) => {
|
|
7589
|
+
e.currentTarget.style.color = '';
|
|
7590
|
+
}, style: {
|
|
7591
|
+
display: 'flex',
|
|
7592
|
+
alignItems: 'center',
|
|
7593
|
+
gap: 6,
|
|
7594
|
+
background: 'none',
|
|
7595
|
+
border: 'none',
|
|
7596
|
+
padding: '1px 0',
|
|
7597
|
+
// Touch: ~15px rows are untappable — 32px is the floor for
|
|
7598
|
+
// these dense file rows.
|
|
7599
|
+
...(isCoarse ? { minHeight: 32 } : {}),
|
|
7600
|
+
cursor: onFileDiff ? 'pointer' : 'default',
|
|
7601
|
+
fontFamily: "'SF Mono', 'Fira Code', monospace",
|
|
7602
|
+
fontSize: 11,
|
|
7603
|
+
color: 'inherit',
|
|
7604
|
+
opacity: 0.7,
|
|
7605
|
+
textAlign: 'left',
|
|
7606
|
+
width: '100%',
|
|
7607
|
+
overflow: 'hidden',
|
|
7608
|
+
whiteSpace: 'nowrap',
|
|
7609
|
+
}, className: cm.textMuted, children: [_jsx("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis' }, children: f.path }), (!!f.additions || !!f.deletions) && (_jsxs("span", { style: { marginLeft: 'auto', flexShrink: 0, fontSize: 10, opacity: 0.8 }, children: [!!f.additions && (_jsxs("span", { style: { color: '#3fb950' }, children: ["+", f.additions] })), !!f.additions && !!f.deletions && ' ', !!f.deletions && (_jsxs("span", { style: { color: '#f85149' }, children: ["-", f.deletions] }))] })), onFileRevert && (_jsx("span", {
|
|
7610
|
+
/* mol-bespoke-button: icon-only per-file revert affordance — 18px (32px coarse) hit box on a dense file row */
|
|
7611
|
+
role: "button", tabIndex: 0, title: t('ide.chat.revertFile', undefined, {
|
|
7612
|
+
defaultValue: 'Revert to last commit',
|
|
7613
|
+
}), onClick: (e) => {
|
|
7614
|
+
e.stopPropagation();
|
|
7615
|
+
// Revert file to last committed state (handles modified, new, and deleted files)
|
|
7621
7616
|
http
|
|
7622
|
-
.
|
|
7623
|
-
.then((
|
|
7617
|
+
.post(`/projects/${projectId}/git-revert`, { path: f.path })
|
|
7618
|
+
.then(() => {
|
|
7619
|
+
refreshGitStatus();
|
|
7620
|
+
// Refresh editor if the file is open — fetch fresh content for modified/restored,
|
|
7621
|
+
// or close if it was a new file that got deleted
|
|
7622
|
+
if (f.status === 'untracked' || f.status === 'added') {
|
|
7623
|
+
onFileDeleted?.(f.path);
|
|
7624
|
+
}
|
|
7625
|
+
else {
|
|
7626
|
+
// Re-fetch file content from sandbox to update editor
|
|
7627
|
+
http
|
|
7628
|
+
.get(`/projects/${projectId}/files/${f.path}`)
|
|
7629
|
+
.then((res) => onFileChange?.(f.path, res.data.content))
|
|
7630
|
+
.catch(() => {
|
|
7631
|
+
/* ignore */
|
|
7632
|
+
});
|
|
7633
|
+
}
|
|
7634
|
+
})
|
|
7624
7635
|
.catch(() => {
|
|
7625
7636
|
/* ignore */
|
|
7626
7637
|
});
|
|
7627
|
-
}
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
cursor: 'pointer',
|
|
7651
|
-
opacity: 0.5,
|
|
7652
|
-
transition: 'opacity 100ms, background 100ms',
|
|
7653
|
-
...(!(f.additions || f.deletions) ? { marginLeft: 'auto' } : {}),
|
|
7654
|
-
}, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: "12", height: "12", fill: "currentColor", children: _jsx("path", { d: "M1.22 6.28a.749.749 0 0 1 0-1.06l3.5-3.5a.749.749 0 1 1 1.06 1.06L3.561 5h7.188l.001.007L10.749 5c.058 0 .116.007.171.019A4.501 4.501 0 0 1 10.5 14H8.796a.75.75 0 0 1 0-1.5H10.5a3 3 0 1 0 0-6H3.561L5.78 8.72a.749.749 0 1 1-1.06 1.06l-3.5-3.5Z" }) }) }))] }, f.path))) }) })), _jsxs("div", { className: cm.surfaceSecondary, ...(canEdit === false ? { 'data-mol-viewer': '' } : {}), style: {
|
|
7638
|
+
}, onKeyDown: (e) => {
|
|
7639
|
+
if (e.key === 'Enter' || e.key === ' ')
|
|
7640
|
+
e.currentTarget.click();
|
|
7641
|
+
}, onMouseEnter: (e) => {
|
|
7642
|
+
e.currentTarget.style.background = 'rgba(128,128,128,0.2)';
|
|
7643
|
+
e.currentTarget.style.opacity = '1';
|
|
7644
|
+
}, onMouseLeave: (e) => {
|
|
7645
|
+
e.currentTarget.style.background = 'transparent';
|
|
7646
|
+
e.currentTarget.style.opacity = '0.5';
|
|
7647
|
+
}, style: {
|
|
7648
|
+
display: 'inline-flex',
|
|
7649
|
+
alignItems: 'center',
|
|
7650
|
+
justifyContent: 'center',
|
|
7651
|
+
// Touch: 32px hit box (dense-row floor); glyph unchanged.
|
|
7652
|
+
width: isCoarse ? 32 : 18,
|
|
7653
|
+
height: isCoarse ? 32 : 18,
|
|
7654
|
+
borderRadius: 3,
|
|
7655
|
+
flexShrink: 0,
|
|
7656
|
+
cursor: 'pointer',
|
|
7657
|
+
opacity: 0.5,
|
|
7658
|
+
transition: 'opacity 100ms, background 100ms',
|
|
7659
|
+
...(!(f.additions || f.deletions) ? { marginLeft: 'auto' } : {}),
|
|
7660
|
+
}, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: "12", height: "12", fill: "currentColor", children: _jsx("path", { d: "M1.22 6.28a.749.749 0 0 1 0-1.06l3.5-3.5a.749.749 0 1 1 1.06 1.06L3.561 5h7.188l.001.007L10.749 5c.058 0 .116.007.171.019A4.501 4.501 0 0 1 10.5 14H8.796a.75.75 0 0 1 0-1.5H10.5a3 3 0 1 0 0-6H3.561L5.78 8.72a.749.749 0 1 1-1.06 1.06l-3.5-3.5Z" }) }) }))] }, f.path))) }) }))] })), _jsxs("div", { className: cm.surfaceSecondary, ...(canEdit === false ? { 'data-mol-viewer': '' } : {}), style: {
|
|
7655
7661
|
// Round the TOP corners only (8px) so the composer reads as a self-contained
|
|
7656
7662
|
// input with its own border on all sides, flush at the bottom-left/right with
|
|
7657
7663
|
// the panel's bottom edge. Discovery rounds ALL FOUR corners (the centered
|
|
@@ -7660,6 +7666,9 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
7660
7666
|
borderRadius: discovery ? 8 : '8px 8px 0 0',
|
|
7661
7667
|
padding: '8px 10px',
|
|
7662
7668
|
cursor: 'text',
|
|
7669
|
+
// With the work tray open above, the composer is drawn OVER the tray's
|
|
7670
|
+
// lower edge (the tray tucks 8px under it).
|
|
7671
|
+
...(workVisible ? { position: 'relative', zIndex: 1 } : {}),
|
|
7663
7672
|
// View-only mode: the composer IS the team-chat box, so it wears the
|
|
7664
7673
|
// team-message gold border (and the box is pre-filled with /teamsay).
|
|
7665
7674
|
...(canEdit === false ? { border: `1px solid ${NOTICE_TONE.gold.accent}` } : {}),
|