@ai-matrx/chat 0.7.7 → 0.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/agents/components/inputs/smart-input/InputActionButtons.d.ts +2 -2
- package/dist/agents/components/inputs/smart-input/InputActionButtons.js +3 -1
- package/dist/agents/components/inputs/smart-input/SmartAgentInputStacked.js +8 -3
- package/dist/agents/components/messages-display/AgentConversationDisplay.js +1 -1
- package/dist/agents/components/messages-display/assistant/AgentEmptyMessageDisplay.js +4 -4
- package/dist/agents/components/messages-display/assistant/AssistantMessageFooter.js +4 -2
- package/dist/agents/components/messages-display/assistant/AssistantNoAnswer.js +1 -1
- package/dist/agents/components/messages-display/assistant/BreathingOrb.js +1 -1
- package/dist/agents/components/messages-display/assistant/InPlaceAnswerEditor.js +1 -1
- package/dist/agents/components/messages-display/citations/MessageSourcesRow.js +1 -1
- package/dist/agents/components/messages-display/conversation-tools/ConversationFindBar.js +4 -4
- package/dist/agents/components/messages-display/message-options/EditHistoryDialog.js +7 -7
- package/dist/agents/components/messages-display/user/AgentUserMessage.js +4 -4
- package/dist/agents/components/messages-display/user/CollabNoteMessage.js +2 -2
- package/dist/agents/components/messages-display/user/FirstTurnVariables.js +3 -3
- package/dist/agents/components/messages-display/user/PendingSendMessage.js +4 -4
- package/dist/agents/components/messages-display/user/RemarksTranscriptView.js +7 -7
- package/dist/agents/components/messages-display/user/ResourceAttachmentTile.js +9 -9
- package/dist/agents/components/messages-display/user/ResourceEditableToggleSamples.js +4 -4
- package/dist/agents/components/messages-display/user/UserActionBar.js +3 -3
- package/dist/agents/components/messages-display/user/UserMessageAttachmentStyleComparison.js +12 -12
- package/dist/agents/components/messages-display/user/UserMessageChipsDemo.js +19 -19
- package/dist/agents/components/messages-display/user/UserMessageHybridTileSamples.js +22 -22
- package/dist/agents/components/run/AgentRunnerPage.js +4 -4
- package/dist/agents/components/run/AssistantError.js +1 -1
- package/dist/agents/components/run/AssistantWarning.js +1 -1
- package/dist/agents/components/run/GenerationJobCard.js +5 -5
- package/dist/agents/components/run/IncompleteNote.js +1 -1
- package/dist/agents/components/run/RunJobWorkingLine.js +1 -1
- package/dist/agents/components/shared/AgentConversationColumn.js +1 -1
- package/dist/agents/components/shared/AgentHeaderMobile.js +6 -6
- package/dist/agents/components/shared/AgentModeController.js +1 -1
- package/dist/agents/components/shared/AutoInjectionSwitch.js +6 -6
- package/dist/agents/components/shared/DesktopFilterPanel.js +8 -8
- package/dist/agents/components/shared/transcript-layout.d.ts +9 -8
- package/dist/agents/components/shared/transcript-layout.js +2 -2
- package/dist/agents/components/smart/AgentRunner.js +1 -1
- package/dist/agents/components/smart/CreateWithAiTabs.js +1 -1
- package/dist/host/request-headers.js +3 -1
- package/dist/surfaces/manifests/agent-builder.manifest.d.ts +8 -0
- package/dist/surfaces/manifests/agent-builder.manifest.js +62 -2
- package/dist/tool-call-visualization/components/ArtifactResultBar.js +4 -4
- package/dist/tool-call-visualization/components/ChatResultColumn.d.ts +1 -1
- package/dist/tool-call-visualization/components/ToolCallBatch.js +2 -2
- package/dist/tool-call-visualization/components/ToolCallVisualization.js +5 -5
- package/dist/tool-call-visualization/components/ToolTabBodies.js +12 -12
- package/dist/tool-call-visualization/components/ToolUpdatesOverlay.js +4 -4
- package/dist/tool-call-visualization/configured-rows/ConfiguredToolRow.js +8 -8
- package/dist/tool-call-visualization/configured-rows/CopyToolButton.js +1 -1
- package/dist/tool-call-visualization/configured-rows/ToolProgressView.js +7 -7
- package/dist/tool-call-visualization/configured-rows/field-components.js +6 -6
- package/dist/tool-call-visualization/registry/GenericRenderer.js +4 -4
- package/dist/tool-call-visualization/renderers/_shared-entity/EmptyResultCard.js +1 -1
- package/dist/tool-call-visualization/renderers/_shared-entity/EntityCard.js +5 -5
- package/dist/tool-call-visualization/renderers/_shared-entity/PartPeekPopover.js +2 -2
- package/dist/tool-call-visualization/renderers/_shared-entity/ToolGlyph.js +1 -1
- package/dist/tool-call-visualization/renderers/_shared-entity/ToolResultCard.js +6 -6
- package/dist/tool-call-visualization/renderers/agent-call/AgentCallInline.js +5 -5
- package/dist/tool-call-visualization/renderers/agent-call/CollabCallCard.js +4 -4
- package/dist/tool-call-visualization/renderers/agent-call/ImageGenerationResult.js +1 -1
- package/dist/tool-call-visualization/renderers/ask/AskInline.js +3 -3
- package/dist/tool-call-visualization/renderers/ask-person/AskPersonInline.js +2 -2
- package/dist/tool-call-visualization/renderers/cloud-browser/CloudBrowserRunCard.js +5 -5
- package/dist/tool-call-visualization/renderers/ctx/CtxBatchInline.js +3 -3
- package/dist/tool-call-visualization/renderers/ctx/CtxGetInline.js +2 -2
- package/dist/tool-call-visualization/renderers/ctx/CtxItemCard.js +3 -3
- package/dist/tool-call-visualization/renderers/ctx/CtxPatchInline.js +6 -6
- package/dist/tool-call-visualization/renderers/dictionary/DictEntryList.js +12 -12
- package/dist/tool-call-visualization/renderers/dictionary/DictionaryOverlay.js +5 -5
- package/dist/tool-call-visualization/renderers/fs/FsInline.js +7 -7
- package/dist/tool-call-visualization/renderers/news-api/NewsInline.js +17 -17
- package/dist/tool-call-visualization/renderers/news-api/NewsOverlay.js +12 -12
- package/dist/tool-call-visualization/renderers/random-wheel/RandomWheelInline.js +34 -34
- package/dist/tool-call-visualization/renderers/records/RecordsInline.js +1 -1
- package/dist/tool-call-visualization/renderers/research/ResearchInline.js +10 -10
- package/dist/tool-call-visualization/renderers/research/ResearchOverlay.js +19 -19
- package/dist/tool-call-visualization/renderers/research/SubagentReportBlock.js +11 -11
- package/dist/tool-call-visualization/renderers/scrape/ScrapeInline.js +18 -18
- package/dist/tool-call-visualization/renderers/scrape/ScrapeOverlay.js +17 -17
- package/dist/tool-call-visualization/renderers/search/SearchInline.js +30 -30
- package/dist/tool-call-visualization/renderers/search/SearchOverlay.js +40 -40
- package/dist/tool-call-visualization/renderers/shell/ShellInline.js +3 -3
- package/dist/tool-call-visualization/renderers/skill/SkillInline.js +5 -5
- package/dist/tool-call-visualization/renderers/sql/DbSchemaInline.js +7 -7
- package/dist/tool-call-visualization/renderers/sql/SqlInline.js +4 -4
- package/dist/tool-call-visualization/renderers/workbook/WorkbookGrid.js +4 -4
- package/dist/tool-call-visualization/renderers/workbook/WorkbookInline.js +2 -2
- package/dist/tool-call-visualization/renderers/workbook/WorkbookOverlay.js +7 -7
- package/dist/tool-call-visualization/renderers/working-document/PatchDiffInline.js +3 -3
- package/dist/tool-call-visualization/result-fields/EmptyResult.js +1 -1
- package/dist/tool-call-visualization/result-fields/KeyValueGrid.js +9 -9
- package/dist/tool-call-visualization/result-fields/ResultFile.js +4 -4
- package/dist/tool-call-visualization/result-fields/ResultJson.js +1 -1
- package/dist/tool-call-visualization/result-fields/ResultMedia.js +2 -2
- package/dist/tool-call-visualization/result-fields/ResultScalar.js +2 -2
- package/dist/tool-call-visualization/result-fields/ResultTable.js +10 -10
- package/dist/tool-call-visualization/result-fields/ResultValue.js +7 -7
- package/dist/tool-call-visualization/result-fields/ShortId.js +3 -3
- package/dist/tool-call-visualization/result-fields/ToolErrorCard.js +4 -4
- package/dist/tool-call-visualization/result-fields/UrlChips.js +3 -3
- package/dist/tool-call-visualization/surface-write/SurfaceWriteDiff.js +2 -2
- package/dist/tool-call-visualization/surface-write/SurfaceWriteStress.js +1 -1
- package/dist/tool-call-visualization/window-panel/ToolCallWindowPanel.js +9 -9
- package/package.json +10 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "@ai-matrx/design-system";
|
|
3
3
|
const ACCENT_ICON = {
|
|
4
|
-
primary: "text-
|
|
4
|
+
primary: "text-primary",
|
|
5
5
|
blue: "text-blue-600 dark:text-blue-400",
|
|
6
6
|
violet: "text-violet-600 dark:text-violet-400",
|
|
7
7
|
cyan: "text-cyan-600 dark:text-cyan-400",
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import { cn } from "@ai-matrx/design-system";
|
|
17
17
|
function ToolResultCard({
|
|
18
18
|
icon: Icon,
|
|
19
|
-
iconClassName = "text-
|
|
19
|
+
iconClassName = "text-primary",
|
|
20
20
|
title,
|
|
21
21
|
sub,
|
|
22
22
|
children,
|
|
@@ -49,7 +49,7 @@ function ToolResultCard({
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
className: cn(
|
|
52
|
-
"flex w-full cursor-pointer items-center gap-3 border border-border/50 bg-
|
|
52
|
+
"flex w-full cursor-pointer items-center gap-3 border border-border/50 bg-card px-4 py-2.5 text-left transition-colors hover:bg-accent/30",
|
|
53
53
|
showBody ? "rounded-t-xl border-b-0" : "rounded-xl"
|
|
54
54
|
),
|
|
55
55
|
children: [
|
|
@@ -61,8 +61,8 @@ function ToolResultCard({
|
|
|
61
61
|
}
|
|
62
62
|
),
|
|
63
63
|
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
64
|
-
/* @__PURE__ */ jsx("span", { className: "block break-words text-sm font-medium text-
|
|
65
|
-
sub && /* @__PURE__ */ jsx("span", { className: "block break-words text-xs text-
|
|
64
|
+
/* @__PURE__ */ jsx("span", { className: "block break-words text-sm font-medium text-foreground sm:truncate", children: title }),
|
|
65
|
+
sub && /* @__PURE__ */ jsx("span", { className: "block break-words text-xs text-muted-foreground sm:truncate", children: sub })
|
|
66
66
|
] }),
|
|
67
67
|
headerAction && /* @__PURE__ */ jsx(
|
|
68
68
|
"span",
|
|
@@ -81,7 +81,7 @@ function ToolResultCard({
|
|
|
81
81
|
tabIndex: 0,
|
|
82
82
|
onClick: (e) => e.stopPropagation(),
|
|
83
83
|
onKeyDown: (e) => e.stopPropagation(),
|
|
84
|
-
className: "flex min-h-11 shrink-0 cursor-pointer items-center gap-1.5 rounded-xl border border-border/70 bg-background/60 px-2.5 py-1.5 text-xs font-medium text-
|
|
84
|
+
className: "flex min-h-11 shrink-0 cursor-pointer items-center gap-1.5 rounded-xl border border-border/70 bg-background/60 px-2.5 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent/40 hover:text-foreground sm:min-h-0",
|
|
85
85
|
"aria-label": "Open options",
|
|
86
86
|
children: [
|
|
87
87
|
/* @__PURE__ */ jsx(PanelRightOpen, { className: "size-3.5" }),
|
|
@@ -124,7 +124,7 @@ function ToolResultCard({
|
|
|
124
124
|
]
|
|
125
125
|
}
|
|
126
126
|
),
|
|
127
|
-
showBody && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-b-xl border border-t-0 border-border/50 bg-
|
|
127
|
+
showBody && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-b-xl border border-t-0 border-border/50 bg-card", children })
|
|
128
128
|
] });
|
|
129
129
|
}
|
|
130
130
|
var ToolResultCard_default = ToolResultCard;
|
|
@@ -54,19 +54,19 @@ function ImageGenerationLoading() {
|
|
|
54
54
|
className: "absolute -inset-8 rotate-12 bg-[linear-gradient(110deg,transparent_35%,color-mix(in_oklab,var(--color-background)_80%,transparent)_50%,transparent_65%)] bg-[length:200%_100%]"
|
|
55
55
|
}
|
|
56
56
|
),
|
|
57
|
-
/* @__PURE__ */ jsx(ImageIcon, { className: "relative h-8 w-8 text-
|
|
57
|
+
/* @__PURE__ */ jsx(ImageIcon, { className: "relative h-8 w-8 text-primary" }),
|
|
58
58
|
/* @__PURE__ */ jsx(Aperture, { className: "absolute right-2 top-2 h-4 w-4 text-violet-500 animate-pulse" }),
|
|
59
59
|
/* @__PURE__ */ jsx("span", { className: "absolute bottom-2 left-2 h-1.5 w-1.5 rounded-full bg-cyan-400 shadow-[0_0_10px_2px_rgb(34_211_238_/_0.55)]" })
|
|
60
60
|
] }),
|
|
61
61
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 space-y-2.5", children: [
|
|
62
62
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
63
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-
|
|
64
|
-
/* @__PURE__ */ jsx("p", { className: "mt-0.5 text-xs leading-relaxed text-
|
|
63
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-foreground", children: "Composing your image" }),
|
|
64
|
+
/* @__PURE__ */ jsx("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: "Building the scene, details, lighting, and final finish." })
|
|
65
65
|
] }),
|
|
66
66
|
/* @__PURE__ */ jsx("div", { className: "flex gap-1.5", "aria-hidden": "true", children: [0, 1, 2, 3].map((step) => /* @__PURE__ */ jsx(
|
|
67
67
|
"span",
|
|
68
68
|
{
|
|
69
|
-
className: "h-1 flex-1 overflow-hidden rounded-full bg-
|
|
69
|
+
className: "h-1 flex-1 overflow-hidden rounded-full bg-muted",
|
|
70
70
|
children: /* @__PURE__ */ jsx(
|
|
71
71
|
"span",
|
|
72
72
|
{
|
|
@@ -94,7 +94,7 @@ function AgentCallLiveChild(props) {
|
|
|
94
94
|
if (!requestId || !child || !child.text.trim()) {
|
|
95
95
|
return /* @__PURE__ */ jsx(GenericRenderer, { ...props });
|
|
96
96
|
}
|
|
97
|
-
return /* @__PURE__ */ jsx("div", { className: "max-h-64 overflow-y-auto rounded-md border border-
|
|
97
|
+
return /* @__PURE__ */ jsx("div", { className: "max-h-64 overflow-y-auto rounded-md border border-border bg-background/60 px-3 py-2", children: /* @__PURE__ */ jsx(
|
|
98
98
|
MarkdownStream,
|
|
99
99
|
{
|
|
100
100
|
imagePolicy: "ai",
|
|
@@ -43,7 +43,7 @@ function CollabCallCard(props) {
|
|
|
43
43
|
return /* @__PURE__ */ jsxs("div", { className: "overflow-hidden rounded-xl border border-violet-500/20 bg-violet-500/[0.04] dark:bg-violet-400/[0.05]", children: [
|
|
44
44
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1 px-3 py-2", children: [
|
|
45
45
|
/* @__PURE__ */ jsx(Handshake, { className: "h-4 w-4 shrink-0 text-violet-600 dark:text-violet-400" }),
|
|
46
|
-
/* @__PURE__ */ jsxs("span", { className: "min-w-0 text-sm font-medium text-
|
|
46
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 text-sm font-medium text-foreground", children: [
|
|
47
47
|
agentLabel,
|
|
48
48
|
" ",
|
|
49
49
|
isActive ? "is reviewing" : "reviewed",
|
|
@@ -68,14 +68,14 @@ function CollabCallCard(props) {
|
|
|
68
68
|
label: MODE_CHIP[info.historyMode]
|
|
69
69
|
}
|
|
70
70
|
),
|
|
71
|
-
info.messagesIncluded !== null && /* @__PURE__ */ jsxs("span", { className: "text-xs text-
|
|
71
|
+
info.messagesIncluded !== null && /* @__PURE__ */ jsxs("span", { className: "text-xs text-muted-foreground", children: [
|
|
72
72
|
info.messagesIncluded,
|
|
73
73
|
" message",
|
|
74
74
|
info.messagesIncluded === 1 ? "" : "s",
|
|
75
75
|
" shared"
|
|
76
76
|
] })
|
|
77
77
|
] }),
|
|
78
|
-
showLiveStream && /* @__PURE__ */ jsx("div", { className: "mx-3 mb-2 max-h-64 overflow-y-auto rounded-md border border-
|
|
78
|
+
showLiveStream && /* @__PURE__ */ jsx("div", { className: "mx-3 mb-2 max-h-64 overflow-y-auto rounded-md border border-border bg-background/60 px-3 py-2", children: /* @__PURE__ */ jsx(
|
|
79
79
|
MarkdownStream,
|
|
80
80
|
{
|
|
81
81
|
imagePolicy: "ai",
|
|
@@ -112,7 +112,7 @@ function CollabCallCard(props) {
|
|
|
112
112
|
labelClassName: "text-xs"
|
|
113
113
|
}
|
|
114
114
|
),
|
|
115
|
-
info.remember?.status === "queued" && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-
|
|
115
|
+
info.remember?.status === "queued" && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
116
116
|
/* @__PURE__ */ jsx(Inbox, { className: "h-3.5 w-3.5 shrink-0 text-violet-600 dark:text-violet-400" }),
|
|
117
117
|
"Note queued for ",
|
|
118
118
|
isCurrentSource ? "this conversation" : sourceTitle ?? "the source conversation",
|
|
@@ -41,7 +41,7 @@ const ImageGenerationResult = (props) => {
|
|
|
41
41
|
e.stopPropagation();
|
|
42
42
|
onOpenOverlay(`tool-group-${groupId}`);
|
|
43
43
|
},
|
|
44
|
-
className: "group flex w-full items-center justify-between gap-2 rounded border border-border/60 px-2 py-1 text-xs text-
|
|
44
|
+
className: "group flex w-full items-center justify-between gap-2 rounded border border-border/60 px-2 py-1 text-xs text-muted-foreground transition-colors hover:border-primary/40 hover:text-foreground",
|
|
45
45
|
children: [
|
|
46
46
|
/* @__PURE__ */ jsx("span", { children: "View complete result" }),
|
|
47
47
|
/* @__PURE__ */ jsx(Maximize2, { className: "h-3 w-3 shrink-0" })
|
|
@@ -117,10 +117,10 @@ const AskInline = (props) => {
|
|
|
117
117
|
{
|
|
118
118
|
className: cn("px-4 py-2", i > 0 && "border-t border-border/30"),
|
|
119
119
|
children: [
|
|
120
|
-
/* @__PURE__ */ jsx("p", { className: "text-[13px] leading-snug text-
|
|
120
|
+
/* @__PURE__ */ jsx("p", { className: "text-[13px] leading-snug text-foreground", children: qa.question }),
|
|
121
121
|
/* @__PURE__ */ jsxs("p", { className: "mt-1 flex items-start gap-1.5 text-[13px] leading-snug", children: [
|
|
122
|
-
/* @__PURE__ */ jsx(CornerDownRight, { className: "mt-0.5 size-3 shrink-0 text-
|
|
123
|
-
qa.answer !== null ? /* @__PURE__ */ jsx("span", { className: "font-medium text-
|
|
122
|
+
/* @__PURE__ */ jsx(CornerDownRight, { className: "mt-0.5 size-3 shrink-0 text-muted-foreground" }),
|
|
123
|
+
qa.answer !== null ? /* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: qa.answer }) : /* @__PURE__ */ jsx("span", { className: "italic text-muted-foreground", children: "Awaiting answer" })
|
|
124
124
|
] })
|
|
125
125
|
]
|
|
126
126
|
},
|
|
@@ -50,12 +50,12 @@ const AskPersonInline = (props) => {
|
|
|
50
50
|
"No longer needed"
|
|
51
51
|
) : lookup.phase === "unreachable" ? "Could not load this ask" : null;
|
|
52
52
|
const body = open ? /* @__PURE__ */ jsx("div", { "data-parked-ask": "", children: /* @__PURE__ */ jsx(ActionRequestInlineAnswer, { request: open, onAnswered: rereadConversation }) }) : lookup.phase === "unreachable" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3 p-4", children: [
|
|
53
|
-
/* @__PURE__ */ jsxs("p", { className: "text-sm text-
|
|
53
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
54
54
|
"We could not reach your agent just now. Nothing was lost \u2014 try again.",
|
|
55
55
|
/* @__PURE__ */ jsx(ErrorAlchemyMenu, {})
|
|
56
56
|
] }),
|
|
57
57
|
/* @__PURE__ */ jsx(Button, { size: "sm", variant: "outline", onClick: lookup.retry, children: "Try again" })
|
|
58
|
-
] }) : lookup.phase === "closed" && cannotLook ? /* @__PURE__ */ jsx("p", { className: "p-4 text-sm text-
|
|
58
|
+
] }) : lookup.phase === "closed" && cannotLook ? /* @__PURE__ */ jsx("p", { className: "p-4 text-sm text-muted-foreground", children: "Open this ask from the chat to answer it." }) : lookup.phase === "closed" ? /* @__PURE__ */ jsx("p", { className: "p-4 text-sm text-muted-foreground", children: isTerminal(entry) && !parked ? "Done \u2014 your agent has what it asked for." : "This ask is no longer open." }) : /* @__PURE__ */ jsx("p", { className: "p-4 text-sm text-muted-foreground", children: sub });
|
|
59
59
|
if (!onToggleExpanded) {
|
|
60
60
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
61
61
|
open && open.render.form !== "questions" ? /* @__PURE__ */ jsx("p", { className: "px-4 pt-4 text-sm font-medium", children: open.render.title }) : null,
|
|
@@ -52,7 +52,7 @@ function ActivityUrl({ url }) {
|
|
|
52
52
|
target: "_blank",
|
|
53
53
|
rel: "noopener noreferrer",
|
|
54
54
|
onClick: (event) => event.stopPropagation(),
|
|
55
|
-
className: "inline-flex min-w-0 max-w-[min(22rem,48vw)] items-center gap-1 text-
|
|
55
|
+
className: "inline-flex min-w-0 max-w-[min(22rem,48vw)] items-center gap-1 text-primary hover:underline",
|
|
56
56
|
title: url,
|
|
57
57
|
children: [
|
|
58
58
|
/* @__PURE__ */ jsx("span", { className: "truncate", children: label }),
|
|
@@ -94,7 +94,7 @@ function CloudBrowserRunCard({
|
|
|
94
94
|
{
|
|
95
95
|
className: cn(
|
|
96
96
|
"min-w-0 truncate",
|
|
97
|
-
activity.isError ? "text-destructive" : "text-
|
|
97
|
+
activity.isError ? "text-destructive" : "text-muted-foreground"
|
|
98
98
|
),
|
|
99
99
|
title: activity.label,
|
|
100
100
|
children: activity.label
|
|
@@ -106,12 +106,12 @@ function CloudBrowserRunCard({
|
|
|
106
106
|
] }, entries[index]?.callId ?? index);
|
|
107
107
|
}) }),
|
|
108
108
|
/* @__PURE__ */ jsxs("details", { className: "group/details mt-1.5 border-t border-border/40 pt-1.5", children: [
|
|
109
|
-
/* @__PURE__ */ jsxs("summary", { className: "flex w-fit cursor-pointer list-none items-center gap-1.5 rounded px-1 py-0.5 text-[11px] text-
|
|
109
|
+
/* @__PURE__ */ jsxs("summary", { className: "flex w-fit cursor-pointer list-none items-center gap-1.5 rounded px-1 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-accent/40 hover:text-foreground [&::-webkit-details-marker]:hidden", children: [
|
|
110
110
|
/* @__PURE__ */ jsx(SlidersHorizontal, { className: "size-3" }),
|
|
111
111
|
"Details"
|
|
112
112
|
] }),
|
|
113
113
|
/* @__PURE__ */ jsx("div", { className: "mt-1.5 max-h-64 space-y-2 overflow-y-auto rounded-md bg-muted/30 p-2 scrollbar-thin", children: entries.map((entry, index) => /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
114
|
-
/* @__PURE__ */ jsxs("p", { className: "mb-1 text-[10px] font-medium uppercase tracking-wide text-
|
|
114
|
+
/* @__PURE__ */ jsxs("p", { className: "mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: [
|
|
115
115
|
"Step ",
|
|
116
116
|
index + 1
|
|
117
117
|
] }),
|
|
@@ -121,7 +121,7 @@ function CloudBrowserRunCard({
|
|
|
121
121
|
] });
|
|
122
122
|
if (compact) {
|
|
123
123
|
return /* @__PURE__ */ jsxs("div", { className: cn("mb-1 w-full min-w-0", className), children: [
|
|
124
|
-
/* @__PURE__ */ jsxs("div", { className: "flex min-h-7 min-w-0 items-center gap-1.5 text-[12px] text-
|
|
124
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-h-7 min-w-0 items-center gap-1.5 text-[12px] text-muted-foreground", children: [
|
|
125
125
|
/* @__PURE__ */ jsx(Globe2, { className: "size-3.5 shrink-0 text-info" }),
|
|
126
126
|
/* @__PURE__ */ jsx(Tile, { variant: "quiet", title: `Continued browsing \xB7 ${entries.length} actions`, end: expanded ? /* @__PURE__ */ jsx(ChevronDown, {}) : /* @__PURE__ */ jsx(ChevronRight, {}), onClick: onToggleExpanded, "aria-expanded": expanded, className: "min-w-0" }),
|
|
127
127
|
latestUrl && /* @__PURE__ */ jsx("span", { className: "hidden min-w-0 flex-1 sm:block", children: /* @__PURE__ */ jsx(ActivityUrl, { url: latestUrl }) }),
|
|
@@ -74,7 +74,7 @@ const CtxBatchInline = ({
|
|
|
74
74
|
);
|
|
75
75
|
}
|
|
76
76
|
if (!isTerminal(entry)) {
|
|
77
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-
|
|
77
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-muted-foreground animate-in fade-in", children: [
|
|
78
78
|
/* @__PURE__ */ jsx(Layers, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
79
79
|
/* @__PURE__ */ jsx("span", { children: "Reviewing context" })
|
|
80
80
|
] });
|
|
@@ -86,10 +86,10 @@ const CtxBatchInline = ({
|
|
|
86
86
|
const shown = parsed.results.slice(0, cap);
|
|
87
87
|
const remaining = parsed.results.length - shown.length;
|
|
88
88
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-2 animate-in fade-in", children: [
|
|
89
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs text-
|
|
89
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
90
90
|
/* @__PURE__ */ jsx(Layers, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
91
91
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
92
|
-
/* @__PURE__ */ jsx("span", { className: "font-semibold tabular-nums text-
|
|
92
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold tabular-nums text-foreground", children: parsed.count }),
|
|
93
93
|
" ",
|
|
94
94
|
"of",
|
|
95
95
|
" ",
|
|
@@ -49,12 +49,12 @@ const CtxGetInline = ({
|
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
51
|
if (view.kind === "loading") {
|
|
52
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-
|
|
52
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-muted-foreground animate-in fade-in", children: [
|
|
53
53
|
/* @__PURE__ */ jsx(Search, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
54
54
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
55
55
|
"Looking up",
|
|
56
56
|
" ",
|
|
57
|
-
keyArg ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
57
|
+
keyArg ? /* @__PURE__ */ jsx("span", { className: "text-foreground", children: contextEntryLabel({ key: keyArg }) }) : "context"
|
|
58
58
|
] })
|
|
59
59
|
] });
|
|
60
60
|
}
|
|
@@ -52,16 +52,16 @@ const CtxItemCard = ({
|
|
|
52
52
|
"div",
|
|
53
53
|
{
|
|
54
54
|
className: cn(
|
|
55
|
-
"rounded-lg border border-
|
|
55
|
+
"rounded-lg border border-border bg-card p-3 space-y-2",
|
|
56
56
|
className
|
|
57
57
|
),
|
|
58
58
|
children: [
|
|
59
59
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
60
|
-
/* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded bg-
|
|
60
|
+
/* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded bg-muted text-muted-foreground", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5" }) }),
|
|
61
61
|
/* @__PURE__ */ jsx(
|
|
62
62
|
"span",
|
|
63
63
|
{
|
|
64
|
-
className: "min-w-0 truncate font-medium text-
|
|
64
|
+
className: "min-w-0 truncate font-medium text-foreground",
|
|
65
65
|
title: showKey ? item.key : void 0,
|
|
66
66
|
children: label
|
|
67
67
|
}
|
|
@@ -62,26 +62,26 @@ const CtxPatchConfirmation = ({
|
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
if (!isTerminal(entry)) {
|
|
65
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-
|
|
65
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-1.5 text-xs text-muted-foreground animate-in fade-in", children: [
|
|
66
66
|
/* @__PURE__ */ jsx(FilePen, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
67
67
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
68
68
|
"Updating",
|
|
69
69
|
" ",
|
|
70
|
-
data.key ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
70
|
+
data.key ? /* @__PURE__ */ jsx("span", { className: "text-foreground", children: contextEntryLabel({ key: data.key }) }) : "context"
|
|
71
71
|
] })
|
|
72
72
|
] });
|
|
73
73
|
}
|
|
74
|
-
return /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-
|
|
74
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-border bg-card p-3 space-y-2 animate-in fade-in", children: [
|
|
75
75
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
76
|
-
/* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-
|
|
77
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm text-
|
|
76
|
+
/* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 shrink-0 text-primary" }),
|
|
77
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm text-foreground", children: [
|
|
78
78
|
"Updated",
|
|
79
79
|
" ",
|
|
80
80
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: data.key ? contextEntryLabel({ key: data.key }) : "context" })
|
|
81
81
|
] }),
|
|
82
82
|
data.command && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "ml-auto font-mono font-normal", children: data.command })
|
|
83
83
|
] }),
|
|
84
|
-
data.preview != null && /* @__PURE__ */ jsx("div", { className: "min-w-0 border-t border-
|
|
84
|
+
data.preview != null && /* @__PURE__ */ jsx("div", { className: "min-w-0 border-t border-border pt-2", children: /* @__PURE__ */ jsx(ResultValue, { value: data.preview, density }) })
|
|
85
85
|
] });
|
|
86
86
|
};
|
|
87
87
|
export {
|
|
@@ -6,18 +6,18 @@ function hasDetail(e) {
|
|
|
6
6
|
}
|
|
7
7
|
function DictPeekBody({ e }) {
|
|
8
8
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
9
|
-
e.pronunciation || e.ipa ? /* @__PURE__ */ jsxs("div", { className: "font-mono text-
|
|
9
|
+
e.pronunciation || e.ipa ? /* @__PURE__ */ jsxs("div", { className: "font-mono text-muted-foreground", children: [
|
|
10
10
|
e.pronunciation ? `/${e.pronunciation}/` : "",
|
|
11
11
|
e.ipa ? ` ${e.ipa}` : ""
|
|
12
12
|
] }) : null,
|
|
13
|
-
e.definition ? /* @__PURE__ */ jsx("div", { className: "text-
|
|
14
|
-
e.soundsLike.length ? /* @__PURE__ */ jsxs("div", { className: "text-
|
|
15
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-
|
|
13
|
+
e.definition ? /* @__PURE__ */ jsx("div", { className: "text-foreground", children: e.definition }) : null,
|
|
14
|
+
e.soundsLike.length ? /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground", children: [
|
|
15
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: "Sounds like:" }),
|
|
16
16
|
" ",
|
|
17
17
|
e.soundsLike.join(", ")
|
|
18
18
|
] }) : null,
|
|
19
|
-
e.category ? /* @__PURE__ */ jsxs("div", { className: "text-
|
|
20
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-
|
|
19
|
+
e.category ? /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground", children: [
|
|
20
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: "Category:" }),
|
|
21
21
|
" ",
|
|
22
22
|
e.category
|
|
23
23
|
] }) : null
|
|
@@ -27,16 +27,16 @@ function DictEntryList({ entries }) {
|
|
|
27
27
|
return /* @__PURE__ */ jsx("div", { className: "divide-y divide-border", children: entries.map((e, i) => {
|
|
28
28
|
const row = /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 transition-colors hover:bg-muted/40", children: [
|
|
29
29
|
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
30
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-
|
|
31
|
-
e.pronunciation ? /* @__PURE__ */ jsxs("span", { className: "text-xs text-
|
|
30
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: e.term }),
|
|
31
|
+
e.pronunciation ? /* @__PURE__ */ jsxs("span", { className: "text-xs text-muted-foreground", children: [
|
|
32
32
|
"/",
|
|
33
33
|
e.pronunciation,
|
|
34
34
|
"/"
|
|
35
|
-
] }) : e.ipa ? /* @__PURE__ */ jsx("span", { className: "text-xs text-
|
|
36
|
-
e.category ? /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 rounded-full bg-
|
|
35
|
+
] }) : e.ipa ? /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: e.ipa }) : null,
|
|
36
|
+
e.category ? /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: e.category }) : null
|
|
37
37
|
] }),
|
|
38
|
-
e.definition ? /* @__PURE__ */ jsx("p", { className: "mt-0.5 line-clamp-2 text-xs text-
|
|
39
|
-
e.soundsLike.length ? /* @__PURE__ */ jsxs("p", { className: "mt-0.5 text-[11px] text-
|
|
38
|
+
e.definition ? /* @__PURE__ */ jsx("p", { className: "mt-0.5 line-clamp-2 text-xs text-muted-foreground", children: e.definition }) : null,
|
|
39
|
+
e.soundsLike.length ? /* @__PURE__ */ jsxs("p", { className: "mt-0.5 text-[11px] text-muted-foreground", children: [
|
|
40
40
|
"Sounds like: ",
|
|
41
41
|
e.soundsLike.join(", ")
|
|
42
42
|
] }) : null
|
|
@@ -7,23 +7,23 @@ import { DictEntryList } from "./DictEntryList.js";
|
|
|
7
7
|
function DictionaryOverlay({ entry }) {
|
|
8
8
|
const { entries, level } = useMemo(() => parseDictionary(entry), [entry]);
|
|
9
9
|
if (!entries.length) {
|
|
10
|
-
return /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-
|
|
10
|
+
return /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-muted-foreground", children: "No dictionary entries to display" });
|
|
11
11
|
}
|
|
12
12
|
return /* @__PURE__ */ jsxs("div", { className: "h-full overflow-y-auto bg-muted/30 p-4", children: [
|
|
13
|
-
/* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-2 text-sm font-medium text-
|
|
14
|
-
/* @__PURE__ */ jsx(BookText, { className: "h-4 w-4 text-
|
|
13
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-2 text-sm font-medium text-foreground", children: [
|
|
14
|
+
/* @__PURE__ */ jsx(BookText, { className: "h-4 w-4 text-primary" }),
|
|
15
15
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16
16
|
entries.length,
|
|
17
17
|
" ",
|
|
18
18
|
entries.length === 1 ? "term" : "terms"
|
|
19
19
|
] }),
|
|
20
|
-
level ? /* @__PURE__ */ jsxs("span", { className: "text-xs capitalize text-
|
|
20
|
+
level ? /* @__PURE__ */ jsxs("span", { className: "text-xs capitalize text-muted-foreground", children: [
|
|
21
21
|
"\xB7 ",
|
|
22
22
|
level.replace(/_/g, " "),
|
|
23
23
|
" dictionary"
|
|
24
24
|
] }) : null
|
|
25
25
|
] }),
|
|
26
|
-
/* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg border border-
|
|
26
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg border border-border bg-card", children: /* @__PURE__ */ jsx(DictEntryList, { entries }) })
|
|
27
27
|
] });
|
|
28
28
|
}
|
|
29
29
|
export {
|
|
@@ -62,9 +62,9 @@ const FsEntryRow = ({
|
|
|
62
62
|
withTopBorder && (indent ? "border-t border-border/20" : "border-t border-border/30")
|
|
63
63
|
),
|
|
64
64
|
children: [
|
|
65
|
-
e.isDir ? /* @__PURE__ */ jsx(Folder, { className: "size-3.5 shrink-0 text-sky-600/70 dark:text-sky-400/70" }) : /* @__PURE__ */ jsx(File, { className: "size-3.5 shrink-0 text-
|
|
66
|
-
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-[13px] text-
|
|
67
|
-
!e.isDir && e.size !== null && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs tabular-nums text-
|
|
65
|
+
e.isDir ? /* @__PURE__ */ jsx(Folder, { className: "size-3.5 shrink-0 text-sky-600/70 dark:text-sky-400/70" }) : /* @__PURE__ */ jsx(File, { className: "size-3.5 shrink-0 text-muted-foreground" }),
|
|
66
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-[13px] text-foreground", children: e.name }),
|
|
67
|
+
!e.isDir && e.size !== null && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: formatFileSize(e.size) })
|
|
68
68
|
]
|
|
69
69
|
}
|
|
70
70
|
);
|
|
@@ -157,16 +157,16 @@ const FsBatchCard = ({ listings, className }) => {
|
|
|
157
157
|
),
|
|
158
158
|
children: [
|
|
159
159
|
/* @__PURE__ */ jsx(Folder, { className: "size-3.5 shrink-0 text-sky-600/70 dark:text-sky-400/70" }),
|
|
160
|
-
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1 truncate text-[13px] text-
|
|
160
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1 truncate text-[13px] text-foreground", children: [
|
|
161
161
|
basename(l.path),
|
|
162
|
-
/* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-
|
|
162
|
+
/* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: l.path })
|
|
163
163
|
] }),
|
|
164
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs text-
|
|
164
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: countsLabel(l.entries) }),
|
|
165
165
|
/* @__PURE__ */ jsx(
|
|
166
166
|
ChevronRight,
|
|
167
167
|
{
|
|
168
168
|
className: cn(
|
|
169
|
-
"size-3 shrink-0 text-
|
|
169
|
+
"size-3 shrink-0 text-muted-foreground transition-transform",
|
|
170
170
|
open[i] && "rotate-90"
|
|
171
171
|
)
|
|
172
172
|
}
|
|
@@ -47,21 +47,21 @@ const NewsInline = ({
|
|
|
47
47
|
const data = useMemo(() => parseNewsData(entry), [entry]);
|
|
48
48
|
if (data.isLoading) {
|
|
49
49
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-3 animate-in fade-in", children: [
|
|
50
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-
|
|
51
|
-
/* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin text-
|
|
50
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
51
|
+
/* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin text-primary" }),
|
|
52
52
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
53
53
|
"Fetching news",
|
|
54
54
|
data.query ? ` for "${data.query}"` : "",
|
|
55
55
|
"..."
|
|
56
56
|
] })
|
|
57
57
|
] }),
|
|
58
|
-
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs("div", { className: "rounded-lg bg-
|
|
59
|
-
/* @__PURE__ */ jsx("div", { className: "w-full aspect-video bg-
|
|
58
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs("div", { className: "rounded-lg bg-card border border-border overflow-hidden", children: [
|
|
59
|
+
/* @__PURE__ */ jsx("div", { className: "w-full aspect-video bg-muted animate-pulse" }),
|
|
60
60
|
/* @__PURE__ */ jsxs("div", { className: "p-3 space-y-2", children: [
|
|
61
|
-
/* @__PURE__ */ jsx("div", { className: "h-3 bg-
|
|
62
|
-
/* @__PURE__ */ jsx("div", { className: "h-4 bg-
|
|
63
|
-
/* @__PURE__ */ jsx("div", { className: "h-4 bg-
|
|
64
|
-
/* @__PURE__ */ jsx("div", { className: "h-3 bg-
|
|
61
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 bg-muted animate-pulse rounded w-24" }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: "h-4 bg-muted animate-pulse rounded w-full" }),
|
|
63
|
+
/* @__PURE__ */ jsx("div", { className: "h-4 bg-muted animate-pulse rounded w-3/4" }),
|
|
64
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 bg-muted animate-pulse rounded w-20" })
|
|
65
65
|
] })
|
|
66
66
|
] }, i)) })
|
|
67
67
|
] });
|
|
@@ -74,7 +74,7 @@ const NewsInline = ({
|
|
|
74
74
|
] });
|
|
75
75
|
}
|
|
76
76
|
if (data.isComplete && data.articles.length === 0) {
|
|
77
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-
|
|
77
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground py-3", children: [
|
|
78
78
|
/* @__PURE__ */ jsx(Newspaper, { className: "w-4 h-4 flex-shrink-0" }),
|
|
79
79
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
80
80
|
"No articles found",
|
|
@@ -92,14 +92,14 @@ const NewsInline = ({
|
|
|
92
92
|
href: article.url,
|
|
93
93
|
target: "_blank",
|
|
94
94
|
rel: "noopener noreferrer",
|
|
95
|
-
className: "group block bg-
|
|
95
|
+
className: "group block bg-card rounded-lg border border-border overflow-hidden hover:border-primary/30 hover:shadow-md transition-all duration-200 animate-in fade-in zoom-in-95",
|
|
96
96
|
style: {
|
|
97
97
|
animationDelay: `${index * 80}ms`,
|
|
98
98
|
animationDuration: "300ms",
|
|
99
99
|
animationFillMode: "backwards"
|
|
100
100
|
},
|
|
101
101
|
children: [
|
|
102
|
-
article.url_to_image ? /* @__PURE__ */ jsxs("div", { className: "relative w-full aspect-video bg-
|
|
102
|
+
article.url_to_image ? /* @__PURE__ */ jsxs("div", { className: "relative w-full aspect-video bg-muted overflow-hidden", children: [
|
|
103
103
|
/* @__PURE__ */ jsx(
|
|
104
104
|
"img",
|
|
105
105
|
{
|
|
@@ -112,15 +112,15 @@ const NewsInline = ({
|
|
|
112
112
|
}
|
|
113
113
|
),
|
|
114
114
|
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity" })
|
|
115
|
-
] }) : /* @__PURE__ */ jsx("div", { className: "w-full aspect-video bg-
|
|
115
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "w-full aspect-video bg-muted flex items-center justify-center", children: /* @__PURE__ */ jsx(Newspaper, { className: "w-10 h-10 text-muted-foreground/30" }) }),
|
|
116
116
|
/* @__PURE__ */ jsxs("div", { className: "p-3 space-y-1.5", children: [
|
|
117
117
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
118
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-
|
|
119
|
-
/* @__PURE__ */ jsx(ExternalLink, { className: "w-3 h-3 text-
|
|
118
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-primary truncate", children: article.source?.name }),
|
|
119
|
+
/* @__PURE__ */ jsx(ExternalLink, { className: "w-3 h-3 text-muted-foreground flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity" })
|
|
120
120
|
] }),
|
|
121
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
122
|
-
article.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
123
|
-
article.published_at && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-xs text-
|
|
121
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground line-clamp-2 group-hover:text-primary transition-colors leading-snug", children: article.title }),
|
|
122
|
+
article.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground line-clamp-2", children: article.description }),
|
|
123
|
+
article.published_at && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-xs text-muted-foreground", children: [
|
|
124
124
|
/* @__PURE__ */ jsx(Calendar, { className: "w-3 h-3 flex-shrink-0" }),
|
|
125
125
|
/* @__PURE__ */ jsx("span", { children: new Date(article.published_at).toLocaleDateString("en-US", {
|
|
126
126
|
month: "short",
|