@mastra/playground-ui 22.1.3-alpha.2 → 22.2.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -0
- package/dist/index.cjs.js +170 -93
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +295 -108
- package/dist/index.es.js +169 -94
- package/dist/index.es.js.map +1 -1
- package/dist/src/ds/components/BrandLoader/brand-loader.d.ts +7 -0
- package/dist/src/ds/components/BrandLoader/brand-loader.stories.d.ts +11 -0
- package/dist/src/ds/components/BrandLoader/index.d.ts +1 -0
- package/dist/src/ds/components/Button/Button.d.ts +1 -1
- package/dist/src/ds/components/Combobox/combobox.d.ts +1 -1
- package/dist/src/ds/components/DataKeysAndValues/data-keys-and-values-root.d.ts +1 -1
- package/dist/src/ds/components/DataKeysAndValues/shared.d.ts +1 -1
- package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list-cells.d.ts +20 -0
- package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list.d.ts +21 -0
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +4 -1
- package/dist/src/ds/components/DataList/index.d.ts +1 -0
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.stories.d.ts +1 -0
- package/dist/src/ds/tokens/tokens.stories.d.ts +10 -0
- package/dist/src/index.d.ts +1 -0
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,83 @@
|
|
|
1
1
|
# @mastra/playground-ui
|
|
2
2
|
|
|
3
|
+
## 22.2.0-alpha.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`1bd5104`](https://github.com/mastra-ai/mastra/commit/1bd51048b6da93507276d6623e3fd96a9e1a8944)]:
|
|
8
|
+
- @mastra/core@1.26.0-alpha.8
|
|
9
|
+
- @mastra/client-js@1.13.5-alpha.8
|
|
10
|
+
- @mastra/react@0.2.27-alpha.8
|
|
11
|
+
|
|
12
|
+
## 22.2.0-alpha.7
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- Added BrandLoader, a branded pulse-wave loader component for brand moments like app boot or agent thinking. Complements Spinner, which remains the inline utility loader. ([#15490](https://github.com/mastra-ai/mastra/pull/15490))
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [[`8786a61`](https://github.com/mastra-ai/mastra/commit/8786a61fa54ba265f85eeff9985ca39863d18bb6), [`8fb2405`](https://github.com/mastra-ai/mastra/commit/8fb2405138f2d208b7962ad03f121ca25bcc28c5)]:
|
|
21
|
+
- @mastra/core@1.26.0-alpha.7
|
|
22
|
+
- @mastra/client-js@1.13.5-alpha.7
|
|
23
|
+
- @mastra/react@0.2.27-alpha.7
|
|
24
|
+
|
|
25
|
+
## 22.1.3-alpha.6
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- Updated dependencies [[`6315317`](https://github.com/mastra-ai/mastra/commit/63153175fe9a7b224e5be7c209bbebc01dd9b0d5), [`9d3b24b`](https://github.com/mastra-ai/mastra/commit/9d3b24b19407ae9c09586cf7766d38dc4dff4a69)]:
|
|
30
|
+
- @mastra/core@1.26.0-alpha.6
|
|
31
|
+
- @mastra/client-js@1.13.5-alpha.6
|
|
32
|
+
- @mastra/react@0.2.27-alpha.6
|
|
33
|
+
|
|
34
|
+
## 22.1.3-alpha.5
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- Added a Foundations/Tokens page to the @mastra/playground-ui Storybook so you can browse all typography, color, spacing, radius, shadow, and animation tokens in one place. ([#15475](https://github.com/mastra-ai/mastra/pull/15475))
|
|
39
|
+
|
|
40
|
+
- Added `ScoresDataList` for rendering lists of score evaluation results. ([#15339](https://github.com/mastra-ai/mastra/pull/15339))
|
|
41
|
+
|
|
42
|
+
- Updated dependencies [[`92dcf02`](https://github.com/mastra-ai/mastra/commit/92dcf029294210ac91b090900c1a0555a425c57a)]:
|
|
43
|
+
- @mastra/core@1.26.0-alpha.5
|
|
44
|
+
- @mastra/client-js@1.13.5-alpha.5
|
|
45
|
+
- @mastra/react@0.2.27-alpha.5
|
|
46
|
+
|
|
47
|
+
## 22.1.3-alpha.4
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- Updated dependencies [[`0474c2b`](https://github.com/mastra-ai/mastra/commit/0474c2b2e7c7e1ad8691dca031284841391ff1ef), [`f607106`](https://github.com/mastra-ai/mastra/commit/f607106854c6416c4a07d4082604b9f66d047221), [`62919a6`](https://github.com/mastra-ai/mastra/commit/62919a6ee0fbf3779ad21a97b1ec6696515d5104), [`0fd90a2`](https://github.com/mastra-ai/mastra/commit/0fd90a215caf5fca8099c15a67ca03e4427747a3)]:
|
|
52
|
+
- @mastra/core@1.26.0-alpha.4
|
|
53
|
+
- @mastra/client-js@1.13.5-alpha.4
|
|
54
|
+
- @mastra/react@0.2.27-alpha.4
|
|
55
|
+
|
|
56
|
+
## 22.1.3-alpha.3
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- Added a dedicated trace details page at `/traces/:traceId`, plus the design-system changes that support it: ([#15392](https://github.com/mastra-ai/mastra/pull/15392))
|
|
61
|
+
- `Button`: new `link` variant (inline, no padding/background/border).
|
|
62
|
+
- `DataKeysAndValues`: `numOfCol` now accepts `3`.
|
|
63
|
+
- `DataPanel.Header`: minimum height so heading-only headers match the height of ones with button actions.
|
|
64
|
+
|
|
65
|
+
- Fix unhandled `TypeError` in `getFileContentType` when the URL is relative ([#15433](https://github.com/mastra-ai/mastra/pull/15433))
|
|
66
|
+
or malformed. The `catch` block now falls back to inferring the MIME type
|
|
67
|
+
from the raw string's file extension and strips query/hash fragments so
|
|
68
|
+
inputs like `/files/report.pdf`, `https://x.dev/a.pdf?token=1`, and
|
|
69
|
+
`/files/report.pdf#page=2` all resolve to `application/pdf` instead of
|
|
70
|
+
rejecting.
|
|
71
|
+
|
|
72
|
+
Closes #15432.
|
|
73
|
+
|
|
74
|
+
- Improved visual consistency across Chip, DropdownMenu, Notification, Popover, and toast components — unified radius and border scale. Deduplicated dropdown menu item classes and added max-height scroll handling for long menus. ([#15440](https://github.com/mastra-ai/mastra/pull/15440))
|
|
75
|
+
|
|
76
|
+
- Updated dependencies [[`fdd54cf`](https://github.com/mastra-ai/mastra/commit/fdd54cf612a9af876e9fdd85e534454f6e7dd518), [`d647793`](https://github.com/mastra-ai/mastra/commit/d647793010ab4de60bb524769a51cd32d7eba8d3), [`30456b6`](https://github.com/mastra-ai/mastra/commit/30456b6b08c8fd17e109dd093b73d93b65e83bc5), [`9d11a8c`](https://github.com/mastra-ai/mastra/commit/9d11a8c1c8924eb975a245a5884d40ca1b7e0491), [`d246696`](https://github.com/mastra-ai/mastra/commit/d246696139a3144a5b21b042d41c532688e957e1), [`354f9ce`](https://github.com/mastra-ai/mastra/commit/354f9ce1ca6af2074b6a196a23f8ec30012dccca), [`e9837b5`](https://github.com/mastra-ai/mastra/commit/e9837b53699e18711b09e0ca010a4106376f2653)]:
|
|
77
|
+
- @mastra/core@1.26.0-alpha.3
|
|
78
|
+
- @mastra/client-js@1.13.5-alpha.3
|
|
79
|
+
- @mastra/react@0.2.27-alpha.3
|
|
80
|
+
|
|
3
81
|
## 22.1.3-alpha.2
|
|
4
82
|
|
|
5
83
|
### Patch Changes
|
package/dist/index.cjs.js
CHANGED
|
@@ -3386,7 +3386,7 @@ function cn(...inputs) {
|
|
|
3386
3386
|
return twMerge(clsx(inputs));
|
|
3387
3387
|
}
|
|
3388
3388
|
|
|
3389
|
-
const sizeClasses$
|
|
3389
|
+
const sizeClasses$5 = {
|
|
3390
3390
|
sm: `${formElementSizes.sm} text-ui-sm px-[.75em]`,
|
|
3391
3391
|
md: `${formElementSizes.md} text-ui-md px-[.75em]`,
|
|
3392
3392
|
default: `${formElementSizes.default} text-ui-md px-[.85em] `,
|
|
@@ -3399,7 +3399,8 @@ const variantClasses$4 = {
|
|
|
3399
3399
|
ghost: "bg-transparent border-2 border-transparent hover:text-neutral6 hover:bg-surface4 active:bg-surface5 text-neutral4",
|
|
3400
3400
|
inputLike: sharedFormElementStyle,
|
|
3401
3401
|
light: "",
|
|
3402
|
-
outline: ""
|
|
3402
|
+
outline: "",
|
|
3403
|
+
link: "inline-flex justify-start rounded-none h-auto px-0 bg-transparent text-neutral3 hover:text-neutral4 gap-1 [&>svg]:mx-0 w-auto [&>svg]:opacity-70"
|
|
3403
3404
|
};
|
|
3404
3405
|
const sharedStyles = cn(
|
|
3405
3406
|
"flex items-center justify-center gap-[.75em] leading-0 transition-colors duration-200 ease-out-custom rounded-lg",
|
|
@@ -3418,7 +3419,7 @@ function resolveVariant(variant) {
|
|
|
3418
3419
|
function buttonVariants(options) {
|
|
3419
3420
|
const variant = resolveVariant(options?.variant || "default");
|
|
3420
3421
|
const size = options?.size || "default";
|
|
3421
|
-
return cn(sharedStyles,
|
|
3422
|
+
return cn(sharedStyles, sizeClasses$5[size], variantClasses$4[variant], options?.iconOnly && "[&>svg]:opacity-75");
|
|
3422
3423
|
}
|
|
3423
3424
|
function flattenChildren(children) {
|
|
3424
3425
|
const result = [];
|
|
@@ -4796,7 +4797,7 @@ const AlertDescription = ({ children, as: As = "p" }) => {
|
|
|
4796
4797
|
return /* @__PURE__ */ jsxRuntime.jsx(Txt, { as: As, variant: "ui-sm", children });
|
|
4797
4798
|
};
|
|
4798
4799
|
|
|
4799
|
-
const sizeClasses$
|
|
4800
|
+
const sizeClasses$4 = {
|
|
4800
4801
|
sm: "h-avatar-sm w-avatar-sm",
|
|
4801
4802
|
md: "h-avatar-md w-avatar-md",
|
|
4802
4803
|
lg: "h-avatar-lg w-avatar-lg"
|
|
@@ -4806,7 +4807,7 @@ const Avatar = ({ src, name, size = "sm", interactive = false }) => {
|
|
|
4806
4807
|
"div",
|
|
4807
4808
|
{
|
|
4808
4809
|
className: cn(
|
|
4809
|
-
sizeClasses$
|
|
4810
|
+
sizeClasses$4[size],
|
|
4810
4811
|
"border border-border1 bg-surface3 shrink-0 overflow-hidden rounded-full flex items-center justify-center",
|
|
4811
4812
|
transitions.all,
|
|
4812
4813
|
interactive && "cursor-pointer hover:scale-105 hover:border-neutral2 hover:shadow-sm"
|
|
@@ -4987,7 +4988,7 @@ const defaultOptions = {
|
|
|
4987
4988
|
},
|
|
4988
4989
|
unstyled: true,
|
|
4989
4990
|
classNames: {
|
|
4990
|
-
toast: "bg-surface3 w-full h-auto rounded-
|
|
4991
|
+
toast: "bg-surface3 w-full h-auto rounded-xl gap-2 border border-border1 px-3 py-2 flex items-center justify-between pointer-events-auto shadow-card :data-content:flex-1",
|
|
4991
4992
|
title: "text-xs font-medium text-neutral5",
|
|
4992
4993
|
description: "text-xs text-neutral3",
|
|
4993
4994
|
cancelButton: "bg-transparent! hover:bg-surface2! border-none! rounded-md! p-1.5! m-0! text-neutral3! hover:text-neutral6! shrink-0 transition-all",
|
|
@@ -6490,47 +6491,36 @@ const DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
|
6490
6491
|
const DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
6491
6492
|
const DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
6492
6493
|
const DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
6493
|
-
const
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
"cursor-pointer focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-white/30 focus-visible:rounded-sm",
|
|
6499
|
-
className
|
|
6500
|
-
),
|
|
6501
|
-
...props,
|
|
6502
|
-
children
|
|
6503
|
-
}
|
|
6504
|
-
));
|
|
6494
|
+
const itemClass = cn(
|
|
6495
|
+
"relative flex cursor-pointer select-none items-center gap-3 rounded-lg px-3 py-1.5 text-sm transition-colors text-neutral4 dark:hover:text-white dark:focus:text-white hover:text-neutral6 focus:text-neutral6 hover:bg-surface4 focus:bg-surface4 active:bg-surface5 data-disabled:pointer-events-none data-disabled:opacity-50 [&>span]:truncate [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-hidden focus-visible:ring-0",
|
|
6496
|
+
"[&>svg]:w-[1.1em] [&>svg]:h-[1.1em] [&>svg]:opacity-50 [&>svg]:mx-[-.25em] [&:hover>svg]:opacity-100"
|
|
6497
|
+
);
|
|
6498
|
+
const DropdownMenuTrigger = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Trigger, { ref, className: cn("cursor-pointer", className), ...props, children }));
|
|
6505
6499
|
DropdownMenuTrigger.displayName = DropdownMenuPrimitive__namespace.Trigger.displayName;
|
|
6506
6500
|
const DropdownMenuSubTrigger = React__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6507
6501
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
6508
6502
|
{
|
|
6509
6503
|
ref,
|
|
6510
|
-
className: cn(
|
|
6511
|
-
"hover:bg-surface4 focus:bg-surface4 active:bg-surface5 data-[state=open]:bg-surface4 flex cursor-default select-none items-center rounded-md px-2 py-1.5 text-sm transition-colors text-neutral4 dark:hover:text-white dark:focus:text-white hover:text-neutral6 focus:text-neutral6 focus-visible:outline-hidden focus-visible:ring-0",
|
|
6512
|
-
inset && "pl-8",
|
|
6513
|
-
className
|
|
6514
|
-
),
|
|
6504
|
+
className: cn(itemClass, "data-[state=open]:bg-surface4", inset && "pl-8", className),
|
|
6515
6505
|
...props,
|
|
6516
6506
|
children: [
|
|
6517
6507
|
children,
|
|
6518
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6508
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto pl-2", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "-rotate-90 opacity-50" }) })
|
|
6519
6509
|
]
|
|
6520
6510
|
}
|
|
6521
6511
|
));
|
|
6522
6512
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
6523
|
-
const DropdownMenuSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6513
|
+
const DropdownMenuSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6524
6514
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
6525
6515
|
{
|
|
6526
6516
|
ref,
|
|
6527
6517
|
className: cn(
|
|
6528
|
-
"bg-surface3 backdrop-blur-xl data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-50 min-w-
|
|
6518
|
+
"bg-surface3 backdrop-blur-xl data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-50 min-w-44 max-h-[min(20rem,var(--radix-dropdown-menu-content-available-height))] overflow-x-hidden overflow-y-auto rounded-xl border-2 border-border1/50 p-1 shadow-md",
|
|
6529
6519
|
className
|
|
6530
6520
|
),
|
|
6531
6521
|
...props
|
|
6532
6522
|
}
|
|
6533
|
-
));
|
|
6523
|
+
) }));
|
|
6534
6524
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
6535
6525
|
const DropdownMenuContent = React__namespace.forwardRef(({ className, container, sideOffset = 8, ...props }, ref) => {
|
|
6536
6526
|
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6539,7 +6529,7 @@ const DropdownMenuContent = React__namespace.forwardRef(({ className, container,
|
|
|
6539
6529
|
ref,
|
|
6540
6530
|
sideOffset,
|
|
6541
6531
|
className: cn(
|
|
6542
|
-
"bg-surface3 data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 backdrop-blur-xl text-neutral4 z-50 min-w-
|
|
6532
|
+
"bg-surface3 data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 backdrop-blur-xl text-neutral4 z-50 min-w-44 max-h-[min(20rem,var(--radix-dropdown-menu-content-available-height))] overflow-x-hidden overflow-y-auto rounded-xl border-2 border-border1/50 p-1 shadow-md",
|
|
6543
6533
|
className
|
|
6544
6534
|
),
|
|
6545
6535
|
...props
|
|
@@ -6547,27 +6537,13 @@ const DropdownMenuContent = React__namespace.forwardRef(({ className, container,
|
|
|
6547
6537
|
) });
|
|
6548
6538
|
});
|
|
6549
6539
|
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
6550
|
-
const DropdownMenuItem = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6551
|
-
DropdownMenuPrimitive__namespace.Item,
|
|
6552
|
-
{
|
|
6553
|
-
ref,
|
|
6554
|
-
className: cn(
|
|
6555
|
-
"relative flex cursor-pointer select-none items-center gap-3 rounded-md px-2 py-1.5 text-sm transition-colors text-neutral4 dark:hover:text-white dark:focus:text-white hover:text-neutral6 focus:text-neutral6 hover:bg-surface4 focus:bg-surface4 active:bg-surface5 data-disabled:pointer-events-none data-disabled:opacity-50 [&>span]:truncate [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-hidden focus-visible:ring-0",
|
|
6556
|
-
"[&>svg]:w-[1.1em] [&>svg]:h-[1.1em] [&>svg]:opacity-50 [&>svg]:mx-[-.25em] [&:hover>svg]:opacity-100",
|
|
6557
|
-
className
|
|
6558
|
-
),
|
|
6559
|
-
...props
|
|
6560
|
-
}
|
|
6561
|
-
));
|
|
6540
|
+
const DropdownMenuItem = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Item, { ref, className: cn(itemClass, className), ...props }));
|
|
6562
6541
|
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
6563
6542
|
const DropdownMenuCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6564
6543
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
6565
6544
|
{
|
|
6566
6545
|
ref,
|
|
6567
|
-
className: cn(
|
|
6568
|
-
"hover:bg-surface4 focus:bg-surface4 active:bg-surface5 dark:hover:text-white dark:focus:text-white hover:text-neutral6 focus:text-neutral6 relative flex w-full cursor-pointer select-none items-center gap-4 rounded-md px-2 py-1.5 text-sm transition-colors text-neutral4 data-disabled:pointer-events-none data-disabled:opacity-50 focus-visible:outline-hidden focus-visible:ring-0",
|
|
6569
|
-
className
|
|
6570
|
-
),
|
|
6546
|
+
className: cn(itemClass, "w-full gap-4 px-2", className),
|
|
6571
6547
|
checked,
|
|
6572
6548
|
...props,
|
|
6573
6549
|
children: [
|
|
@@ -6602,14 +6578,7 @@ const DropdownMenuLabel = React__namespace.forwardRef(({ className, inset, ...pr
|
|
|
6602
6578
|
}
|
|
6603
6579
|
));
|
|
6604
6580
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
6605
|
-
const DropdownMenuSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6606
|
-
DropdownMenuPrimitive__namespace.Separator,
|
|
6607
|
-
{
|
|
6608
|
-
ref,
|
|
6609
|
-
className: cn("dark:bg-white/10 bg-black/10 -mx-1 my-1 h-px", className),
|
|
6610
|
-
...props
|
|
6611
|
-
}
|
|
6612
|
-
));
|
|
6581
|
+
const DropdownMenuSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Separator, { ref, className: cn("bg-border1/50 -mx-1.5 my-1 h-0.5", className), ...props }));
|
|
6613
6582
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
|
|
6614
6583
|
const DropdownMenuShortcut = ({ className, ...props }) => {
|
|
6615
6584
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
@@ -7074,7 +7043,7 @@ function SelectFieldBlock({
|
|
|
7074
7043
|
] });
|
|
7075
7044
|
}
|
|
7076
7045
|
|
|
7077
|
-
const sizeClasses$
|
|
7046
|
+
const sizeClasses$3 = {
|
|
7078
7047
|
sm: `${formElementSizes.sm} w-form-sm`,
|
|
7079
7048
|
md: `${formElementSizes.md} w-form-md`,
|
|
7080
7049
|
lg: `${formElementSizes.lg} w-form-lg`,
|
|
@@ -7107,7 +7076,7 @@ const IconButton = React.forwardRef(
|
|
|
7107
7076
|
baseButtonStyles,
|
|
7108
7077
|
formElementFocus,
|
|
7109
7078
|
variantClasses$1[variant],
|
|
7110
|
-
sizeClasses$
|
|
7079
|
+
sizeClasses$3[size],
|
|
7111
7080
|
disabled && "active:scale-100",
|
|
7112
7081
|
className
|
|
7113
7082
|
),
|
|
@@ -7271,7 +7240,7 @@ function MetricsCardError({
|
|
|
7271
7240
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-3 items-center justify-center", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-ui-sm text-accent2", children: message }) });
|
|
7272
7241
|
}
|
|
7273
7242
|
|
|
7274
|
-
const sizeClasses$
|
|
7243
|
+
const sizeClasses$2 = {
|
|
7275
7244
|
sm: "w-4 h-4",
|
|
7276
7245
|
md: "w-6 h-6",
|
|
7277
7246
|
lg: "w-8 h-8"
|
|
@@ -7280,7 +7249,7 @@ function Spinner({ color, className, size = "md" }) {
|
|
|
7280
7249
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7281
7250
|
"svg",
|
|
7282
7251
|
{
|
|
7283
|
-
className: cn("animate-spin", sizeClasses$
|
|
7252
|
+
className: cn("animate-spin", sizeClasses$2[size], className),
|
|
7284
7253
|
style: { animationDuration: "800ms", animationTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)" },
|
|
7285
7254
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7286
7255
|
width: "24",
|
|
@@ -7443,8 +7412,8 @@ const PopoverContent = React__namespace.forwardRef(({ className, align = "center
|
|
|
7443
7412
|
align,
|
|
7444
7413
|
sideOffset,
|
|
7445
7414
|
className: cn(
|
|
7446
|
-
"z-50 w-72 rounded-
|
|
7447
|
-
className && /\bp
|
|
7415
|
+
"z-50 w-72 rounded-xl border-2 border-border1/50 bg-surface3 text-neutral5 shadow-md focus-visible:outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
7416
|
+
className && /\bp[trblxy]?-\S+/.test(className) ? false : `py-3.5 px-3`,
|
|
7448
7417
|
className
|
|
7449
7418
|
),
|
|
7450
7419
|
...props
|
|
@@ -7692,6 +7661,49 @@ const Slider = React__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
7692
7661
|
));
|
|
7693
7662
|
Slider.displayName = SliderPrimitive__namespace.Root.displayName;
|
|
7694
7663
|
|
|
7664
|
+
const sizeClasses$1 = {
|
|
7665
|
+
sm: "w-6",
|
|
7666
|
+
md: "w-10",
|
|
7667
|
+
lg: "w-16"
|
|
7668
|
+
};
|
|
7669
|
+
function BrandLoader({ className, size = "md", "aria-label": ariaLabel = "Loading" }) {
|
|
7670
|
+
const reactId = React.useId();
|
|
7671
|
+
const filterId = `brand-loader-${reactId.replace(/[^a-zA-Z0-9_-]/g, "")}`;
|
|
7672
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7673
|
+
"div",
|
|
7674
|
+
{
|
|
7675
|
+
role: "status",
|
|
7676
|
+
"aria-label": ariaLabel,
|
|
7677
|
+
className: cn("brand-loader inline-block text-neutral6", sizeClasses$1[size], className),
|
|
7678
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7679
|
+
"svg",
|
|
7680
|
+
{
|
|
7681
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7682
|
+
viewBox: "0 0 34 21",
|
|
7683
|
+
className: "block w-full h-auto overflow-visible",
|
|
7684
|
+
"aria-hidden": "true",
|
|
7685
|
+
children: [
|
|
7686
|
+
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("filter", { id: filterId, children: [
|
|
7687
|
+
/* @__PURE__ */ jsxRuntime.jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "0.55" }),
|
|
7688
|
+
/* @__PURE__ */ jsxRuntime.jsx("feColorMatrix", { values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7" })
|
|
7689
|
+
] }) }),
|
|
7690
|
+
/* @__PURE__ */ jsxRuntime.jsxs("g", { filter: `url(#${filterId})`, children: [
|
|
7691
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { className: "brand-loader-ln23", x1: "10.4", y1: "4.5", x2: "16.8", y2: "16.2" }),
|
|
7692
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { className: "brand-loader-ln34", x1: "16.8", y1: "16.2", x2: "23.2", y2: "4.5" }),
|
|
7693
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { className: "brand-loader-ln45", x1: "23.2", y1: "4.5", x2: "29.5", y2: "16.2" }),
|
|
7694
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "brand-loader-b1", cx: "4.5", cy: "16.2", r: "4.5" }),
|
|
7695
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "brand-loader-b2", cx: "10.4", cy: "4.5", r: "4.5" }),
|
|
7696
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "brand-loader-b3", cx: "16.8", cy: "16.2", r: "4.5" }),
|
|
7697
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "brand-loader-b4", cx: "23.2", cy: "4.5", r: "4.5" }),
|
|
7698
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { className: "brand-loader-b5", cx: "29.5", cy: "16.2", r: "4.5" })
|
|
7699
|
+
] })
|
|
7700
|
+
]
|
|
7701
|
+
}
|
|
7702
|
+
)
|
|
7703
|
+
}
|
|
7704
|
+
);
|
|
7705
|
+
}
|
|
7706
|
+
|
|
7695
7707
|
const Switch = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7696
7708
|
SwitchPrimitives__namespace.Root,
|
|
7697
7709
|
{
|
|
@@ -9426,7 +9438,7 @@ function Notification({
|
|
|
9426
9438
|
if (!localIsVisible) return null;
|
|
9427
9439
|
const typeStyles = {
|
|
9428
9440
|
info: "bg-surface4 border-border1",
|
|
9429
|
-
error: "bg-accent2Darker border-accent2/
|
|
9441
|
+
error: "bg-accent2Darker border-accent2/20",
|
|
9430
9442
|
success: "bg-accent1Darker border-accent1/30",
|
|
9431
9443
|
warning: "bg-accent6Darker border-accent6/30"
|
|
9432
9444
|
};
|
|
@@ -9440,7 +9452,7 @@ function Notification({
|
|
|
9440
9452
|
"div",
|
|
9441
9453
|
{
|
|
9442
9454
|
className: cn(
|
|
9443
|
-
"grid grid-cols-[auto_1fr_auto] gap-3 rounded-
|
|
9455
|
+
"grid grid-cols-[auto_1fr_auto] gap-3 rounded-xl border py-2.5 px-3.5 text-ui-md text-neutral4 items-start",
|
|
9444
9456
|
"shadow-card",
|
|
9445
9457
|
transitions.all,
|
|
9446
9458
|
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",
|
|
@@ -10522,24 +10534,36 @@ function ItemListTextCell({ children, isLoading, className }) {
|
|
|
10522
10534
|
}
|
|
10523
10535
|
|
|
10524
10536
|
const sizeClasses = {
|
|
10525
|
-
small: "text-[
|
|
10526
|
-
default: "text-[
|
|
10527
|
-
large: "text-[
|
|
10537
|
+
small: "text-[10.5px] pt-[5px] pb-[4px]",
|
|
10538
|
+
default: "text-[11.5px] pt-[5px] pb-[4px] ",
|
|
10539
|
+
large: "text-[12.5px] pt-[5px] pb-[4px] "
|
|
10528
10540
|
};
|
|
10529
10541
|
const bgColorClasses = {
|
|
10530
|
-
gray: {
|
|
10531
|
-
|
|
10532
|
-
|
|
10533
|
-
|
|
10534
|
-
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
|
|
10542
|
+
gray: {
|
|
10543
|
+
bright: "bg-neutral-500/30",
|
|
10544
|
+
muted: "bg-neutral-500/10"
|
|
10545
|
+
},
|
|
10546
|
+
red: { bright: "bg-red-500/30", muted: "bg-red-500/10" },
|
|
10547
|
+
orange: {
|
|
10548
|
+
bright: "bg-orange-500/30",
|
|
10549
|
+
muted: "bg-orange-500/10"
|
|
10550
|
+
},
|
|
10551
|
+
blue: { bright: "bg-blue-500/30", muted: "bg-blue-500/10" },
|
|
10552
|
+
green: { bright: "bg-green-500/30", muted: "bg-green-500/10" },
|
|
10553
|
+
purple: {
|
|
10554
|
+
bright: "bg-purple-500/30",
|
|
10555
|
+
muted: "bg-purple-500/10"
|
|
10556
|
+
},
|
|
10557
|
+
yellow: {
|
|
10558
|
+
bright: "bg-yellow-500/30",
|
|
10559
|
+
muted: "bg-yellow-500/10"
|
|
10560
|
+
},
|
|
10561
|
+
cyan: { bright: "bg-cyan-500/30", muted: "bg-cyan-500/10" },
|
|
10562
|
+
pink: { bright: "bg-pink-500/30", muted: "bg-pink-500/10" }
|
|
10539
10563
|
};
|
|
10540
10564
|
const txtIntensityClasses = {
|
|
10541
|
-
bright: "text-neutral4",
|
|
10542
|
-
muted: "text-neutral3"
|
|
10565
|
+
bright: "text-neutral4/90",
|
|
10566
|
+
muted: "text-neutral3/90"
|
|
10543
10567
|
};
|
|
10544
10568
|
const Chip = ({
|
|
10545
10569
|
color = "gray",
|
|
@@ -10553,7 +10577,7 @@ const Chip = ({
|
|
|
10553
10577
|
"span",
|
|
10554
10578
|
{
|
|
10555
10579
|
className: cn(
|
|
10556
|
-
"inline-flex items-center rounded-
|
|
10580
|
+
"inline-flex items-center rounded-lg uppercase px-1.5 gap-[0.4em] tracking-wide font-normal",
|
|
10557
10581
|
// general styles for svg icons within the chip
|
|
10558
10582
|
"[&>svg]:w-[1em] [&>svg]:h-[1em] [&>svg]:translate-y-[-0.02em] [&>svg]:mx-[-0.2em]",
|
|
10559
10583
|
// if the chip has only one child and it's an svg, make it fully opaque
|
|
@@ -11366,6 +11390,45 @@ function DataListSkeleton({ columns = "auto 1fr auto auto", numberOfRows = 3 })
|
|
|
11366
11390
|
)) });
|
|
11367
11391
|
}
|
|
11368
11392
|
|
|
11393
|
+
function toDate$2(value) {
|
|
11394
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
11395
|
+
return isNaN(date.getTime()) ? null : date;
|
|
11396
|
+
}
|
|
11397
|
+
function ScoresDataListDateCell({ timestamp }) {
|
|
11398
|
+
const date = toDate$2(timestamp);
|
|
11399
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", className: "text-ui-smd text-neutral2", children: date ? dateFns.isToday(date) ? "Today" : dateFns.format(date, "MMM dd") : "-" });
|
|
11400
|
+
}
|
|
11401
|
+
function ScoresDataListTimeCell({ timestamp }) {
|
|
11402
|
+
const date = toDate$2(timestamp);
|
|
11403
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", className: "text-ui-smd text-neutral3", children: date ? dateFns.format(date, "h:mm:ss aaa") : "-" });
|
|
11404
|
+
}
|
|
11405
|
+
function ScoresDataListInputCell({ input }) {
|
|
11406
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", className: "min-w-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-neutral3 text-ui-smd font-mono truncate", children: input != null ? JSON.stringify(input) : "-" }) });
|
|
11407
|
+
}
|
|
11408
|
+
function ScoresDataListEntityCell({ entityId }) {
|
|
11409
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", className: "min-w-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-ui-smd truncate", children: entityId || "-" }) });
|
|
11410
|
+
}
|
|
11411
|
+
function ScoresDataListScoreCell({ score }) {
|
|
11412
|
+
const display = score == null ? "-" : typeof score === "object" ? JSON.stringify(score) : String(score);
|
|
11413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", className: "text-ui-smd font-mono text-neutral3", children: display });
|
|
11414
|
+
}
|
|
11415
|
+
|
|
11416
|
+
function ScoresDataListRoot(props) {
|
|
11417
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListRoot, { ...props });
|
|
11418
|
+
}
|
|
11419
|
+
const ScoresDataList = Object.assign(ScoresDataListRoot, {
|
|
11420
|
+
Top: DataListTop,
|
|
11421
|
+
TopCell: DataListTopCell,
|
|
11422
|
+
RowButton: DataListRowButton,
|
|
11423
|
+
NoMatch: DataListNoMatch,
|
|
11424
|
+
NextPageLoading: DataListNextPageLoading,
|
|
11425
|
+
DateCell: ScoresDataListDateCell,
|
|
11426
|
+
TimeCell: ScoresDataListTimeCell,
|
|
11427
|
+
InputCell: ScoresDataListInputCell,
|
|
11428
|
+
EntityCell: ScoresDataListEntityCell,
|
|
11429
|
+
ScoreCell: ScoresDataListScoreCell
|
|
11430
|
+
});
|
|
11431
|
+
|
|
11369
11432
|
function toDate$1(value) {
|
|
11370
11433
|
const date = value instanceof Date ? value : new Date(value);
|
|
11371
11434
|
return isNaN(date.getTime()) ? null : date;
|
|
@@ -11428,7 +11491,10 @@ function TracesDataListStatusCell({ status }) {
|
|
|
11428
11491
|
return /* @__PURE__ */ jsxRuntime.jsx(DataListCell, { height: "compact", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "uppercase text-ui-sm font-semibold", style: { color: config.color }, children: config.label }) });
|
|
11429
11492
|
}
|
|
11430
11493
|
|
|
11431
|
-
|
|
11494
|
+
function TracesDataListRoot(props) {
|
|
11495
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DataListRoot, { ...props });
|
|
11496
|
+
}
|
|
11497
|
+
const TracesDataList = Object.assign(TracesDataListRoot, {
|
|
11432
11498
|
Top: DataListTop,
|
|
11433
11499
|
TopCell: DataListTopCell,
|
|
11434
11500
|
RowButton: DataListRowButton,
|
|
@@ -12489,18 +12555,16 @@ function DataKeysAndValuesKey({ className, children }) {
|
|
|
12489
12555
|
return /* @__PURE__ */ jsxRuntime.jsx("dt", { className: cn("text-ui-smd text-neutral2 shrink-0 py-0.5", className), children });
|
|
12490
12556
|
}
|
|
12491
12557
|
|
|
12558
|
+
const GRID_TEMPLATES = {
|
|
12559
|
+
1: "auto 1fr",
|
|
12560
|
+
2: "auto auto auto 1fr",
|
|
12561
|
+
3: "auto auto auto auto auto 1fr"
|
|
12562
|
+
};
|
|
12492
12563
|
function DataKeysAndValuesRoot({ className, children, numOfCol = 1 }) {
|
|
12493
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12494
|
-
"dl",
|
|
12495
|
-
{
|
|
12496
|
-
className: cn("grid gap-x-4 gap-y-1.5 grid-cols-[auto_1fr]", className),
|
|
12497
|
-
style: numOfCol === 2 ? { gridTemplateColumns: "auto 1fr auto 1fr" } : void 0,
|
|
12498
|
-
children
|
|
12499
|
-
}
|
|
12500
|
-
);
|
|
12564
|
+
return /* @__PURE__ */ jsxRuntime.jsx("dl", { className: cn("grid gap-x-4 gap-y-1.5", className), style: { gridTemplateColumns: GRID_TEMPLATES[numOfCol] }, children });
|
|
12501
12565
|
}
|
|
12502
12566
|
|
|
12503
|
-
const dataKeysAndValuesValueStyles = "text-ui-smd text-neutral3 min-w-0 py-0.5";
|
|
12567
|
+
const dataKeysAndValuesValueStyles = "text-ui-smd text-neutral3 min-w-0 py-0.5 pr-6";
|
|
12504
12568
|
|
|
12505
12569
|
function DataKeysAndValuesValue({ className, children }) {
|
|
12506
12570
|
return /* @__PURE__ */ jsxRuntime.jsx("dd", { className: cn(dataKeysAndValuesValueStyles, "truncate", className), children });
|
|
@@ -12600,7 +12664,13 @@ function DataPanelContent({ children, ref }) {
|
|
|
12600
12664
|
}
|
|
12601
12665
|
|
|
12602
12666
|
function DataPanelHeader({ className, children }) {
|
|
12603
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12667
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12668
|
+
"div",
|
|
12669
|
+
{
|
|
12670
|
+
className: cn("flex items-center justify-between gap-2 border-b border-border1 mx-4 py-3 min-h-14", className),
|
|
12671
|
+
children
|
|
12672
|
+
}
|
|
12673
|
+
);
|
|
12604
12674
|
}
|
|
12605
12675
|
|
|
12606
12676
|
function DataPanelHeading({ className, children }) {
|
|
@@ -12637,7 +12707,7 @@ function DataPanelRoot({ collapsed, children }) {
|
|
|
12637
12707
|
{
|
|
12638
12708
|
className: cn(
|
|
12639
12709
|
"flex flex-col bg-surface2 border border-border1 rounded-xl overflow-hidden",
|
|
12640
|
-
collapsed ? "h-auto" : "h-full"
|
|
12710
|
+
collapsed ? "h-auto" : "max-h-full"
|
|
12641
12711
|
),
|
|
12642
12712
|
children
|
|
12643
12713
|
}
|
|
@@ -14036,12 +14106,17 @@ const getFileContentType = async (url) => {
|
|
|
14036
14106
|
}
|
|
14037
14107
|
return contentType;
|
|
14038
14108
|
} catch {
|
|
14039
|
-
|
|
14040
|
-
|
|
14041
|
-
|
|
14042
|
-
|
|
14043
|
-
|
|
14044
|
-
|
|
14109
|
+
try {
|
|
14110
|
+
const urlObject = new URL(url);
|
|
14111
|
+
const pathname = urlObject.pathname;
|
|
14112
|
+
const extension = pathname.split(".").pop();
|
|
14113
|
+
if (!extension) return void 0;
|
|
14114
|
+
return EXTENSION_TO_MIME[extension.toLowerCase()];
|
|
14115
|
+
} catch {
|
|
14116
|
+
const extension = url.split(".").pop()?.split(/[?#]/)[0];
|
|
14117
|
+
if (!extension) return void 0;
|
|
14118
|
+
return EXTENSION_TO_MIME[extension.toLowerCase()];
|
|
14119
|
+
}
|
|
14045
14120
|
}
|
|
14046
14121
|
};
|
|
14047
14122
|
|
|
@@ -14138,6 +14213,7 @@ exports.Avatar = Avatar;
|
|
|
14138
14213
|
exports.AzureIcon = AzureIcon;
|
|
14139
14214
|
exports.Badge = Badge;
|
|
14140
14215
|
exports.BranchIcon = BranchIcon;
|
|
14216
|
+
exports.BrandLoader = BrandLoader;
|
|
14141
14217
|
exports.Breadcrumb = Breadcrumb;
|
|
14142
14218
|
exports.Button = Button;
|
|
14143
14219
|
exports.ButtonWithTooltip = ButtonWithTooltip;
|
|
@@ -14320,6 +14396,7 @@ exports.RuleFieldSelect = RuleFieldSelect;
|
|
|
14320
14396
|
exports.RuleOperatorSelect = RuleOperatorSelect;
|
|
14321
14397
|
exports.RuleRow = RuleRow;
|
|
14322
14398
|
exports.RuleValueInput = RuleValueInput;
|
|
14399
|
+
exports.ScoresDataList = ScoresDataList;
|
|
14323
14400
|
exports.ScrollArea = ScrollArea;
|
|
14324
14401
|
exports.ScrollBar = ScrollBar;
|
|
14325
14402
|
exports.ScrollableContainer = ScrollableContainer;
|