@molecule/app-ide-react 3.0.1 → 3.0.2

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.
@@ -0,0 +1,24 @@
1
+ import { type JSX } from 'react';
2
+ import { type ChatUsageTokens } from './chat-cost-utilities.js';
3
+ interface SessionUsage extends ChatUsageTokens {
4
+ allowancePercent?: number | null;
5
+ allowanceResetAt?: number | null;
6
+ allowanceWindow?: 'daily' | 'billing-period';
7
+ model?: string;
8
+ streaming?: boolean;
9
+ }
10
+ /** Load the existing conversation totals only while their summary is visible. */
11
+ export declare function useContextSessionUsage(projectId: string | undefined, conversationId: string | null | undefined, active: boolean): {
12
+ data: SessionUsage | null;
13
+ loading: boolean;
14
+ failed: boolean;
15
+ refresh: () => void;
16
+ };
17
+ /** Consistent session and allowance rows for the context tooltip and modal. */
18
+ export declare function ContextSessionUsage({ data, loading, failed, }: {
19
+ data: SessionUsage | null;
20
+ loading: boolean;
21
+ failed: boolean;
22
+ }): JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=ContextSessionUsage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextSessionUsage.d.ts","sourceRoot":"","sources":["../../src/components/ContextSessionUsage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAA;AAMrD,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,0BAA0B,CAAA;AAEpG,UAAU,YAAa,SAAQ,eAAe;IAC5C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,eAAe,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,MAAM,EAAE,OAAO,GACd;IACD,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAyCA;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,MAAM,GACP,EAAE;IACD,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;CAChB,GAAG,GAAG,CAAC,OAAO,CA6Gd"}
@@ -0,0 +1,97 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { t } from '@molecule/app-i18n';
4
+ import { useHttpClient } from '@molecule/app-react';
5
+ import { getClassMap } from '@molecule/app-ui';
6
+ import { formatTokenTotal, totalPromptTokens } from './chat-cost-utilities.js';
7
+ /** Load the existing conversation totals only while their summary is visible. */
8
+ export function useContextSessionUsage(projectId, conversationId, active) {
9
+ const http = useHttpClient();
10
+ const [revision, setRevision] = useState(0);
11
+ const [state, setState] = useState({
12
+ data: null,
13
+ loading: false,
14
+ failed: false,
15
+ });
16
+ useEffect(() => {
17
+ if (!projectId || !active)
18
+ return;
19
+ const controller = new AbortController();
20
+ let pending = false;
21
+ const load = async () => {
22
+ if (pending)
23
+ return;
24
+ pending = true;
25
+ setState((previous) => ({ ...previous, loading: true, failed: false }));
26
+ try {
27
+ const query = conversationId ? `?conversationId=${encodeURIComponent(conversationId)}` : '';
28
+ const response = await http.get(`/projects/${encodeURIComponent(projectId)}/chat-usage${query}`, { signal: controller.signal });
29
+ if (!controller.signal.aborted)
30
+ setState({ data: response.data, loading: false, failed: false });
31
+ }
32
+ catch (_error) {
33
+ // Cancellation belongs to hover/navigation cleanup; real failures are
34
+ // rendered with retry rather than replacing missing usage with zero.
35
+ if (!controller.signal.aborted)
36
+ setState((previous) => ({ ...previous, loading: false, failed: true }));
37
+ }
38
+ finally {
39
+ pending = false;
40
+ }
41
+ };
42
+ void load();
43
+ const timer = setInterval(() => void load(), 15_000);
44
+ return () => {
45
+ controller.abort();
46
+ clearInterval(timer);
47
+ };
48
+ }, [http, projectId, conversationId, active, revision]);
49
+ return { ...state, refresh: () => setRevision((previous) => previous + 1) };
50
+ }
51
+ /** Consistent session and allowance rows for the context tooltip and modal. */
52
+ export function ContextSessionUsage({ data, loading, failed, }) {
53
+ const cm = getClassMap();
54
+ const available = data && !failed;
55
+ const percent = data?.allowancePercent;
56
+ const remaining = typeof percent === 'number' && Number.isFinite(percent)
57
+ ? Math.max(0, Math.min(100, 100 - percent))
58
+ : null;
59
+ const unknown = t('ide.chat.context.unavailable', undefined, { defaultValue: 'Unavailable' });
60
+ const pending = t('ide.chat.context.loading', undefined, { defaultValue: 'Loading…' });
61
+ return (_jsxs("div", { className: cm.flex({ direction: 'col', gap: 'sm' }), "aria-live": "polite", children: [_jsxs("div", { children: [_jsxs("div", { className: cm.flex({ justify: 'between', gap: 'md', align: 'baseline' }), children: [_jsx("span", { children: t('ide.chat.context.session', undefined, { defaultValue: 'Current session' }) }), _jsx("strong", { children: available
62
+ ? t('ide.chat.context.sessionTotal', { tokens: formatTokenTotal(totalPromptTokens(data) + data.outputTokens) }, { defaultValue: '{{tokens}} tokens' })
63
+ : loading
64
+ ? pending
65
+ : unknown })] }), available && (_jsxs("div", { className: cm.cn(cm.textMuted, cm.textSize('xs')), children: [t('ide.chat.context.sessionDetail', {
66
+ input: formatTokenTotal(totalPromptTokens(data)),
67
+ output: formatTokenTotal(data.outputTokens),
68
+ }, { defaultValue: '{{input}} input (incl. cache) · {{output}} output' }), data.streaming && (_jsxs(_Fragment, { children: [" \u00B7 ", t('ide.chat.context.live', undefined, { defaultValue: 'Live' })] }))] }))] }), _jsxs("div", { children: [_jsxs("div", { className: cm.flex({ justify: 'between', gap: 'md', align: 'baseline' }), children: [_jsx("span", { children: t('ide.chat.context.allowance', undefined, { defaultValue: 'Overall AI allowance' }) }), _jsx("strong", { className: available && remaining != null && remaining <= 10 ? cm.textError : undefined, children: !available
69
+ ? loading
70
+ ? pending
71
+ : unknown
72
+ : remaining != null
73
+ ? t('ide.chat.context.remainingPercent', { percent: remaining }, { defaultValue: '~{{percent}}% remaining' })
74
+ : percent === null
75
+ ? t('ide.chat.context.unmetered', undefined, { defaultValue: 'Unmetered' })
76
+ : unknown })] }), _jsxs("div", { className: cm.cn(cm.textMuted, cm.textSize('xs')), children: [failed
77
+ ? t('ide.chat.context.usageError', undefined, {
78
+ defaultValue: 'Usage could not be refreshed. Open details to retry.',
79
+ })
80
+ : available &&
81
+ t('ide.chat.context.ownerAllowance', undefined, {
82
+ defaultValue: 'Shared across the project owner’s projects.',
83
+ }), available && data.allowanceWindow && (_jsxs(_Fragment, { children: [' ', data.allowanceWindow === 'billing-period'
84
+ ? t('ide.chat.context.monthly', undefined, { defaultValue: 'Monthly allowance.' })
85
+ : t('ide.chat.context.daily', undefined, { defaultValue: 'Daily allowance.' })] })), available &&
86
+ remaining != null &&
87
+ typeof data.allowanceResetAt === 'number' &&
88
+ Number.isFinite(data.allowanceResetAt) && (_jsxs(_Fragment, { children: [' ', t('ide.chat.context.resets', {
89
+ at: new Date(data.allowanceResetAt).toLocaleString(undefined, {
90
+ month: 'short',
91
+ day: 'numeric',
92
+ hour: '2-digit',
93
+ minute: '2-digit',
94
+ }),
95
+ }, { defaultValue: 'Resets {{at}}.' })] }))] })] })] }));
96
+ }
97
+ //# sourceMappingURL=ContextSessionUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextSessionUsage.js","sourceRoot":"","sources":["../../src/components/ContextSessionUsage.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,15 @@ import { type JSX } from 'react';
2
2
  import type { ContextCompaction, ContextUsage } from '@molecule/app-ai-chat';
