@tangle-network/sandbox-ui 0.44.0 → 0.46.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/dist/{WorkflowGraph-7YYGIBNV.js → WorkflowGraph-6IKZYPST.js} +2 -1
- package/dist/assets.js +1 -0
- package/dist/assistant.js +2 -1
- package/dist/auth.js +1 -0
- package/dist/chat.js +4 -3
- package/dist/{chunk-6NDOA4SB.js → chunk-2ISY4R72.js} +112 -104
- package/dist/{chunk-KIRJZUX2.js → chunk-BR2LMUAE.js} +61 -34
- package/dist/{chunk-H7GMPMPB.js → chunk-CXV6X33U.js} +19 -1
- package/dist/{chunk-CUUUFJF5.js → chunk-KOUYJ6QP.js} +23 -23
- package/dist/{chunk-3RNYDTQ3.js → chunk-LQHTCM56.js} +21 -27
- package/dist/chunk-NXUSLH7H.js +7528 -0
- package/dist/{chunk-2XNT74ZX.js → chunk-OMUIPJQZ.js} +28 -20
- package/dist/{chunk-KCWIC3SJ.js → chunk-PZ62T5PM.js} +281 -214
- package/dist/chunk-U67V476Y.js +35 -0
- package/dist/chunk-VIREDUBF.js +215 -0
- package/dist/dashboard.d.ts +82 -66
- package/dist/dashboard.js +5 -4
- package/dist/editor.js +2 -0
- package/dist/files.d.ts +5 -0
- package/dist/files.js +1 -0
- package/dist/globals.css +1155 -50
- package/dist/hooks.js +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +95 -65
- package/dist/integrations.js +2 -1
- package/dist/markdown.js +2 -0
- package/dist/openui.d.ts +0 -5
- package/dist/openui.js +1 -0
- package/dist/pages.d.ts +1 -1
- package/dist/pages.js +89 -88
- package/dist/ports-list-DfG0VfPt.d.ts +17 -0
- package/dist/primitives.js +1 -0
- package/dist/run.js +1 -0
- package/dist/sdk-hooks.js +1 -0
- package/dist/stores.js +1 -0
- package/dist/styles.css +1155 -50
- package/dist/terminal.js +5 -209
- package/dist/tokens.css +13 -2
- package/dist/utils.js +1 -0
- package/dist/workbench.d.ts +227 -0
- package/dist/workbench.js +40 -0
- package/dist/workflows.js +2 -1
- package/dist/workspace.d.ts +6 -2
- package/dist/workspace.js +2 -1
- package/package.json +15 -9
|
@@ -268,7 +268,7 @@ function PricingPage({
|
|
|
268
268
|
recommended: tier.recommended ?? (tiers.length === 3 && i === 1)
|
|
269
269
|
}));
|
|
270
270
|
return /* @__PURE__ */ jsxs2("div", { className: cn("w-full space-y-10", className), children: [
|
|
271
|
-
/* @__PURE__ */ jsx2("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxs2("div", { className: "inline-flex items-center rounded-full border border-
|
|
271
|
+
/* @__PURE__ */ jsx2("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxs2("div", { className: "inline-flex items-center rounded-full border border-[var(--md3-outline-variant)] bg-surface-container-low p-1", children: [
|
|
272
272
|
/* @__PURE__ */ jsx2(
|
|
273
273
|
"button",
|
|
274
274
|
{
|
|
@@ -276,7 +276,7 @@ function PricingPage({
|
|
|
276
276
|
onClick: () => onBillingPeriodChange("monthly"),
|
|
277
277
|
className: cn(
|
|
278
278
|
"rounded-full px-5 py-2 text-sm font-medium transition-all",
|
|
279
|
-
billingPeriod === "monthly" ? "bg-
|
|
279
|
+
billingPeriod === "monthly" ? "bg-surface-container-high text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
|
|
280
280
|
),
|
|
281
281
|
children: "Monthly"
|
|
282
282
|
}
|
|
@@ -288,7 +288,7 @@ function PricingPage({
|
|
|
288
288
|
onClick: () => onBillingPeriodChange("yearly"),
|
|
289
289
|
className: cn(
|
|
290
290
|
"rounded-full px-5 py-2 text-sm font-medium transition-all",
|
|
291
|
-
billingPeriod === "yearly" ? "bg-
|
|
291
|
+
billingPeriod === "yearly" ? "bg-surface-container-high text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
|
|
292
292
|
),
|
|
293
293
|
children: [
|
|
294
294
|
"Yearly",
|
|
@@ -307,15 +307,15 @@ function PricingPage({
|
|
|
307
307
|
"div",
|
|
308
308
|
{
|
|
309
309
|
className: cn(
|
|
310
|
-
"relative flex flex-col rounded-2xl border transition-all",
|
|
311
|
-
isRecommended ? "border-primary shadow-[var(--shadow-glow)] scale-[1.02] z-10" : "border-
|
|
310
|
+
"relative flex flex-col rounded-2xl border bg-surface-container transition-all",
|
|
311
|
+
isRecommended ? "border-primary shadow-[var(--shadow-glow)] scale-[1.02] z-10" : "border-[var(--md3-outline-variant)] hover:border-primary/30"
|
|
312
312
|
),
|
|
313
313
|
children: [
|
|
314
314
|
isRecommended && /* @__PURE__ */ jsx2("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxs2("span", { className: "inline-flex items-center gap-1.5 rounded-full bg-primary px-4 py-1.5 text-xs font-bold text-primary-foreground shadow-sm", children: [
|
|
315
315
|
/* @__PURE__ */ jsx2(Zap, { className: "h-3 w-3" }),
|
|
316
316
|
"Most Popular"
|
|
317
317
|
] }) }),
|
|
318
|
-
isCurrentTier && !isRecommended && /* @__PURE__ */ jsx2("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx2("span", { className: "inline-flex items-center rounded-full bg-
|
|
318
|
+
isCurrentTier && !isRecommended && /* @__PURE__ */ jsx2("div", { className: "absolute -top-4 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsx2("span", { className: "inline-flex items-center rounded-full bg-surface-container-high border border-[var(--md3-outline-variant)] px-4 py-1.5 text-xs font-bold text-foreground", children: "Current Plan" }) }),
|
|
319
319
|
/* @__PURE__ */ jsxs2("div", { className: cn("flex flex-col p-8", isRecommended && "pt-10"), children: [
|
|
320
320
|
/* @__PURE__ */ jsxs2("div", { className: "mb-6", children: [
|
|
321
321
|
/* @__PURE__ */ jsx2("h3", { className: "text-lg font-bold text-foreground", children: tier.name }),
|
|
@@ -339,16 +339,16 @@ function PricingPage({
|
|
|
339
339
|
disabled: isCurrentTier || loading,
|
|
340
340
|
className: cn(
|
|
341
341
|
"w-full rounded-xl py-3 text-sm font-bold transition-all active:scale-[0.98] disabled:opacity-50",
|
|
342
|
-
isRecommended ? "bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm" : isCurrentTier ? "bg-muted text-muted-foreground border border-
|
|
342
|
+
isRecommended ? "bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm" : isCurrentTier ? "bg-muted text-muted-foreground border border-[var(--md3-outline-variant)] cursor-default" : "bg-surface-container-high text-foreground border border-[var(--md3-outline-variant)] hover:border-primary/50 hover:bg-surface-container-highest"
|
|
343
343
|
),
|
|
344
344
|
children: isCurrentTier ? "Current Plan" : isFree ? "Get Started" : "Subscribe"
|
|
345
345
|
}
|
|
346
346
|
),
|
|
347
|
-
/* @__PURE__ */ jsx2("div", { className: "my-8 border-t border-
|
|
347
|
+
/* @__PURE__ */ jsx2("div", { className: "my-8 border-t border-[var(--md3-outline-variant)]" }),
|
|
348
348
|
/* @__PURE__ */ jsx2("ul", { className: "space-y-3.5 flex-1", children: tier.features.map((feature) => /* @__PURE__ */ jsxs2("li", { className: "flex items-start gap-3", children: [
|
|
349
349
|
/* @__PURE__ */ jsx2("div", { className: cn(
|
|
350
350
|
"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full",
|
|
351
|
-
isRecommended ? "bg-primary/10 text-primary" : "bg-
|
|
351
|
+
isRecommended ? "bg-primary/10 text-primary" : "bg-surface-container-high text-muted-foreground"
|
|
352
352
|
), children: /* @__PURE__ */ jsx2(Check, { className: "h-3 w-3" }) }),
|
|
353
353
|
/* @__PURE__ */ jsx2("span", { className: "text-sm text-foreground/80", children: feature })
|
|
354
354
|
] }, feature)) })
|
|
@@ -364,7 +364,7 @@ function PricingPage({
|
|
|
364
364
|
// src/dashboard/usage-chart.tsx
|
|
365
365
|
import * as React from "react";
|
|
366
366
|
import { Card as Card2, CardContent as CardContent2, CardHeader as CardHeader2, CardTitle as CardTitle2 } from "@tangle-network/ui/primitives";
|
|
367
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
367
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
368
368
|
var colors = {
|
|
369
369
|
bar: "bg-[image:var(--accent-gradient-strong)]",
|
|
370
370
|
barHover: "hover:brightness-110",
|
|
@@ -387,15 +387,23 @@ function UsageChart({ data, title, unit, className }) {
|
|
|
387
387
|
const maxValue = Math.max(...data.map((d) => d.value), 1);
|
|
388
388
|
const total = data.reduce((sum, d) => sum + d.value, 0);
|
|
389
389
|
const [hoveredIndex, setHoveredIndex] = React.useState(null);
|
|
390
|
+
const isEmpty = data.length === 0 || total === 0;
|
|
390
391
|
return /* @__PURE__ */ jsxs3(Card2, { className, children: [
|
|
391
|
-
/* @__PURE__ */ jsxs3(CardHeader2, { className: "flex flex-row items-center justify-between pb-2", children: [
|
|
392
|
-
/* @__PURE__ */ jsx3(CardTitle2, { className: "font-medium text-base", children: title }),
|
|
393
|
-
/* @__PURE__ */ jsxs3("div", { className: "text-right", children: [
|
|
392
|
+
/* @__PURE__ */ jsxs3(CardHeader2, { className: "flex flex-row items-center justify-between gap-3 pb-2", children: [
|
|
393
|
+
/* @__PURE__ */ jsx3(CardTitle2, { className: "min-w-0 truncate font-medium text-base", children: title }),
|
|
394
|
+
/* @__PURE__ */ jsxs3("div", { className: "shrink-0 whitespace-nowrap text-right", children: [
|
|
394
395
|
/* @__PURE__ */ jsx3("span", { className: cn("font-bold text-2xl", colors.text), children: formatValue(total) }),
|
|
395
396
|
/* @__PURE__ */ jsx3("span", { className: "ml-1 text-muted-foreground text-sm", children: unit })
|
|
396
397
|
] })
|
|
397
398
|
] }),
|
|
398
|
-
/* @__PURE__ */
|
|
399
|
+
/* @__PURE__ */ jsx3(CardContent2, { children: isEmpty ? /* @__PURE__ */ jsxs3("div", { className: "flex h-48 flex-col items-center justify-center gap-1 text-center", children: [
|
|
400
|
+
/* @__PURE__ */ jsxs3("p", { className: "font-medium text-sm", children: [
|
|
401
|
+
"No ",
|
|
402
|
+
unit,
|
|
403
|
+
" recorded yet"
|
|
404
|
+
] }),
|
|
405
|
+
/* @__PURE__ */ jsx3("p", { className: "text-muted-foreground text-xs", children: "Usage appears here once activity begins." })
|
|
406
|
+
] }) : /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
399
407
|
/* @__PURE__ */ jsxs3("div", { className: "relative", children: [
|
|
400
408
|
/* @__PURE__ */ jsxs3("div", { className: "absolute top-0 left-0 flex h-48 flex-col justify-between text-muted-foreground text-xs", children: [
|
|
401
409
|
/* @__PURE__ */ jsx3("span", { children: formatValue(maxValue) }),
|
|
@@ -414,7 +422,7 @@ function UsageChart({ data, title, unit, className }) {
|
|
|
414
422
|
onMouseEnter: () => setHoveredIndex(index),
|
|
415
423
|
onMouseLeave: () => setHoveredIndex(null),
|
|
416
424
|
children: [
|
|
417
|
-
isHovered && /* @__PURE__ */ jsxs3("div", { className: "absolute -top-12 z-10 rounded-lg border border-
|
|
425
|
+
isHovered && /* @__PURE__ */ jsxs3("div", { className: "absolute -top-12 z-10 rounded-lg border border-[var(--md3-outline-variant)] bg-surface-container-highest px-3 py-1.5 text-sm shadow-[0_8px_30px_rgba(0,0,0,0.45)] ring-1 ring-[#ffffff14]", children: [
|
|
418
426
|
/* @__PURE__ */ jsxs3("p", { className: "font-medium", children: [
|
|
419
427
|
formatValue(point.value),
|
|
420
428
|
" ",
|
|
@@ -452,7 +460,7 @@ function UsageChart({ data, title, unit, className }) {
|
|
|
452
460
|
point.date
|
|
453
461
|
)) })
|
|
454
462
|
] }),
|
|
455
|
-
/* @__PURE__ */ jsxs3("div", { className: "mt-4 grid grid-cols-3 gap-4 border-
|
|
463
|
+
/* @__PURE__ */ jsxs3("div", { className: "mt-4 grid grid-cols-3 gap-4 border-[var(--md3-outline-variant)] border-t pt-4", children: [
|
|
456
464
|
/* @__PURE__ */ jsxs3("div", { className: "text-center", children: [
|
|
457
465
|
/* @__PURE__ */ jsx3("p", { className: "text-muted-foreground text-xs", children: "Average" }),
|
|
458
466
|
/* @__PURE__ */ jsxs3("p", { className: "font-medium", children: [
|
|
@@ -478,7 +486,7 @@ function UsageChart({ data, title, unit, className }) {
|
|
|
478
486
|
] })
|
|
479
487
|
] })
|
|
480
488
|
] })
|
|
481
|
-
] })
|
|
489
|
+
] }) })
|
|
482
490
|
] });
|
|
483
491
|
}
|
|
484
492
|
|
|
@@ -490,18 +498,18 @@ function TemplateCard({ template, onUseTemplate, className }) {
|
|
|
490
498
|
"div",
|
|
491
499
|
{
|
|
492
500
|
className: cn(
|
|
493
|
-
"group relative flex flex-col justify-between rounded-xl border border-
|
|
501
|
+
"group relative flex flex-col justify-between rounded-xl border border-[var(--md3-outline-variant)] bg-surface-container p-6 transition-colors hover:border-[var(--border-accent)]",
|
|
494
502
|
className
|
|
495
503
|
),
|
|
496
504
|
children: [
|
|
497
505
|
/* @__PURE__ */ jsxs4("div", { children: [
|
|
498
|
-
/* @__PURE__ */ jsx4("div", { className: "mb-4 flex h-12 w-12 items-center justify-center rounded-xl bg-
|
|
506
|
+
/* @__PURE__ */ jsx4("div", { className: "mb-4 flex h-12 w-12 items-center justify-center rounded-xl bg-surface-container-high border border-[var(--md3-outline-variant)]", children: template.icon ?? /* @__PURE__ */ jsx4("span", { className: "text-lg font-bold text-primary", children: template.name.charAt(0).toUpperCase() }) }),
|
|
499
507
|
/* @__PURE__ */ jsx4("h3", { className: "mb-1 text-base font-bold text-foreground", children: template.name }),
|
|
500
508
|
/* @__PURE__ */ jsx4("p", { className: "text-sm text-muted-foreground leading-relaxed line-clamp-2", children: template.description }),
|
|
501
509
|
template.tags && template.tags.length > 0 && /* @__PURE__ */ jsx4("div", { className: "mt-3 flex flex-wrap gap-1.5", children: template.tags.map((tag, i) => /* @__PURE__ */ jsx4(
|
|
502
510
|
"span",
|
|
503
511
|
{
|
|
504
|
-
className: "rounded-full bg-
|
|
512
|
+
className: "rounded-full bg-surface-container-high px-2 py-0.5 text-[10px] font-medium text-muted-foreground",
|
|
505
513
|
children: tag
|
|
506
514
|
},
|
|
507
515
|
`${tag}-${i}`
|