@parhelia/core 0.1.12397 → 0.1.12404

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.
Files changed (70) hide show
  1. package/dist/components/ui/input.d.ts +1 -1
  2. package/dist/components/ui/input.js +5 -3
  3. package/dist/components/ui/input.js.map +1 -1
  4. package/dist/editor/FieldHistory.js +47 -17
  5. package/dist/editor/FieldHistory.js.map +1 -1
  6. package/dist/editor/ai/AgentTerminal.js +136 -23
  7. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  8. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +5 -1
  9. package/dist/editor/ai/AgentTerminalStatusBar.js +182 -22
  10. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  11. package/dist/editor/ai/ContentInspectorPopover.js +105 -24
  12. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  13. package/dist/editor/ai/ContextInfoBar.d.ts +2 -1
  14. package/dist/editor/ai/ContextInfoBar.js +9 -6
  15. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  16. package/dist/editor/ai/agentDiagnostics.d.ts +36 -0
  17. package/dist/editor/ai/agentDiagnostics.js +120 -0
  18. package/dist/editor/ai/agentDiagnostics.js.map +1 -0
  19. package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +2 -1
  20. package/dist/editor/ai/dialogs/QuestionnaireInline.js +452 -63
  21. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  22. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +27 -5
  23. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  24. package/dist/editor/client/EditorShell.js +8 -0
  25. package/dist/editor/client/EditorShell.js.map +1 -1
  26. package/dist/editor/client/editContext.d.ts +2 -0
  27. package/dist/editor/client/editContext.js.map +1 -1
  28. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +3 -0
  29. package/dist/editor/client/hooks/useEditorWebSocket.js +66 -1
  30. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  31. package/dist/editor/client/socketDiagnostics.d.ts +19 -0
  32. package/dist/editor/client/socketDiagnostics.js +32 -0
  33. package/dist/editor/client/socketDiagnostics.js.map +1 -0
  34. package/dist/editor/reviews/CreateReviewDetailsStep.d.ts +1 -1
  35. package/dist/editor/reviews/CreateReviewDialog.js +3 -2
  36. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  37. package/dist/editor/services/agentService.d.ts +57 -0
  38. package/dist/editor/services/agentService.js +30 -0
  39. package/dist/editor/services/agentService.js.map +1 -1
  40. package/dist/editor/services/aiService.d.ts +5 -0
  41. package/dist/editor/services/aiService.js.map +1 -1
  42. package/dist/editor/services/contentService.js.map +1 -1
  43. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
  44. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  45. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +15 -103
  46. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  47. package/dist/editor/ui/ItemCollectionEditor.d.ts +2 -1
  48. package/dist/editor/ui/ItemCollectionEditor.js +70 -27
  49. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  50. package/dist/editor/ui/TreeListSelector.d.ts +4 -1
  51. package/dist/editor/ui/TreeListSelector.js +2 -2
  52. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  53. package/dist/revision.d.ts +2 -2
  54. package/dist/revision.js +2 -2
  55. package/dist/task-board/TaskBoardWorkspace.js +8 -16
  56. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  57. package/dist/task-board/components/ItemCollectionEditorDialog.js +28 -17
  58. package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
  59. package/dist/task-board/components/TaskAssigneePicker.d.ts +3 -2
  60. package/dist/task-board/components/TaskAssigneePicker.js +10 -6
  61. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  62. package/dist/task-board/services/taskService.d.ts +1 -0
  63. package/dist/task-board/services/taskService.js +8 -0
  64. package/dist/task-board/services/taskService.js.map +1 -1
  65. package/dist/task-board/utils/taskDependencyOrdering.d.ts +3 -0
  66. package/dist/task-board/utils/taskDependencyOrdering.js +64 -0
  67. package/dist/task-board/utils/taskDependencyOrdering.js.map +1 -0
  68. package/dist/task-board/views/WizardView.js +5 -15
  69. package/dist/task-board/views/WizardView.js.map +1 -1
  70. package/package.json +1 -1
@@ -1,4 +1,6 @@
1
1
  import { type AgentChatMessage, type AgentDetails } from "../services/agentService";
2
+ import type { EditorSocketDiagnostics } from "../client/socketDiagnostics";
3
+ import { type AgentTerminalRunDiagnosticsSnapshot } from "./agentDiagnostics";
2
4
  export type ContextWindowStatus = {
3
5
  contextWindowTokens: number;
4
6
  estimatedInputTokens: number;
@@ -34,6 +36,8 @@ export interface AgentTerminalStatusBarProps {
34
36
  agent: AgentDetails | undefined;
35
37
  contextWindowStatus: ContextWindowStatus;
36
38
  effectiveModelName?: string;
39
+ socketDiagnostics: EditorSocketDiagnostics;
40
+ runDiagnosticsSnapshot: AgentTerminalRunDiagnosticsSnapshot;
37
41
  liveTotals: LiveTotals;
38
42
  totalTokens: TotalTokensForDisplay;
39
43
  effectiveCostLimit: number | undefined;
@@ -41,4 +45,4 @@ export interface AgentTerminalStatusBarProps {
41
45
  showCompressionPopover: boolean;
42
46
  setShowCompressionPopover: (v: boolean) => void;
43
47
  }
44
- export declare function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, liveTotals, totalTokens, effectiveCostLimit, messages, showCompressionPopover, setShowCompressionPopover, }: AgentTerminalStatusBarProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, socketDiagnostics, runDiagnosticsSnapshot, liveTotals, totalTokens, effectiveCostLimit, messages, showCompressionPopover, setShowCompressionPopover, }: AgentTerminalStatusBarProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,161 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
2
3
  import { Bug } from "lucide-react";
3
4
  import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
4
5
  import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
5
- import { getLastPayload, } from "../services/agentService";
6
+ import { getAgentDiagnostics, getLastPayload, } from "../services/agentService";
6
7
  import { AgentCostDisplay } from "./AgentCostDisplay";