3
3
  /** Merge final usage into its pre-dispatch sample without counting one request twice. */
4
4
  export declare function mergeContextHistory(history: ContextUsage[], incoming: ContextUsage[]): ContextUsage[];
5
- /** A context indicator with measured request composition and a bounded usage history. */
6
- export declare function ContextUsageIndicator({ usage, history, compactions, }: {
5
+ interface ContextUsageIndicatorProps {
7
6
  usage: ContextUsage;
8
7
  history?: ContextUsage[];
9
8
  compactions?: ContextCompaction[];
10
- }): JSX.Element;
9
+ projectId?: string;
10
+ conversationId?: string | null;
11
+ onOpenSettings?: () => void;
12
+ }
13
+ /** A colored context ring with progressive context, session and allowance details. */
14
+ export declare function ContextUsageIndicator(props: ContextUsageIndicatorProps): JSX.Element;
15
+ export {};
11
16
  //# sourceMappingURL=ContextUsageIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextUsageIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ContextUsageIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAqB,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAM/F,yFAAyF;AACzF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,YAAY,EAAE,GACvB,YAAY,EAAE,CAiBhB;AAiBD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAY,EACZ,WAAgB,GACjB,EAAE;IACD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAClC,GAAG,GAAG,CAAC,OAAO,CAyOd"}
1
+ {"version":3,"file":"ContextUsageIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ContextUsageIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAqB,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAQ/F,yFAAyF;AACzF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,YAAY,EAAE,GACvB,YAAY,EAAE,CAiBhB;AAiBD,UAAU,0BAA0B;IAClC,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAKpF"}
@@ -1,9 +1,10 @@
1
- import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
3
  import { formatTokenCount } from '@molecule/app-ai-models';
4
4
  import { t } from '@molecule/app-i18n';
5
5
  import { getClassMap } from '@molecule/app-ui';
6
- import { Modal } from '@molecule/app-ui-react';
6
+ import { Modal, Progress, Tooltip } from '@molecule/app-ui-react';
7
+ import { ContextSessionUsage, useContextSessionUsage } from './ContextSessionUsage.js';
7
8
  /** Merge final usage into its pre-dispatch sample without counting one request twice. */
