@tangle-network/ui 11.8.0 → 11.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +14 -0
- package/dist/auth.js +3 -2
- package/dist/chat.js +10 -9
- package/dist/{chunk-WUQDUBJG.js → chunk-3XXBZL53.js} +7 -1
- package/dist/{chunk-MKTSMWVD.js → chunk-42PAH5D2.js} +4 -1
- package/dist/{chunk-LDLOJKPC.js → chunk-55WHV7SS.js} +49 -30
- package/dist/{chunk-3M7BPSSW.js → chunk-BEBXZPHW.js} +4 -4
- package/dist/{chunk-X53RZSX6.js → chunk-C5WF4WMV.js} +12 -6
- package/dist/{chunk-NWECTSOH.js → chunk-HMAPIH7L.js} +9 -3
- package/dist/{chunk-QGTIBEPX.js → chunk-K5XFRUS4.js} +9 -3
- package/dist/{chunk-NKDZ7GZE.js → chunk-KFQGHD73.js} +8 -2
- package/dist/{chunk-GYPQXTJU.js → chunk-M3QZK62R.js} +5 -2
- package/dist/{chunk-P5F43A65.js → chunk-OL5GYLHV.js} +3 -2
- package/dist/{chunk-Q7ZR6LSD.js → chunk-QGFYBNSO.js} +2 -2
- package/dist/{chunk-KNYSKNZX.js → chunk-R7B3UWPF.js} +2 -2
- package/dist/{chunk-Q56BYXQF.js → chunk-R7SUY4E3.js} +8 -4
- package/dist/chunk-WKWBTL2V.js +15 -0
- package/dist/{chunk-BWOUSEHM.js → chunk-X7CU776B.js} +1 -1
- package/dist/{chunk-OXZRCXJK.js → chunk-YU4E5J2N.js} +3 -3
- package/dist/{chunk-XGOWUDDW.js → chunk-YZ6AK25N.js} +20 -9
- package/dist/document-editor-pane-QHDOBA43.js +13 -0
- package/dist/editor.js +5 -4
- package/dist/files.js +5 -4
- package/dist/hooks.js +7 -6
- package/dist/index.d.ts +2 -1
- package/dist/index.js +28 -16
- package/dist/markdown.d.ts +4 -1
- package/dist/markdown.js +3 -2
- package/dist/openui.js +6 -5
- package/dist/primitives.d.ts +2 -0
- package/dist/primitives.js +6 -5
- package/dist/run.js +10 -9
- package/dist/sdk-hooks.js +7 -6
- package/dist/tool-previews.js +3 -2
- package/dist/utils.d.ts +54 -1
- package/dist/utils.js +13 -1
- package/package.json +3 -3
- package/src/auth/auth.tsx +5 -1
- package/src/chat/agent-timeline.tsx +6 -1
- package/src/chat/chat-container.tsx +2 -1
- package/src/editor/document-editor-pane.test.tsx +3 -1
- package/src/editor/document-editor-pane.tsx +5 -1
- package/src/editor/markdown-document-editor.test.tsx +9 -4
- package/src/files/file-artifact-pane.tsx +3 -2
- package/src/files/file-preview.tsx +3 -1
- package/src/files/file-tabs.tsx +9 -2
- package/src/lib/focus.ts +63 -0
- package/src/markdown/code-block.tsx +5 -1
- package/src/markdown/markdown.test.tsx +26 -2
- package/src/markdown/markdown.tsx +5 -2
- package/src/primitives/badge.tsx +2 -1
- package/src/primitives/button.tsx +2 -1
- package/src/primitives/card.tsx +1 -2
- package/src/primitives/dialog.tsx +7 -1
- package/src/primitives/input.tsx +15 -14
- package/src/primitives/segmented-control.tsx +5 -3
- package/src/primitives/select.tsx +3 -1
- package/src/primitives/switch.tsx +3 -1
- package/src/primitives/tabs.tsx +6 -4
- package/src/primitives/terminal-display.tsx +6 -8
- package/src/primitives/toast.tsx +5 -1
- package/src/tool-previews/command-preview.tsx +5 -1
- package/src/tool-previews/web-search-preview.tsx +2 -1
- package/src/utils/index.ts +7 -0
- package/dist/document-editor-pane-A3JURPW5.js +0 -12
- /package/dist/{chunk-XGKULLYE.js → chunk-SNLR2AEA.js} +0 -0
|
@@ -10,17 +10,21 @@ import {
|
|
|
10
10
|
} from "./chunk-XU3HB5QL.js";
|
|
11
11
|
import {
|
|
12
12
|
Button
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-42PAH5D2.js";
|
|
14
14
|
import {
|
|
15
15
|
ArtifactPane
|
|
16
16
|
} from "./chunk-LTEKI7YJ.js";
|
|
17
17
|
import {
|
|
18
18
|
Markdown
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OL5GYLHV.js";
|
|
20
20
|
import {
|
|
21
21
|
CodeBlock,
|
|
22
22
|
CopyButton
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-3XXBZL53.js";
|
|
24
|
+
import {
|
|
25
|
+
focusRing,
|
|
26
|
+
focusRingInset
|
|
27
|
+
} from "./chunk-WKWBTL2V.js";
|
|
24
28
|
import {
|
|
25
29
|
cn
|
|
26
30
|
} from "./chunk-RQHJBTEU.js";
|
|
@@ -456,7 +460,8 @@ function ImagePreview({ src, filename }) {
|
|
|
456
460
|
"aria-pressed": naturalSize,
|
|
457
461
|
"aria-label": naturalSize ? "Fit image to pane" : "Show image at natural size",
|
|
458
462
|
className: cn(
|
|
459
|
-
"flex items-center justify-center
|
|
463
|
+
"flex items-center justify-center",
|
|
464
|
+
focusRingInset,
|
|
460
465
|
naturalSize ? "m-auto cursor-zoom-out" : "h-full w-full cursor-zoom-in p-4"
|
|
461
466
|
),
|
|
462
467
|
children: /* @__PURE__ */ jsx3(
|
|
@@ -689,7 +694,10 @@ function FileTabs({ tabs, activeId, onSelect, onClose, className }) {
|
|
|
689
694
|
{
|
|
690
695
|
type: "button",
|
|
691
696
|
onClick: () => onSelect(tab.id),
|
|
692
|
-
className:
|
|
697
|
+
className: cn(
|
|
698
|
+
"flex min-w-0 items-center gap-1.5 px-3 py-1.5 text-xs transition-colors hover:text-foreground",
|
|
699
|
+
focusRingInset
|
|
700
|
+
),
|
|
693
701
|
children: [
|
|
694
702
|
/* @__PURE__ */ jsx4(Icon, { className: "h-3 w-3 shrink-0" }),
|
|
695
703
|
/* @__PURE__ */ jsx4("span", { className: "max-w-[120px] truncate", children: tab.name }),
|
|
@@ -703,7 +711,10 @@ function FileTabs({ tabs, activeId, onSelect, onClose, className }) {
|
|
|
703
711
|
type: "button",
|
|
704
712
|
"aria-label": `Close ${tab.name}`,
|
|
705
713
|
onClick: () => onClose(tab.id),
|
|
706
|
-
className:
|
|
714
|
+
className: cn(
|
|
715
|
+
"mr-1 rounded p-0.5 opacity-0 transition-opacity hover:bg-accent focus-visible:opacity-100 group-hover:opacity-100",
|
|
716
|
+
focusRing
|
|
717
|
+
),
|
|
707
718
|
children: /* @__PURE__ */ jsx4(X2, { className: "h-2.5 w-2.5" })
|
|
708
719
|
}
|
|
709
720
|
)
|
|
@@ -719,7 +730,7 @@ import { lazy, Suspense } from "react";
|
|
|
719
730
|
import { Download as Download2, X as X3 } from "lucide-react";
|
|
720
731
|
import { Fragment, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
721
732
|
var LazyDocumentEditorPane = lazy(async () => {
|
|
722
|
-
const module = await import("./document-editor-pane-
|
|
733
|
+
const module = await import("./document-editor-pane-QHDOBA43.js");
|
|
723
734
|
return { default: module.DocumentEditorPane };
|
|
724
735
|
});
|
|
725
736
|
function FileArtifactPane({
|
|
@@ -763,7 +774,7 @@ function FileArtifactPane({
|
|
|
763
774
|
type: "button",
|
|
764
775
|
"aria-label": `Download ${filename}`,
|
|
765
776
|
onClick: onDownload,
|
|
766
|
-
className:
|
|
777
|
+
className: `rounded-[var(--radius-sm)] p-1.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground ${focusRing}`,
|
|
767
778
|
children: /* @__PURE__ */ jsx5(Download2, { className: "h-4 w-4" })
|
|
768
779
|
}
|
|
769
780
|
),
|
|
@@ -773,7 +784,7 @@ function FileArtifactPane({
|
|
|
773
784
|
type: "button",
|
|
774
785
|
"aria-label": `Close ${filename}`,
|
|
775
786
|
onClick: onClose,
|
|
776
|
-
className:
|
|
787
|
+
className: `rounded-[var(--radius-sm)] p-1.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground ${focusRing}`,
|
|
777
788
|
children: /* @__PURE__ */ jsx5(X3, { className: "h-4 w-4" })
|
|
778
789
|
}
|
|
779
790
|
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
DocumentEditorPane
|
|
4
|
+
} from "./chunk-K5XFRUS4.js";
|
|
5
|
+
import "./chunk-R7SUY4E3.js";
|
|
6
|
+
import "./chunk-LTEKI7YJ.js";
|
|
7
|
+
import "./chunk-OL5GYLHV.js";
|
|
8
|
+
import "./chunk-3XXBZL53.js";
|
|
9
|
+
import "./chunk-WKWBTL2V.js";
|
|
10
|
+
import "./chunk-RQHJBTEU.js";
|
|
11
|
+
export {
|
|
12
|
+
DocumentEditorPane
|
|
13
|
+
};
|
package/dist/editor.js
CHANGED
|
@@ -11,11 +11,12 @@ import {
|
|
|
11
11
|
useEditorConnection,
|
|
12
12
|
useEditorContext,
|
|
13
13
|
useYjsState
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-K5XFRUS4.js";
|
|
15
|
+
import "./chunk-R7SUY4E3.js";
|
|
16
16
|
import "./chunk-LTEKI7YJ.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-OL5GYLHV.js";
|
|
18
|
+
import "./chunk-3XXBZL53.js";
|
|
19
|
+
import "./chunk-WKWBTL2V.js";
|
|
19
20
|
import "./chunk-RQHJBTEU.js";
|
|
20
21
|
export {
|
|
21
22
|
CollaboratorsList,
|
package/dist/files.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
RichFileTree,
|
|
8
8
|
filterFileTree,
|
|
9
9
|
parseCsv
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YZ6AK25N.js";
|
|
11
11
|
import "./chunk-4CLN43XT.js";
|
|
12
12
|
import {
|
|
13
13
|
detectFileFormat,
|
|
@@ -17,10 +17,11 @@ import {
|
|
|
17
17
|
getSyntaxLanguage,
|
|
18
18
|
resolveFilePreviewKind
|
|
19
19
|
} from "./chunk-XU3HB5QL.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-42PAH5D2.js";
|
|
21
21
|
import "./chunk-LTEKI7YJ.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-OL5GYLHV.js";
|
|
23
|
+
import "./chunk-3XXBZL53.js";
|
|
24
|
+
import "./chunk-WKWBTL2V.js";
|
|
24
25
|
import "./chunk-RQHJBTEU.js";
|
|
25
26
|
export {
|
|
26
27
|
CSV_PREVIEW_ROW_LIMIT,
|
package/dist/hooks.js
CHANGED
|
@@ -11,22 +11,23 @@ import {
|
|
|
11
11
|
useSSEStream,
|
|
12
12
|
useSdkSession,
|
|
13
13
|
useToolCallStream
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-X7CU776B.js";
|
|
15
15
|
import "./chunk-OEX7NZE3.js";
|
|
16
16
|
import {
|
|
17
17
|
useAutoScroll,
|
|
18
18
|
useRunCollapseState,
|
|
19
19
|
useRunGroups
|
|
20
20
|
} from "./chunk-565EATZZ.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-QGFYBNSO.js";
|
|
22
|
+
import "./chunk-R7B3UWPF.js";
|
|
23
23
|
import "./chunk-ND3ZFXQK.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-HMAPIH7L.js";
|
|
25
25
|
import "./chunk-L57WRIND.js";
|
|
26
26
|
import "./chunk-4CLN43XT.js";
|
|
27
27
|
import "./chunk-XU3HB5QL.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-OL5GYLHV.js";
|
|
29
|
+
import "./chunk-3XXBZL53.js";
|
|
30
|
+
import "./chunk-WKWBTL2V.js";
|
|
30
31
|
import "./chunk-RQHJBTEU.js";
|
|
31
32
|
export {
|
|
32
33
|
RealtimeSessionRegistry,
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { S as SessionMessage } from './message-BHWbxBtT.js';
|
|
|
19
19
|
export { R as ReasoningPart, S as SessionPart, T as TextPart, a as ToolPart, b as ToolState, c as ToolStatus, d as ToolTime } from './parts-dj7AcUg0.js';
|
|
20
20
|
export { F as FinalTextPart, G as GroupedMessage, M as MessageRun, a as MessageUser, R as Run, b as RunStats, T as ToolCategory } from './run-PfLmDAox.js';
|
|
21
21
|
export { C as CustomToolRenderer, D as DisplayVariant, T as ToolDisplayMetadata } from './tool-display-z4JcDmMQ.js';
|
|
22
|
-
export { TOOL_CATEGORY_ICONS, cn, copyText, formatBytes, formatDuration, formatUptime, getToolCategory, getToolDisplayMetadata, getToolErrorText, timeAgo, truncateText } from './utils.js';
|
|
22
|
+
export { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatUptime, getToolCategory, getToolDisplayMetadata, getToolErrorText, timeAgo, truncateText } from './utils.js';
|
|
23
23
|
export { CommandPreview, CommandPreviewProps, DiffPreview, DiffPreviewProps, GlobResultsPreview, GlobResultsPreviewProps, GrepResultsPreview, GrepResultsPreviewProps, QuestionPreview, QuestionPreviewProps, WebSearchPreview, WebSearchPreviewProps, WriteFilePreview, WriteFilePreviewProps } from './tool-previews.js';
|
|
24
24
|
export { RedactedDocSegment, RedactedDocument, RedactedDocumentData, RedactedDocumentProps, RevealResult } from './redaction.js';
|
|
25
25
|
import 'class-variance-authority/types';
|
|
@@ -38,5 +38,6 @@ import '@pierre/trees';
|
|
|
38
38
|
import './document-editor-pane-IAEQn_Dl.js';
|
|
39
39
|
import '@hocuspocus/provider';
|
|
40
40
|
import 'yjs';
|
|
41
|
+
import 'react-markdown';
|
|
41
42
|
import 'nanostores';
|
|
42
43
|
import 'clsx';
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
GitHubLoginButton,
|
|
7
7
|
LoginLayout,
|
|
8
8
|
UserMenu
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KFQGHD73.js";
|
|
10
10
|
import {
|
|
11
11
|
createAuthFetcher,
|
|
12
12
|
useApiKey,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
useSSEStream,
|
|
21
21
|
useSdkSession,
|
|
22
22
|
useToolCallStream
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-X7CU776B.js";
|
|
24
24
|
import {
|
|
25
25
|
addMessage,
|
|
26
26
|
addParts,
|
|
@@ -64,7 +64,7 @@ import "./chunk-6BGQA4BQ.js";
|
|
|
64
64
|
import {
|
|
65
65
|
copyText,
|
|
66
66
|
timeAgo
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-SNLR2AEA.js";
|
|
68
68
|
import "./chunk-3OI2QKFD.js";
|
|
69
69
|
import {
|
|
70
70
|
Dialog,
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
UploadProgress,
|
|
119
119
|
useTheme,
|
|
120
120
|
useToast
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-55WHV7SS.js";
|
|
122
122
|
import {
|
|
123
123
|
Avatar,
|
|
124
124
|
AvatarFallback,
|
|
@@ -146,7 +146,7 @@ import {
|
|
|
146
146
|
MessageList,
|
|
147
147
|
ThinkingIndicator,
|
|
148
148
|
UserMessage
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-C5WF4WMV.js";
|
|
150
150
|
import {
|
|
151
151
|
useAutoScroll,
|
|
152
152
|
useRunCollapseState,
|
|
@@ -158,17 +158,17 @@ import {
|
|
|
158
158
|
import {
|
|
159
159
|
ToolCallFeed,
|
|
160
160
|
parseToolEvent
|
|
161
|
-
} from "./chunk-
|
|
161
|
+
} from "./chunk-QGFYBNSO.js";
|
|
162
162
|
import {
|
|
163
163
|
InlineThinkingItem,
|
|
164
164
|
RunGroup
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-YU4E5J2N.js";
|
|
166
166
|
import {
|
|
167
167
|
ExpandedToolDetail,
|
|
168
168
|
InlineToolItem,
|
|
169
169
|
RunRowShell,
|
|
170
170
|
RunRowStatusDot
|
|
171
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-R7B3UWPF.js";
|
|
172
172
|
import {
|
|
173
173
|
TOOL_CATEGORY_ICONS,
|
|
174
174
|
getToolCategory,
|
|
@@ -183,14 +183,14 @@ import {
|
|
|
183
183
|
QuestionPreview,
|
|
184
184
|
WebSearchPreview,
|
|
185
185
|
WriteFilePreview
|
|
186
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-HMAPIH7L.js";
|
|
187
187
|
import {
|
|
188
188
|
TextShimmer
|
|
189
189
|
} from "./chunk-L57WRIND.js";
|
|
190
190
|
import "./chunk-RQGKSCEZ.js";
|
|
191
191
|
import {
|
|
192
192
|
OpenUIArtifactRenderer
|
|
193
|
-
} from "./chunk-
|
|
193
|
+
} from "./chunk-BEBXZPHW.js";
|
|
194
194
|
import {
|
|
195
195
|
Badge,
|
|
196
196
|
Card,
|
|
@@ -209,7 +209,7 @@ import {
|
|
|
209
209
|
TableHeader,
|
|
210
210
|
TableRow,
|
|
211
211
|
badgeVariants
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-M3QZK62R.js";
|
|
213
213
|
import {
|
|
214
214
|
CSV_PREVIEW_ROW_LIMIT,
|
|
215
215
|
FileArtifactPane,
|
|
@@ -219,7 +219,7 @@ import {
|
|
|
219
219
|
RichFileTree,
|
|
220
220
|
filterFileTree,
|
|
221
221
|
parseCsv
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-YZ6AK25N.js";
|
|
223
223
|
import {
|
|
224
224
|
formatBytes,
|
|
225
225
|
formatDuration,
|
|
@@ -237,24 +237,31 @@ import {
|
|
|
237
237
|
import {
|
|
238
238
|
Button,
|
|
239
239
|
buttonVariants
|
|
240
|
-
} from "./chunk-
|
|
240
|
+
} from "./chunk-42PAH5D2.js";
|
|
241
241
|
import {
|
|
242
242
|
Tabs,
|
|
243
243
|
TabsContent,
|
|
244
244
|
TabsList,
|
|
245
245
|
TabsTrigger
|
|
246
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-R7SUY4E3.js";
|
|
247
247
|
import {
|
|
248
248
|
ArtifactPane
|
|
249
249
|
} from "./chunk-LTEKI7YJ.js";
|
|
250
250
|
import "./chunk-5Z5ZYMOJ.js";
|
|
251
251
|
import {
|
|
252
252
|
Markdown
|
|
253
|
-
} from "./chunk-
|
|
253
|
+
} from "./chunk-OL5GYLHV.js";
|
|
254
254
|
import {
|
|
255
255
|
CodeBlock,
|
|
256
256
|
CopyButton
|
|
257
|
-
} from "./chunk-
|
|
257
|
+
} from "./chunk-3XXBZL53.js";
|
|
258
|
+
import {
|
|
259
|
+
focusField,
|
|
260
|
+
focusFieldInvalid,
|
|
261
|
+
focusFieldWithin,
|
|
262
|
+
focusRing,
|
|
263
|
+
focusRingInset
|
|
264
|
+
} from "./chunk-WKWBTL2V.js";
|
|
258
265
|
import {
|
|
259
266
|
cn
|
|
260
267
|
} from "./chunk-RQHJBTEU.js";
|
|
@@ -400,6 +407,11 @@ export {
|
|
|
400
407
|
detectFileFormat,
|
|
401
408
|
fileExtension,
|
|
402
409
|
filterFileTree,
|
|
410
|
+
focusField,
|
|
411
|
+
focusFieldInvalid,
|
|
412
|
+
focusFieldWithin,
|
|
413
|
+
focusRing,
|
|
414
|
+
focusRingInset,
|
|
403
415
|
formatBytes,
|
|
404
416
|
formatDuration,
|
|
405
417
|
formatUptime,
|
package/dist/markdown.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { UrlTransform } from 'react-markdown';
|
|
3
4
|
export { C as CodeBlock, a as CodeBlockProps, b as CopyButton } from './code-block-0kSpWMnf.js';
|
|
4
5
|
|
|
5
6
|
interface MarkdownProps {
|
|
6
7
|
children: string;
|
|
7
8
|
className?: string;
|
|
9
|
+
/** Transform parsed link and image URLs before sanitisation. */
|
|
10
|
+
urlTransform?: UrlTransform;
|
|
8
11
|
}
|
|
9
12
|
/**
|
|
10
13
|
* Renders Markdown content with GFM support, XSS sanitisation, and
|
|
11
14
|
* custom code block rendering via our CodeBlock component.
|
|
12
15
|
*/
|
|
13
|
-
declare const Markdown: React.MemoExoticComponent<({ children, className }: MarkdownProps) => react_jsx_runtime.JSX.Element>;
|
|
16
|
+
declare const Markdown: React.MemoExoticComponent<({ children, className, urlTransform }: MarkdownProps) => react_jsx_runtime.JSX.Element>;
|
|
14
17
|
|
|
15
18
|
export { Markdown, type MarkdownProps };
|
package/dist/markdown.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import "./chunk-5Z5ZYMOJ.js";
|
|
2
2
|
import {
|
|
3
3
|
Markdown
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OL5GYLHV.js";
|
|
5
5
|
import {
|
|
6
6
|
CodeBlock,
|
|
7
7
|
CopyButton
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3XXBZL53.js";
|
|
9
|
+
import "./chunk-WKWBTL2V.js";
|
|
9
10
|
import "./chunk-RQHJBTEU.js";
|
|
10
11
|
export {
|
|
11
12
|
CodeBlock,
|
package/dist/openui.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import "./chunk-RQGKSCEZ.js";
|
|
2
2
|
import {
|
|
3
3
|
OpenUIArtifactRenderer
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-BEBXZPHW.js";
|
|
5
|
+
import "./chunk-M3QZK62R.js";
|
|
6
|
+
import "./chunk-42PAH5D2.js";
|
|
7
|
+
import "./chunk-OL5GYLHV.js";
|
|
8
|
+
import "./chunk-3XXBZL53.js";
|
|
9
|
+
import "./chunk-WKWBTL2V.js";
|
|
9
10
|
import "./chunk-RQHJBTEU.js";
|
|
10
11
|
export {
|
|
11
12
|
OpenUIArtifactRenderer
|
package/dist/primitives.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>,
|
|
|
56
56
|
}
|
|
57
57
|
declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
58
58
|
interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
59
|
+
/** Both values render the same field. */
|
|
59
60
|
variant?: "default" | "sandbox";
|
|
60
61
|
label?: string;
|
|
61
62
|
error?: string;
|
|
@@ -273,6 +274,7 @@ declare const TerminalLine: React$1.ForwardRefExoticComponent<TerminalLineProps
|
|
|
273
274
|
declare const TerminalCursor: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLSpanElement> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
274
275
|
interface TerminalInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onSubmit"> {
|
|
275
276
|
onSubmit?: (value: string) => void;
|
|
277
|
+
/** Both values render the same field. */
|
|
276
278
|
variant?: "default" | "sandbox";
|
|
277
279
|
}
|
|
278
280
|
declare const TerminalInput: React$1.ForwardRefExoticComponent<TerminalInputProps & React$1.RefAttributes<HTMLInputElement>>;
|
package/dist/primitives.js
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
UploadProgress,
|
|
51
51
|
useTheme,
|
|
52
52
|
useToast
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-55WHV7SS.js";
|
|
54
54
|
import {
|
|
55
55
|
Avatar,
|
|
56
56
|
AvatarFallback,
|
|
@@ -92,24 +92,25 @@ import {
|
|
|
92
92
|
TableHeader,
|
|
93
93
|
TableRow,
|
|
94
94
|
badgeVariants
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-M3QZK62R.js";
|
|
96
96
|
import {
|
|
97
97
|
Button,
|
|
98
98
|
buttonVariants
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-42PAH5D2.js";
|
|
100
100
|
import {
|
|
101
101
|
Tabs,
|
|
102
102
|
TabsContent,
|
|
103
103
|
TabsList,
|
|
104
104
|
TabsTrigger
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-R7SUY4E3.js";
|
|
106
106
|
import {
|
|
107
107
|
ArtifactPane
|
|
108
108
|
} from "./chunk-LTEKI7YJ.js";
|
|
109
109
|
import {
|
|
110
110
|
CodeBlock,
|
|
111
111
|
CopyButton
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-3XXBZL53.js";
|
|
113
|
+
import "./chunk-WKWBTL2V.js";
|
|
113
114
|
import "./chunk-RQHJBTEU.js";
|
|
114
115
|
export {
|
|
115
116
|
ArtifactPane,
|
package/dist/run.js
CHANGED
|
@@ -4,27 +4,28 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
ToolCallFeed,
|
|
6
6
|
parseToolEvent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QGFYBNSO.js";
|
|
8
8
|
import {
|
|
9
9
|
InlineThinkingItem,
|
|
10
10
|
RunGroup
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YU4E5J2N.js";
|
|
12
12
|
import {
|
|
13
13
|
ExpandedToolDetail,
|
|
14
14
|
InlineToolItem,
|
|
15
15
|
RunRowShell,
|
|
16
16
|
RunRowStatusDot
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-R7B3UWPF.js";
|
|
18
18
|
import "./chunk-ND3ZFXQK.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-HMAPIH7L.js";
|
|
20
20
|
import "./chunk-L57WRIND.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-BEBXZPHW.js";
|
|
22
|
+
import "./chunk-M3QZK62R.js";
|
|
23
23
|
import "./chunk-4CLN43XT.js";
|
|
24
24
|
import "./chunk-XU3HB5QL.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-42PAH5D2.js";
|
|
26
|
+
import "./chunk-OL5GYLHV.js";
|
|
27
|
+
import "./chunk-3XXBZL53.js";
|
|
28
|
+
import "./chunk-WKWBTL2V.js";
|
|
28
29
|
import "./chunk-RQHJBTEU.js";
|
|
29
30
|
export {
|
|
30
31
|
ExpandedToolDetail,
|
package/dist/sdk-hooks.js
CHANGED
|
@@ -5,22 +5,23 @@ import {
|
|
|
5
5
|
useSSEStream,
|
|
6
6
|
useSdkSession,
|
|
7
7
|
useToolCallStream
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-X7CU776B.js";
|
|
9
9
|
import "./chunk-OEX7NZE3.js";
|
|
10
10
|
import {
|
|
11
11
|
useAutoScroll,
|
|
12
12
|
useRunCollapseState,
|
|
13
13
|
useRunGroups
|
|
14
14
|
} from "./chunk-565EATZZ.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-QGFYBNSO.js";
|
|
16
|
+
import "./chunk-R7B3UWPF.js";
|
|
17
17
|
import "./chunk-ND3ZFXQK.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-HMAPIH7L.js";
|
|
19
19
|
import "./chunk-L57WRIND.js";
|
|
20
20
|
import "./chunk-4CLN43XT.js";
|
|
21
21
|
import "./chunk-XU3HB5QL.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-OL5GYLHV.js";
|
|
23
|
+
import "./chunk-3XXBZL53.js";
|
|
24
|
+
import "./chunk-WKWBTL2V.js";
|
|
24
25
|
import "./chunk-RQHJBTEU.js";
|
|
25
26
|
export {
|
|
26
27
|
RealtimeSessionRegistry,
|
package/dist/tool-previews.js
CHANGED
|
@@ -7,9 +7,10 @@ import {
|
|
|
7
7
|
QuestionPreview,
|
|
8
8
|
WebSearchPreview,
|
|
9
9
|
WriteFilePreview
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HMAPIH7L.js";
|
|
11
11
|
import "./chunk-XU3HB5QL.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-3XXBZL53.js";
|
|
13
|
+
import "./chunk-WKWBTL2V.js";
|
|
13
14
|
import "./chunk-RQHJBTEU.js";
|
|
14
15
|
export {
|
|
15
16
|
CommandPreview,
|
package/dist/utils.d.ts
CHANGED
|
@@ -48,4 +48,57 @@ declare function getToolErrorText(part: ToolPart, fallback?: string): string | u
|
|
|
48
48
|
|
|
49
49
|
declare function cn(...inputs: ClassValue[]): string;
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* The focus treatment every control shares, in two shapes over one palette
|
|
53
|
+
* (`--focus-border`, `--focus-halo` and `--border-strong` from
|
|
54
|
+
* `@tangle-network/brand`'s tokens.css).
|
|
55
|
+
*
|
|
56
|
+
* A FIELD — input, textarea, select trigger, composer — shows focus on its own
|
|
57
|
+
* border: the hairline shifts to `--focus-border` and a 3px `--focus-halo` ring
|
|
58
|
+
* spreads outside it. It keys off `:focus`, because a caret in a field needs the
|
|
59
|
+
* cue whether the field was clicked or tabbed into.
|
|
60
|
+
*
|
|
61
|
+
* A CONTROL — button, tab, switch, link, card — has no border to shift, so it
|
|
62
|
+
* draws a 1px `--focus-border` outline with the same 3px halo beyond it. It keys
|
|
63
|
+
* off `:focus-visible`, so a mouse click leaves no ring.
|
|
64
|
+
*
|
|
65
|
+
* The halo is a Tailwind ring, which renders as box-shadow: it follows
|
|
66
|
+
* border-radius and never moves layout, and a consumer removes it with
|
|
67
|
+
* `focus:ring-0` / `focus-visible:ring-0`, which tailwind-merge resolves against
|
|
68
|
+
* these classes. The control's line is an outline so that forced-colors mode,
|
|
69
|
+
* which drops box-shadows, still paints it. A field has its border for that, so
|
|
70
|
+
* it hides the outline with `outline-hidden`, which stays transparent-but-present
|
|
71
|
+
* in forced-colors mode.
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* Resting hairline, neutral hover, and `:focus` border plus halo for a text
|
|
75
|
+
* field. The hover is a plain `hover:` class so a consumer's `hover:border-*`
|
|
76
|
+
* replaces it through tailwind-merge; the focus border outranks it because
|
|
77
|
+
* Tailwind emits `focus:` after `hover:`.
|
|
78
|
+
*/
|
|
79
|
+
declare const focusField = "border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] focus:outline-hidden focus:border-[var(--focus-border)] focus:ring-3 focus:ring-[var(--focus-halo)]";
|
|
80
|
+
/**
|
|
81
|
+
* The field treatment for a container that wraps a borderless field, such as a
|
|
82
|
+
* composer around a textarea and its buttons. It lights while a FIELD inside
|
|
83
|
+
* has focus: a text input, textarea, native select or contenteditable editor. A
|
|
84
|
+
* focused button, checkbox or button-type input inside the container shows only
|
|
85
|
+
* its own ring, so a click on the send button does not read as field focus and
|
|
86
|
+
* a tab to it does not stack two indicators. `:focus-within` cannot tell the
|
|
87
|
+
* two apart, so the rule keys off `:has()`; a consumer's `focus-within:*` class
|
|
88
|
+
* therefore does not replace it. To style that container's focus differently,
|
|
89
|
+
* compose your own classes instead of this helper. The field selector is
|
|
90
|
+
* written out in full because Tailwind reads class names statically.
|
|
91
|
+
*/
|
|
92
|
+
declare const focusFieldWithin = "border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
|
|
93
|
+
/** Error state for a field: a danger hairline and the same focus shape in danger. Compose after `focusField`. */
|
|
94
|
+
declare const focusFieldInvalid = "border-[var(--surface-danger-border)] hover:border-[var(--surface-danger-border)] focus:border-[var(--focus-border-danger)] focus:ring-[var(--focus-halo-danger)]";
|
|
95
|
+
/** Keyboard-only focus for a control: a 1px focus line with the halo beyond it. */
|
|
96
|
+
declare const focusRing = "focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)] focus-visible:outline-offset-0";
|
|
97
|
+
/**
|
|
98
|
+
* `focusRing` drawn inside the box, for a control flush against a scroll
|
|
99
|
+
* container or its neighbours (a tab strip, a list row), where an outer ring
|
|
100
|
+
* would be clipped or would overlap them.
|
|
101
|
+
*/
|
|
102
|
+
declare const focusRingInset = "focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)] focus-visible:-outline-offset-1 focus-visible:ring-inset";
|
|
103
|
+
|
|
104
|
+
export { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatUptime, getToolCategory, getToolDisplayMetadata, getToolErrorText, timeAgo, truncateText };
|
package/dist/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
copyText,
|
|
3
3
|
timeAgo
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SNLR2AEA.js";
|
|
5
5
|
import {
|
|
6
6
|
TOOL_CATEGORY_ICONS,
|
|
7
7
|
getToolCategory,
|
|
@@ -14,6 +14,13 @@ import {
|
|
|
14
14
|
formatUptime,
|
|
15
15
|
truncateText
|
|
16
16
|
} from "./chunk-4CLN43XT.js";
|
|
17
|
+
import {
|
|
18
|
+
focusField,
|
|
19
|
+
focusFieldInvalid,
|
|
20
|
+
focusFieldWithin,
|
|
21
|
+
focusRing,
|
|
22
|
+
focusRingInset
|
|
23
|
+
} from "./chunk-WKWBTL2V.js";
|
|
17
24
|
import {
|
|
18
25
|
cn
|
|
19
26
|
} from "./chunk-RQHJBTEU.js";
|
|
@@ -21,6 +28,11 @@ export {
|
|
|
21
28
|
TOOL_CATEGORY_ICONS,
|
|
22
29
|
cn,
|
|
23
30
|
copyText,
|
|
31
|
+
focusField,
|
|
32
|
+
focusFieldInvalid,
|
|
33
|
+
focusFieldWithin,
|
|
34
|
+
focusRing,
|
|
35
|
+
focusRingInset,
|
|
24
36
|
formatBytes,
|
|
25
37
|
formatDuration,
|
|
26
38
|
formatUptime,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/ui",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.10.0",
|
|
4
4
|
"description": "Generic React UI components for Tangle products — primitives, chat, run, files, editor, markdown.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -134,6 +134,7 @@
|
|
|
134
134
|
"turndown": "^7.2.2"
|
|
135
135
|
},
|
|
136
136
|
"peerDependencies": {
|
|
137
|
+
"@tangle-network/brand": "^1.6.0",
|
|
137
138
|
"@hocuspocus/provider": ">=2.15.0 <5.0.0",
|
|
138
139
|
"@nanostores/react": ">=0.8.4 <2.0.0",
|
|
139
140
|
"@tiptap/core": ">=3.20.4 <4.0.0",
|
|
@@ -145,8 +146,7 @@
|
|
|
145
146
|
"react": "^18 || ^19",
|
|
146
147
|
"react-dom": "^18 || ^19",
|
|
147
148
|
"react-router": "^7 || ^8",
|
|
148
|
-
"yjs": "^13.6.0"
|
|
149
|
-
"@tangle-network/brand": "^1.5.0"
|
|
149
|
+
"yjs": "^13.6.0"
|
|
150
150
|
},
|
|
151
151
|
"peerDependenciesMeta": {
|
|
152
152
|
"@nanostores/react": {
|