7
- import { ContentInspectorPopover } from "./ContentInspectorPopover";
8
- export function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, liveTotals, totalTokens, effectiveCostLimit, messages, showCompressionPopover, setShowCompressionPopover, }) {
8
+ import { ContentInspectorPopover, } from "./ContentInspectorPopover";
9
+ import { formatAgentDiagnosticsEvent, interpretAgentRunDiagnostics, } from "./agentDiagnostics";
10
+ function formatDiagnosticTime(value) {
11
+ if (!value)
12
+ return "—";
13
+ const parsed = new Date(value);
14
+ return Number.isNaN(parsed.getTime()) ? value : parsed.toLocaleString();
15
+ }
16
+ function yesNo(value) {
17
+ return value ? "Yes" : "No";
18
+ }
19
+ function lines(values) {
20
+ return values.filter(Boolean).join("\n");
21
+ }
22
+ function buildDiagnosticsSections(params) {
23
+ const { socketDiagnostics, runDiagnosticsSnapshot, serverDiagnostics, payload, rawResponse, } = params;
24
+ const summary = interpretAgentRunDiagnostics({
25
+ socketDiagnostics,
26
+ localSnapshot: runDiagnosticsSnapshot,
27
+ serverDiagnostics,
28
+ });
29
+ const sections = [
30
+ {
31
+ title: "Summary",
32
+ content: lines([
33
+ `Diagnosis: ${summary.title}`,
34
+ summary.detail,
35
+ `Socket: ${socketDiagnostics.readyStateLabel}`,
36
+ `Session connected: ${yesNo(serverDiagnostics.currentSession.isConnected)}`,
37
+ `Session subscribed: ${yesNo(serverDiagnostics.currentSession.isSubscribed)}`,
38
+ `Server status: ${serverDiagnostics.execution.status || "unknown"}`,
39
+ `Last seq: ${serverDiagnostics.transport.lastSeq ?? runDiagnosticsSnapshot.lastSeq ?? "—"}`,
40
+ ]),
41
+ },
42
+ {
43
+ title: "Client connection",
44
+ content: lines([
45
+ `Session ID: ${socketDiagnostics.sessionId || "—"}`,
46
+ `Socket state: ${socketDiagnostics.readyStateLabel}`,
47
+ `Reconnect count: ${socketDiagnostics.reconnectCount}`,
48
+ `Last socket event: ${socketDiagnostics.lastEventType} @ ${formatDiagnosticTime(socketDiagnostics.lastEventAt)}`,
49
+ `Last open: ${formatDiagnosticTime(socketDiagnostics.lastOpenAt)}`,
50
+ `Last message: ${formatDiagnosticTime(socketDiagnostics.lastMessageAt)}`,
51
+ `Last close: ${formatDiagnosticTime(socketDiagnostics.lastCloseAt)}`,
52
+ socketDiagnostics.lastCloseCode != null
53
+ ? `Last close code: ${socketDiagnostics.lastCloseCode}`
54
+ : null,
55
+ socketDiagnostics.lastCloseReason
56
+ ? `Last close reason: ${socketDiagnostics.lastCloseReason}`
57
+ : null,
58
+ `Last error: ${formatDiagnosticTime(socketDiagnostics.lastErrorAt)}`,
59
+ socketDiagnostics.lastErrorMessage
60
+ ? `Last error message: ${socketDiagnostics.lastErrorMessage}`
61
+ : null,
62
+ ]),
63
+ },
64
+ {
65
+ title: "Agent stream",
66
+ content: lines([
67
+ `Submitting: ${yesNo(runDiagnosticsSnapshot.isSubmitting)}`,
68
+ `Connecting: ${yesNo(runDiagnosticsSnapshot.isConnecting)}`,
69
+ `Waiting for response: ${yesNo(runDiagnosticsSnapshot.isWaitingForResponse)}`,
70
+ `Agent thinking: ${yesNo(runDiagnosticsSnapshot.isAgentThinking)}`,
71
+ `Executing: ${yesNo(runDiagnosticsSnapshot.isExecuting)}`,
72
+ `Active streaming message: ${yesNo(runDiagnosticsSnapshot.hasActiveStreaming)}`,
73
+ `Terminal subscribed: ${yesNo(runDiagnosticsSnapshot.isSubscribed)}`,
74
+ `Last local seq: ${runDiagnosticsSnapshot.lastSeq || "—"}`,
75
+ `Last local event: ${runDiagnosticsSnapshot.lastEventType || "—"} @ ${formatDiagnosticTime(runDiagnosticsSnapshot.lastEventAt)}`,
76
+ ]),
77
+ },
78
+ {
79
+ title: "Server execution",
80
+ content: lines([
81
+ `Status: ${serverDiagnostics.execution.status || "unknown"}`,
82
+ `In-memory execution: ${yesNo(serverDiagnostics.execution.isInMemoryExecution)}`,
83
+ `Started: ${formatDiagnosticTime(serverDiagnostics.execution.startedAt)}`,
84
+ `Completed: ${formatDiagnosticTime(serverDiagnostics.execution.completedAt)}`,
85
+ serverDiagnostics.execution.error
86
+ ? `Error: ${serverDiagnostics.execution.error}`
87
+ : null,
88
+ `Last message type: ${serverDiagnostics.transport.lastMessageType || "—"}`,
89
+ `Last delta type: ${serverDiagnostics.transport.lastDeltaType || "—"}`,
90
+ `Last status state: ${serverDiagnostics.transport.lastStatusState || "—"}`,
91
+ `Last lifecycle event: ${serverDiagnostics.transport.lastLifecycleEventType || "—"}`,
92
+ `Last produced: ${formatDiagnosticTime(serverDiagnostics.transport.lastProducedAt)}`,
93
+ `Last broadcast: ${formatDiagnosticTime(serverDiagnostics.transport.lastBroadcastAt)}`,
94
+ `Target sessions: ${serverDiagnostics.transport.targetSessionCount}`,
95
+ `Successful sends: ${serverDiagnostics.transport.successfulSessionCount}`,
96
+ `Failed sends: ${serverDiagnostics.transport.failedSessionCount}`,
97
+ `Connected subscribers: ${serverDiagnostics.transport.connectedSubscriberCount}`,
98
+ serverDiagnostics.transport.lastFailure
99
+ ? `Last transport failure: ${serverDiagnostics.transport.lastFailure}`
100
+ : null,
101
+ ]),
102
+ },
103
+ {
104
+ title: "Current session",
105
+ content: lines([
106
+ `Session found: ${yesNo(serverDiagnostics.currentSession.sessionFound)}`,
107
+ `Browser matched: ${yesNo(serverDiagnostics.currentSession.browserMatched)}`,
108
+ `Connected: ${yesNo(serverDiagnostics.currentSession.isConnected)}`,
109
+ `Subscribed: ${yesNo(serverDiagnostics.currentSession.isSubscribed)}`,
110
+ `Connected at: ${formatDiagnosticTime(serverDiagnostics.currentSession.connectedAt)}`,
111
+ `Last delivery attempt: ${formatDiagnosticTime(serverDiagnostics.currentSession.lastDelivery?.lastAttemptAt)}`,
112
+ `Last delivery success: ${formatDiagnosticTime(serverDiagnostics.currentSession.lastDelivery?.lastSuccessAt)}`,
113
+ `Last delivery failure: ${formatDiagnosticTime(serverDiagnostics.currentSession.lastDelivery?.lastFailureAt)}`,
114
+ serverDiagnostics.currentSession.lastDelivery?.lastFailureReason
115
+ ? `Failure reason: ${serverDiagnostics.currentSession.lastDelivery.lastFailureReason}`
116
+ : null,
117
+ serverDiagnostics.currentSession.lastDelivery?.lastMessageType
118
+ ? `Last delivered message: ${serverDiagnostics.currentSession.lastDelivery.lastMessageType}`
119
+ : null,
120
+ serverDiagnostics.currentSession.lastDelivery?.lastSeq != null
121
+ ? `Last delivered seq: ${serverDiagnostics.currentSession.lastDelivery.lastSeq}`
122
+ : null,
123
+ ]),
124
+ },
125
+ {
126
+ title: "Recent client events",
127
+ content: runDiagnosticsSnapshot.recentEvents.length > 0
128
+ ? runDiagnosticsSnapshot.recentEvents
129
+ .slice()
130
+ .reverse()
131
+ .map((event) => formatAgentDiagnosticsEvent(event))
132
+ .join("\n")
133
+ : "No recent client-side agent stream events were captured for this terminal.",
134
+ },
135
+ {
136
+ title: "Recent server events",
137
+ content: serverDiagnostics.transport.recentEvents.length > 0
138
+ ? serverDiagnostics.transport.recentEvents
139
+ .map((event) => formatAgentDiagnosticsEvent(event))
140
+ .join("\n")
141
+ : "No recent server-side agent transport events were recorded.",
142
+ },
143
+ ];
144
+ if (payload) {
145
+ sections.push({
146
+ title: "Request payload",
147
+ content: payload,
148
+ });
149
+ }
150
+ if (rawResponse) {
151
+ sections.push({
152
+ title: "Raw provider response",
153
+ content: rawResponse,
154
+ });
155
+ }
156
+ return sections;
157
+ }
158
+ export function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveModelName, socketDiagnostics, runDiagnosticsSnapshot, liveTotals, totalTokens, effectiveCostLimit, messages, showCompressionPopover, setShowCompressionPopover, }) {
9
159
  const hasData = !!contextWindowStatus?.contextWindowTokens;
10
160
  const percentValue = hasData
11
161
  ? typeof contextWindowStatus?.contextUsedPercent === "number"
@@ -16,6 +166,10 @@ export function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveMo
16
166
  const resolvedModelName = (contextWindowStatus?.model ||
17
167
  effectiveModelName ||
18
168
  "").trim();
169
+ const localSummary = useMemo(() => interpretAgentRunDiagnostics({
170
+ socketDiagnostics,
171
+ localSnapshot: runDiagnosticsSnapshot,
172
+ }), [runDiagnosticsSnapshot, socketDiagnostics]);
19
173
  const getContextColor = (percent) => {
20
174
  if (percent < 50)
21
175
  return "#22c55e";
@@ -50,26 +204,32 @@ export function AgentTerminalStatusBar({ agent, contextWindowStatus, effectiveMo
50
204
  imageCost: liveTotals.imageCost ?? 0,
51
205
  totalCost: liveTotals.totalCost,
52
206
  }
53
- : totalTokens, costLimit: effectiveCostLimit }), agent?.id && (_jsxs(Tooltip, { children: [_jsx(ContentInspectorPopover, { title: "Provider debug", emptyMessage: "No API payload or response is available for this agent yet.", loadSections: async () => {
207
+ : totalTokens, costLimit: effectiveCostLimit }), agent?.id && (_jsxs(Tooltip, { children: [_jsx(ContentInspectorPopover, { title: "Run diagnostics", emptyMessage: "No diagnostics are available for this agent yet.", loadSections: async () => {
54
208
  if (!agent?.id)
55
209
  return [];
56
- const { payload, rawResponse } = await getLastPayload(agent.id);
57
- return [
58
- payload
59
- ? {
60
- title: "Request payload",
61
- content: payload,
62
- }
63
- : null,
64
- rawResponse
65
- ? {
66
- title: "Raw provider response",
67
- content: rawResponse,
68
- }
69
- : null,
70
- ].filter((section) => !!section);
71
- }, trigger: _jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", disabled: !hasAssistantMessages, className: "flex items-center text-[10px] text-gray-400 hover:text-gray-600 disabled:cursor-not-allowed disabled:opacity-30", children: _jsx(Bug, { className: "h-3 w-3", strokeWidth: 1.5 }) }) }) }), _jsx(TooltipContent, { side: "top", sideOffset: 6, children: !hasAssistantMessages
72
- ? "Available after first response"
73
- : "View last raw provider request/response" })] }))] }));
210
+ const [diagnosticsResult, payloadResult] = await Promise.allSettled([
211
+ getAgentDiagnostics(agent.id, socketDiagnostics.sessionId),
212
+ getLastPayload(agent.id),
213
+ ]);
214
+ if (diagnosticsResult.status !== "fulfilled") {
215
+ throw diagnosticsResult.reason;
216
+ }
217
+ const payload = payloadResult.status === "fulfilled"
218
+ ? payloadResult.value.payload
219
+ : "";
220
+ const rawResponse = payloadResult.status === "fulfilled"
221
+ ? payloadResult.value.rawResponse
222
+ : "";
223
+ return buildDiagnosticsSections({
224
+ agentId: agent.id,
225
+ socketDiagnostics,
226
+ runDiagnosticsSnapshot,
227
+ serverDiagnostics: diagnosticsResult.value,
228
+ payload,
229
+ rawResponse,
230
+ });
231
+ }, trigger: _jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "data-testid": "agent-diagnostics-button", className: "flex items-center text-[10px] text-gray-400 hover:text-gray-600", children: _jsx(Bug, { className: "h-3 w-3", strokeWidth: 1.5 }) }) }) }), _jsx(TooltipContent, { side: "top", sideOffset: 6, children: hasAssistantMessages
232
+ ? `${localSummary.title}: open diagnostics`
233
+ : "Inspect socket, stream, server, and provider diagnostics" })] }))] }));
74
234
  }
