@tangle-network/sandbox-ui 0.2.1 → 0.3.3
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/README.md +201 -10
- package/dist/auth.js +2 -2
- package/dist/chat-container-C8eHLw8z.d.ts +67 -0
- package/dist/chat.d.ts +70 -78
- package/dist/chat.js +8 -8
- package/dist/chunk-4F2GJRGU.js +756 -0
- package/dist/{chunk-HYEAX3DC.js → chunk-5LV6DZZF.js} +445 -114
- package/dist/chunk-67C53XVV.js +1106 -0
- package/dist/{chunk-QSQBDR3N.js → chunk-BX6AQMUS.js} +5 -2
- package/dist/chunk-CCKNIAS7.js +124 -0
- package/dist/chunk-CJ2RYVZH.js +128 -0
- package/dist/{chunk-KMXV7DDX.js → chunk-CNWVHQFY.js} +1 -1
- package/dist/{chunk-OU4TRNQZ.js → chunk-COCSO7FG.js} +3 -3
- package/dist/chunk-FJSVPBKY.js +85 -0
- package/dist/chunk-FRGMMANX.js +102 -0
- package/dist/{chunk-E6FS7R4X.js → chunk-HWLX5NME.js} +1 -1
- package/dist/chunk-JF6E2DS5.js +610 -0
- package/dist/chunk-MUOL44AE.js +121 -0
- package/dist/chunk-MXCSSOGH.js +105 -0
- package/dist/{chunk-J4OADEUK.js → chunk-OM6ON27W.js} +24 -9
- package/dist/{chunk-NI2EI43H.js → chunk-PDV7W4NY.js} +9 -124
- package/dist/chunk-TQN3VR4F.js +92 -0
- package/dist/{chunk-SOT2V7TX.js → chunk-TXI4MZAZ.js} +62 -144
- package/dist/chunk-WUR652Y3.js +1140 -0
- package/dist/chunk-YDBXQQLC.js +336 -0
- package/dist/{chunk-4EIWPJMJ.js → chunk-ZP6GSX4D.js} +36 -27
- package/dist/dashboard.d.ts +5 -2
- package/dist/dashboard.js +5 -4
- package/dist/{expanded-tool-detail-OkXGqTHe.d.ts → expanded-tool-detail-BDi_h_dZ.d.ts} +11 -4
- package/dist/file-tabs-CmaoDVBI.d.ts +72 -0
- package/dist/files.d.ts +25 -44
- package/dist/files.js +8 -3
- package/{src/styles → dist}/globals.css +16 -67
- package/dist/hooks.d.ts +5 -4
- package/dist/hooks.js +14 -9
- package/dist/index.d.ts +38 -9
- package/dist/index.js +100 -126
- package/dist/markdown.d.ts +1 -24
- package/dist/markdown.js +1 -7
- package/dist/openui.d.ts +115 -0
- package/dist/openui.js +11 -0
- package/dist/pages.d.ts +3 -2
- package/dist/pages.js +19 -16
- package/dist/primitives.d.ts +8 -1
- package/dist/primitives.js +25 -19
- package/dist/run.d.ts +2 -2
- package/dist/run.js +8 -7
- package/dist/{use-sidecar-auth-Bb0-w3lX.d.ts → sdk-hooks.d.ts} +61 -72
- package/dist/sdk-hooks.js +29 -0
- package/dist/styles.css +179 -0
- package/dist/tokens.css +165 -0
- package/dist/{tool-display-BvsVW_Ur.d.ts → tool-display-Ct9nFAzJ.d.ts} +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/{usage-chart-DINgSVL5.d.ts → usage-chart-CY9xo3KX.d.ts} +8 -3
- package/dist/use-pty-session-DeZSxOCN.d.ts +69 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/dist/workspace.d.ts +171 -33
- package/dist/workspace.js +25 -1
- package/package.json +10 -3
- package/dist/chunk-2UHPE5T7.js +0 -201
- package/dist/chunk-6MQIDUPA.js +0 -502
- package/dist/chunk-KYY2X6LY.js +0 -318
- package/dist/chunk-L6ZDH5F4.js +0 -334
- package/dist/chunk-M34OA6PQ.js +0 -233
- package/dist/chunk-M6VLC32S.js +0 -219
- package/dist/chunk-U62G5TS7.js +0 -472
- package/src/styles/tokens.css +0 -73
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Card
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MXCSSOGH.js";
|
|
4
4
|
import {
|
|
5
5
|
cn
|
|
6
6
|
} from "./chunk-RQHJBTEU.js";
|
|
@@ -118,89 +118,11 @@ var SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
118
118
|
));
|
|
119
119
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
120
120
|
|
|
121
|
-
// src/primitives/table.tsx
|
|
122
|
-
import * as React2 from "react";
|
|
123
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
124
|
-
var Table = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx2(
|
|
125
|
-
"table",
|
|
126
|
-
{
|
|
127
|
-
ref,
|
|
128
|
-
className: cn("w-full caption-bottom text-sm", className),
|
|
129
|
-
...props
|
|
130
|
-
}
|
|
131
|
-
) }));
|
|
132
|
-
Table.displayName = "Table";
|
|
133
|
-
var TableHeader = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
134
|
-
TableHeader.displayName = "TableHeader";
|
|
135
|
-
var TableBody = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
136
|
-
"tbody",
|
|
137
|
-
{
|
|
138
|
-
ref,
|
|
139
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
140
|
-
...props
|
|
141
|
-
}
|
|
142
|
-
));
|
|
143
|
-
TableBody.displayName = "TableBody";
|
|
144
|
-
var TableFooter = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
145
|
-
"tfoot",
|
|
146
|
-
{
|
|
147
|
-
ref,
|
|
148
|
-
className: cn(
|
|
149
|
-
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
150
|
-
className
|
|
151
|
-
),
|
|
152
|
-
...props
|
|
153
|
-
}
|
|
154
|
-
));
|
|
155
|
-
TableFooter.displayName = "TableFooter";
|
|
156
|
-
var TableRow = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
157
|
-
"tr",
|
|
158
|
-
{
|
|
159
|
-
ref,
|
|
160
|
-
className: cn(
|
|
161
|
-
"border-border border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
162
|
-
className
|
|
163
|
-
),
|
|
164
|
-
...props
|
|
165
|
-
}
|
|
166
|
-
));
|
|
167
|
-
TableRow.displayName = "TableRow";
|
|
168
|
-
var TableHead = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
169
|
-
"th",
|
|
170
|
-
{
|
|
171
|
-
ref,
|
|
172
|
-
className: cn(
|
|
173
|
-
"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
|
|
174
|
-
className
|
|
175
|
-
),
|
|
176
|
-
...props
|
|
177
|
-
}
|
|
178
|
-
));
|
|
179
|
-
TableHead.displayName = "TableHead";
|
|
180
|
-
var TableCell = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
181
|
-
"td",
|
|
182
|
-
{
|
|
183
|
-
ref,
|
|
184
|
-
className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
|
|
185
|
-
...props
|
|
186
|
-
}
|
|
187
|
-
));
|
|
188
|
-
TableCell.displayName = "TableCell";
|
|
189
|
-
var TableCaption = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
190
|
-
"caption",
|
|
191
|
-
{
|
|
192
|
-
ref,
|
|
193
|
-
className: cn("mt-4 text-muted-foreground text-sm", className),
|
|
194
|
-
...props
|
|
195
|
-
}
|
|
196
|
-
));
|
|
197
|
-
TableCaption.displayName = "TableCaption";
|
|
198
|
-
|
|
199
121
|
// src/primitives/switch.tsx
|
|
200
122
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
201
|
-
import * as
|
|
202
|
-
import { jsx as
|
|
203
|
-
var Switch =
|
|
123
|
+
import * as React2 from "react";
|
|
124
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
125
|
+
var Switch = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
204
126
|
SwitchPrimitives.Root,
|
|
205
127
|
{
|
|
206
128
|
className: cn(
|
|
@@ -209,7 +131,7 @@ var Switch = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
209
131
|
),
|
|
210
132
|
...props,
|
|
211
133
|
ref,
|
|
212
|
-
children: /* @__PURE__ */
|
|
134
|
+
children: /* @__PURE__ */ jsx2(
|
|
213
135
|
SwitchPrimitives.Thumb,
|
|
214
136
|
{
|
|
215
137
|
className: cn(
|
|
@@ -230,8 +152,8 @@ import {
|
|
|
230
152
|
Info,
|
|
231
153
|
X
|
|
232
154
|
} from "lucide-react";
|
|
233
|
-
import * as
|
|
234
|
-
import { jsx as
|
|
155
|
+
import * as React3 from "react";
|
|
156
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
235
157
|
var toastVariants = cva(
|
|
236
158
|
"pointer-events-auto relative flex w-full items-center justify-between gap-3 overflow-hidden rounded-lg border p-4 shadow-lg transition-all",
|
|
237
159
|
{
|
|
@@ -272,20 +194,20 @@ function ToastComponent({
|
|
|
272
194
|
"aria-live": "polite",
|
|
273
195
|
children: [
|
|
274
196
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-3", children: [
|
|
275
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ jsx3(Icon2, { className: "h-5 w-5 shrink-0", "aria-hidden": "true" }),
|
|
276
198
|
/* @__PURE__ */ jsxs2("div", { className: "flex-1", children: [
|
|
277
|
-
/* @__PURE__ */
|
|
278
|
-
description && /* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ jsx3("p", { className: "font-medium text-sm", children: title }),
|
|
200
|
+
description && /* @__PURE__ */ jsx3("p", { className: "mt-1 text-sm opacity-80", children: description })
|
|
279
201
|
] })
|
|
280
202
|
] }),
|
|
281
|
-
/* @__PURE__ */
|
|
203
|
+
/* @__PURE__ */ jsx3(
|
|
282
204
|
"button",
|
|
283
205
|
{
|
|
284
206
|
type: "button",
|
|
285
207
|
onClick: () => onDismiss(id),
|
|
286
208
|
className: "shrink-0 rounded-md p-1 opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2",
|
|
287
209
|
"aria-label": "Dismiss notification",
|
|
288
|
-
children: /* @__PURE__ */
|
|
210
|
+
children: /* @__PURE__ */ jsx3(X, { className: "h-4 w-4" })
|
|
289
211
|
}
|
|
290
212
|
)
|
|
291
213
|
]
|
|
@@ -293,22 +215,22 @@ function ToastComponent({
|
|
|
293
215
|
);
|
|
294
216
|
}
|
|
295
217
|
function ToastContainer({ toasts, onDismiss }) {
|
|
296
|
-
return /* @__PURE__ */
|
|
218
|
+
return /* @__PURE__ */ jsx3(
|
|
297
219
|
"div",
|
|
298
220
|
{
|
|
299
221
|
className: "fixed right-4 bottom-4 z-50 flex max-w-md flex-col gap-2",
|
|
300
222
|
"aria-label": "Notifications",
|
|
301
|
-
children: toasts.map((toast) => /* @__PURE__ */
|
|
223
|
+
children: toasts.map((toast) => /* @__PURE__ */ jsx3(ToastComponent, { ...toast, onDismiss }, toast.id))
|
|
302
224
|
}
|
|
303
225
|
);
|
|
304
226
|
}
|
|
305
|
-
var ToastContext =
|
|
227
|
+
var ToastContext = React3.createContext(null);
|
|
306
228
|
function ToastProvider({ children }) {
|
|
307
|
-
const [toasts, setToasts] =
|
|
308
|
-
const dismiss =
|
|
229
|
+
const [toasts, setToasts] = React3.useState([]);
|
|
230
|
+
const dismiss = React3.useCallback((id) => {
|
|
309
231
|
setToasts((prev) => prev.filter((t) => t.id !== id));
|
|
310
232
|
}, []);
|
|
311
|
-
const toast =
|
|
233
|
+
const toast = React3.useCallback(
|
|
312
234
|
(input) => {
|
|
313
235
|
const id = Math.random().toString(36).slice(2);
|
|
314
236
|
const newToast = { id, ...input };
|
|
@@ -320,41 +242,41 @@ function ToastProvider({ children }) {
|
|
|
320
242
|
},
|
|
321
243
|
[dismiss]
|
|
322
244
|
);
|
|
323
|
-
const success =
|
|
245
|
+
const success = React3.useCallback(
|
|
324
246
|
(title, description) => {
|
|
325
247
|
toast({ title, description, variant: "success" });
|
|
326
248
|
},
|
|
327
249
|
[toast]
|
|
328
250
|
);
|
|
329
|
-
const error =
|
|
251
|
+
const error = React3.useCallback(
|
|
330
252
|
(title, description) => {
|
|
331
253
|
toast({ title, description, variant: "error" });
|
|
332
254
|
},
|
|
333
255
|
[toast]
|
|
334
256
|
);
|
|
335
|
-
const warning =
|
|
257
|
+
const warning = React3.useCallback(
|
|
336
258
|
(title, description) => {
|
|
337
259
|
toast({ title, description, variant: "warning" });
|
|
338
260
|
},
|
|
339
261
|
[toast]
|
|
340
262
|
);
|
|
341
|
-
const info =
|
|
263
|
+
const info = React3.useCallback(
|
|
342
264
|
(title, description) => {
|
|
343
265
|
toast({ title, description, variant: "info" });
|
|
344
266
|
},
|
|
345
267
|
[toast]
|
|
346
268
|
);
|
|
347
|
-
const value =
|
|
269
|
+
const value = React3.useMemo(
|
|
348
270
|
() => ({ toasts, toast, success, error, warning, info, dismiss }),
|
|
349
271
|
[toasts, toast, success, error, warning, info, dismiss]
|
|
350
272
|
);
|
|
351
273
|
return /* @__PURE__ */ jsxs2(ToastContext.Provider, { value, children: [
|
|
352
274
|
children,
|
|
353
|
-
/* @__PURE__ */
|
|
275
|
+
/* @__PURE__ */ jsx3(ToastContainer, { toasts, onDismiss: dismiss })
|
|
354
276
|
] });
|
|
355
277
|
}
|
|
356
278
|
function useToast() {
|
|
357
|
-
const context =
|
|
279
|
+
const context = React3.useContext(ToastContext);
|
|
358
280
|
if (!context) {
|
|
359
281
|
throw new Error("useToast must be used within a ToastProvider");
|
|
360
282
|
}
|
|
@@ -364,12 +286,12 @@ function useToast() {
|
|
|
364
286
|
// src/primitives/label.tsx
|
|
365
287
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
366
288
|
import { cva as cva2 } from "class-variance-authority";
|
|
367
|
-
import * as
|
|
368
|
-
import { jsx as
|
|
289
|
+
import * as React4 from "react";
|
|
290
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
369
291
|
var labelVariants = cva2(
|
|
370
292
|
"font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
371
293
|
);
|
|
372
|
-
var Label2 =
|
|
294
|
+
var Label2 = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
373
295
|
LabelPrimitive.Root,
|
|
374
296
|
{
|
|
375
297
|
ref,
|
|
@@ -380,9 +302,9 @@ var Label2 = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
380
302
|
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
381
303
|
|
|
382
304
|
// src/primitives/stat-card.tsx
|
|
383
|
-
import * as
|
|
384
|
-
import { jsx as
|
|
385
|
-
var StatCard =
|
|
305
|
+
import * as React5 from "react";
|
|
306
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
307
|
+
var StatCard = React5.forwardRef(
|
|
386
308
|
({
|
|
387
309
|
className,
|
|
388
310
|
variant = "default",
|
|
@@ -395,7 +317,7 @@ var StatCard = React6.forwardRef(
|
|
|
395
317
|
}, ref) => {
|
|
396
318
|
const iconColors = {
|
|
397
319
|
default: "text-muted-foreground",
|
|
398
|
-
sandbox: "text-
|
|
320
|
+
sandbox: "text-[var(--accent-text)]"
|
|
399
321
|
};
|
|
400
322
|
const trendColors = {
|
|
401
323
|
positive: "text-green-400",
|
|
@@ -403,7 +325,7 @@ var StatCard = React6.forwardRef(
|
|
|
403
325
|
neutral: "text-muted-foreground"
|
|
404
326
|
};
|
|
405
327
|
const trendStatus = trend ? trend.value > 0 ? "positive" : trend.value < 0 ? "negative" : "neutral" : null;
|
|
406
|
-
return /* @__PURE__ */
|
|
328
|
+
return /* @__PURE__ */ jsx5(
|
|
407
329
|
Card,
|
|
408
330
|
{
|
|
409
331
|
ref,
|
|
@@ -412,9 +334,9 @@ var StatCard = React6.forwardRef(
|
|
|
412
334
|
...props,
|
|
413
335
|
children: /* @__PURE__ */ jsxs3("div", { className: "flex items-start justify-between", children: [
|
|
414
336
|
/* @__PURE__ */ jsxs3("div", { className: "space-y-1", children: [
|
|
415
|
-
/* @__PURE__ */
|
|
416
|
-
/* @__PURE__ */
|
|
417
|
-
subtitle && /* @__PURE__ */
|
|
337
|
+
/* @__PURE__ */ jsx5("p", { className: "text-muted-foreground text-sm", children: title }),
|
|
338
|
+
/* @__PURE__ */ jsx5("p", { className: "font-bold text-3xl tracking-tight", children: value }),
|
|
339
|
+
subtitle && /* @__PURE__ */ jsx5("p", { className: "text-muted-foreground/70 text-xs", children: subtitle }),
|
|
418
340
|
trend && trendStatus && /* @__PURE__ */ jsxs3(
|
|
419
341
|
"div",
|
|
420
342
|
{
|
|
@@ -428,15 +350,19 @@ var StatCard = React6.forwardRef(
|
|
|
428
350
|
Math.abs(trend.value),
|
|
429
351
|
"%"
|
|
430
352
|
] }),
|
|
431
|
-
trend.label && /* @__PURE__ */
|
|
353
|
+
trend.label && /* @__PURE__ */ jsx5("span", { className: "text-muted-foreground", children: trend.label })
|
|
432
354
|
]
|
|
433
355
|
}
|
|
434
356
|
)
|
|
435
357
|
] }),
|
|
436
|
-
icon && /* @__PURE__ */
|
|
358
|
+
icon && /* @__PURE__ */ jsx5(
|
|
437
359
|
"div",
|
|
438
360
|
{
|
|
439
|
-
className: cn(
|
|
361
|
+
className: cn(
|
|
362
|
+
"rounded-lg bg-muted/50 p-2",
|
|
363
|
+
variant === "sandbox" && "bg-[var(--accent-surface-soft)]",
|
|
364
|
+
iconColors[variant]
|
|
365
|
+
),
|
|
440
366
|
children: icon
|
|
441
367
|
}
|
|
442
368
|
)
|
|
@@ -448,10 +374,10 @@ var StatCard = React6.forwardRef(
|
|
|
448
374
|
StatCard.displayName = "StatCard";
|
|
449
375
|
|
|
450
376
|
// src/primitives/terminal-display.tsx
|
|
451
|
-
import * as
|
|
377
|
+
import * as React6 from "react";
|
|
452
378
|
import { useEffect, useRef } from "react";
|
|
453
|
-
import { jsx as
|
|
454
|
-
var TerminalDisplay =
|
|
379
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
380
|
+
var TerminalDisplay = React6.forwardRef(
|
|
455
381
|
({
|
|
456
382
|
className,
|
|
457
383
|
variant = "default",
|
|
@@ -470,11 +396,11 @@ var TerminalDisplay = React7.forwardRef(
|
|
|
470
396
|
}, [autoScroll]);
|
|
471
397
|
const variants = {
|
|
472
398
|
default: "border-border",
|
|
473
|
-
sandbox: "border-
|
|
399
|
+
sandbox: "border-[var(--border-accent)] shadow-[var(--shadow-accent)]"
|
|
474
400
|
};
|
|
475
401
|
const dotColors = {
|
|
476
402
|
default: ["bg-red-500", "bg-yellow-500", "bg-green-500"],
|
|
477
|
-
sandbox: ["bg-red-500", "bg-yellow-500", "bg-
|
|
403
|
+
sandbox: ["bg-red-500", "bg-yellow-500", "bg-[var(--brand-cool)]"]
|
|
478
404
|
};
|
|
479
405
|
return /* @__PURE__ */ jsxs4(
|
|
480
406
|
"div",
|
|
@@ -488,16 +414,16 @@ var TerminalDisplay = React7.forwardRef(
|
|
|
488
414
|
...props,
|
|
489
415
|
children: [
|
|
490
416
|
showHeader && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 border-border/50 border-b bg-card/30 px-4 py-3", children: [
|
|
491
|
-
/* @__PURE__ */
|
|
417
|
+
/* @__PURE__ */ jsx6("div", { className: "flex gap-1.5", children: dotColors[variant].map((color) => /* @__PURE__ */ jsx6(
|
|
492
418
|
"div",
|
|
493
419
|
{
|
|
494
420
|
className: cn("h-3 w-3 rounded-full", color)
|
|
495
421
|
},
|
|
496
422
|
color
|
|
497
423
|
)) }),
|
|
498
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ jsx6("span", { className: "ml-2 text-muted-foreground text-xs", children: title })
|
|
499
425
|
] }),
|
|
500
|
-
/* @__PURE__ */
|
|
426
|
+
/* @__PURE__ */ jsx6(
|
|
501
427
|
"div",
|
|
502
428
|
{
|
|
503
429
|
ref: containerRef,
|
|
@@ -512,7 +438,7 @@ var TerminalDisplay = React7.forwardRef(
|
|
|
512
438
|
}
|
|
513
439
|
);
|
|
514
440
|
TerminalDisplay.displayName = "TerminalDisplay";
|
|
515
|
-
var TerminalLine =
|
|
441
|
+
var TerminalLine = React6.forwardRef(
|
|
516
442
|
({ className, type = "output", prompt = "$", timestamp, children, ...props }, ref) => {
|
|
517
443
|
const typeStyles = {
|
|
518
444
|
input: "text-foreground",
|
|
@@ -535,21 +461,21 @@ var TerminalLine = React7.forwardRef(
|
|
|
535
461
|
),
|
|
536
462
|
...props,
|
|
537
463
|
children: [
|
|
538
|
-
(type === "input" || type === "command") && /* @__PURE__ */
|
|
539
|
-
type === "thinking" && /* @__PURE__ */
|
|
464
|
+
(type === "input" || type === "command") && /* @__PURE__ */ jsx6("span", { className: "shrink-0 select-none text-green-400", children: prompt }),
|
|
465
|
+
type === "thinking" && /* @__PURE__ */ jsx6("span", { className: "shrink-0 select-none", children: "..." }),
|
|
540
466
|
timestamp && /* @__PURE__ */ jsxs4("span", { className: "shrink-0 select-none text-muted-foreground/50", children: [
|
|
541
467
|
"[",
|
|
542
468
|
timestamp,
|
|
543
469
|
"]"
|
|
544
470
|
] }),
|
|
545
|
-
/* @__PURE__ */
|
|
471
|
+
/* @__PURE__ */ jsx6("span", { className: "whitespace-pre-wrap break-all", children })
|
|
546
472
|
]
|
|
547
473
|
}
|
|
548
474
|
);
|
|
549
475
|
}
|
|
550
476
|
);
|
|
551
477
|
TerminalLine.displayName = "TerminalLine";
|
|
552
|
-
var TerminalCursor =
|
|
478
|
+
var TerminalCursor = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
553
479
|
"span",
|
|
554
480
|
{
|
|
555
481
|
ref,
|
|
@@ -561,9 +487,9 @@ var TerminalCursor = React7.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
561
487
|
}
|
|
562
488
|
));
|
|
563
489
|
TerminalCursor.displayName = "TerminalCursor";
|
|
564
|
-
var TerminalInput =
|
|
490
|
+
var TerminalInput = React6.forwardRef(
|
|
565
491
|
({ className, onSubmit, variant = "default", ...props }, ref) => {
|
|
566
|
-
const [value, setValue] =
|
|
492
|
+
const [value, setValue] = React6.useState("");
|
|
567
493
|
const handleKeyDown = (e) => {
|
|
568
494
|
if (e.key === "Enter" && value.trim() && onSubmit) {
|
|
569
495
|
onSubmit(value.trim());
|
|
@@ -572,7 +498,7 @@ var TerminalInput = React7.forwardRef(
|
|
|
572
498
|
};
|
|
573
499
|
const variants = {
|
|
574
500
|
default: "border-border focus-within:border-muted-foreground",
|
|
575
|
-
sandbox: "border-
|
|
501
|
+
sandbox: "border-[var(--border-accent)] focus-within:border-[var(--border-accent-hover)]"
|
|
576
502
|
};
|
|
577
503
|
return /* @__PURE__ */ jsxs4(
|
|
578
504
|
"div",
|
|
@@ -583,8 +509,8 @@ var TerminalInput = React7.forwardRef(
|
|
|
583
509
|
className
|
|
584
510
|
),
|
|
585
511
|
children: [
|
|
586
|
-
/* @__PURE__ */
|
|
587
|
-
/* @__PURE__ */
|
|
512
|
+
/* @__PURE__ */ jsx6("span", { className: "mr-2 select-none text-green-400", children: "$" }),
|
|
513
|
+
/* @__PURE__ */ jsx6(
|
|
588
514
|
"input",
|
|
589
515
|
{
|
|
590
516
|
ref,
|
|
@@ -596,7 +522,7 @@ var TerminalInput = React7.forwardRef(
|
|
|
596
522
|
...props
|
|
597
523
|
}
|
|
598
524
|
),
|
|
599
|
-
/* @__PURE__ */
|
|
525
|
+
/* @__PURE__ */ jsx6(TerminalCursor, {})
|
|
600
526
|
]
|
|
601
527
|
}
|
|
602
528
|
);
|
|
@@ -615,14 +541,6 @@ export {
|
|
|
615
541
|
SelectLabel,
|
|
616
542
|
SelectItem,
|
|
617
543
|
SelectSeparator,
|
|
618
|
-
Table,
|
|
619
|
-
TableHeader,
|
|
620
|
-
TableBody,
|
|
621
|
-
TableFooter,
|
|
622
|
-
TableRow,
|
|
623
|
-
TableHead,
|
|
624
|
-
TableCell,
|
|
625
|
-
TableCaption,
|
|
626
544
|
Switch,
|
|
627
545
|
ToastContainer,
|
|
628
546
|
ToastProvider,
|