8
9
  export function mergeContextHistory(history, incoming) {
9
10
  const samples = new Map();
@@ -36,14 +37,38 @@ const categoryNames = {
36
37
  attachments: 'Attachments',
37
38
  structuralOverhead: 'Request structure',
38
39
  };
39
- /** A context indicator with measured request composition and a bounded usage history. */
40
- export function ContextUsageIndicator({ usage, history = [], compactions = [], }) {
40
+ /** A colored context ring with progressive context, session and allowance details. */
41
+ export function ContextUsageIndicator(props) {
42
+ // Navigation must discard totals and in-flight requests from the old session.
43
+ return (_jsx(ContextUsageView, { ...props }, `${props.projectId ?? ''}:${props.conversationId ?? ''}`));
44
+ }
45
+ /** Own transient hover, modal and request state for one conversation. */
46
+ function ContextUsageView({ usage, history = [], compactions = [], projectId, conversationId, onOpenSettings, }) {
41
47
  const cm = getClassMap();
42
48
  const [open, setOpen] = useState(false);
49
+ const [preview, setPreview] = useState(false);
50
+ useEffect(() => {
51
+ if (!preview)
52
+ return;
53
+ const dismiss = (event) => {
54
+ if (event.key === 'Escape')
55
+ setPreview(false);
56
+ };
57
+ document.addEventListener('keydown', dismiss);
58
+ return () => document.removeEventListener('keydown', dismiss);
59
+ }, [preview]);
60
+ const session = useContextSessionUsage(projectId, conversationId, open || preview);
43
61
  const target = usage.backgroundCompactAtTokens ?? usage.compactAtTokens;
44
62
  const limit = Math.max(1, target ?? usage.contextWindow);
45
63
  const ratio = Math.max(0, usage.inputTokens / limit);
46
64
  const percent = Math.round(ratio * 100);
65
+ const color = ratio < 0.5 ? cm.textSuccess : ratio < 0.9 ? cm.textWarning : cm.textError;
66
+ const tone = ratio < 0.5 ? 'success' : ratio < 0.9 ? 'warning' : 'error';
67
+ const status = target != null && ratio >= 1
68
+ ? t('ide.chat.context.atTarget', undefined, { defaultValue: 'At compaction target' })
69
+ : ratio >= 0.9
70
+ ? t('ide.chat.context.nearTarget', undefined, { defaultValue: 'Context nearly full' })
71
+ : t('ide.chat.context.healthy', undefined, { defaultValue: 'Context has room' });
47
72
  const title = t('ide.chat.context.title', undefined, { defaultValue: 'Context usage' });
48
73
  const targetLabel = target
49
74
  ? t('ide.chat.context.target', undefined, { defaultValue: 'Compaction target' })
@@ -56,6 +81,7 @@ export function ContextUsageIndicator({ usage, history = [], compactions = [], }
56
81
  percent,
57
82
  }, { defaultValue: '{{tokens}} / {{limit}} tokens · {{target}} ({{percent}}%)' });
58
83
  const samples = mergeContextHistory(history, [usage]);
84
+ const contextSummary = (_jsxs("div", { className: cm.flex({ direction: 'col', gap: 'sm' }), children: [_jsxs("div", { className: cm.flex({ justify: 'between', align: 'center', gap: 'md' }), children: [_jsx("strong", { children: status }), _jsxs("strong", { className: color, children: [percent, "%"] })] }), _jsx(Progress, { value: percent, color: tone, size: "sm", label: targetLabel }), _jsxs("div", { className: cm.cn(cm.textMuted, cm.textSize('xs')), children: [formatTokenCount(usage.inputTokens), " / ", formatTokenCount(limit), ' ', t('ide.chat.context.tokenUnit', undefined, { defaultValue: 'tokens' }), _jsx("div", { children: t('ide.chat.context.headroom', { tokens: formatTokenCount(Math.max(0, limit - usage.inputTokens)) }, { defaultValue: '{{tokens}} tokens of headroom' }) })] })] }));
59
85
  const maxTokens = Math.max(limit, ...samples.map((sample) => sample.inputTokens), 1);
60
86
  const start = Date.parse(samples[0]?.at ?? '') || 0;
61
87
  const end = Date.parse(samples.at(-1)?.at ?? '') || start;
@@ -67,35 +93,55 @@ export function ContextUsageIndicator({ usage, history = [], compactions = [], }
67
93
  return `${x},${88 - (80 * sample.inputTokens) / maxTokens}`;
68
94
  })
69
95
  .join(' ');
70
- return (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: cm.cn(cm.button({ variant: 'ghost', size: 'xs' }), cm.touchTargetCompact), style: { marginLeft: 'auto', display: 'inline-flex', gap: 4 }, "data-mol-id": "chat-context-usage", title: label, "aria-label": `${title}: ${label}`, "aria-haspopup": "dialog", onClick: () => setOpen(true), children: [_jsxs("span", { children: [percent, "%"] }), _jsxs("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("circle", { cx: "9", cy: "9", r: "8", fill: "none", stroke: "currentColor", strokeWidth: "2", opacity: ".15" }), _jsx("circle", { cx: "9", cy: "9", r: "8", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeDasharray: `${16 * Math.PI}`, strokeDashoffset: `${16 * Math.PI * (1 - Math.min(ratio, 1))}`, transform: "rotate(-90 9 9)" })] })] }), _jsxs(Modal, { open: open, onClose: () => setOpen(false), title: title, size: "lg", children: [_jsx("p", { children: label }), target != null && (_jsx("p", { className: cm.textMuted, children: t('ide.chat.context.targetHelp', undefined, {
71
- defaultValue: 'Compaction is scheduled around this target; progress can continue while the summary is prepared.',
72
- }) })), composition && (_jsxs(_Fragment, { children: [_jsx("p", { children: composition.actualInputTokens != null
73
- ? t('ide.chat.context.actual', { tokens: composition.actualInputTokens.toLocaleString() }, {
74
- defaultValue: 'Provider-reported input: {{tokens}} tokens (including cached input).',
75
- })
76
- : t('ide.chat.context.pending', undefined, {
77
- defaultValue: 'Provider usage is pending; current token counts are estimates.',
78
- }) }), _jsx("p", { className: cm.textMuted, children: t('ide.chat.context.estimate', {
79
- tokens: composition.estimatedTokens.toLocaleString(),
80
- bytes: composition.totalBytes.toLocaleString(),
81
- chars: composition.totalChars.toLocaleString(),
82
- }, {
83
- defaultValue: 'Known text estimate: {{tokens}} tokens. Request: {{chars}} characters / {{bytes}} bytes. Shares describe estimated tokens, not billed allocation.',
84
- }) }), (composition.unknownTokenItems > 0 || composition.serializationFailures > 0) && (_jsx("p", { className: cm.textMuted, children: t('ide.chat.context.unknown', undefined, {
85
- defaultValue: 'Some image, attachment, or unmeasurable content has an unknown token cost and is excluded from estimated shares.',
86
- }) })), _jsx("div", { style: { overflowX: 'auto' }, children: _jsxs("table", { style: { width: '100%', textAlign: 'left' }, children: [_jsx("caption", { className: cm.srOnly, children: t('ide.chat.context.breakdown', undefined, {
87
- defaultValue: 'Request composition',
88
- }) }), _jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: t('ide.chat.context.category', undefined, { defaultValue: 'Category' }) }), _jsx("th", { children: t('ide.chat.context.tokens', undefined, { defaultValue: 'Est. tokens' }) }), _jsx("th", { children: t('ide.chat.context.share', undefined, { defaultValue: 'Share' }) }), _jsx("th", { children: t('ide.chat.context.bytes', undefined, { defaultValue: 'Bytes' }) })] }) }), _jsx("tbody", { children: composition.categories
89
- .filter((category) => category.bytes > 0 || category.unknownItems > 0)
90
- .map((category) => (_jsxs("tr", { children: [_jsx("th", { scope: "row", children: t(`ide.chat.context.category.${category.id}`, undefined, {
91
- defaultValue: categoryNames[category.id],
92
- }) }), _jsxs("td", { children: [category.estimatedTokens?.toLocaleString() ?? '—', category.unknownItems > 0 ? ' + ?' : ''] }), _jsx("td", { children: category.percent == null ? '—' : `${category.percent}%` }), _jsx("td", { children: category.bytes.toLocaleString() })] }, category.id))) })] }) })] })), samples.length > 1 && (_jsxs("figure", { style: { margin: '16px 0' }, children: [_jsx("figcaption", { children: t('ide.chat.context.history', { count: samples.length }, { defaultValue: 'Context over time · {{count}} requests' }) }), _jsxs("svg", { viewBox: "0 0 320 96", role: "img", "aria-label": t('ide.chat.context.chart', undefined, {
93
- defaultValue: 'Input tokens over time; dashed line marks the current target',
94
- }), style: { width: '100%', height: 120 }, children: [_jsx("line", { x1: "8", x2: "312", y1: 88 - (80 * limit) / maxTokens, y2: 88 - (80 * limit) / maxTokens, stroke: "currentColor", opacity: ".4", strokeDasharray: "4 4" }), _jsx("polyline", { points: points, fill: "none", stroke: "currentColor", strokeWidth: "2" })] }), _jsxs("div", { className: cm.textMuted, style: { display: 'flex', justifyContent: 'space-between' }, children: [_jsx("span", { children: start ? new Date(start).toLocaleTimeString() : '' }), _jsxs("span", { children: [formatTokenCount(maxTokens), ' ', t('ide.chat.context.tokenUnit', undefined, { defaultValue: 'tokens' })] }), _jsx("span", { children: end ? new Date(end).toLocaleTimeString() : '' })] })] })), compactions.length > 0 && (_jsxs("div", { children: [_jsx("p", { children: t('ide.chat.context.compactions', { count: compactions.length }, { defaultValue: 'Completed compactions: {{count}}' }) }), _jsx("ul", { children: compactions.slice(-5).map((event, index) => (_jsx("li", { children: t('ide.chat.context.compaction', {
95
- at: new Date(event.at).toLocaleTimeString(),
96
- before: event.beforeChars.toLocaleString(),
97
- after: event.afterChars.toLocaleString(),
98
- seconds: Math.round(event.elapsedMs / 1000),
99
- }, { defaultValue: '{{at}} · {{before}} → {{after}} characters · {{seconds}}s' }) }, `${event.at}-${index}`))) })] }))] })] }));
96
+ return (_jsxs(_Fragment, { children: [_jsx("div", { style: { marginLeft: 'auto' }, onMouseEnter: () => setPreview(true), onMouseLeave: () => setPreview(false), onFocus: (event) => setPreview(event.target.matches(':focus-visible')), onBlur: () => setPreview(false), onKeyDown: (event) => {
97
+ if (event.key === 'Escape')
98
+ setPreview(false);
99
+ }, children: _jsx(Tooltip, { placement: "top-end", style: { width: 320, maxWidth: 'calc(100vw - 32px)', whiteSpace: 'normal' }, content: _jsxs("div", { className: cm.flex({ direction: 'col', gap: 'md' }), style: { padding: '8px 0' }, onMouseEnter: () => setPreview(true), onMouseLeave: () => setPreview(false), children: [contextSummary, _jsx("div", { className: cm.borderT, style: { paddingTop: 12 }, children: _jsx(ContextSessionUsage, { ...session }) }), _jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), children: t('ide.chat.context.openDetails', undefined, {
100
+ defaultValue: 'Click for breakdown, history and settings',
101
+ }) })] }), children: _jsxs("button", { type: "button", className: cm.cn(cm.button({ variant: 'ghost', size: 'xs' }), cm.touchTarget), style: { display: 'inline-flex', gap: preview ? 4 : 0 }, "data-mol-id": "chat-context-usage", "aria-label": `${title}: ${label}`, "aria-haspopup": "dialog", "aria-expanded": open, onClick: () => {
102
+ setPreview(false);
103
+ setOpen(true);
104
+ }, children: [_jsxs("span", { className: color, "aria-hidden": "true", "data-ctx-pct": "", style: {
105
+ width: preview ? 'auto' : 0,
106
+ opacity: preview ? 1 : 0,
107
+ overflow: 'hidden',
108
+ whiteSpace: 'nowrap',
109
+ transition: 'opacity 150ms',
110
+ }, children: [percent, "%"] }), _jsxs("svg", { className: color, width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", children: [_jsx("circle", { cx: "9", cy: "9", r: "8", fill: "none", stroke: "currentColor", strokeWidth: "2", opacity: ".15" }), _jsx("circle", { cx: "9", cy: "9", r: "8", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeDasharray: `${16 * Math.PI}`, strokeDashoffset: `${16 * Math.PI * (1 - Math.min(ratio, 1))}`, transform: "rotate(-90 9 9)", strokeLinecap: "round" })] })] }) }) }), _jsx(Modal, { open: open, onClose: () => setOpen(false), title: title, size: "lg", children: _jsxs("div", { className: cm.flex({ direction: 'col', gap: 'lg' }), children: [_jsxs("section", { className: cm.card({ variant: 'outline' }), style: cm.sp({ p: 4 }), children: [contextSummary, _jsx("div", { className: cm.borderT, style: { marginTop: 16, paddingTop: 16 }, children: _jsx(ContextSessionUsage, { ...session }) })] }), _jsxs("div", { className: cm.flex({ gap: 'sm', wrap: 'wrap' }), children: [projectId && (_jsx("button", { type: "button", "data-mol-id": "chat-context-refresh", className: cm.cn(cm.button({ variant: 'outline', color: 'secondary', size: 'sm' }), cm.touchTargetCompact), disabled: session.loading, onClick: session.refresh, children: t('ide.chat.context.refresh', undefined, { defaultValue: 'Refresh usage' }) })), onOpenSettings && (_jsx("button", { type: "button", "data-mol-id": "chat-context-settings", className: cm.cn(cm.button({ variant: 'outline', color: 'secondary', size: 'sm' }), cm.touchTargetCompact), onClick: () => {
111
+ setOpen(false);
112
+ onOpenSettings();
113
+ }, children: t('ide.chat.context.settings', undefined, { defaultValue: 'Chat settings' }) }))] }), target != null && (_jsx("p", { className: cm.cn(cm.textMuted, cm.textSize('sm')), children: t('ide.chat.context.targetHelp', undefined, {
114
+ defaultValue: 'Compaction is scheduled around this target; progress can continue while the summary is prepared.',
115
+ }) })), _jsx("p", { className: cm.cn(cm.textMuted, cm.textSize('sm')), children: t('ide.chat.context.windowSize', { tokens: formatTokenCount(usage.contextWindow) }, { defaultValue: 'Model context window: {{tokens}} tokens.' }) }), composition && (_jsxs("section", { className: cm.flex({ direction: 'col', gap: 'sm' }), children: [_jsx("h3", { className: cm.fontWeight('semibold'), children: t('ide.chat.context.breakdown', undefined, {
116
+ defaultValue: 'Request composition',
117
+ }) }), _jsx("p", { children: composition.actualInputTokens != null
118
+ ? t('ide.chat.context.actual', { tokens: composition.actualInputTokens.toLocaleString() }, {
119
+ defaultValue: 'Provider-reported input: {{tokens}} tokens (including cached input).',
120
+ })
121
+ : t('ide.chat.context.pending', undefined, {
122
+ defaultValue: 'Provider usage is pending; current token counts are estimates.',
123
+ }) }), _jsx("p", { className: cm.textMuted, children: t('ide.chat.context.estimate', {
124
+ tokens: composition.estimatedTokens.toLocaleString(),
125
+ bytes: composition.totalBytes.toLocaleString(),
126
+ chars: composition.totalChars.toLocaleString(),
127
+ }, {
128
+ defaultValue: 'Known text estimate: {{tokens}} tokens. Request: {{chars}} characters / {{bytes}} bytes. Shares describe estimated tokens, not billed allocation.',
129
+ }) }), (composition.unknownTokenItems > 0 || composition.serializationFailures > 0) && (_jsx("p", { className: cm.textMuted, children: t('ide.chat.context.unknown', undefined, {
130
+ defaultValue: 'Some image, attachment, or unmeasurable content has an unknown token cost and is excluded from estimated shares.',
131
+ }) })), _jsx("div", { style: { overflowX: 'auto' }, children: _jsxs("table", { className: cm.table, style: { textAlign: 'left' }, children: [_jsx("caption", { className: cm.srOnly, children: t('ide.chat.context.breakdown', undefined, {
132
+ defaultValue: 'Request composition',
133
+ }) }), _jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: cm.tableHead, children: t('ide.chat.context.category', undefined, { defaultValue: 'Category' }) }), _jsx("th", { className: cm.tableHead, children: t('ide.chat.context.tokens', undefined, { defaultValue: 'Est. tokens' }) }), _jsx("th", { className: cm.tableHead, children: t('ide.chat.context.share', undefined, { defaultValue: 'Share' }) }), _jsx("th", { className: cm.tableHead, children: t('ide.chat.context.bytes', undefined, { defaultValue: 'Bytes' }) })] }) }), _jsx("tbody", { children: [...composition.categories]
134
+ .filter((category) => category.bytes > 0 || category.unknownItems > 0)
135
+ .sort((a, b) => (b.estimatedTokens ?? 0) - (a.estimatedTokens ?? 0))
136
+ .map((category) => (_jsxs("tr", { className: cm.tableRow, children: [_jsx("th", { scope: "row", className: cm.tableCell, children: t(`ide.chat.context.category.${category.id}`, undefined, {
137
+ defaultValue: categoryNames[category.id],
138
+ }) }), _jsxs("td", { className: cm.tableCell, children: [category.estimatedTokens?.toLocaleString() ?? '—', category.unknownItems > 0 ? ' + ?' : ''] }), _jsx("td", { className: cm.tableCell, children: category.percent == null ? '—' : `${category.percent}%` }), _jsx("td", { className: cm.tableCell, children: category.bytes.toLocaleString() })] }, category.id))) })] }) })] })), samples.length > 1 && (_jsxs("figure", { style: { margin: '16px 0' }, children: [_jsx("figcaption", { className: cm.fontWeight('semibold'), children: t('ide.chat.context.history', { count: samples.length }, { defaultValue: 'Context over time · {{count}} requests' }) }), _jsxs("svg", { viewBox: "0 0 320 96", role: "img", "aria-label": t('ide.chat.context.chart', undefined, {
139
+ defaultValue: 'Input tokens over time; dashed line marks the current target',
140
+ }), style: { width: '100%', height: 120 }, children: [_jsx("line", { x1: "8", x2: "312", y1: 88 - (80 * limit) / maxTokens, y2: 88 - (80 * limit) / maxTokens, stroke: "currentColor", opacity: ".4", strokeDasharray: "4 4" }), _jsx("polyline", { points: points, fill: "none", stroke: "currentColor", strokeWidth: "2" })] }), _jsxs("div", { className: cm.textMuted, style: { display: 'flex', justifyContent: 'space-between' }, children: [_jsx("span", { children: start ? new Date(start).toLocaleTimeString() : '' }), _jsxs("span", { children: [formatTokenCount(maxTokens), ' ', t('ide.chat.context.tokenUnit', undefined, { defaultValue: 'tokens' })] }), _jsx("span", { children: end ? new Date(end).toLocaleTimeString() : '' })] })] })), compactions.length > 0 && (_jsxs("details", { "data-mol-id": "chat-context-compactions", children: [_jsx("summary", { children: t('ide.chat.context.compactions', { count: compactions.length }, { defaultValue: 'Completed compactions: {{count}}' }) }), _jsx("ul", { children: compactions.map((event, index) => (_jsx("li", { children: t('ide.chat.context.compaction', {
141
+ at: new Date(event.at).toLocaleTimeString(),
142
+ before: event.beforeChars.toLocaleString(),
143
+ after: event.afterChars.toLocaleString(),
144
+ seconds: Math.round(event.elapsedMs / 1000),
145
+ }, { defaultValue: '{{at}} · {{before}} → {{after}} characters · {{seconds}}s' }) }, `${event.at}-${index}`))) })] }))] }) })] }));
100
146
  }