75
235
  //# sourceMappingURL=AgentTerminalStatusBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTerminalStatusBar.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentTerminalStatusBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTerminalStatusBar.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentTerminalStatusBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIL,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAE7B,MAAM,oBAAoB,CAAC;AAkD5B,SAAS,oBAAoB,CAAC,KAAqB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,KAAK,CAAC,MAAgD;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,MAOjC;IACC,MAAM,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,EACP,WAAW,GACZ,GAAG,MAAM,CAAC;IACX,MAAM,OAAO,GAAG,4BAA4B,CAAC;QAC3C,iBAAiB;QACjB,aAAa,EAAE,sBAAsB;QACrC,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAA8B;QAC1C;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,KAAK,CAAC;gBACb,cAAc,OAAO,CAAC,KAAK,EAAE;gBAC7B,OAAO,CAAC,MAAM;gBACd,WAAW,iBAAiB,CAAC,eAAe,EAAE;gBAC9C,sBAAsB,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;gBAC3E,uBAAuB,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBAC7E,kBAAkB,iBAAiB,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE;gBACnE,aAAa,iBAAiB,CAAC,SAAS,CAAC,OAAO,IAAI,sBAAsB,CAAC,OAAO,IAAI,GAAG,EAAE;aAC5F,CAAC;SACH;QACD;YACE,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,KAAK,CAAC;gBACb,eAAe,iBAAiB,CAAC,SAAS,IAAI,GAAG,EAAE;gBACnD,iBAAiB,iBAAiB,CAAC,eAAe,EAAE;gBACpD,oBAAoB,iBAAiB,CAAC,cAAc,EAAE;gBACtD,sBAAsB,iBAAiB,CAAC,aAAa,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;gBAChH,cAAc,oBAAoB,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;gBAClE,iBAAiB,oBAAoB,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;gBACxE,eAAe,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;gBACpE,iBAAiB,CAAC,aAAa,IAAI,IAAI;oBACrC,CAAC,CAAC,oBAAoB,iBAAiB,CAAC,aAAa,EAAE;oBACvD,CAAC,CAAC,IAAI;gBACR,iBAAiB,CAAC,eAAe;oBAC/B,CAAC,CAAC,sBAAsB,iBAAiB,CAAC,eAAe,EAAE;oBAC3D,CAAC,CAAC,IAAI;gBACR,eAAe,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;gBACpE,iBAAiB,CAAC,gBAAgB;oBAChC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,gBAAgB,EAAE;oBAC7D,CAAC,CAAC,IAAI;aACT,CAAC;SACH;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,KAAK,CAAC;gBACb,eAAe,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;gBAC3D,eAAe,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;gBAC3D,yBAAyB,KAAK,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,EAAE;gBAC7E,mBAAmB,KAAK,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE;gBAClE,cAAc,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE;gBACzD,6BAA6B,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,EAAE;gBAC/E,wBAAwB,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;gBACpE,mBAAmB,sBAAsB,CAAC,OAAO,IAAI,GAAG,EAAE;gBAC1D,qBAAqB,sBAAsB,CAAC,aAAa,IAAI,GAAG,MAAM,oBAAoB,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE;aACjI,CAAC;SACH;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,KAAK,CAAC;gBACb,WAAW,iBAAiB,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC5D,wBAAwB,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE;gBAChF,YAAY,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACzE,cAAc,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBAC7E,iBAAiB,CAAC,SAAS,CAAC,KAAK;oBAC/B,CAAC,CAAC,UAAU,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC/C,CAAC,CAAC,IAAI;gBACR,sBAAsB,iBAAiB,CAAC,SAAS,CAAC,eAAe,IAAI,GAAG,EAAE;gBAC1E,oBAAoB,iBAAiB,CAAC,SAAS,CAAC,aAAa,IAAI,GAAG,EAAE;gBACtE,sBAAsB,iBAAiB,CAAC,SAAS,CAAC,eAAe,IAAI,GAAG,EAAE;gBAC1E,yBAAyB,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,IAAI,GAAG,EAAE;gBACpF,kBAAkB,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBACpF,mBAAmB,oBAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;gBACtF,oBAAoB,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACpE,qBAAqB,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,EAAE;gBACzE,iBAAiB,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,EAAE;gBACjE,0BAA0B,iBAAiB,CAAC,SAAS,CAAC,wBAAwB,EAAE;gBAChF,iBAAiB,CAAC,SAAS,CAAC,WAAW;oBACrC,CAAC,CAAC,2BAA2B,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE;oBACtE,CAAC,CAAC,IAAI;aACT,CAAC;SACH;QACD;YACE,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,KAAK,CAAC;gBACb,kBAAkB,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACxE,oBAAoB,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;gBAC5E,cAAc,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;gBACnE,eAAe,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBACrE,iBAAiB,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;gBACrF,0BAA0B,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;gBAC9G,0BAA0B,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;gBAC9G,0BAA0B,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;gBAC9G,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,iBAAiB;oBAC9D,CAAC,CAAC,mBAAmB,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,iBAAiB,EAAE;oBACtF,CAAC,CAAC,IAAI;gBACR,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe;oBAC5D,CAAC,CAAC,2BAA2B,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,eAAe,EAAE;oBAC5F,CAAC,CAAC,IAAI;gBACR,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,IAAI,IAAI;oBAC5D,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE;oBAChF,CAAC,CAAC,IAAI;aACT,CAAC;SACH;QACD;YACE,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EACL,sBAAsB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,sBAAsB,CAAC,YAAY;qBAChC,KAAK,EAAE;qBACP,OAAO,EAAE;qBACT,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC;gBACf,CAAC,CAAC,4EAA4E;SACnF;QACD;YACE,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EACL,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY;qBACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC;gBACf,CAAC,CAAC,6DAA6D;SACpE;KACF,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,GACG;IAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,OAAO,mBAAmB,EAAE,kBAAkB,KAAK,QAAQ;YAC3D,CAAC,CAAC,mBAAmB,CAAC,kBAAkB;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,iBAAiB,GAAG,CACxB,mBAAmB,EAAE,KAAK;QAC1B,kBAAkB;QAClB,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,4BAA4B,CAAC;QAC3B,iBAAiB;QACjB,aAAa,EAAE,sBAAsB;KACtC,CAAC,EACJ,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAC5C,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,SAAS,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC;IAEtB,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;QACtC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE1E,OAAO,CACL,eAAK,SAAS,EAAC,wDAAwD,aACpE,KAAK,EAAE,EAAE,IAAI,CACZ,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,cAAK,SAAS,EAAC,8CAA8C,YAC3D,eACE,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAC,WAAW,iBACP,MAAM,aAElB,iBACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAE,MAAM,EACT,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,GACf,EACD,OAAO,IAAI,CACV,iBACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAE,MAAM,EACT,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,YAAY,EACpB,WAAW,EAAC,GAAG,EACf,eAAe,EAAE,GAAG,YAAY,MAAM,EACtC,aAAa,EAAC,OAAO,EACrB,KAAK,EAAE;4CACL,eAAe,EAAE,QAAQ;4CACzB,SAAS,EAAE,gBAAgB;yCAC5B,GACD,CACH,EACA,CAAC,OAAO,IAAI,CACX,iBACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAE,MAAM,EACT,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,YAAY,EACpB,WAAW,EAAC,GAAG,EACf,eAAe,EAAC,OAAO,EACvB,aAAa,EAAC,OAAO,EACrB,OAAO,EAAE,GAAG,GACZ,CACH,IACG,GACF,GACS,EACjB,KAAC,cAAc,IAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,YACrC,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAChC,eAAK,SAAS,EAAC,qCAAqC,aACjD,iBAAiB,IAAI,CACpB,0BACE,eAAM,SAAS,EAAC,eAAe,uBAAc,EAAC,GAAG,EAChD,iBAAiB,IACd,CACP,EACD,0BACE,eAAM,SAAS,EAAC,eAAe,gCAAuB,EAAC,GAAG,EACzD,YAAY,CACX,mBAAmB,CAAC,oBAAoB,IAAI,CAAC,CAC9C,EAAE,GAAG,OACJ,GAAG,EACJ,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,GAAG,cAEvD,EACN,0BACE,eAAM,SAAS,EAAC,eAAe,sBAAa,OAAE,GAAG,IAC7C,IACF,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,qCAAqC,aACjD,iBAAiB,IAAI,CACpB,0BACE,eAAM,SAAS,EAAC,eAAe,uBAAc,EAAC,GAAG,EAChD,iBAAiB,IACd,CACP,EACD,oGAGM,IACF,CACP,GACc,IACT,CACX,EACA,KAAK,EAAE,sBAAsB,IAAI,IAAI,IAAI,CACxC,MAAC,OAAO,IACN,IAAI,EAAE,sBAAsB,EAC5B,YAAY,EAAE,yBAAyB,aAEvC,KAAC,cAAc,IAAC,OAAO,kBACrB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,qMAAqM,EAC/M,OAAO,EAAE,GAAG,EAAE,CACZ,yBAAyB,CAAC,CAAC,sBAAsB,CAAC,2BAI7C,GACM,EACjB,KAAC,cAAc,IAAC,SAAS,EAAC,UAAU,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,KAAK,YAC3D,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,aAAI,SAAS,EAAC,yCAAyC,wCAElD,EACL,aAAG,SAAS,EAAC,gCAAgC,uBACpC,KAAK,CAAC,sBAAsB,+DAEjC,IACA,EACL,KAAK,CAAC,iBAAiB,IAAI,CAC1B,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,uCAAuC,yBAEhD,EACN,cAAK,SAAS,EAAC,sHAAsH,YAClI,KAAK,CAAC,iBAAiB,GACpB,IACF,CACP,IACG,GACS,IACT,CACX,EACD,KAAC,gBAAgB,IACf,WAAW,EACT,UAAU;oBACR,CAAC,CAAC;wBACE,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,CAAC;wBACtC,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,CAAC;wBAC9C,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,CAAC;wBACpC,SAAS,EAAE,UAAU,CAAC,SAAS;qBAChC;oBACH,CAAC,CAAC,WAAW,EAEjB,SAAS,EAAE,kBAAkB,GAC7B,EACD,KAAK,EAAE,EAAE,IAAI,CACZ,MAAC,OAAO,eACN,KAAC,uBAAuB,IACtB,KAAK,EAAC,iBAAiB,EACvB,YAAY,EAAC,kDAAkD,EAC/D,YAAY,EAAE,KAAK,IAAI,EAAE;4BACvB,IAAI,CAAC,KAAK,EAAE,EAAE;gCAAE,OAAO,EAAE,CAAC;4BAC1B,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gCAClE,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC;gCAC1D,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;6BACzB,CAAC,CAAC;4BAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gCAC7C,MAAM,iBAAiB,CAAC,MAAM,CAAC;4BACjC,CAAC;4BAED,MAAM,OAAO,GACX,aAAa,CAAC,MAAM,KAAK,WAAW;gCAClC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO;gCAC7B,CAAC,CAAC,EAAE,CAAC;4BACT,MAAM,WAAW,GACf,aAAa,CAAC,MAAM,KAAK,WAAW;gCAClC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW;gCACjC,CAAC,CAAC,EAAE,CAAC;4BAET,OAAO,wBAAwB,CAAC;gCAC9B,OAAO,EAAE,KAAK,CAAC,EAAE;gCACjB,iBAAiB;gCACjB,sBAAsB;gCACtB,iBAAiB,EAAE,iBAAiB,CAAC,KAAK;gCAC1C,OAAO;gCACP,WAAW;6BACZ,CAAC,CAAC;wBACL,CAAC,EACD,OAAO,EACL,KAAC,cAAc,IAAC,OAAO,kBACrB,iBACE,IAAI,EAAC,QAAQ,iBACD,0BAA0B,EACtC,SAAS,EAAC,iEAAiE,YAE3E,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAI,GACtC,GACM,GAEnB,EACF,KAAC,cAAc,IAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,YACrC,oBAAoB;4BACnB,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,oBAAoB;4BAC3C,CAAC,CAAC,0DAA0D,GAC/C,IACT,CACX,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -9,30 +9,54 @@ import { SimpleTabs } from "../ui/SimpleTabs";
