@mastra/playground-ui 7.0.0-beta.22 → 7.0.0-beta.24
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 +32 -0
- package/dist/index.cjs.js +591 -238
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +10 -10
- package/dist/index.es.js +584 -231
- package/dist/index.es.js.map +1 -1
- package/dist/spacings-Ddc7umGk.js +196 -0
- package/dist/spacings-Ddc7umGk.js.map +1 -0
- package/dist/spacings-bCnRJAUT.cjs +206 -0
- package/dist/spacings-bCnRJAUT.cjs.map +1 -0
- package/dist/src/ds/components/Alert/Alert.d.ts +2 -1
- package/dist/src/ds/components/Avatar/Avatar.d.ts +2 -1
- package/dist/src/ds/components/Badge/Badge.d.ts +1 -1
- package/dist/src/ds/components/Button/Button.d.ts +1 -1
- package/dist/src/ds/components/Card/Card.d.ts +26 -0
- package/dist/src/ds/components/Card/index.d.ts +2 -0
- package/dist/src/ds/components/Collapsible/collapsible.d.ts +4 -3
- package/dist/src/ds/components/EmptyState/EmptyState.d.ts +10 -9
- package/dist/src/ds/components/EmptyState/index.d.ts +2 -1
- package/dist/src/ds/components/Input/input.d.ts +2 -0
- package/dist/src/ds/components/Kbd/kbd.d.ts +2 -1
- package/dist/src/ds/components/Notification/notification.d.ts +1 -1
- package/dist/src/ds/components/Spinner/spinner.d.ts +2 -1
- package/dist/src/ds/components/StatusBadge/StatusBadge.d.ts +13 -0
- package/dist/src/ds/components/StatusBadge/index.d.ts +2 -0
- package/dist/src/ds/primitives/form-element.d.ts +3 -2
- package/dist/src/ds/primitives/transitions.d.ts +22 -0
- package/dist/src/ds/tokens/animations.d.ts +5 -0
- package/dist/src/ds/tokens/colors.d.ts +2 -1
- package/dist/src/ds/tokens/index.d.ts +2 -0
- package/dist/src/ds/tokens/shadows.d.ts +14 -0
- package/dist/tailwind.preset.cjs.js +38 -10
- package/dist/tailwind.preset.cjs.js.map +1 -1
- package/dist/tailwind.preset.es.js +29 -1
- package/dist/tailwind.preset.es.js.map +1 -1
- package/dist/tokens.cjs.js +17 -175
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +8 -169
- package/dist/tokens.es.js.map +1 -1
- package/package.json +8 -8
package/dist/index.es.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useAssistantState, useMessage, MessagePrimitive, ActionBarPrimitive, us
|
|
|
3
3
|
import { CheckIcon as CheckIcon$1, CopyIcon, ShieldAlert, ChevronDown, ChevronRight, RefreshCw, Tag, InfoIcon as InfoIcon$1, AlertCircle, TriangleAlert, ChevronUpIcon, CheckCircleIcon, X, Share2, Check, Clock as Clock$1, PlayCircle, Workflow, Layers, List, CalendarClock, Timer, CornerDownRight, GitBranch, Repeat, Repeat1, Network, TriangleAlertIcon, XIcon, CalendarIcon, CircleAlertIcon, Braces, ChevronDownIcon, Brackets, PlusIcon, TrashIcon, Plus, Loader2, Circle, EyeOffIcon, EyeIcon, PauseIcon, HourglassIcon, CircleDashed, Footprints, CircleCheck, CircleX, Minus, Maximize, AlertCircleIcon, CirclePause, StopCircle, Cpu, SearchIcon, ChevronsUpDown, Search, ArrowRight, ArrowLeft, BrainIcon, AudioLinesIcon, StopCircleIcon, FileText, CircleXIcon, Link, CloudUpload, Mic, ArrowUp, SaveIcon, Info, ExternalLink, ArrowLeftIcon, ArrowRightIcon, ChevronsRightIcon, AlignLeftIcon, AlignJustifyIcon, ArrowUpIcon, ArrowDownIcon, ChevronRightIcon, GaugeIcon, ChevronsLeftRightEllipsisIcon, CalculatorIcon, HashIcon, FileInputIcon, FileOutputIcon, ReceiptText, RotateCcw, GripVertical, RefreshCcwIcon, AlertTriangleIcon, Copy, NetworkIcon, WorkflowIcon as WorkflowIcon$1, PackageIcon, GitBranchIcon, PackageOpenIcon, OctagonXIcon, FrownIcon, CircleChevronUpIcon, CircleChevronDownIcon, FileIcon, ChevronsUpIcon, ChevronsDownIcon, TimerIcon, ChevronsLeftRightIcon, ChevronFirstIcon, ChevronLastIcon, CircleDashedIcon, ArrowRightToLineIcon, CoinsIcon, BracesIcon, CircleGaugeIcon, PanelTopIcon, ListTreeIcon, PanelLeftIcon, PanelRightIcon, KeyboardIcon, CircleSlash, Trash, Link2, MoveRight } from 'lucide-react';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import React__default, { forwardRef, memo, useState, useEffect, useRef, useCallback, useMemo, createContext, useContext, Fragment as Fragment$1, useId, useEffectEvent, Suspense, useLayoutEffect } from 'react';
|
|
6
|
-
import { BorderColors, Colors, Sizes, FontSizes, LineHeights, BorderRadius, Spacings } from './
|
|
6
|
+
import { S as Shadows, G as Glows, B as BorderColors, C as Colors, a as Sizes, F as FontSizes, L as LineHeights, b as BorderRadius, c as Spacings } from './spacings-Ddc7umGk.js';
|
|
7
7
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
8
8
|
import { TooltipProvider as TooltipProvider$1 } from '@radix-ui/react-tooltip';
|
|
9
9
|
import { unstable_memoizeMarkdownComponents, useIsMarkdownCodeBlock, MarkdownTextPrimitive } from '@assistant-ui/react-markdown';
|
|
@@ -3089,13 +3089,15 @@ const fontSizeKeys = Object.keys(FontSizes);
|
|
|
3089
3089
|
const lineHeightKeys = Object.keys(LineHeights);
|
|
3090
3090
|
const borderRadiusKeys = Object.keys(BorderRadius);
|
|
3091
3091
|
const sizeKeys = Object.keys(Sizes);
|
|
3092
|
+
const shadowKeys = Object.keys(Shadows).concat(Object.keys(Glows));
|
|
3092
3093
|
const twMerge = extendTailwindMerge({
|
|
3093
3094
|
extend: {
|
|
3094
3095
|
theme: {
|
|
3095
3096
|
color: colorKeys,
|
|
3096
3097
|
spacing: spacingKeys,
|
|
3097
3098
|
radius: borderRadiusKeys,
|
|
3098
|
-
leading: lineHeightKeys
|
|
3099
|
+
leading: lineHeightKeys,
|
|
3100
|
+
shadow: shadowKeys
|
|
3099
3101
|
},
|
|
3100
3102
|
classGroups: {
|
|
3101
3103
|
"font-size": [{ text: fontSizeKeys }],
|
|
@@ -3119,47 +3121,44 @@ const formElementSizes = {
|
|
|
3119
3121
|
md: "h-form-md",
|
|
3120
3122
|
lg: "h-form-lg"
|
|
3121
3123
|
};
|
|
3122
|
-
const formElementFocus = "focus:outline focus:
|
|
3123
|
-
const formElementFocusWithin = "focus-within:outline focus-within:
|
|
3124
|
+
const formElementFocus = "focus:outline-none focus:ring-1 focus:ring-accent1 focus:shadow-focus-ring transition-shadow duration-normal";
|
|
3125
|
+
const formElementFocusWithin = "focus-within:outline-none focus-within:ring-1 focus-within:ring-accent1 focus-within:shadow-focus-ring transition-shadow duration-normal";
|
|
3124
3126
|
const formElementRadius = "rounded-md";
|
|
3125
3127
|
|
|
3126
|
-
const sizeClasses$
|
|
3128
|
+
const sizeClasses$2 = {
|
|
3127
3129
|
sm: `${formElementSizes.sm} gap-0.5`,
|
|
3128
3130
|
md: `${formElementSizes.md} gap-1`,
|
|
3129
3131
|
lg: `${formElementSizes.lg} gap-2`
|
|
3130
3132
|
};
|
|
3131
3133
|
const variantClasses$2 = {
|
|
3132
|
-
default: "bg-surface2 hover:bg-surface4 text-neutral3 hover:text-neutral6 disabled:opacity-50",
|
|
3133
|
-
light: "bg-surface3 hover:bg-surface5 text-neutral6 disabled:opacity-50",
|
|
3134
|
-
outline: "bg-transparent hover:bg-surface2 text-neutral3 hover:text-neutral6 disabled:opacity-50",
|
|
3135
|
-
ghost: "bg-transparent border-transparent hover:bg-surface2 text-neutral3 hover:text-neutral6 disabled:opacity-50"
|
|
3134
|
+
default: "bg-surface2 hover:bg-surface4 text-neutral3 hover:text-neutral6 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3135
|
+
light: "bg-surface3 hover:bg-surface5 text-neutral6 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3136
|
+
outline: "bg-transparent hover:bg-surface2 text-neutral3 hover:text-neutral6 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3137
|
+
ghost: "bg-transparent border-transparent hover:bg-surface2 text-neutral3 hover:text-neutral6 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3138
|
+
primary: "bg-accent1 hover:bg-accent1/90 text-surface1 font-medium hover:shadow-glow-accent1 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none"
|
|
3136
3139
|
};
|
|
3140
|
+
const baseButtonStyles = "border border-border1 px-2 text-ui-md inline-flex items-center justify-center rounded-md transition-all duration-normal ease-out-custom active:scale-[0.98]";
|
|
3137
3141
|
function buttonVariants(options) {
|
|
3138
3142
|
const variant = options?.variant || "default";
|
|
3139
3143
|
const size = options?.size || "md";
|
|
3140
|
-
return cn(
|
|
3141
|
-
"bg-surface2 border border-border1 px-2 text-ui-md inline-flex items-center justify-center rounded-md border",
|
|
3142
|
-
formElementFocus,
|
|
3143
|
-
variantClasses$2[variant],
|
|
3144
|
-
sizeClasses$1[size]
|
|
3145
|
-
);
|
|
3144
|
+
return cn(baseButtonStyles, formElementFocus, variantClasses$2[variant], sizeClasses$2[size]);
|
|
3146
3145
|
}
|
|
3147
3146
|
const Button = React__default.forwardRef(
|
|
3148
|
-
({ className, as, size = "md", variant = "default", ...props }, ref) => {
|
|
3147
|
+
({ className, as, size = "md", variant = "default", disabled, ...props }, ref) => {
|
|
3149
3148
|
const Component = as || "button";
|
|
3150
3149
|
return /* @__PURE__ */ jsx(
|
|
3151
3150
|
Component,
|
|
3152
3151
|
{
|
|
3153
3152
|
ref,
|
|
3153
|
+
disabled,
|
|
3154
3154
|
className: cn(
|
|
3155
|
-
|
|
3155
|
+
baseButtonStyles,
|
|
3156
3156
|
formElementFocus,
|
|
3157
3157
|
variantClasses$2[variant],
|
|
3158
|
-
sizeClasses$
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
}
|
|
3158
|
+
sizeClasses$2[size],
|
|
3159
|
+
// Remove active scale when disabled
|
|
3160
|
+
disabled && "active:scale-100",
|
|
3161
|
+
className
|
|
3163
3162
|
),
|
|
3164
3163
|
...props
|
|
3165
3164
|
}
|
|
@@ -3214,17 +3213,36 @@ const Txt = ({ as: Root = "p", className, variant = "ui-md", font, ...props }) =
|
|
|
3214
3213
|
return /* @__PURE__ */ jsx(Root, { className: cn(variants[variant], font && fonts[font], className), ...props });
|
|
3215
3214
|
};
|
|
3216
3215
|
|
|
3217
|
-
const
|
|
3216
|
+
const transitions = {
|
|
3217
|
+
// For color changes (background, text, border)
|
|
3218
|
+
colors: "transition-colors duration-normal ease-out-custom",
|
|
3219
|
+
// For transform changes (scale, translate, rotate)
|
|
3220
|
+
transform: "transition-transform duration-normal ease-out-custom",
|
|
3221
|
+
// For all property changes
|
|
3222
|
+
all: "transition-all duration-normal ease-out-custom",
|
|
3223
|
+
// For opacity changes
|
|
3224
|
+
opacity: "transition-opacity duration-normal ease-out-custom"};
|
|
3225
|
+
const focusRing = {
|
|
3226
|
+
// Focus visible only (keyboard navigation)
|
|
3227
|
+
visible: "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent1 focus-visible:shadow-focus-ring"
|
|
3228
|
+
};
|
|
3229
|
+
|
|
3230
|
+
const sizeClasses$1 = {
|
|
3218
3231
|
sm: "h-avatar-sm w-avatar-sm",
|
|
3219
3232
|
md: "h-avatar-md w-avatar-md",
|
|
3220
3233
|
lg: "h-avatar-lg w-avatar-lg"
|
|
3221
3234
|
};
|
|
3222
|
-
const Avatar = ({ src, name, size = "sm" }) => {
|
|
3235
|
+
const Avatar = ({ src, name, size = "sm", interactive = false }) => {
|
|
3223
3236
|
return /* @__PURE__ */ jsx(
|
|
3224
3237
|
"div",
|
|
3225
3238
|
{
|
|
3226
|
-
className:
|
|
3227
|
-
|
|
3239
|
+
className: cn(
|
|
3240
|
+
sizeClasses$1[size],
|
|
3241
|
+
"border border-border1 bg-surface3 shrink-0 overflow-hidden rounded-full flex items-center justify-center",
|
|
3242
|
+
transitions.all,
|
|
3243
|
+
interactive && "cursor-pointer hover:scale-105 hover:border-neutral2 hover:shadow-sm"
|
|
3244
|
+
),
|
|
3245
|
+
children: src ? /* @__PURE__ */ jsx("img", { src, alt: name, className: "h-full w-full object-cover" }) : /* @__PURE__ */ jsx(Txt, { variant: "ui-md", className: "text-center text-neutral4", children: name[0].toUpperCase() })
|
|
3228
3246
|
}
|
|
3229
3247
|
);
|
|
3230
3248
|
};
|
|
@@ -4289,21 +4307,33 @@ const AgentNetworkCoinIcon = (props) => /* @__PURE__ */ jsxs("svg", { width: "12
|
|
|
4289
4307
|
] });
|
|
4290
4308
|
|
|
4291
4309
|
const variantClasses$1 = {
|
|
4292
|
-
warning: "bg-
|
|
4293
|
-
destructive: "bg-
|
|
4294
|
-
info: "bg-
|
|
4310
|
+
warning: "bg-accent6Darker border-accent6/30 text-accent6",
|
|
4311
|
+
destructive: "bg-accent2Darker border-accent2/30 text-accent2",
|
|
4312
|
+
info: "bg-accent5Darker border-accent5/30 text-accent5"
|
|
4295
4313
|
};
|
|
4296
4314
|
const variantIcons = {
|
|
4297
4315
|
warning: TriangleAlert,
|
|
4298
4316
|
destructive: AlertCircle,
|
|
4299
4317
|
info: InfoIcon$1
|
|
4300
4318
|
};
|
|
4301
|
-
const Alert = ({ children, variant = "destructive" }) => {
|
|
4319
|
+
const Alert = ({ children, variant = "destructive", className }) => {
|
|
4302
4320
|
const Ico = variantIcons[variant];
|
|
4303
|
-
return /* @__PURE__ */ jsx(
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4321
|
+
return /* @__PURE__ */ jsx(
|
|
4322
|
+
"div",
|
|
4323
|
+
{
|
|
4324
|
+
className: cn(
|
|
4325
|
+
variantClasses$1[variant],
|
|
4326
|
+
"p-3 rounded-md border shadow-sm",
|
|
4327
|
+
transitions.all,
|
|
4328
|
+
"animate-in fade-in-0 slide-in-from-top-2 duration-200",
|
|
4329
|
+
className
|
|
4330
|
+
),
|
|
4331
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
|
|
4332
|
+
/* @__PURE__ */ jsx(Icon, { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ jsx(Ico, {}) }),
|
|
4333
|
+
/* @__PURE__ */ jsx("div", { className: "text-neutral4", children })
|
|
4334
|
+
] })
|
|
4335
|
+
}
|
|
4336
|
+
);
|
|
4307
4337
|
};
|
|
4308
4338
|
const AlertTitle = ({ children, as: As = "h5" }) => {
|
|
4309
4339
|
return /* @__PURE__ */ jsx(Txt, { as: As, variant: "ui-md", className: "font-semibold", children });
|
|
@@ -4313,24 +4343,33 @@ const AlertDescription = ({ children, as: As = "p" }) => {
|
|
|
4313
4343
|
};
|
|
4314
4344
|
|
|
4315
4345
|
const variantClasses = {
|
|
4346
|
+
default: "text-neutral3 bg-surface4",
|
|
4347
|
+
success: "text-accent1 bg-accent1Dark",
|
|
4348
|
+
error: "text-accent2 bg-accent2Dark",
|
|
4349
|
+
info: "text-accent5 bg-accent5Dark",
|
|
4350
|
+
warning: "text-accent6 bg-accent6Dark"
|
|
4351
|
+
};
|
|
4352
|
+
const iconClasses = {
|
|
4316
4353
|
default: "text-neutral3",
|
|
4317
4354
|
success: "text-accent1",
|
|
4318
4355
|
error: "text-accent2",
|
|
4319
|
-
info: "text-
|
|
4356
|
+
info: "text-accent5",
|
|
4357
|
+
warning: "text-accent6"
|
|
4320
4358
|
};
|
|
4321
4359
|
const Badge = ({ icon, variant = "default", className, children, ...props }) => {
|
|
4322
4360
|
return /* @__PURE__ */ jsxs(
|
|
4323
4361
|
"div",
|
|
4324
4362
|
{
|
|
4325
4363
|
className: cn(
|
|
4326
|
-
"font-mono
|
|
4364
|
+
"font-mono text-ui-sm gap-1 h-badge-default inline-flex items-center rounded-md shrink-0",
|
|
4365
|
+
transitions.colors,
|
|
4327
4366
|
icon ? "pl-1 pr-1.5" : "px-1.5",
|
|
4328
|
-
|
|
4367
|
+
variant === "default" && icon ? "bg-surface4 text-neutral5" : variantClasses[variant],
|
|
4329
4368
|
className
|
|
4330
4369
|
),
|
|
4331
4370
|
...props,
|
|
4332
4371
|
children: [
|
|
4333
|
-
icon && /* @__PURE__ */ jsx("span", { className:
|
|
4372
|
+
icon && /* @__PURE__ */ jsx("span", { className: iconClasses[variant], children: /* @__PURE__ */ jsx(Icon, { children: icon }) }),
|
|
4334
4373
|
children
|
|
4335
4374
|
]
|
|
4336
4375
|
}
|
|
@@ -4433,20 +4472,34 @@ function CopyButton({
|
|
|
4433
4472
|
iconSize = "default",
|
|
4434
4473
|
className
|
|
4435
4474
|
}) {
|
|
4436
|
-
const
|
|
4475
|
+
const [copied, setCopied] = useState(false);
|
|
4476
|
+
const { handleCopy: originalHandleCopy } = useCopyToClipboard({
|
|
4437
4477
|
text: content,
|
|
4438
4478
|
copyMessage
|
|
4439
4479
|
});
|
|
4480
|
+
const handleCopy = () => {
|
|
4481
|
+
originalHandleCopy();
|
|
4482
|
+
setCopied(true);
|
|
4483
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
4484
|
+
};
|
|
4440
4485
|
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
4441
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
4442
|
-
|
|
4486
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
4487
|
+
"button",
|
|
4443
4488
|
{
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4489
|
+
onClick: handleCopy,
|
|
4490
|
+
type: "button",
|
|
4491
|
+
className: cn("rounded-lg p-1", transitions.all, focusRing.visible, "hover:bg-surface4", className),
|
|
4492
|
+
children: /* @__PURE__ */ jsx(
|
|
4493
|
+
Icon,
|
|
4494
|
+
{
|
|
4495
|
+
className: cn("text-neutral3", transitions.all, "hover:text-neutral6", copied && "text-accent1"),
|
|
4496
|
+
size: iconSize,
|
|
4497
|
+
children: copied ? /* @__PURE__ */ jsx(CheckIcon$1, {}) : /* @__PURE__ */ jsx(CopyIcon, {})
|
|
4498
|
+
}
|
|
4499
|
+
)
|
|
4447
4500
|
}
|
|
4448
|
-
) })
|
|
4449
|
-
/* @__PURE__ */ jsx(TooltipContent, { children: tooltip })
|
|
4501
|
+
) }),
|
|
4502
|
+
/* @__PURE__ */ jsx(TooltipContent, { children: copied ? "Copied!" : tooltip })
|
|
4450
4503
|
] });
|
|
4451
4504
|
}
|
|
4452
4505
|
|
|
@@ -4549,7 +4602,9 @@ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
4549
4602
|
{
|
|
4550
4603
|
ref,
|
|
4551
4604
|
className: cn(
|
|
4552
|
-
"fixed inset-0 z-50 bg-
|
|
4605
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-sm",
|
|
4606
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
4607
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
4553
4608
|
className
|
|
4554
4609
|
),
|
|
4555
4610
|
...props
|
|
@@ -4563,16 +4618,35 @@ const DialogContent = React.forwardRef(({ className, children, ...props }, ref)
|
|
|
4563
4618
|
{
|
|
4564
4619
|
ref,
|
|
4565
4620
|
className: cn(
|
|
4566
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%]
|
|
4621
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%]",
|
|
4622
|
+
"gap-4 border border-border1 bg-surface3 py-6 shadow-dialog rounded-lg",
|
|
4623
|
+
"duration-slow",
|
|
4624
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
4625
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
4626
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
4627
|
+
"data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
|
|
4628
|
+
"data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
|
|
4567
4629
|
className
|
|
4568
4630
|
),
|
|
4569
4631
|
...props,
|
|
4570
4632
|
children: [
|
|
4571
4633
|
children,
|
|
4572
|
-
/* @__PURE__ */ jsxs(
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4634
|
+
/* @__PURE__ */ jsxs(
|
|
4635
|
+
DialogPrimitive.Close,
|
|
4636
|
+
{
|
|
4637
|
+
className: cn(
|
|
4638
|
+
"absolute right-4 top-4 rounded-md p-1",
|
|
4639
|
+
"text-neutral3 hover:text-neutral6 hover:bg-surface4",
|
|
4640
|
+
"transition-all duration-normal ease-out-custom",
|
|
4641
|
+
"focus:outline-none focus:ring-1 focus:ring-accent1 focus:shadow-focus-ring",
|
|
4642
|
+
"disabled:pointer-events-none"
|
|
4643
|
+
),
|
|
4644
|
+
children: [
|
|
4645
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
4646
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
4647
|
+
]
|
|
4648
|
+
}
|
|
4649
|
+
)
|
|
4576
4650
|
]
|
|
4577
4651
|
}
|
|
4578
4652
|
)
|
|
@@ -5784,7 +5858,21 @@ function WorkflowRunProvider({
|
|
|
5784
5858
|
}
|
|
5785
5859
|
|
|
5786
5860
|
function Skeleton({ className, ...props }) {
|
|
5787
|
-
return /* @__PURE__ */ jsx(
|
|
5861
|
+
return /* @__PURE__ */ jsx(
|
|
5862
|
+
"div",
|
|
5863
|
+
{
|
|
5864
|
+
className: cn(
|
|
5865
|
+
"rounded-md bg-surface4 relative overflow-hidden",
|
|
5866
|
+
// Shimmer effect using pseudo-element
|
|
5867
|
+
"before:absolute before:inset-0",
|
|
5868
|
+
"before:translate-x-[-100%]",
|
|
5869
|
+
"before:animate-[shimmer_2s_infinite]",
|
|
5870
|
+
"before:bg-gradient-to-r before:from-transparent before:via-surface5/20 before:to-transparent",
|
|
5871
|
+
className
|
|
5872
|
+
),
|
|
5873
|
+
...props
|
|
5874
|
+
}
|
|
5875
|
+
);
|
|
5788
5876
|
}
|
|
5789
5877
|
|
|
5790
5878
|
const lodashTitleCase = (str) => {
|
|
@@ -6182,11 +6270,40 @@ const constructNodesAndEdges = ({
|
|
|
6182
6270
|
};
|
|
6183
6271
|
|
|
6184
6272
|
const Collapsible = CollapsiblePrimitive.Root;
|
|
6185
|
-
const CollapsibleTrigger = (props) =>
|
|
6186
|
-
|
|
6187
|
-
|
|
6188
|
-
|
|
6189
|
-
|
|
6273
|
+
const CollapsibleTrigger = React__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6274
|
+
CollapsiblePrimitive.CollapsibleTrigger,
|
|
6275
|
+
{
|
|
6276
|
+
ref,
|
|
6277
|
+
className: cn(
|
|
6278
|
+
"-outline-offset-2",
|
|
6279
|
+
transitions.colors,
|
|
6280
|
+
focusRing.visible,
|
|
6281
|
+
"hover:text-neutral5",
|
|
6282
|
+
"[&>svg]:transition-transform [&>svg]:duration-normal [&>svg]:ease-out-custom",
|
|
6283
|
+
"[&[data-state=open]>svg]:rotate-90",
|
|
6284
|
+
className
|
|
6285
|
+
),
|
|
6286
|
+
...props,
|
|
6287
|
+
children
|
|
6288
|
+
}
|
|
6289
|
+
));
|
|
6290
|
+
CollapsibleTrigger.displayName = CollapsiblePrimitive.CollapsibleTrigger.displayName;
|
|
6291
|
+
const CollapsibleContent = React__default.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6292
|
+
CollapsiblePrimitive.CollapsibleContent,
|
|
6293
|
+
{
|
|
6294
|
+
ref,
|
|
6295
|
+
className: cn(
|
|
6296
|
+
"overflow-hidden",
|
|
6297
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-top-1",
|
|
6298
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-1",
|
|
6299
|
+
"duration-normal ease-out-custom",
|
|
6300
|
+
className
|
|
6301
|
+
),
|
|
6302
|
+
...props,
|
|
6303
|
+
children
|
|
6304
|
+
}
|
|
6305
|
+
));
|
|
6306
|
+
CollapsibleContent.displayName = CollapsiblePrimitive.CollapsibleContent.displayName;
|
|
6190
6307
|
|
|
6191
6308
|
const BADGE_COLORS = {
|
|
6192
6309
|
sleep: "#A855F7",
|
|
@@ -6336,13 +6453,14 @@ const ScrollBar = React.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
6336
6453
|
ref,
|
|
6337
6454
|
orientation,
|
|
6338
6455
|
className: cn(
|
|
6339
|
-
"flex touch-none select-none transition-
|
|
6456
|
+
"flex touch-none select-none transition-all duration-normal ease-out-custom",
|
|
6457
|
+
"opacity-0 hover:opacity-100 data-[state=visible]:opacity-100",
|
|
6340
6458
|
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
|
|
6341
6459
|
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
|
|
6342
6460
|
className
|
|
6343
6461
|
),
|
|
6344
6462
|
...props,
|
|
6345
|
-
children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-
|
|
6463
|
+
children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-neutral2 hover:bg-neutral3 transition-colors duration-normal" })
|
|
6346
6464
|
}
|
|
6347
6465
|
));
|
|
6348
6466
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
@@ -6479,16 +6597,22 @@ const cva = (base, config)=>(props)=>{
|
|
|
6479
6597
|
|
|
6480
6598
|
const inputVariants = cva(
|
|
6481
6599
|
cn(
|
|
6482
|
-
|
|
6600
|
+
// Base styles with enhanced transitions
|
|
6601
|
+
"flex w-full text-neutral6 border bg-transparent",
|
|
6602
|
+
"transition-all duration-normal ease-out-custom",
|
|
6603
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
6604
|
+
// Better placeholder styling
|
|
6605
|
+
"placeholder:text-neutral2 placeholder:transition-opacity placeholder:duration-normal",
|
|
6606
|
+
"focus:placeholder:opacity-70",
|
|
6483
6607
|
formElementRadius,
|
|
6484
6608
|
formElementFocus
|
|
6485
6609
|
),
|
|
6486
6610
|
{
|
|
6487
6611
|
variants: {
|
|
6488
6612
|
variant: {
|
|
6489
|
-
default: "border border-border1
|
|
6490
|
-
filled: "border bg-
|
|
6491
|
-
unstyled: "border-0 bg-transparent
|
|
6613
|
+
default: "border border-border1 hover:border-border2",
|
|
6614
|
+
filled: "border bg-surface2 border-border1 hover:border-border2",
|
|
6615
|
+
unstyled: "border-0 bg-transparent shadow-none focus:shadow-none focus:ring-0"
|
|
6492
6616
|
},
|
|
6493
6617
|
size: {
|
|
6494
6618
|
sm: `${formElementSizes.sm} px-2 text-ui-sm`,
|
|
@@ -6503,14 +6627,20 @@ const inputVariants = cva(
|
|
|
6503
6627
|
}
|
|
6504
6628
|
);
|
|
6505
6629
|
const Input = React.forwardRef(
|
|
6506
|
-
({ className, size, testId, variant, type, ...props }, ref) => {
|
|
6630
|
+
({ className, size, testId, variant, type, error, ...props }, ref) => {
|
|
6507
6631
|
return /* @__PURE__ */ jsx(
|
|
6508
6632
|
"input",
|
|
6509
6633
|
{
|
|
6510
6634
|
type,
|
|
6511
|
-
className: cn(
|
|
6635
|
+
className: cn(
|
|
6636
|
+
inputVariants({ variant, size }),
|
|
6637
|
+
// Error state styling
|
|
6638
|
+
error && "border-error focus:ring-error focus:shadow-glow-accent2",
|
|
6639
|
+
className
|
|
6640
|
+
),
|
|
6512
6641
|
"data-testid": testId,
|
|
6513
6642
|
ref,
|
|
6643
|
+
"aria-invalid": error,
|
|
6514
6644
|
...props
|
|
6515
6645
|
}
|
|
6516
6646
|
);
|
|
@@ -6558,11 +6688,27 @@ const Checkbox = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
6558
6688
|
{
|
|
6559
6689
|
ref,
|
|
6560
6690
|
className: cn(
|
|
6561
|
-
"peer h-4 w-4 shrink-0 rounded-sm border border-
|
|
6691
|
+
"peer h-4 w-4 shrink-0 rounded-sm border border-neutral3",
|
|
6692
|
+
"shadow-sm",
|
|
6693
|
+
transitions.all,
|
|
6694
|
+
"hover:border-neutral5 hover:shadow-md",
|
|
6695
|
+
formElementFocus,
|
|
6696
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-neutral3 disabled:hover:shadow-sm",
|
|
6697
|
+
"data-[state=checked]:bg-accent1 data-[state=checked]:border-accent1 data-[state=checked]:text-surface1",
|
|
6698
|
+
"data-[state=checked]:shadow-glow-accent1",
|
|
6562
6699
|
className
|
|
6563
6700
|
),
|
|
6564
6701
|
...props,
|
|
6565
|
-
children: /* @__PURE__ */ jsx(
|
|
6702
|
+
children: /* @__PURE__ */ jsx(
|
|
6703
|
+
CheckboxPrimitive.Indicator,
|
|
6704
|
+
{
|
|
6705
|
+
className: cn(
|
|
6706
|
+
"flex items-center justify-center text-current",
|
|
6707
|
+
"data-[state=checked]:animate-in data-[state=checked]:zoom-in-50 data-[state=checked]:duration-150"
|
|
6708
|
+
),
|
|
6709
|
+
children: /* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5 stroke-[3]" })
|
|
6710
|
+
}
|
|
6711
|
+
)
|
|
6566
6712
|
}
|
|
6567
6713
|
));
|
|
6568
6714
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
@@ -6665,13 +6811,15 @@ const SelectTrigger = React.forwardRef(
|
|
|
6665
6811
|
"flex w-full items-center justify-between border border-border1 bg-transparent py-2 shadow-sm placeholder:text-neutral3 disabled:cursor-not-allowed disabled:opacity-50",
|
|
6666
6812
|
formElementRadius,
|
|
6667
6813
|
formElementFocus,
|
|
6814
|
+
transitions.all,
|
|
6815
|
+
"hover:border-neutral2",
|
|
6668
6816
|
selectTriggerSizeClasses[size],
|
|
6669
6817
|
className
|
|
6670
6818
|
),
|
|
6671
6819
|
...props,
|
|
6672
6820
|
children: [
|
|
6673
6821
|
children,
|
|
6674
|
-
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4
|
|
6822
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: cn("h-4 w-4 text-neutral3", transitions.colors) }) })
|
|
6675
6823
|
]
|
|
6676
6824
|
}
|
|
6677
6825
|
)
|
|
@@ -6706,12 +6854,17 @@ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
6706
6854
|
{
|
|
6707
6855
|
ref,
|
|
6708
6856
|
className: cn(
|
|
6709
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-neutral5 text-sm
|
|
6857
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-neutral5 text-sm",
|
|
6858
|
+
transitions.colors,
|
|
6859
|
+
"hover:bg-surface5 hover:text-neutral5",
|
|
6860
|
+
"focus:bg-surface5 focus:text-neutral5",
|
|
6861
|
+
"data-[state=checked]:bg-accent1Dark data-[state=checked]:text-accent1",
|
|
6862
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
6710
6863
|
className
|
|
6711
6864
|
),
|
|
6712
6865
|
...props,
|
|
6713
6866
|
children: [
|
|
6714
|
-
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
6867
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4 text-accent1" }) }) }),
|
|
6715
6868
|
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
6716
6869
|
]
|
|
6717
6870
|
}
|
|
@@ -6892,7 +7045,13 @@ function SearchField({ onReset, ...props }) {
|
|
|
6892
7045
|
{
|
|
6893
7046
|
type: "button",
|
|
6894
7047
|
onClick: onReset,
|
|
6895
|
-
className: cn(
|
|
7048
|
+
className: cn(
|
|
7049
|
+
"absolute top-1/2 right-2 -translate-y-1/2 p-1 rounded",
|
|
7050
|
+
transitions.all,
|
|
7051
|
+
"hover:bg-surface4",
|
|
7052
|
+
"[&>svg]:transition-colors [&>svg]:duration-normal",
|
|
7053
|
+
"[&:hover>svg]:text-neutral5"
|
|
7054
|
+
),
|
|
6896
7055
|
children: /* @__PURE__ */ jsx(XIcon, { className: "text-neutral3 w-[1rem] h-[1rem]" })
|
|
6897
7056
|
}
|
|
6898
7057
|
)
|
|
@@ -7946,11 +8105,26 @@ const RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => {
|
|
|
7946
8105
|
{
|
|
7947
8106
|
ref,
|
|
7948
8107
|
className: cn(
|
|
7949
|
-
"aspect-square h-4 w-4 rounded-full border border-
|
|
8108
|
+
"aspect-square h-4 w-4 rounded-full border border-neutral3 text-neutral6",
|
|
8109
|
+
"shadow-sm",
|
|
8110
|
+
transitions.all,
|
|
8111
|
+
"hover:border-neutral5 hover:shadow-md",
|
|
8112
|
+
formElementFocus,
|
|
8113
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-neutral3 disabled:hover:shadow-sm",
|
|
8114
|
+
"data-[state=checked]:border-accent1 data-[state=checked]:shadow-glow-accent1",
|
|
7950
8115
|
className
|
|
7951
8116
|
),
|
|
7952
8117
|
...props,
|
|
7953
|
-
children: /* @__PURE__ */ jsx(
|
|
8118
|
+
children: /* @__PURE__ */ jsx(
|
|
8119
|
+
RadioGroupPrimitive.Indicator,
|
|
8120
|
+
{
|
|
8121
|
+
className: cn(
|
|
8122
|
+
"flex items-center justify-center",
|
|
8123
|
+
"data-[state=checked]:animate-in data-[state=checked]:zoom-in-50 data-[state=checked]:duration-150"
|
|
8124
|
+
),
|
|
8125
|
+
children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-accent1 text-accent1" })
|
|
8126
|
+
}
|
|
8127
|
+
)
|
|
7954
8128
|
}
|
|
7955
8129
|
);
|
|
7956
8130
|
});
|
|
@@ -9099,11 +9273,29 @@ const Slider = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
9099
9273
|
SliderPrimitive.Root,
|
|
9100
9274
|
{
|
|
9101
9275
|
ref,
|
|
9102
|
-
className: cn("relative flex w-full touch-none select-none items-center", className),
|
|
9276
|
+
className: cn("relative flex w-full touch-none select-none items-center group", className),
|
|
9103
9277
|
...props,
|
|
9104
9278
|
children: [
|
|
9105
|
-
/* @__PURE__ */ jsx(
|
|
9106
|
-
|
|
9279
|
+
/* @__PURE__ */ jsx(
|
|
9280
|
+
SliderPrimitive.Track,
|
|
9281
|
+
{
|
|
9282
|
+
className: cn("relative h-1.5 w-full grow overflow-hidden rounded-full bg-neutral2", transitions.colors),
|
|
9283
|
+
children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: cn("absolute h-full bg-accent1", transitions.all) })
|
|
9284
|
+
}
|
|
9285
|
+
),
|
|
9286
|
+
/* @__PURE__ */ jsx(
|
|
9287
|
+
SliderPrimitive.Thumb,
|
|
9288
|
+
{
|
|
9289
|
+
className: cn(
|
|
9290
|
+
"block h-4 w-4 rounded-full border-2 border-accent1 bg-white shadow-md",
|
|
9291
|
+
"transition-all duration-normal ease-out-custom",
|
|
9292
|
+
formElementFocus,
|
|
9293
|
+
"hover:scale-110 hover:shadow-lg",
|
|
9294
|
+
"active:scale-95",
|
|
9295
|
+
"disabled:pointer-events-none disabled:opacity-50"
|
|
9296
|
+
)
|
|
9297
|
+
}
|
|
9298
|
+
)
|
|
9107
9299
|
]
|
|
9108
9300
|
}
|
|
9109
9301
|
));
|
|
@@ -9568,20 +9760,31 @@ const WorkflowRunDetail = ({
|
|
|
9568
9760
|
}
|
|
9569
9761
|
};
|
|
9570
9762
|
|
|
9571
|
-
|
|
9763
|
+
function EmptyState({
|
|
9572
9764
|
iconSlot,
|
|
9573
9765
|
titleSlot,
|
|
9574
9766
|
descriptionSlot,
|
|
9575
9767
|
actionSlot,
|
|
9576
|
-
|
|
9577
|
-
|
|
9578
|
-
|
|
9579
|
-
|
|
9580
|
-
|
|
9581
|
-
|
|
9582
|
-
|
|
9583
|
-
|
|
9584
|
-
|
|
9768
|
+
className,
|
|
9769
|
+
as: HeadingTag = "h3"
|
|
9770
|
+
}) {
|
|
9771
|
+
return /* @__PURE__ */ jsxs(
|
|
9772
|
+
"div",
|
|
9773
|
+
{
|
|
9774
|
+
className: cn(
|
|
9775
|
+
"flex flex-col items-center justify-center text-center py-10 px-6",
|
|
9776
|
+
"transition-opacity duration-normal ease-out-custom",
|
|
9777
|
+
className
|
|
9778
|
+
),
|
|
9779
|
+
children: [
|
|
9780
|
+
iconSlot && /* @__PURE__ */ jsx("div", { className: "mb-4", children: iconSlot }),
|
|
9781
|
+
/* @__PURE__ */ jsx(HeadingTag, { className: "font-medium text-neutral5 text-ui-md", children: titleSlot }),
|
|
9782
|
+
descriptionSlot && /* @__PURE__ */ jsx("p", { className: "mt-1.5 text-neutral3 text-ui-sm max-w-md", children: descriptionSlot }),
|
|
9783
|
+
actionSlot && /* @__PURE__ */ jsx("div", { className: "mt-5", children: actionSlot })
|
|
9784
|
+
]
|
|
9785
|
+
}
|
|
9786
|
+
);
|
|
9787
|
+
}
|
|
9585
9788
|
|
|
9586
9789
|
const rowSize = {
|
|
9587
9790
|
default: "[&>tbody>tr]:h-table-row",
|
|
@@ -9591,14 +9794,14 @@ const Table = ({ className, children, size = "default", style }) => {
|
|
|
9591
9794
|
return /* @__PURE__ */ jsx("table", { className: cn("w-full", rowSize[size], className), style, children });
|
|
9592
9795
|
};
|
|
9593
9796
|
const Thead = ({ className, children }) => {
|
|
9594
|
-
return /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: cn("h-table-header border-b border-border1 bg-surface2", className), children }) });
|
|
9797
|
+
return /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: cn("h-table-header border-b border-border1 bg-surface2/80", className), children }) });
|
|
9595
9798
|
};
|
|
9596
9799
|
const Th = ({ className, children, ...props }) => {
|
|
9597
9800
|
return /* @__PURE__ */ jsx(
|
|
9598
9801
|
"th",
|
|
9599
9802
|
{
|
|
9600
9803
|
className: cn(
|
|
9601
|
-
"text-
|
|
9804
|
+
"text-neutral2 text-ui-xs h-full whitespace-nowrap text-left font-medium uppercase tracking-wide first:pl-3 last:pr-3",
|
|
9602
9805
|
className
|
|
9603
9806
|
),
|
|
9604
9807
|
...props,
|
|
@@ -9620,7 +9823,12 @@ const Row = forwardRef(
|
|
|
9620
9823
|
"tr",
|
|
9621
9824
|
{
|
|
9622
9825
|
className: cn(
|
|
9623
|
-
"border-b border-border1
|
|
9826
|
+
"border-b border-border1",
|
|
9827
|
+
// Smooth hover transition
|
|
9828
|
+
"transition-colors duration-normal ease-out-custom",
|
|
9829
|
+
"hover:bg-surface3",
|
|
9830
|
+
// Focus state
|
|
9831
|
+
"focus:bg-surface3 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-accent1/50",
|
|
9624
9832
|
selected && "bg-surface4",
|
|
9625
9833
|
onClick && "cursor-pointer",
|
|
9626
9834
|
className
|
|
@@ -9933,10 +10141,12 @@ const Searchbar = ({ onSearch, label, placeholder, debounceMs = 300, size = "md"
|
|
|
9933
10141
|
"border border-border1 flex w-full items-center gap-2 overflow-hidden pl-2 pr-1",
|
|
9934
10142
|
formElementRadius,
|
|
9935
10143
|
formElementFocusWithin,
|
|
10144
|
+
transitions.all,
|
|
10145
|
+
"hover:border-neutral2",
|
|
9936
10146
|
searchbarSizeClasses[size]
|
|
9937
10147
|
),
|
|
9938
10148
|
children: [
|
|
9939
|
-
/* @__PURE__ */ jsx(SearchIcon, { className: "text-neutral3 h-4 w-4" }),
|
|
10149
|
+
/* @__PURE__ */ jsx(SearchIcon, { className: cn("text-neutral3 h-4 w-4", transitions.colors) }),
|
|
9940
10150
|
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
9941
10151
|
/* @__PURE__ */ jsx("label", { htmlFor: id, className: "sr-only", children: label }),
|
|
9942
10152
|
/* @__PURE__ */ jsx(
|
|
@@ -9946,7 +10156,7 @@ const Searchbar = ({ onSearch, label, placeholder, debounceMs = 300, size = "md"
|
|
|
9946
10156
|
type: "text",
|
|
9947
10157
|
placeholder,
|
|
9948
10158
|
className: cn(
|
|
9949
|
-
"bg-
|
|
10159
|
+
"bg-transparent text-ui-md placeholder:text-neutral3 block w-full px-2 outline-none",
|
|
9950
10160
|
searchbarSizeClasses[size]
|
|
9951
10161
|
),
|
|
9952
10162
|
name: id,
|
|
@@ -10059,16 +10269,18 @@ const TabList = ({ children, variant = "default", className }) => {
|
|
|
10059
10269
|
RadixTabs.List,
|
|
10060
10270
|
{
|
|
10061
10271
|
className: cn(
|
|
10062
|
-
"flex items-center",
|
|
10272
|
+
"flex items-center relative",
|
|
10063
10273
|
{
|
|
10064
10274
|
// variant: default
|
|
10065
10275
|
"text-ui-lg": variant === "default",
|
|
10066
10276
|
"[&>button]:py-2 [&>button]:px-6 [&>button]:font-normal [&>button]:text-neutral3 [&>button]:flex-1 [&>button]:border-b [&>button]:border-border1": variant === "default",
|
|
10067
|
-
|
|
10277
|
+
[`[&>button]:${transitions.colors} [&>button]:hover:text-neutral4`]: variant === "default",
|
|
10278
|
+
"[&>button[data-state=active]]:text-neutral5 [&>button[data-state=active]]:border-accent1": variant === "default",
|
|
10068
10279
|
// variant: buttons
|
|
10069
10280
|
"border border-border1 flex justify-stretch rounded-md overflow-hidden text-ui-md min-h-[2.5rem]": variant === "buttons",
|
|
10070
|
-
|
|
10071
|
-
"[&>button
|
|
10281
|
+
[`[&>button]:flex-1 [&>button]:py-2 [&>button]:px-4 [&>button]:text-neutral3 [&>button]:${transitions.all}`]: variant === "buttons",
|
|
10282
|
+
"[&>button]:hover:text-neutral4 [&>button]:hover:bg-surface3": variant === "buttons",
|
|
10283
|
+
"[&>button[data-state=active]]:text-neutral5 [&>button[data-state=active]]:bg-surface4 [&>button[data-state=active]]:shadow-inner": variant === "buttons"
|
|
10072
10284
|
},
|
|
10073
10285
|
className
|
|
10074
10286
|
),
|
|
@@ -10083,7 +10295,11 @@ const Tab = ({ children, value, onClick, onClose, className }) => {
|
|
|
10083
10295
|
{
|
|
10084
10296
|
value,
|
|
10085
10297
|
className: cn(
|
|
10086
|
-
"text-xs p-3 text-neutral3
|
|
10298
|
+
"text-xs p-3 text-neutral3 whitespace-nowrap flex-shrink-0 flex items-center justify-center gap-1.5",
|
|
10299
|
+
transitions.all,
|
|
10300
|
+
focusRing.visible,
|
|
10301
|
+
"hover:text-neutral4",
|
|
10302
|
+
"data-[state=active]:text-neutral5 data-[state=active]:border-b-2 data-[state=active]:border-accent1",
|
|
10087
10303
|
className
|
|
10088
10304
|
),
|
|
10089
10305
|
onClick,
|
|
@@ -10096,7 +10312,7 @@ const Tab = ({ children, value, onClick, onClose, className }) => {
|
|
|
10096
10312
|
e.stopPropagation();
|
|
10097
10313
|
onClose();
|
|
10098
10314
|
},
|
|
10099
|
-
className: "p-0.5 hover:bg-
|
|
10315
|
+
className: cn("p-0.5 hover:bg-surface4 rounded", transitions.colors, "hover:text-neutral5"),
|
|
10100
10316
|
"aria-label": "Close tab",
|
|
10101
10317
|
children: /* @__PURE__ */ jsx(X, { className: "w-3 h-3" })
|
|
10102
10318
|
}
|
|
@@ -10112,7 +10328,10 @@ const TabContent = ({ children, value, className }) => {
|
|
|
10112
10328
|
{
|
|
10113
10329
|
value,
|
|
10114
10330
|
className: cn(
|
|
10115
|
-
"grid py-3 overflow-y-auto ring-offset-background
|
|
10331
|
+
"grid py-3 overflow-y-auto ring-offset-background",
|
|
10332
|
+
focusRing.visible,
|
|
10333
|
+
"data-[state=active]:animate-in data-[state=active]:fade-in-0 data-[state=active]:duration-200",
|
|
10334
|
+
"data-[state=inactive]:animate-out data-[state=inactive]:fade-out-0 data-[state=inactive]:duration-150",
|
|
10116
10335
|
className
|
|
10117
10336
|
),
|
|
10118
10337
|
children
|
|
@@ -10164,21 +10383,27 @@ const TracingRunOptions = () => {
|
|
|
10164
10383
|
] });
|
|
10165
10384
|
};
|
|
10166
10385
|
|
|
10167
|
-
|
|
10386
|
+
const sizeClasses = {
|
|
10387
|
+
sm: "w-4 h-4",
|
|
10388
|
+
md: "w-6 h-6",
|
|
10389
|
+
lg: "w-8 h-8"
|
|
10390
|
+
};
|
|
10391
|
+
function Spinner({ color, className, size = "md" }) {
|
|
10168
10392
|
return /* @__PURE__ */ jsx(
|
|
10169
10393
|
"svg",
|
|
10170
10394
|
{
|
|
10171
|
-
className: cn("animate-spin
|
|
10395
|
+
className: cn("animate-spin", sizeClasses[size], className),
|
|
10396
|
+
style: { animationDuration: "800ms", animationTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)" },
|
|
10172
10397
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10173
10398
|
width: "24",
|
|
10174
10399
|
height: "24",
|
|
10175
10400
|
viewBox: "0 0 24 24",
|
|
10176
10401
|
fill: "none",
|
|
10177
10402
|
stroke: "currentColor",
|
|
10178
|
-
strokeWidth: "2",
|
|
10403
|
+
strokeWidth: "2.5",
|
|
10179
10404
|
strokeLinecap: "round",
|
|
10180
10405
|
strokeLinejoin: "round",
|
|
10181
|
-
children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56", stroke: color })
|
|
10406
|
+
children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56", stroke: color || "currentColor", className: "text-accent1" })
|
|
10182
10407
|
}
|
|
10183
10408
|
);
|
|
10184
10409
|
}
|
|
@@ -10513,59 +10738,84 @@ function Combobox({
|
|
|
10513
10738
|
]
|
|
10514
10739
|
}
|
|
10515
10740
|
) }),
|
|
10516
|
-
/* @__PURE__ */ jsx(PopoverContent, { className: "p-0 w-fit", align: "start", children: /* @__PURE__ */ jsxs(
|
|
10517
|
-
|
|
10518
|
-
|
|
10519
|
-
|
|
10520
|
-
"
|
|
10521
|
-
|
|
10522
|
-
|
|
10523
|
-
|
|
10524
|
-
|
|
10525
|
-
|
|
10526
|
-
|
|
10527
|
-
|
|
10528
|
-
|
|
10529
|
-
"aria-autocomplete": "list",
|
|
10530
|
-
"aria-controls": "combobox-options",
|
|
10531
|
-
"aria-expanded": open
|
|
10532
|
-
}
|
|
10533
|
-
)
|
|
10534
|
-
] }),
|
|
10535
|
-
/* @__PURE__ */ jsx(
|
|
10536
|
-
"div",
|
|
10537
|
-
{
|
|
10538
|
-
ref: listRef,
|
|
10539
|
-
id: "combobox-options",
|
|
10540
|
-
role: "listbox",
|
|
10541
|
-
className: "max-h-dropdown-max-height overflow-y-auto overflow-x-hidden p-1",
|
|
10542
|
-
children: filteredOptions.length === 0 ? /* @__PURE__ */ jsx("div", { className: "py-6 text-center text-sm", children: emptyText }) : filteredOptions.map((option, index) => {
|
|
10543
|
-
const isSelected = value === option.value;
|
|
10544
|
-
const isHighlighted = index === highlightedIndex;
|
|
10545
|
-
return /* @__PURE__ */ jsxs(
|
|
10546
|
-
"div",
|
|
10741
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "p-0 w-fit", align: "start", children: /* @__PURE__ */ jsxs(
|
|
10742
|
+
"div",
|
|
10743
|
+
{
|
|
10744
|
+
className: cn(
|
|
10745
|
+
"flex h-full w-full flex-col overflow-hidden rounded-md bg-surface3 text-neutral5",
|
|
10746
|
+
"shadow-elevated",
|
|
10747
|
+
"animate-in fade-in-0 zoom-in-95 duration-150"
|
|
10748
|
+
),
|
|
10749
|
+
children: [
|
|
10750
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center border-b border-border1 px-3 py-2", transitions.colors), children: [
|
|
10751
|
+
/* @__PURE__ */ jsx(Search, { className: cn("mr-2 h-4 w-4 shrink-0 text-neutral3", transitions.colors) }),
|
|
10752
|
+
/* @__PURE__ */ jsx(
|
|
10753
|
+
"input",
|
|
10547
10754
|
{
|
|
10548
|
-
|
|
10549
|
-
"aria-selected": isSelected,
|
|
10755
|
+
ref: inputRef,
|
|
10550
10756
|
className: cn(
|
|
10551
|
-
"
|
|
10552
|
-
"
|
|
10553
|
-
|
|
10554
|
-
|
|
10757
|
+
"flex h-8 w-full rounded-md bg-transparent py-1 text-sm",
|
|
10758
|
+
"placeholder:text-neutral3 disabled:cursor-not-allowed disabled:opacity-50",
|
|
10759
|
+
"outline-none",
|
|
10760
|
+
transitions.colors
|
|
10555
10761
|
),
|
|
10556
|
-
|
|
10557
|
-
|
|
10558
|
-
|
|
10559
|
-
|
|
10560
|
-
|
|
10561
|
-
|
|
10562
|
-
|
|
10563
|
-
|
|
10564
|
-
|
|
10565
|
-
|
|
10566
|
-
|
|
10567
|
-
|
|
10568
|
-
|
|
10762
|
+
placeholder: searchPlaceholder,
|
|
10763
|
+
value: search,
|
|
10764
|
+
onChange: (e) => setSearch(e.target.value),
|
|
10765
|
+
onKeyDown: handleKeyDown,
|
|
10766
|
+
role: "combobox",
|
|
10767
|
+
"aria-autocomplete": "list",
|
|
10768
|
+
"aria-controls": "combobox-options",
|
|
10769
|
+
"aria-expanded": open
|
|
10770
|
+
}
|
|
10771
|
+
)
|
|
10772
|
+
] }),
|
|
10773
|
+
/* @__PURE__ */ jsx(
|
|
10774
|
+
"div",
|
|
10775
|
+
{
|
|
10776
|
+
ref: listRef,
|
|
10777
|
+
id: "combobox-options",
|
|
10778
|
+
role: "listbox",
|
|
10779
|
+
className: "max-h-dropdown-max-height overflow-y-auto overflow-x-hidden p-1",
|
|
10780
|
+
children: filteredOptions.length === 0 ? /* @__PURE__ */ jsx("div", { className: "py-6 text-center text-sm text-neutral3", children: emptyText }) : filteredOptions.map((option, index) => {
|
|
10781
|
+
const isSelected = value === option.value;
|
|
10782
|
+
const isHighlighted = index === highlightedIndex;
|
|
10783
|
+
return /* @__PURE__ */ jsxs(
|
|
10784
|
+
"div",
|
|
10785
|
+
{
|
|
10786
|
+
role: "option",
|
|
10787
|
+
"aria-selected": isSelected,
|
|
10788
|
+
className: cn(
|
|
10789
|
+
"relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm",
|
|
10790
|
+
transitions.colors,
|
|
10791
|
+
"hover:bg-surface5 hover:text-neutral5",
|
|
10792
|
+
isHighlighted && "bg-surface5 text-neutral5",
|
|
10793
|
+
isSelected && !isHighlighted && "bg-accent1Dark text-accent1"
|
|
10794
|
+
),
|
|
10795
|
+
onClick: () => handleSelect(option.value),
|
|
10796
|
+
onMouseEnter: () => setHighlightedIndex(index),
|
|
10797
|
+
children: [
|
|
10798
|
+
/* @__PURE__ */ jsx(
|
|
10799
|
+
Check,
|
|
10800
|
+
{
|
|
10801
|
+
className: cn(
|
|
10802
|
+
"mr-2 h-4 w-4",
|
|
10803
|
+
transitions.opacity,
|
|
10804
|
+
isSelected ? "opacity-100 text-accent1" : "opacity-0"
|
|
10805
|
+
)
|
|
10806
|
+
}
|
|
10807
|
+
),
|
|
10808
|
+
option.label
|
|
10809
|
+
]
|
|
10810
|
+
},
|
|
10811
|
+
option.value
|
|
10812
|
+
);
|
|
10813
|
+
})
|
|
10814
|
+
}
|
|
10815
|
+
)
|
|
10816
|
+
]
|
|
10817
|
+
}
|
|
10818
|
+
) })
|
|
10569
10819
|
] });
|
|
10570
10820
|
}
|
|
10571
10821
|
|
|
@@ -14087,22 +14337,19 @@ function EntryListEntry({ entry, isSelected, onClick, children, columns }) {
|
|
|
14087
14337
|
className: cn(
|
|
14088
14338
|
"border-t text-neutral5 border-border1 last:border-b-0 text-ui-md",
|
|
14089
14339
|
"[&:last-child>button]:rounded-b-lg",
|
|
14340
|
+
transitions.colors,
|
|
14090
14341
|
{
|
|
14091
|
-
"bg-
|
|
14342
|
+
"bg-accent1Dark": isSelected
|
|
14092
14343
|
}
|
|
14093
14344
|
),
|
|
14094
14345
|
children: /* @__PURE__ */ jsx(
|
|
14095
14346
|
"button",
|
|
14096
14347
|
{
|
|
14097
14348
|
onClick: handleClick,
|
|
14098
|
-
className: cn(
|
|
14099
|
-
|
|
14100
|
-
"
|
|
14101
|
-
|
|
14102
|
-
// hover effect only not for skeleton and selected
|
|
14103
|
-
"hover:bg-surface4": entry && !isSelected
|
|
14104
|
-
}
|
|
14105
|
-
),
|
|
14349
|
+
className: cn("grid w-full px-6 gap-6 text-left items-center min-h-12", transitions.colors, focusRing.visible, {
|
|
14350
|
+
// hover effect only not for skeleton and selected
|
|
14351
|
+
"hover:bg-surface4": entry && !isSelected
|
|
14352
|
+
}),
|
|
14106
14353
|
style: { gridTemplateColumns: getColumnTemplate(columns) },
|
|
14107
14354
|
disabled: !entry,
|
|
14108
14355
|
children
|
|
@@ -14346,18 +14593,28 @@ function SideDialogRoot({
|
|
|
14346
14593
|
}) {
|
|
14347
14594
|
const isConfirmation = variant === "confirmation";
|
|
14348
14595
|
return /* @__PURE__ */ jsx(DialogPrimitive.Root, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { children: [
|
|
14349
|
-
!isConfirmation && /* @__PURE__ */ jsx(
|
|
14596
|
+
!isConfirmation && /* @__PURE__ */ jsx(
|
|
14597
|
+
DialogPrimitive.Overlay,
|
|
14598
|
+
{
|
|
14599
|
+
className: cn(
|
|
14600
|
+
"bg-overlay backdrop-blur-sm top-0 bottom-0 right-0 left-0 fixed z-50",
|
|
14601
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200",
|
|
14602
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-150"
|
|
14603
|
+
)
|
|
14604
|
+
}
|
|
14605
|
+
),
|
|
14350
14606
|
/* @__PURE__ */ jsxs(
|
|
14351
14607
|
DialogPrimitive.Content,
|
|
14352
14608
|
{
|
|
14353
14609
|
className: cn(
|
|
14354
|
-
"fixed top-0 bottom-0 right-0 border-l border-border2 z-50 bg-surface2
|
|
14610
|
+
"fixed top-0 bottom-0 right-0 border-l border-border2 z-50 bg-surface2",
|
|
14611
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-right-1/4 data-[state=closed]:duration-200",
|
|
14355
14612
|
{
|
|
14356
14613
|
"w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]": level === 1,
|
|
14357
14614
|
"w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]": level === 2,
|
|
14358
14615
|
"w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]": level === 3,
|
|
14359
|
-
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-right-1/4
|
|
14360
|
-
"bg-surface2/70": isConfirmation
|
|
14616
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-right-1/4 data-[state=open]:duration-300 shadow-dialog": !isConfirmation,
|
|
14617
|
+
"bg-surface2/70 backdrop-blur-sm": isConfirmation
|
|
14361
14618
|
},
|
|
14362
14619
|
className
|
|
14363
14620
|
),
|
|
@@ -14370,8 +14627,9 @@ function SideDialogRoot({
|
|
|
14370
14627
|
"button",
|
|
14371
14628
|
{
|
|
14372
14629
|
className: cn(
|
|
14373
|
-
"flex appearance-none items-center justify-center rounded-bl-lg h-[3.5rem] w-[3.5rem] absolute top-0 left-[-3.5rem] bg-surface2 text-
|
|
14374
|
-
|
|
14630
|
+
"flex appearance-none items-center justify-center rounded-bl-lg h-[3.5rem] w-[3.5rem] absolute top-0 left-[-3.5rem] bg-surface2 text-neutral3 border-l border-b border-border2",
|
|
14631
|
+
transitions.all,
|
|
14632
|
+
"hover:bg-surface4 hover:text-neutral5"
|
|
14375
14633
|
),
|
|
14376
14634
|
"aria-label": "Close",
|
|
14377
14635
|
children: /* @__PURE__ */ jsx(ChevronsRightIcon, {})
|
|
@@ -15596,7 +15854,13 @@ const Switch = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
15596
15854
|
SwitchPrimitives.Root,
|
|
15597
15855
|
{
|
|
15598
15856
|
className: cn(
|
|
15599
|
-
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent
|
|
15857
|
+
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent",
|
|
15858
|
+
transitions.all,
|
|
15859
|
+
formElementFocus,
|
|
15860
|
+
"hover:brightness-110",
|
|
15861
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:brightness-100",
|
|
15862
|
+
"data-[state=checked]:bg-accent1 data-[state=checked]:shadow-glow-accent1",
|
|
15863
|
+
"data-[state=unchecked]:bg-neutral2",
|
|
15600
15864
|
className
|
|
15601
15865
|
),
|
|
15602
15866
|
...props,
|
|
@@ -15605,7 +15869,10 @@ const Switch = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
15605
15869
|
SwitchPrimitives.Thumb,
|
|
15606
15870
|
{
|
|
15607
15871
|
className: cn(
|
|
15608
|
-
"pointer-events-none block h-4 w-4 rounded-full bg-white shadow-
|
|
15872
|
+
"pointer-events-none block h-4 w-4 rounded-full bg-white shadow-md",
|
|
15873
|
+
"transition-all duration-normal ease-out-custom",
|
|
15874
|
+
"data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0",
|
|
15875
|
+
"data-[state=checked]:shadow-lg"
|
|
15609
15876
|
)
|
|
15610
15877
|
}
|
|
15611
15878
|
)
|
|
@@ -16040,7 +16307,11 @@ const ThreadLink = ({ children, as: Component = "a", href, className, prefetch,
|
|
|
16040
16307
|
href,
|
|
16041
16308
|
prefetch,
|
|
16042
16309
|
to,
|
|
16043
|
-
className: cn(
|
|
16310
|
+
className: cn(
|
|
16311
|
+
"text-ui-sm flex h-full w-full flex-col justify-center font-medium cursor-pointer",
|
|
16312
|
+
transitions.colors,
|
|
16313
|
+
className
|
|
16314
|
+
),
|
|
16044
16315
|
children
|
|
16045
16316
|
}
|
|
16046
16317
|
);
|
|
@@ -16053,8 +16324,10 @@ const ThreadItem = ({ children, isActive, className }) => {
|
|
|
16053
16324
|
"li",
|
|
16054
16325
|
{
|
|
16055
16326
|
className: cn(
|
|
16056
|
-
"border-b border-border1
|
|
16057
|
-
|
|
16327
|
+
"border-b border-border1 group flex h-[54px] items-center justify-between gap-2 px-3 py-2",
|
|
16328
|
+
transitions.colors,
|
|
16329
|
+
"hover:bg-surface3",
|
|
16330
|
+
isActive && "bg-accent1Dark",
|
|
16058
16331
|
className
|
|
16059
16332
|
),
|
|
16060
16333
|
children
|
|
@@ -16065,9 +16338,15 @@ const ThreadDeleteButton = ({ onClick }) => {
|
|
|
16065
16338
|
return /* @__PURE__ */ jsx(
|
|
16066
16339
|
Button,
|
|
16067
16340
|
{
|
|
16068
|
-
|
|
16341
|
+
variant: "ghost",
|
|
16342
|
+
className: cn(
|
|
16343
|
+
"shrink-0 opacity-0",
|
|
16344
|
+
transitions.all,
|
|
16345
|
+
"group-focus-within:opacity-100 group-hover:opacity-100",
|
|
16346
|
+
"hover:bg-surface4 hover:text-accent2"
|
|
16347
|
+
),
|
|
16069
16348
|
onClick,
|
|
16070
|
-
children: /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(X, { "aria-label": "delete thread", className: "text-neutral3" }) })
|
|
16349
|
+
children: /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(X, { "aria-label": "delete thread", className: "text-neutral3 hover:text-accent2 transition-colors" }) })
|
|
16071
16350
|
}
|
|
16072
16351
|
);
|
|
16073
16352
|
};
|
|
@@ -16086,7 +16365,9 @@ const AlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => /*
|
|
|
16086
16365
|
AlertDialogPrimitive.Overlay,
|
|
16087
16366
|
{
|
|
16088
16367
|
className: cn(
|
|
16089
|
-
"fixed inset-0 z-50 bg-
|
|
16368
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-sm",
|
|
16369
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200",
|
|
16370
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-150",
|
|
16090
16371
|
className
|
|
16091
16372
|
),
|
|
16092
16373
|
...props,
|
|
@@ -16101,7 +16382,9 @@ const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => /*
|
|
|
16101
16382
|
{
|
|
16102
16383
|
ref,
|
|
16103
16384
|
className: cn(
|
|
16104
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border1 bg-surface3 p-6 shadow-
|
|
16385
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border1 bg-surface3 p-6 shadow-dialog rounded-md",
|
|
16386
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] data-[state=open]:duration-200",
|
|
16387
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=closed]:duration-150",
|
|
16105
16388
|
className
|
|
16106
16389
|
),
|
|
16107
16390
|
...props
|
|
@@ -17893,30 +18176,53 @@ function ProcessStepListItem({ stepId, step, isActive, position }) {
|
|
|
17893
18176
|
return /* @__PURE__ */ jsxs(
|
|
17894
18177
|
"div",
|
|
17895
18178
|
{
|
|
17896
|
-
className: cn("grid gap-6 grid-cols-[1fr_auto] py-3 px-4 rounded-lg", {
|
|
17897
|
-
"border border-dashed border-
|
|
18179
|
+
className: cn("grid gap-6 grid-cols-[1fr_auto] py-3 px-4 rounded-lg", transitions.all, {
|
|
18180
|
+
"border border-dashed border-neutral2 bg-surface3": isActive
|
|
17898
18181
|
}),
|
|
17899
18182
|
children: [
|
|
17900
18183
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto_1fr] gap-2", children: [
|
|
17901
|
-
/* @__PURE__ */ jsxs(
|
|
17902
|
-
|
|
17903
|
-
|
|
17904
|
-
|
|
18184
|
+
/* @__PURE__ */ jsxs(
|
|
18185
|
+
"span",
|
|
18186
|
+
{
|
|
18187
|
+
className: cn("text-ui-md min-w-6 flex justify-end", transitions.colors, {
|
|
18188
|
+
"text-neutral5": isActive || step.status === "success",
|
|
18189
|
+
"text-neutral3": !isActive && step.status !== "success"
|
|
18190
|
+
}),
|
|
18191
|
+
children: [
|
|
18192
|
+
position,
|
|
18193
|
+
"."
|
|
18194
|
+
]
|
|
18195
|
+
}
|
|
18196
|
+
),
|
|
17905
18197
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
17906
|
-
/* @__PURE__ */ jsx(
|
|
17907
|
-
|
|
18198
|
+
/* @__PURE__ */ jsx(
|
|
18199
|
+
"h4",
|
|
18200
|
+
{
|
|
18201
|
+
className: cn("text-ui-md", transitions.colors, {
|
|
18202
|
+
"text-neutral5": isActive || step.status === "success",
|
|
18203
|
+
"text-neutral3": !isActive && step.status !== "success"
|
|
18204
|
+
}),
|
|
18205
|
+
children: formatStepTitle(stepId)
|
|
18206
|
+
}
|
|
18207
|
+
),
|
|
18208
|
+
step.description && /* @__PURE__ */ jsx("p", { className: "text-ui-md text-neutral2 -mt-0.5", children: step.description })
|
|
17908
18209
|
] })
|
|
17909
18210
|
] }),
|
|
17910
18211
|
/* @__PURE__ */ jsx(
|
|
17911
18212
|
"div",
|
|
17912
18213
|
{
|
|
17913
|
-
className: cn(
|
|
17914
|
-
"
|
|
17915
|
-
|
|
17916
|
-
|
|
17917
|
-
|
|
17918
|
-
|
|
17919
|
-
|
|
18214
|
+
className: cn(
|
|
18215
|
+
"w-[1.75rem] h-[1.75rem] rounded-full flex items-center justify-center self-center",
|
|
18216
|
+
transitions.all,
|
|
18217
|
+
{
|
|
18218
|
+
"border border-neutral2 border-dashed": step.status === "pending",
|
|
18219
|
+
"[&>svg]:text-white [&>svg]:w-[1rem] [&>svg]:h-[1rem]": step.status !== "running",
|
|
18220
|
+
"w-[1.75rem] h-[1.75rem]": step.status === "running",
|
|
18221
|
+
"bg-accent1Dark shadow-glow-accent1": step.status === "success",
|
|
18222
|
+
"bg-accent2Dark shadow-glow-accent2": step.status === "failed",
|
|
18223
|
+
"scale-110": step.status === "success" || step.status === "failed"
|
|
18224
|
+
}
|
|
18225
|
+
),
|
|
17920
18226
|
children: getStatusIcon(step.status)
|
|
17921
18227
|
}
|
|
17922
18228
|
)
|
|
@@ -17946,19 +18252,20 @@ function ProcessStepProgressBar({ steps }) {
|
|
|
17946
18252
|
return /* @__PURE__ */ jsx(
|
|
17947
18253
|
"div",
|
|
17948
18254
|
{
|
|
17949
|
-
className: cn("flex justify-end items-center relative h-[2rem]
|
|
17950
|
-
"bg-
|
|
18255
|
+
className: cn("flex justify-end items-center relative h-[2rem]", transitions.colors, {
|
|
18256
|
+
"bg-accent1Dark": step.status === "success" && steps?.[idx - 1]?.status === "success"
|
|
17951
18257
|
}),
|
|
17952
18258
|
children: /* @__PURE__ */ jsx(
|
|
17953
18259
|
"div",
|
|
17954
18260
|
{
|
|
17955
18261
|
className: cn(
|
|
17956
18262
|
"w-[2rem] h-[2rem] rounded-full flex items-center justify-center self-center absolute right-0 translate-x-[50%] bg-surface3 z-10 text-neutral3 font-bold text-ui-sm",
|
|
18263
|
+
transitions.all,
|
|
17957
18264
|
{
|
|
17958
|
-
"border border-
|
|
17959
|
-
"[&>svg]:text-
|
|
17960
|
-
"bg-
|
|
17961
|
-
"bg-
|
|
18265
|
+
"border border-neutral2 border-dashed": step.status === "pending",
|
|
18266
|
+
"[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]": step.status !== "running",
|
|
18267
|
+
"bg-accent1Dark text-white shadow-glow-accent1 scale-110": step.status === "success",
|
|
18268
|
+
"bg-accent2Dark text-white shadow-glow-accent2 scale-110": step.status === "failed"
|
|
17962
18269
|
}
|
|
17963
18270
|
),
|
|
17964
18271
|
children: step.status === "running" ? /* @__PURE__ */ jsx(Spinner, {}) : idx + 1
|
|
@@ -17968,7 +18275,7 @@ function ProcessStepProgressBar({ steps }) {
|
|
|
17968
18275
|
step.id
|
|
17969
18276
|
);
|
|
17970
18277
|
}) }),
|
|
17971
|
-
/* @__PURE__ */ jsxs("div", { className: "text-xs text-neutral3 text-center", children: [
|
|
18278
|
+
/* @__PURE__ */ jsxs("div", { className: cn("text-xs text-neutral3 text-center", transitions.colors), children: [
|
|
17972
18279
|
completedSteps,
|
|
17973
18280
|
" of ",
|
|
17974
18281
|
totalSteps,
|
|
@@ -19841,46 +20148,67 @@ function Notification({
|
|
|
19841
20148
|
type = "info"
|
|
19842
20149
|
}) {
|
|
19843
20150
|
const [localIsVisible, setLocalIsVisible] = useState(isVisible);
|
|
20151
|
+
const [isAnimatingOut, setIsAnimatingOut] = useState(false);
|
|
19844
20152
|
useEffect(() => {
|
|
19845
20153
|
if (dismissible && autoDismiss && isVisible) {
|
|
19846
20154
|
const timer = setTimeout(() => {
|
|
19847
|
-
|
|
20155
|
+
handleDismiss();
|
|
19848
20156
|
}, dismissTime);
|
|
19849
20157
|
return () => clearTimeout(timer);
|
|
19850
20158
|
}
|
|
19851
|
-
}, [autoDismiss, isVisible, dismissTime]);
|
|
20159
|
+
}, [autoDismiss, isVisible, dismissTime, dismissible]);
|
|
19852
20160
|
useEffect(() => {
|
|
19853
|
-
|
|
20161
|
+
if (isVisible) {
|
|
20162
|
+
setIsAnimatingOut(false);
|
|
20163
|
+
setLocalIsVisible(true);
|
|
20164
|
+
}
|
|
19854
20165
|
}, [isVisible]);
|
|
20166
|
+
const handleDismiss = () => {
|
|
20167
|
+
setIsAnimatingOut(true);
|
|
20168
|
+
setTimeout(() => {
|
|
20169
|
+
setLocalIsVisible(false);
|
|
20170
|
+
setIsAnimatingOut(false);
|
|
20171
|
+
}, 200);
|
|
20172
|
+
};
|
|
19855
20173
|
if (!localIsVisible) return null;
|
|
20174
|
+
const typeStyles = {
|
|
20175
|
+
info: "bg-surface4 border-border1",
|
|
20176
|
+
error: "bg-accent2Darker border-accent2/30",
|
|
20177
|
+
success: "bg-accent1Darker border-accent1/30",
|
|
20178
|
+
warning: "bg-accent6Darker border-accent6/30"
|
|
20179
|
+
};
|
|
20180
|
+
const iconStyles = {
|
|
20181
|
+
info: "text-accent5",
|
|
20182
|
+
error: "text-accent2",
|
|
20183
|
+
success: "text-accent1",
|
|
20184
|
+
warning: "text-accent6"
|
|
20185
|
+
};
|
|
19856
20186
|
return /* @__PURE__ */ jsxs(
|
|
19857
20187
|
"div",
|
|
19858
20188
|
{
|
|
19859
20189
|
className: cn(
|
|
19860
|
-
"grid grid-cols-[
|
|
19861
|
-
|
|
19862
|
-
|
|
19863
|
-
|
|
20190
|
+
"grid grid-cols-[auto_1fr_auto] gap-3 rounded-lg border p-4 text-ui-md text-neutral4 items-start",
|
|
20191
|
+
"shadow-card",
|
|
20192
|
+
transitions.all,
|
|
20193
|
+
isAnimatingOut ? "animate-out fade-out-0 slide-out-to-right-2 duration-200" : "animate-in fade-in-0 slide-in-from-right-2 duration-300",
|
|
20194
|
+
typeStyles[type],
|
|
19864
20195
|
className
|
|
19865
20196
|
),
|
|
19866
20197
|
children: [
|
|
19867
|
-
/* @__PURE__ */ jsx(
|
|
19868
|
-
|
|
20198
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex-shrink-0 mt-0.5", iconStyles[type]), children: type === "error" || type === "warning" ? /* @__PURE__ */ jsx(AlertTriangleIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(InfoIcon$1, { className: "h-4 w-4" }) }),
|
|
20199
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-2 items-start min-w-0", children }),
|
|
20200
|
+
dismissible && /* @__PURE__ */ jsxs(
|
|
20201
|
+
Button,
|
|
19869
20202
|
{
|
|
19870
|
-
|
|
19871
|
-
|
|
19872
|
-
|
|
19873
|
-
|
|
19874
|
-
|
|
19875
|
-
}
|
|
19876
|
-
|
|
19877
|
-
children
|
|
20203
|
+
variant: "ghost",
|
|
20204
|
+
className: cn("h-6 w-6 p-0 flex-shrink-0", transitions.colors, "hover:bg-surface5"),
|
|
20205
|
+
onClick: handleDismiss,
|
|
20206
|
+
children: [
|
|
20207
|
+
/* @__PURE__ */ jsx(XIcon, { className: "h-4 w-4" }),
|
|
20208
|
+
/* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Dismiss" })
|
|
20209
|
+
]
|
|
19878
20210
|
}
|
|
19879
|
-
)
|
|
19880
|
-
dismissible && /* @__PURE__ */ jsxs(Button, { onClick: () => setLocalIsVisible(false), children: [
|
|
19881
|
-
/* @__PURE__ */ jsx(XIcon, {}),
|
|
19882
|
-
/* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Dismiss" })
|
|
19883
|
-
] })
|
|
20211
|
+
)
|
|
19884
20212
|
]
|
|
19885
20213
|
}
|
|
19886
20214
|
);
|
|
@@ -19986,7 +20314,8 @@ const Crumb = ({ className, as, isCurrent, action, ...props }) => {
|
|
|
19986
20314
|
"aria-current": isCurrent ? "page" : void 0,
|
|
19987
20315
|
className: cn(
|
|
19988
20316
|
"text-ui-md leading-ui-md flex items-center gap-2",
|
|
19989
|
-
|
|
20317
|
+
transitions.colors,
|
|
20318
|
+
isCurrent ? "text-white" : "text-neutral3 hover:text-neutral5",
|
|
19990
20319
|
className
|
|
19991
20320
|
),
|
|
19992
20321
|
...props
|
|
@@ -19994,7 +20323,7 @@ const Crumb = ({ className, as, isCurrent, action, ...props }) => {
|
|
|
19994
20323
|
),
|
|
19995
20324
|
action
|
|
19996
20325
|
] }),
|
|
19997
|
-
!isCurrent && /* @__PURE__ */ jsx("li", { role: "separator", className: "flex h-full items-center", children: /* @__PURE__ */ jsx(Icon, { className: "text-
|
|
20326
|
+
!isCurrent && /* @__PURE__ */ jsx("li", { role: "separator", className: "flex h-full items-center", children: /* @__PURE__ */ jsx(Icon, { className: cn("text-neutral2", transitions.colors), children: /* @__PURE__ */ jsx(SlashIcon, {}) }) })
|
|
19998
20327
|
] });
|
|
19999
20328
|
};
|
|
20000
20329
|
|
|
@@ -20063,12 +20392,24 @@ const LogoWithoutText = (props) => /* @__PURE__ */ jsx("svg", { xmlns: "http://w
|
|
|
20063
20392
|
) });
|
|
20064
20393
|
|
|
20065
20394
|
const themeClasses = {
|
|
20066
|
-
light: "bg-gray-100 border-gray-300 text-gray-700",
|
|
20067
|
-
dark: "bg-surface4 border-border1 text-
|
|
20395
|
+
light: "bg-gray-100 border-gray-300 text-gray-700 shadow-[0_1px_0_rgba(0,0,0,0.1)]",
|
|
20396
|
+
dark: "bg-surface4 border-border1 text-neutral5 shadow-[0_1px_0_rgba(0,0,0,0.3)]"
|
|
20068
20397
|
};
|
|
20069
|
-
const Kbd = ({ children, theme = "dark" }) => {
|
|
20398
|
+
const Kbd = ({ children, theme = "dark", className }) => {
|
|
20070
20399
|
const themeClass = themeClasses[theme];
|
|
20071
|
-
return /* @__PURE__ */ jsx(
|
|
20400
|
+
return /* @__PURE__ */ jsx(
|
|
20401
|
+
"kbd",
|
|
20402
|
+
{
|
|
20403
|
+
className: cn(
|
|
20404
|
+
"border rounded-md px-1.5 py-0.5 font-mono text-ui-sm inline-flex items-center justify-center min-w-[1.5rem]",
|
|
20405
|
+
transitions.transform,
|
|
20406
|
+
"active:scale-95 active:shadow-none",
|
|
20407
|
+
themeClass,
|
|
20408
|
+
className
|
|
20409
|
+
),
|
|
20410
|
+
children
|
|
20411
|
+
}
|
|
20412
|
+
);
|
|
20072
20413
|
};
|
|
20073
20414
|
|
|
20074
20415
|
const SIDEBAR_COOKIE_NAME = "sidebar:state";
|
|
@@ -20138,6 +20479,8 @@ function MainSidebarRoot({ children, className }) {
|
|
|
20138
20479
|
{
|
|
20139
20480
|
className: cn(
|
|
20140
20481
|
"flex flex-col h-full px-4 relative overflow-y-auto",
|
|
20482
|
+
// Smooth width transition for collapse/expand
|
|
20483
|
+
"transition-all duration-slow ease-out-custom",
|
|
20141
20484
|
{
|
|
20142
20485
|
"lg:min-w-52 xl:min-w-56 2xl:min-w-60 3xl:min-w-64 4xl:min-w-72": !isCollapsed
|
|
20143
20486
|
},
|
|
@@ -20154,8 +20497,10 @@ function MainSidebarRoot({ children, className }) {
|
|
|
20154
20497
|
onClick: toggleSidebar,
|
|
20155
20498
|
className: cn(
|
|
20156
20499
|
"inline-flex w-auto items-center text-neutral3 h-8 px-3 rounded-md ml-auto",
|
|
20157
|
-
"hover:bg-surface4",
|
|
20158
|
-
"
|
|
20500
|
+
"hover:bg-surface4 hover:text-neutral5",
|
|
20501
|
+
"transition-all duration-normal ease-out-custom",
|
|
20502
|
+
"focus:outline-none focus:ring-1 focus:ring-accent1 focus:shadow-focus-ring",
|
|
20503
|
+
"[&_svg]:w-[1rem] [&_svg]:h-[1rem] [&_svg]:text-neutral3 [&_svg]:transition-transform [&_svg]:duration-normal",
|
|
20159
20504
|
{
|
|
20160
20505
|
"ml-auto": !isCollapsed
|
|
20161
20506
|
}
|
|
@@ -20223,15 +20568,23 @@ function MainSidebarNavLink({
|
|
|
20223
20568
|
"li",
|
|
20224
20569
|
{
|
|
20225
20570
|
className: cn(
|
|
20226
|
-
"flex",
|
|
20571
|
+
"flex relative",
|
|
20572
|
+
// Base link styles with smooth transitions
|
|
20227
20573
|
"[&>a]:flex [&>a]:items-center [&>a]:min-h-8 [&>a]:gap-2.5 [&>a]:text-ui-md [&>a]:text-neutral3 [&>a]:py-1.5 [&>a]:px-3 [&>a]:w-full [&>a]:rounded-lg [&>a]:justify-center",
|
|
20228
|
-
"[
|
|
20574
|
+
"[&>a]:transition-all [&>a]:duration-normal [&>a]:ease-out-custom",
|
|
20575
|
+
// Icon styles with transitions
|
|
20576
|
+
"[&_svg]:w-4 [&_svg]:h-4 [&_svg]:text-neutral3/60 [&_svg]:transition-colors [&_svg]:duration-normal",
|
|
20577
|
+
// Hover states
|
|
20229
20578
|
"[&>a:hover]:bg-surface4 [&>a:hover]:text-neutral5 [&>a:hover_svg]:text-neutral3",
|
|
20230
20579
|
{
|
|
20580
|
+
// Active state with left indicator bar
|
|
20231
20581
|
"[&>a]:text-neutral5 [&>a]:bg-surface3": isActive,
|
|
20232
20582
|
"[&_svg]:text-neutral5": isActive,
|
|
20583
|
+
// Active indicator bar
|
|
20584
|
+
"before:absolute before:left-0 before:top-1/2 before:-translate-y-1/2 before:w-0.5 before:h-5 before:bg-accent1 before:rounded-r-full before:transition-all before:duration-normal": isActive && !isCollapsed,
|
|
20233
20585
|
"[&>a]:justify-start": !isCollapsed,
|
|
20234
20586
|
"[&_svg]:text-neutral3": isCollapsed,
|
|
20587
|
+
// Featured variant
|
|
20235
20588
|
"[&>a]:rounded-md [&>a]:my-2 [&>a]:bg-accent1/75 [&>a:hover]:bg-accent1/85 [&>a]:text-black [&>a:hover]:text-black": isFeatured,
|
|
20236
20589
|
"[&_svg]:text-black/75 [&>a:hover_svg]:text-black": isFeatured
|
|
20237
20590
|
},
|