101
147
  //# sourceMappingURL=ContextUsageIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextUsageIndicator.js","sourceRoot":"","sources":["../../src/components/ContextUsageIndicator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextUsageIndicator.js","sourceRoot":"","sources":["../../src/components/ContextUsageIndicator.tsx"],"names":[],"mappings":"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"}
@@ -51,10 +51,14 @@ export interface DockStripProps {
51
51
  expanded: boolean;
52
52
  /** Toggle the detail. */
53
53
  onToggle: () => void;
54
+ /** Open a full view directly instead of disclosing inline detail. */
55
+ onActivate?: () => void;
54
56
  /** Leading icon, before the label. */
55
57
  icon?: ReactNode;
56
58
  /** The strip's one-line summary. */
57
59
  label: ReactNode;
60
+ /** Use an icon-only disclosure when the adjacent action already carries the summary. */
61
+ hideLabel?: boolean;
58
62
  /** A shorter label for the tray chip (defaults to `label`). */
59
63
  chipLabel?: ReactNode;
60
64
  /** Hover text for the tray chip. */
@@ -75,5 +79,5 @@ export interface DockStripProps {
75
79
  * @param props - See {@link DockStripProps}.
76
80
  * @returns The strip.
77
81
  */
78
- export declare function DockStrip({ molId, toggleMolId, expanded, onToggle, icon, label, chipLabel, chipTitle, hint, actions, detailActions, rootProps, children, }: DockStripProps): JSX.Element | null;
82
+ export declare function DockStrip({ molId, toggleMolId, expanded, onToggle, onActivate, icon, label, hideLabel, chipLabel, chipTitle, hint, actions, detailActions, rootProps, children, }: DockStripProps): JSX.Element | null;
79
83
  //# sourceMappingURL=DockStrip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DockStrip.d.ts","sourceRoot":"","sources":["../../src/components/DockStrip.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAU3C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,wEAAwE;IACxE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe,+CAA4C,CAAA;AAExE,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAE3F;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAgB,GACjB,EAAE;IACD,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,GAAG,CAAC,OAAO,CAgGd;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,sGAAsG;IACtG,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,EACJ,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,GACT,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAyJrC"}
1
+ {"version":3,"file":"DockStrip.d.ts","sourceRoot":"","sources":["../../src/components/DockStrip.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAU3C;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,wEAAwE;IACxE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe,+CAA4C,CAAA;AAExE,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAE3F;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAgB,GACjB,EAAE;IACD,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,GAAG,CAAC,OAAO,CAgGd;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,sGAAsG;IACtG,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,SAAiB,EACjB,SAAS,EACT,SAAS,EACT,IAAI,EACJ,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,GACT,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAoLrC"}
@@ -81,17 +81,22 @@ export function StatusMark({ state, size = MARK_SIZE, }) {
81
81
  * @param props - See {@link DockStripProps}.
82
82
  * @returns The strip.
83
83
  */
84
- export function DockStrip({ molId, toggleMolId, expanded, onToggle, icon, label, chipLabel, chipTitle, hint, actions, detailActions, rootProps, children, }) {
84
+ export function DockStrip({ molId, toggleMolId, expanded, onToggle, onActivate, icon, label, hideLabel = false, chipLabel, chipTitle, hint, actions, detailActions, rootProps, children, }) {
85
85
  const cm = getClassMap();
86
86
  const tray = useContext(WorkTrayContext);
87
87
  if (tray) {
88
88
  if (!tray.headerEl)
89
89
  return null;
90
- const open = tray.openId === molId;
91
- return (_jsxs(_Fragment, { children: [createPortal(_jsxs("div", { "data-mol-id": molId, ...rootProps, style: { display: 'inline-flex', alignItems: 'center', gap: 6, maxWidth: '100%' }, children: [_jsxs("div", { role: "button", tabIndex: 0, "data-mol-id": toggleMolId, "aria-expanded": open, title: chipTitle, onClick: () => tray.toggle(molId), onKeyDown: (e) => {
90
+ const open = !onActivate && tray.openId === molId;
91
+ return (_jsxs(_Fragment, { children: [createPortal(_jsxs("div", { "data-mol-id": molId, ...rootProps, style: { display: 'inline-flex', alignItems: 'center', gap: 6, maxWidth: '100%' }, children: [_jsxs("div", { role: "button", tabIndex: 0, "data-mol-id": toggleMolId, "aria-expanded": onActivate ? undefined : open, "aria-label": hideLabel && typeof label === 'string' ? label : undefined, title: chipTitle ?? (hideLabel && typeof label === 'string' ? label : undefined), className: cm.cn(cm.button({ variant: 'ghost', color: 'secondary', size: 'xs' }), cm.touchTargetCompact), "data-state": open ? 'open' : 'closed', onClick: () => (onActivate ? onActivate() : tray.toggle(molId)), onKeyDown: (e) => {
92
+ if (e.target !== e.currentTarget)
93
+ return;
92
94
  if (e.key === 'Enter' || e.key === ' ') {
93
95
  e.preventDefault();
94
- tray.toggle(molId);
96
+ if (onActivate)
97
+ onActivate();
98
+ else
99
+ tray.toggle(molId);
95
100
  }
96
101
  },
97
102
  /* mol-bespoke-button: a work-tray CHIP — status icon and short label that
@@ -101,18 +106,20 @@ export function DockStrip({ molId, toggleMolId, expanded, onToggle, icon, label,
101
106
  alignItems: 'center',
102
107
  gap: 6,
103
108
  minWidth: 0,
104
- padding: '2px 8px',
105
- borderRadius: 6,
106
- cursor: 'pointer',
107
- background: open ? 'rgba(128,128,128,0.18)' : 'rgba(128,128,128,0.08)',
108
- }, children: [icon, _jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: chipLabel ?? label })] }), actions] }), tray.headerEl), open && (children || detailActions) && tray.detailEl
109
+ ...(open ? { boxShadow: 'inset 0 0 0 1px currentColor' } : {}),
110
+ }, children: [icon, hideLabel ? (_jsx("svg", { "aria-hidden": true, width: "12", height: "12", viewBox: "0 0 16 16", children: _jsx("path", { d: open ? 'M4 10l4-4 4 4' : 'M4 6l4 4 4-4', fill: "none", stroke: "currentColor", strokeWidth: "1.5" }) })) : (_jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: chipLabel ?? label }))] }), actions] }), tray.headerEl), open && (children || detailActions) && tray.detailEl
109
111
  ? createPortal(_jsxs("div", { "data-mol-id": `${molId}-detail`, style: { padding: '2px 10px 8px' }, children: [detailActions ? (_jsx("div", { style: { display: 'flex', alignItems: 'center', gap: 6, marginBottom: 6 }, children: detailActions })) : null, children] }), tray.detailEl)
110
112
  : null] }));
111
113
  }
112
- return (_jsxs("div", { "data-mol-id": molId, ...rootProps, style: { borderTop: '1px solid rgba(128,128,128,0.15)', padding: '8px 8px 8px 10px' }, children: [_jsxs("div", { role: "button", tabIndex: 0, "data-mol-id": toggleMolId, "aria-expanded": expanded, onClick: onToggle, onKeyDown: (e) => {
114
+ return (_jsxs("div", { "data-mol-id": molId, ...rootProps, style: { borderTop: '1px solid rgba(128,128,128,0.15)', padding: '8px 8px 8px 10px' }, children: [_jsxs("div", { role: "button", tabIndex: 0, "data-mol-id": toggleMolId, "aria-expanded": onActivate ? undefined : expanded, "aria-label": hideLabel && typeof label === 'string' ? label : undefined, className: cm.cn(cm.button({ variant: 'ghost', color: 'secondary', size: 'xs' }), cm.touchTargetCompact), onClick: onActivate ?? onToggle, onKeyDown: (e) => {
115
+ if (e.target !== e.currentTarget)
116
+ return;
113
117
  if (e.key === 'Enter' || e.key === ' ') {
114
118
  e.preventDefault();
115
- onToggle();
119
+ if (onActivate)
120
+ onActivate();
121
+ else
122
+ onToggle();
116
123
  }
117
124
  },
118
125
  /* mol-bespoke-button: the strip's HEADER ROW — chevron, label and
@@ -123,17 +130,17 @@ export function DockStrip({ molId, toggleMolId, expanded, onToggle, icon, label,
123
130
  justifyContent: 'space-between',
124
131
  gap: 8,
125
132
  cursor: 'pointer',
126
- }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, minWidth: 0 }, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: "12", height: "12", "aria-hidden": true, style: {
133
+ }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, minWidth: 0 }, children: [!onActivate && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: "12", height: "12", "aria-hidden": true, style: {
127
134
  transform: expanded ? 'rotate(90deg)' : 'rotate(0deg)',
128
135
  transition: 'transform 120ms',
129
136
  opacity: 0.5,
130
137
  flexShrink: 0,
131
- }, children: _jsx("path", { d: "M6 4l4 4-4 4", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), icon, _jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: label }), hint ? (_jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: {
138
+ }, children: _jsx("path", { d: "M6 4l4 4-4 4", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) })), icon, !hideLabel && (_jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: label })), hint ? (_jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: {
132
139
  opacity: 0.75,
133
140
  whiteSpace: 'nowrap',
134
141
  overflow: 'hidden',
135
142
  textOverflow: 'ellipsis',
136
143
  minWidth: 0,
137
- }, children: hint })) : null] }), actions || detailActions ? (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, flexShrink: 0 }, children: [actions, detailActions] })) : null] }), expanded && children ? (_jsx("div", { style: { marginTop: 6, paddingLeft: 18 }, children: children })) : null] }));
144
+ }, children: hint })) : null] }), actions || detailActions ? (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, flexShrink: 0 }, children: [actions, detailActions] })) : null] }), !onActivate && expanded && children ? (_jsx("div", { style: { marginTop: 6, paddingLeft: 18 }, children: children })) : null] }));
138
145
  }
139
146
  //# sourceMappingURL=DockStrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DockStrip.js","sourceRoot":"","sources":["../../src/components/DockStrip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DockStrip.js","sourceRoot":"","sources":["../../src/components/DockStrip.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,SAAS,GAAG,EAAE,CAAA;AAmBpB,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAA;AAKxE;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,GAAG,SAAS,GAIjB;IACC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,OAAO,CAAA;IAC1C,MAAM,UAAU,GAAG,oBAAoB,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAA;IACpE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,CACL,oCAEE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,EAAE,EAChD,uBAAuB,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GACjF,CACH,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,CACL,oCAEE,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,eAAe,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;aACzD,GACD,CACH,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,4EAA4E;QAC5E,sDAAsD;QACtD,MAAM,GAAG,GACP,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3F,OAAO,CACL,oCAEE,KAAK,EAAE;gBACL,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,aAAa,GAAG,EAAE;gBAC1B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,IAAI,GAAG,GAAG;gBACpB,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,CAAC;aACd,YAEA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAC3B,CACR,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ,CAAA;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACxF,MAAM,IAAI,GAAG,MAAM;QACjB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,2BAA2B;QAC/B,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,0BAA0B,CAAA;IAChC,OAAO,CACL,oCAEE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,aAAa,GAAG,EAAE;YAC1B,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,IAAI;SACjB,YAED,cACE,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,MAAM,EAAE,IAAI,GAAG,IAAI,EACnB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,YAEtB,eAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,kBAAkB,GAAI,GACzE,GACD,CACR,CAAA;AACH,CAAC;AAoCD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,SAAS,EACT,IAAI,EACJ,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,GACO;IACf,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/B,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAA;QACjD,OAAO,CACL,8BACG,YAAY,CACX,8BACe,KAAK,KACd,SAAS,EACb,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,aAEjF,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,iBACE,WAAW,mBACT,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAChC,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtE,KAAK,EAAE,SAAS,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAChF,SAAS,EAAE,EAAE,CAAC,EAAE,CACd,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC/D,EAAE,CAAC,kBAAkB,CACtB,gBACW,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC/D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gCACf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;oCAAE,OAAM;gCACxC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oCACvC,CAAC,CAAC,cAAc,EAAE,CAAA;oCAClB,IAAI,UAAU;wCAAE,UAAU,EAAE,CAAA;;wCACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gCACzB,CAAC;4BACH,CAAC;4BACD;6FACiE;4BACjE,KAAK,EAAE;gCACL,OAAO,EAAE,aAAa;gCACtB,UAAU,EAAE,QAAQ;gCACpB,GAAG,EAAE,CAAC;gCACN,QAAQ,EAAE,CAAC;gCACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC/D,aAEA,IAAI,EACJ,SAAS,CAAC,CAAC,CAAC,CACX,mCAAiB,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,YACzD,eACE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,EAC1C,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,GACE,CACP,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACjD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAE5E,SAAS,IAAI,KAAK,GACd,CACR,IACG,EACL,OAAO,IACJ,EACN,IAAI,CAAC,QAAQ,CACd,EACA,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ;oBACnD,CAAC,CAAC,YAAY,CACV,8BAAkB,GAAG,KAAK,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,aACpE,aAAa,CAAC,CAAC,CAAC,CACf,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAC3E,aAAa,GACV,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACL,EACN,IAAI,CAAC,QAAQ,CACd;oBACH,CAAC,CAAC,IAAI,IACP,CACJ,CAAA;IACH,CAAC;IACD,OAAO,CACL,8BACe,KAAK,KACd,SAAS,EACb,KAAK,EAAE,EAAE,SAAS,EAAE,kCAAkC,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAErF,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,iBACE,WAAW,mBACT,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,gBACpC,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtE,SAAS,EAAE,EAAE,CAAC,EAAE,CACd,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC/D,EAAE,CAAC,kBAAkB,CACtB,EACD,OAAO,EAAE,UAAU,IAAI,QAAQ,EAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oBACf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;wBAAE,OAAM;oBACxC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;wBACvC,CAAC,CAAC,cAAc,EAAE,CAAA;wBAClB,IAAI,UAAU;4BAAE,UAAU,EAAE,CAAA;;4BACvB,QAAQ,EAAE,CAAA;oBACjB,CAAC;gBACH,CAAC;gBACD;uFACuE;gBACvE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,eAAe;oBAC/B,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,SAAS;iBAClB,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACvE,CAAC,UAAU,IAAI,CACd,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,uBAEX,KAAK,EAAE;oCACL,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;oCACtD,UAAU,EAAE,iBAAiB;oCAC7B,OAAO,EAAE,GAAG;oCACZ,UAAU,EAAE,CAAC;iCACd,YAED,eACE,CAAC,EAAC,cAAc,EAChB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,EACA,IAAI,EACJ,CAAC,SAAS,IAAI,CACb,eACE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACjD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAE5E,KAAK,GACD,CACR,EACA,IAAI,CAAC,CAAC,CAAC,CACN,eACE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACjD,KAAK,EAAE;oCACL,OAAO,EAAE,IAAI;oCACb,UAAU,EAAE,QAAQ;oCACpB,QAAQ,EAAE,QAAQ;oCAClB,YAAY,EAAE,UAAU;oCACxB,QAAQ,EAAE,CAAC;iCACZ,YAEA,IAAI,GACA,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAC1B,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aACzE,OAAO,EACP,aAAa,IACV,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,CAAC,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CACrC,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,YAAG,QAAQ,GAAO,CAChE,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAA;AACH,CAAC"}