9
9
  function escapeRegExp(value) {
10
10
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
11
11
  }
12
- function HighlightedPre({ text, query, className, }) {
12
+ function HighlightedPre({ text, query, activeOccurrenceIndex, className, }) {
13
+ const preRef = React.useRef(null);
13
14
  const content = React.useMemo(() => {
14
15
  const q = query.trim();
15
16
  if (!q)
16
17
  return text;
17
- const re = new RegExp(`(${escapeRegExp(q)})`, "gi");
18
- const nodes = [];
19
- let last = 0;
20
- const r = new RegExp(re.source, re.flags);
18
+ const matches = [];
19
+ const r = new RegExp(`(${escapeRegExp(q)})`, "gi");
21
20
  let m;
22
21
  while ((m = r.exec(text)) !== null) {
23
- if (m.index > last) {
24
- nodes.push(text.slice(last, m.index));
25
- }
26
- nodes.push(_jsx("mark", { className: "rounded-sm bg-amber-400/35 px-0 text-inherit", children: m[0] }, `${m.index}-${nodes.length}`));
27
- last = m.index + m[0].length;
22
+ matches.push({ start: m.index, end: m.index + m[0].length });
23
+ }
24
+ if (matches.length === 0) {
25
+ return text;
28
26
  }
27
+ const mc = matches.length;
28
+ const safeIdx = ((activeOccurrenceIndex % mc) + mc) % mc;
29
+ const nodes = [];
30
+ let last = 0;
31
+ matches.forEach((pos, i) => {
32
+ if (pos.start > last) {
33
+ nodes.push(text.slice(last, pos.start));
34
+ }
35
+ nodes.push(_jsx("mark", { "data-occurrence-index": i, className: cn("rounded-sm px-0 text-inherit", i === safeIdx
36
+ ? "bg-amber-500/70 ring-1 ring-amber-200/90"
37
+ : "bg-amber-400/35"), children: text.slice(pos.start, pos.end) }, `${pos.start}-${i}`));
38
+ last = pos.end;
39
+ });
29
40
  if (last < text.length) {
30
41
  nodes.push(text.slice(last));
31
42
  }
32
43
  return nodes;
33
- }, [text, query]);
44
+ }, [text, query, activeOccurrenceIndex]);
45
+ React.useLayoutEffect(() => {
46
+ const q = query.trim();
47
+ const root = preRef.current;
48
+ if (!q || !root)
49
+ return;
50
+ const marks = root.querySelectorAll("mark[data-occurrence-index]");
51
+ if (marks.length === 0)
52
+ return;
53
+ const n = marks.length;
54
+ const safeIdx = ((activeOccurrenceIndex % n) + n) % n;
55
+ const el = root.querySelector(`mark[data-occurrence-index="${safeIdx}"]`);
56
+ el?.scrollIntoView({ block: "nearest", behavior: "smooth" });
57
+ }, [text, query, activeOccurrenceIndex]);
34
58
  const q = query.trim();
35
- return (_jsx("pre", { className: className, children: q ? content : text }));
59
+ return (_jsx("pre", { ref: preRef, className: className, children: q ? content : text }));
36
60
  }
37
61
  function countMatches(text, query) {
38
62
  const q = query.trim();
@@ -46,9 +70,11 @@ export function ContentInspectorPopover({ title, trigger, sections, loadSections
46
70
  const [loadedSections, setLoadedSections] = React.useState(sections ?? []);
47
71
  const [isLoading, setIsLoading] = React.useState(false);
48
72
  const [loadError, setLoadError] = React.useState(null);
49
- const [isCopied, setIsCopied] = React.useState(false);
73
+ const [copiedMode, setCopiedMode] = React.useState(null);
50
74
  const [activeTab, setActiveTab] = React.useState(0);
51
75
  const [searchQuery, setSearchQuery] = React.useState("");
76
+ const [activeOccurrenceIndex, setActiveOccurrenceIndex] = React.useState(0);
77
+ const searchInputRef = React.useRef(null);
52
78
  const loadSectionsRef = React.useRef(loadSections);
53
79
  React.useEffect(() => {
54
80
  loadSectionsRef.current = loadSections;
@@ -61,8 +87,15 @@ export function ContentInspectorPopover({ title, trigger, sections, loadSections
61
87
  React.useEffect(() => {
62
88
  if (!open) {
63
89
  setSearchQuery("");
90
+ setActiveOccurrenceIndex(0);
64
91
  }
65
92
  }, [open]);
93
+ React.useEffect(() => {
94
+ setActiveOccurrenceIndex(0);
95
+ }, [searchQuery]);
96
+ React.useEffect(() => {
97
+ setActiveOccurrenceIndex(0);
98
+ }, [activeTab]);
66
99
  React.useEffect(() => {
67
100
  if (!open || !loadSectionsRef.current)
68
101
  return;
@@ -91,11 +124,11 @@ export function ContentInspectorPopover({ title, trigger, sections, loadSections
91
124
  };
92
125
  }, [open]);
93
126
  React.useEffect(() => {
94
- if (!isCopied)
127
+ if (!copiedMode)
95
128
  return;
96
- const timeoutId = window.setTimeout(() => setIsCopied(false), 1500);
129
+ const timeoutId = window.setTimeout(() => setCopiedMode(null), 1500);
97
130
  return () => window.clearTimeout(timeoutId);
98
- }, [isCopied]);
131
+ }, [copiedMode]);
99
132
  const displaySections = React.useMemo(() => loadedSections, [loadedSections]);
100
133
  const activeSection = displaySections[Math.min(activeTab, Math.max(displaySections.length - 1, 0))];
101
134
  React.useEffect(() => {
@@ -109,28 +142,76 @@ export function ContentInspectorPopover({ title, trigger, sections, loadSections
109
142
  return 0;
110
143
  return countMatches(c, searchQuery);
111
144
  }, [activeSection?.content, searchQuery]);
112
- const copyText = React.useMemo(() => activeSection?.content?.trim()
113
- ? `--- ${activeSection.title.toUpperCase()} ---\n${activeSection.content}`
114
- : "", [activeSection]);
145
+ const formatSectionCopyText = React.useCallback((section) => `--- ${section.title.toUpperCase()} ---\n${section.content?.trim() ? section.content : emptyMessage}`, [emptyMessage]);
146
+ const copyText = React.useMemo(() => activeSection ? formatSectionCopyText(activeSection) : "", [activeSection, formatSectionCopyText]);
147
+ const copyAllText = React.useMemo(() => displaySections.length > 0
148
+ ? displaySections.map((section) => formatSectionCopyText(section)).join("\n\n")
149
+ : "", [displaySections, formatSectionCopyText]);
115
150
  const handleCopy = React.useCallback(async () => {
116
151
  if (!copyText)
117
152
  return;
118
153
  try {
119
154
  await navigator.clipboard.writeText(copyText);
120
- setIsCopied(true);
155
+ setCopiedMode("active");
121
156
  }
122
157
  catch (error) {
123
158
  console.error("Failed to copy inspector content:", error);
124
159
  }
125
160
  }, [copyText]);
126
- return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: trigger }), _jsxs(PopoverContent, { align: align, side: side, className: cn("w-[min(44rem,calc(100vw-2rem))] max-w-[calc(100vw-2rem)] p-0", className), children: [_jsxs("div", { className: "space-y-2 border-b px-3 py-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-xs font-medium text-gray-700", children: title }), _jsxs(Button, { type: "button", size: "xxs", variant: "ghost", onClick: handleCopy, disabled: !copyText || isLoading, className: "text-gray-600 hover:bg-gray-100 hover:text-gray-800", children: [isCopied ? (_jsx(Check, { className: "h-3 w-3", strokeWidth: 1.5 })) : (_jsx(Copy, { className: "h-3 w-3", strokeWidth: 1.5 })), isCopied ? "Copied" : "Copy"] })] }), !isLoading &&
161
+ const handleCopyAll = React.useCallback(async () => {
162
+ if (!copyAllText)
163
+ return;
164
+ try {
165
+ await navigator.clipboard.writeText(copyAllText);
166
+ setCopiedMode("all");
167
+ }
168
+ catch (error) {
169
+ console.error("Failed to copy inspector content:", error);
170
+ }
171
+ }, [copyAllText]);
172
+ const goToNextOccurrence = React.useCallback(() => {
173
+ const c = activeSection?.content;
174
+ const q = searchQuery.trim();
175
+ if (!c?.trim() || !q)
176
+ return;
177
+ const n = countMatches(c, q);
178
+ if (n === 0)
179
+ return;
180
+ setActiveOccurrenceIndex((i) => (i + 1) % n);
181
+ }, [activeSection?.content, searchQuery]);
182
+ const handleFindShortcut = React.useCallback((e) => {
183
+ if (!(e.ctrlKey || e.metaKey) || e.key !== "f")
184
+ return;
185
+ e.preventDefault();
186
+ e.stopPropagation();
187
+ const input = searchInputRef.current;
188
+ const searchWasFocused = document.activeElement === input;
189
+ input?.focus();
190
+ input?.select();
191
+ const q = searchQuery.trim();
192
+ const c = activeSection?.content;
193
+ if (!q || !c?.trim())
194
+ return;
195
+ const n = countMatches(c, q);
196
+ if (n === 0)
197
+ return;
198
+ if (searchWasFocused) {
199
+ setActiveOccurrenceIndex((i) => (i + 1) % n);
200
+ }
201
+ }, [searchQuery, activeSection?.content]);
202
+ return (_jsxs(Popover, { open: open, onOpenChange: setOpen, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: trigger }), _jsxs(PopoverContent, { align: align, side: side, onKeyDownCapture: handleFindShortcut, className: cn("w-[min(44rem,calc(100vw-2rem))] max-w-[calc(100vw-2rem)] p-0", className), children: [_jsxs("div", { className: "space-y-2 border-b px-3 py-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-xs font-medium text-gray-700", children: title }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { type: "button", size: "xxs", variant: "ghost", onClick: handleCopy, disabled: !copyText || isLoading, className: "text-gray-600 hover:bg-gray-100 hover:text-gray-800", children: [copiedMode === "active" ? (_jsx(Check, { className: "h-3 w-3", strokeWidth: 1.5 })) : (_jsx(Copy, { className: "h-3 w-3", strokeWidth: 1.5 })), copiedMode === "active" ? "Copied tab" : "Copy tab"] }), _jsxs(Button, { type: "button", size: "xxs", variant: "ghost", onClick: handleCopyAll, disabled: !copyAllText || isLoading, className: "text-gray-600 hover:bg-gray-100 hover:text-gray-800", children: [copiedMode === "all" ? (_jsx(Check, { className: "h-3 w-3", strokeWidth: 1.5 })) : (_jsx(Copy, { className: "h-3 w-3", strokeWidth: 1.5 })), copiedMode === "all" ? "Copied all" : "Copy all"] })] })] }), !isLoading &&
127
203
  !loadError &&
128
- displaySections.some((s) => s.content?.trim()) && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("div", { className: "relative min-w-0 flex-1", children: [_jsx(Search, { className: "pointer-events-none absolute top-1/2 left-2 h-3 w-3 -translate-y-1/2 text-gray-400", strokeWidth: 1.5, "aria-hidden": true }), _jsx(Input, { value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Find in content\u2026", className: "h-7 border-gray-200 pr-2 pl-7 text-[11px]", "aria-label": "Find in content" })] }), searchQuery.trim() ? (_jsx("span", { className: "shrink-0 text-[10px] tabular-nums text-gray-500", children: activeMatchCount === 0
204
+ displaySections.some((s) => s.content?.trim()) && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("div", { className: "relative min-w-0 flex-1", children: [_jsx(Search, { className: "pointer-events-none absolute top-1/2 left-2 h-3 w-3 -translate-y-1/2 text-gray-400", strokeWidth: 1.5, "aria-hidden": true }), _jsx(Input, { ref: searchInputRef, value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), onKeyDown: (e) => {
205
+ if (e.key === "Enter") {
206
+ e.preventDefault();
207
+ goToNextOccurrence();
208
+ }
209
+ }, placeholder: "Find in content\u2026", className: "h-7 border-gray-200 pr-2 pl-7 text-[11px]", "aria-label": "Find in content" })] }), searchQuery.trim() ? (_jsx("span", { className: "shrink-0 text-[10px] tabular-nums text-gray-500", children: activeMatchCount === 0
129
210
  ? "No matches"
130
- : `${activeMatchCount} match${activeMatchCount === 1 ? "" : "es"}` })) : null] }))] }), _jsx("div", { className: "h-112 overflow-hidden p-3", children: isLoading ? (_jsxs("div", { className: "flex h-full items-center gap-2 text-xs text-gray-500", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin", strokeWidth: 1.5 }), "Loading..."] })) : loadError ? (_jsx("div", { className: "rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: loadError })) : displaySections.length > 0 ? (displaySections.length === 1 ? (_jsxs("div", { className: "flex h-full flex-col space-y-1", children: [_jsx("div", { className: "shrink-0 text-[11px] font-medium text-gray-700", children: displaySections[0]?.title }), displaySections[0]?.content?.trim() ? (_jsx(HighlightedPre, { text: displaySections[0].content, query: searchQuery, className: "min-h-0 flex-1 overflow-auto rounded bg-slate-950 px-3 py-3 font-mono text-[11px] leading-5 whitespace-pre-wrap break-all text-slate-100" })) : (_jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center rounded border border-dashed border-gray-200 bg-gray-50 px-3 py-3 text-xs text-gray-500", children: emptyMessage }))] })) : (_jsx(SimpleTabs, { tabs: displaySections.map((section) => ({
211
+ : `${activeMatchCount} match${activeMatchCount === 1 ? "" : "es"}` })) : null] }))] }), _jsx("div", { className: "h-112 overflow-hidden p-3", children: isLoading ? (_jsxs("div", { className: "flex h-full items-center gap-2 text-xs text-gray-500", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin", strokeWidth: 1.5 }), "Loading..."] })) : loadError ? (_jsx("div", { className: "rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700", children: loadError })) : displaySections.length > 0 ? (displaySections.length === 1 ? (_jsxs("div", { className: "flex h-full flex-col space-y-1", children: [_jsx("div", { className: "shrink-0 text-[11px] font-medium text-gray-700", children: displaySections[0]?.title }), displaySections[0]?.content?.trim() ? (_jsx(HighlightedPre, { text: displaySections[0].content, query: searchQuery, activeOccurrenceIndex: activeOccurrenceIndex, className: "min-h-0 flex-1 overflow-auto rounded bg-slate-950 px-3 py-3 font-mono text-[11px] leading-5 whitespace-pre-wrap break-all text-slate-100" })) : (_jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center rounded border border-dashed border-gray-200 bg-gray-50 px-3 py-3 text-xs text-gray-500", children: emptyMessage }))] })) : (_jsx(SimpleTabs, { tabs: displaySections.map((section) => ({
131
212
  id: section.title,
132
213
  label: section.title,
133
- content: (_jsx("div", { className: "flex h-full min-h-0 flex-col pt-2", children: section.content?.trim() ? (_jsx(HighlightedPre, { text: section.content, query: searchQuery, className: "min-h-0 flex-1 overflow-auto rounded bg-slate-950 px-3 py-3 font-mono text-[11px] leading-5 whitespace-pre-wrap break-all text-slate-100" })) : (_jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center rounded border border-dashed border-gray-200 bg-gray-50 px-3 py-3 text-xs text-gray-500", children: emptyMessage })) })),
214
+ content: (_jsx("div", { className: "flex h-full min-h-0 flex-col pt-2", children: section.content?.trim() ? (_jsx(HighlightedPre, { text: section.content, query: searchQuery, activeOccurrenceIndex: activeOccurrenceIndex, className: "min-h-0 flex-1 overflow-auto rounded bg-slate-950 px-3 py-3 font-mono text-[11px] leading-5 whitespace-pre-wrap break-all text-slate-100" })) : (_jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center rounded border border-dashed border-gray-200 bg-gray-50 px-3 py-3 text-xs text-gray-500", children: emptyMessage })) })),
134
215
  })), activeTab: activeTab, setActiveTab: setActiveTab, className: "justify-start gap-0 border-b", tabClassName: "px-2.5 pt-1.5 pb-1.5 text-[11px]" }))) : (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: emptyMessage })) })] })] }));
135
216
  }
136
217
  //# sourceMappingURL=ContentInspectorPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentInspectorPopover.js","sourceRoot":"","sources":["../../../src/editor/ai/ContentInspectorPopover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentInspectorPopover.js","sourceRoot":"","sources":["../../../src/editor/ai/ContentInspectorPopover.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { AgentDetails, AgentMetadata } from "../services/agentService";
3
- export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, isLiveEditorContextMode, onRefreshContext, }: {
3
+ export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, isLiveEditorContextMode, omitEditorContext, onRefreshContext, }: {
4
4
  agent: AgentDetails | undefined;
5
5
  agentMetadata: AgentMetadata | null;
6
6
  setAgentMetadata: React.Dispatch<React.SetStateAction<AgentMetadata | null>>;
@@ -9,5 +9,6 @@ export declare function ContextInfoBar({ agent, agentMetadata, setAgentMetadata,
9
9
  resolvedComponentName?: string;
10
10
  resolvedFieldName?: string;
11
11
  isLiveEditorContextMode?: boolean;
12
+ omitEditorContext?: boolean;
12
13
  onRefreshContext?: () => Promise<void>;
13
14
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -6,7 +6,7 @@ import { FileText, Puzzle, Type, Plus, Code2, ChevronDown, ChevronUp, X, Target,
6
6
  import { getComponentById } from "../componentTreeHelper";
7
7
  import { updateAgentContext, } from "../services/agentService";
8
8
  import { ContentInspectorPopover } from "./ContentInspectorPopover";
9
- export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, isLiveEditorContextMode, onRefreshContext, }) {
9
+ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgent, resolvedPageName, resolvedComponentName, resolvedFieldName, isLiveEditorContextMode, omitEditorContext, onRefreshContext, }) {
10
10
  const editContext = useEditContext();
11
11
  const [isCollapsed, setIsCollapsed] = useState(true);
12
12
  const [isDragOver, setIsDragOver] = useState(false);
@@ -436,8 +436,7 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
436
436
  // } catch {
437
437
  // // ignore logging errors
438
438
  // }
439
- const hasContext = !!ctx &&
440
- !!(ctx.items?.length || ctx.components?.length || ctx.field);
439
+ const hasContext = !!ctx && !!(ctx.items?.length || ctx.components?.length || ctx.field);
441
440
  const rawContextSections = React.useMemo(() => [
442
441
  {
443
442
  title: "Stored context",
@@ -460,8 +459,12 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
460
459
  !!editContext.selection?.every((selectedId) => ctx?.components?.some((c) => c.componentId === selectedId));
461
460
  const canAddPage = !!editContext?.currentItemDescriptor && !currentPageAlreadyAdded;
462
461
  const canAddSelection = !!editContext?.selection?.length && !selectedComponentsAlreadyAdded;
463
- if (!hasContext && !canAddPage && !canAddSelection)
462
+ if (omitEditorContext) {
464
463
  return null;
464
+ }
465
+ if (!hasContext && !canAddPage && !canAddSelection) {
466
+ return null;
467
+ }
465
468
  const Chip = ({ icon, label, onRemove, onLoad, showRemove = true, isActive = false, }) => (_jsxs("span", { className: `inline-flex h-4 items-center gap-1 rounded-full border px-1.5 py-0.5 text-[11px] leading-none ${isActive
466
469
  ? "border-green-300 bg-green-100 text-green-700"
467
470
  : "border-gray-200 bg-gray-100 text-gray-700"}`, children: [icon, _jsx("span", { className: "max-w-[240px] truncate leading-none", title: label, children: label }), !isActive && onLoad && (_jsx("button", { onClick: onLoad, className: `ml-0.5 rounded p-0.5 hover:bg-gray-200`, "aria-label": "Load item", children: _jsx(ArrowRight, { className: "h-3 w-3", strokeWidth: 1 }) })), showRemove && (_jsx("button", { onClick: onRemove, className: `ml-0.5 rounded p-0.5 ${isActive ? "hover:bg-green-200" : "hover:bg-gray-200"}`, "aria-label": "Remove context", children: _jsx(X, { className: "h-3 w-3", strokeWidth: 1 }) }))] }));
@@ -644,7 +647,7 @@ export function ContextInfoBar({ agent, agentMetadata, setAgentMetadata, setAgen
644
647
  }
645
648
  }, className: "group flex w-full cursor-pointer items-center justify-between px-4 py-2 text-left transition-colors hover:bg-gray-100", "aria-label": isCollapsed ? "Expand context" : "Collapse context", "aria-expanded": !isCollapsed, "data-testid": "context-toggle", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Target, { className: "h-4 w-4 text-gray-500", strokeWidth: 1 }), _jsx("span", { className: "text-xs leading-none font-normal text-gray-700", children: "Context" }), isCollapsed && summaryChips.length > 0 && (_jsx("div", { className: "flex flex-wrap items-center gap-1", children: summaryChips }))] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(ContentInspectorPopover, { title: "Raw context", sections: rawContextSections, trigger: _jsx(Button, { size: "xs", variant: "ghost", onClick: (e) => e.stopPropagation(), className: "h-4 px-1.5 text-gray-500 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-gray-200 hover:text-gray-700", title: "Show raw context", "aria-label": "Show raw context", children: _jsx(Code2, { className: "h-3 w-3", strokeWidth: 1.5 }) }) }), isCollapsed && !isLiveEditorContextMode && onRefreshContext && (_jsxs(Button, { size: "xs", variant: "ghost", onClick: (e) => {
646
649
  e.stopPropagation();
647
- onRefreshContext();
648
- }, className: "h-4 px-2 text-blue-600 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-blue-50 hover:text-blue-700", title: "Update context to current page/selection", children: [_jsx(RefreshCw, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Sync"] })), isCollapsed ? (_jsx(ChevronDown, { className: "h-4 w-4 text-gray-500", strokeWidth: 1 })) : (_jsx(ChevronUp, { className: "h-4 w-4 text-gray-500", strokeWidth: 1 }))] })] }), !isCollapsed && (_jsxs("div", { className: "px-4 pb-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2 pb-2", children: [_jsx("div", { className: "flex flex-1 flex-wrap items-center gap-2", children: chips }), _jsxs("div", { className: "flex items-center gap-1", children: [!isLiveEditorContextMode && onRefreshContext && (_jsxs(Button, { size: "xs", variant: "ghost", onClick: onRefreshContext, className: "text-blue-600 hover:bg-blue-50 hover:text-blue-700", title: "Update context to current page/selection", children: [_jsx(RefreshCw, { className: "mr-1 h-2 w-2", strokeWidth: 1 }), " Sync"] })), hasContext && !isLiveEditorContextMode && (_jsxs(Button, { size: "xs", variant: "ghost", onClick: removeAllContext, className: "text-red-600 hover:bg-red-50 hover:text-red-700", "data-testid": "remove-all-context", children: [_jsx(X, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Clear All"] }))] })] }), (canAddPage || canAddSelection) && (_jsxs("div", { className: "flex flex-col items-start gap-1 pb-2", children: [canAddPage && (_jsxs(Button, { size: "xs", variant: "outline", onClick: addPagesToContext, "data-testid": "add-current-item", children: [_jsx(Plus, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Add current item"] })), canAddSelection && (_jsxs(Button, { size: "xs", variant: "outline", onClick: addSelectedComponentsToContext, children: [_jsx(Plus, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Add selected components"] }))] })), (canAddPage || canAddSelection) && (_jsx("div", { className: "text-xs text-gray-500", children: "Tip: Drag items or components here to add them" }))] }))] }));
650
+ void onRefreshContext?.();
651
+ }, className: "h-4 px-2 text-blue-600 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-blue-50 hover:text-blue-700", title: "Update context to current page/selection", children: [_jsx(RefreshCw, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Sync"] })), isCollapsed ? (_jsx(ChevronDown, { className: "h-4 w-4 text-gray-500", strokeWidth: 1 })) : (_jsx(ChevronUp, { className: "h-4 w-4 text-gray-500", strokeWidth: 1 }))] })] }), !isCollapsed && (_jsxs("div", { className: "px-4 pb-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2 pb-2", children: [_jsx("div", { className: "flex flex-1 flex-wrap items-center gap-2", children: chips }), _jsxs("div", { className: "flex items-center gap-1", children: [!isLiveEditorContextMode && onRefreshContext && (_jsxs(Button, { size: "xs", variant: "ghost", onClick: () => void onRefreshContext?.(), className: "text-blue-600 hover:bg-blue-50 hover:text-blue-700", title: "Update context to current page/selection", children: [_jsx(RefreshCw, { className: "mr-1 h-2 w-2", strokeWidth: 1 }), " Sync"] })), hasContext && !isLiveEditorContextMode && (_jsxs(Button, { size: "xs", variant: "ghost", onClick: removeAllContext, className: "text-red-600 hover:bg-red-50 hover:text-red-700", "data-testid": "remove-all-context", children: [_jsx(X, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Clear All"] }))] })] }), (canAddPage || canAddSelection) && (_jsxs("div", { className: "flex flex-col items-start gap-1 pb-2", children: [canAddPage && (_jsxs(Button, { size: "xs", variant: "outline", onClick: addPagesToContext, "data-testid": "add-current-item", children: [_jsx(Plus, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Add current item"] })), canAddSelection && (_jsxs(Button, { size: "xs", variant: "outline", onClick: addSelectedComponentsToContext, children: [_jsx(Plus, { className: "mr-1 h-3 w-3", strokeWidth: 1 }), " Add selected components"] }))] })), (canAddPage || canAddSelection) && (_jsx("div", { className: "text-xs text-gray-500", children: "Tip: Drag items or components here to add them" }))] }))] }));
649
652
  }
650
653
  //# sourceMappingURL=ContextInfoBar.js.map