@mastra/playground-ui 29.0.0-alpha.8 → 29.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +230 -0
- package/dist/index.cjs.js +200 -114
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +30 -24
- package/dist/index.es.js +199 -111
- package/dist/index.es.js.map +1 -1
- package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +27 -9
- package/dist/src/ds/components/Collapsible/collapsible.d.ts +11 -4
- package/dist/src/ds/components/Command/command.d.ts +2 -1
- package/dist/src/ds/components/Dialog/dialog.d.ts +27 -9
- package/dist/src/ds/components/Table/Table.d.ts +12 -11
- package/dist/src/ds/components/Txt/Txt.d.ts +4 -3
- package/dist/src/ds/icons/Icon.d.ts +4 -3
- package/package.json +8 -8
package/dist/index.css
CHANGED
|
@@ -183,7 +183,6 @@
|
|
|
183
183
|
--blur-xs: 4px;
|
|
184
184
|
--blur-sm: 8px;
|
|
185
185
|
--blur-md: 12px;
|
|
186
|
-
--blur-xl: 24px;
|
|
187
186
|
--default-transition-duration: .15s;
|
|
188
187
|
--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
|
|
189
188
|
--default-font-family: var(--font-sans);
|
|
@@ -1256,6 +1255,10 @@
|
|
|
1256
1255
|
height: calc(100vh - 6rem) !important;
|
|
1257
1256
|
}
|
|
1258
1257
|
|
|
1258
|
+
.h-\[var\(--collapsible-panel-height\)\] {
|
|
1259
|
+
height: var(--collapsible-panel-height);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1259
1262
|
.h-auto {
|
|
1260
1263
|
height: auto;
|
|
1261
1264
|
}
|
|
@@ -1858,10 +1861,6 @@
|
|
|
1858
1861
|
min-width: var(--spacing-80);
|
|
1859
1862
|
}
|
|
1860
1863
|
|
|
1861
|
-
.min-w-\[8rem\] {
|
|
1862
|
-
min-width: 8rem;
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
1864
|
.min-w-\[12rem\] {
|
|
1866
1865
|
min-width: 12rem;
|
|
1867
1866
|
}
|
|
@@ -4181,12 +4180,6 @@
|
|
|
4181
4180
|
backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
4182
4181
|
}
|
|
4183
4182
|
|
|
4184
|
-
.backdrop-blur-xl {
|
|
4185
|
-
--tw-backdrop-blur: blur(var(--blur-xl));
|
|
4186
|
-
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
4187
|
-
backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
4188
|
-
}
|
|
4189
|
-
|
|
4190
4183
|
.backdrop-blur-xs {
|
|
4191
4184
|
--tw-backdrop-blur: blur(var(--blur-xs));
|
|
4192
4185
|
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
|
@@ -4199,6 +4192,12 @@
|
|
|
4199
4192
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
4200
4193
|
}
|
|
4201
4194
|
|
|
4195
|
+
.transition-\[height\] {
|
|
4196
|
+
transition-property: height;
|
|
4197
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
4198
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
4199
|
+
}
|
|
4200
|
+
|
|
4202
4201
|
.transition-\[transform\,scale\,opacity\] {
|
|
4203
4202
|
transition-property: transform, scale, opacity;
|
|
4204
4203
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -5431,6 +5430,10 @@
|
|
|
5431
5430
|
opacity: .5;
|
|
5432
5431
|
}
|
|
5433
5432
|
|
|
5433
|
+
.data-\[ending-style\]\:h-0[data-ending-style] {
|
|
5434
|
+
height: var(--spacing-0);
|
|
5435
|
+
}
|
|
5436
|
+
|
|
5434
5437
|
.data-\[ending-style\]\:scale-95[data-ending-style] {
|
|
5435
5438
|
--tw-scale-x: 95%;
|
|
5436
5439
|
--tw-scale-y: 95%;
|
|
@@ -5675,6 +5678,10 @@
|
|
|
5675
5678
|
--tw-enter-translate-y: calc(1*var(--spacing));
|
|
5676
5679
|
}
|
|
5677
5680
|
|
|
5681
|
+
.data-\[starting-style\]\:h-0[data-starting-style] {
|
|
5682
|
+
height: var(--spacing-0);
|
|
5683
|
+
}
|
|
5684
|
+
|
|
5678
5685
|
.data-\[starting-style\]\:scale-95[data-starting-style] {
|
|
5679
5686
|
--tw-scale-x: 95%;
|
|
5680
5687
|
--tw-scale-y: 95%;
|
|
@@ -5760,10 +5767,6 @@
|
|
|
5760
5767
|
--tw-exit-translate-x: calc(1 / 4*100%);
|
|
5761
5768
|
}
|
|
5762
5769
|
|
|
5763
|
-
.data-\[state\=closed\]\:slide-out-to-top-1[data-state="closed"] {
|
|
5764
|
-
--tw-exit-translate-y: calc(1*var(--spacing)*-1);
|
|
5765
|
-
}
|
|
5766
|
-
|
|
5767
5770
|
.data-\[state\=open\]\:animate-in[data-state="open"] {
|
|
5768
5771
|
animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
|
|
5769
5772
|
}
|
|
@@ -5806,10 +5809,6 @@
|
|
|
5806
5809
|
--tw-enter-translate-x: calc(1 / 4*100%);
|
|
5807
5810
|
}
|
|
5808
5811
|
|
|
5809
|
-
.data-\[state\=open\]\:slide-in-from-top-1[data-state="open"] {
|
|
5810
|
-
--tw-enter-translate-y: calc(1*var(--spacing)*-1);
|
|
5811
|
-
}
|
|
5812
|
-
|
|
5813
5812
|
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
|
|
5814
5813
|
--tw-translate-x: var(--spacing-0);
|
|
5815
5814
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -7091,7 +7090,7 @@
|
|
|
7091
7090
|
height: var(--height-table-row-small);
|
|
7092
7091
|
}
|
|
7093
7092
|
|
|
7094
|
-
.\[\&\[data-
|
|
7093
|
+
.\[\&\[data-panel-open\]\>svg\]\:rotate-90[data-panel-open] > svg {
|
|
7095
7094
|
rotate: 90deg;
|
|
7096
7095
|
}
|
|
7097
7096
|
|
|
@@ -9346,19 +9345,26 @@ html.light {
|
|
|
9346
9345
|
}
|
|
9347
9346
|
}
|
|
9348
9347
|
|
|
9349
|
-
|
|
9348
|
+
/* Open/close state attributes: Radix (`data-state`) for AlertDialog, Base UI
|
|
9349
|
+
* (`data-open` / `data-closed`) for Dialog. Both share these animation classes. */
|
|
9350
|
+
|
|
9351
|
+
.dialog-overlay-anim[data-state='open'],
|
|
9352
|
+
.dialog-overlay-anim[data-open] {
|
|
9350
9353
|
animation: dialog-overlay-in 320ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
9351
9354
|
}
|
|
9352
9355
|
|
|
9353
|
-
.dialog-overlay-anim[data-state='closed']
|
|
9356
|
+
.dialog-overlay-anim[data-state='closed'],
|
|
9357
|
+
.dialog-overlay-anim[data-closed] {
|
|
9354
9358
|
animation: dialog-overlay-out 240ms cubic-bezier(0.32, 0, 0.67, 0);
|
|
9355
9359
|
}
|
|
9356
9360
|
|
|
9357
|
-
.dialog-content-anim[data-state='open']
|
|
9361
|
+
.dialog-content-anim[data-state='open'],
|
|
9362
|
+
.dialog-content-anim[data-open] {
|
|
9358
9363
|
animation: dialog-content-in 680ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
9359
9364
|
}
|
|
9360
9365
|
|
|
9361
|
-
.dialog-content-anim[data-state='closed']
|
|
9366
|
+
.dialog-content-anim[data-state='closed'],
|
|
9367
|
+
.dialog-content-anim[data-closed] {
|
|
9362
9368
|
animation: dialog-content-out 180ms cubic-bezier(0.5, 0, 0.75, 0);
|
|
9363
9369
|
}
|
|
9364
9370
|
.brand-loader svg {
|
package/dist/index.es.js
CHANGED
|
@@ -17,13 +17,13 @@ import { autocompletion } from '@codemirror/autocomplete';
|
|
|
17
17
|
import { CheckIcon as CheckIcon$1, CopyIcon, Wand2, ShieldX, LogIn, Check, ChevronsUpDown, Search, X, ChevronDown, Circle, TriangleAlertIcon, SearchIcon, XIcon, TrendingUpIcon, TrendingDownIcon, EllipsisVerticalIcon, SaveIcon, Trash2Icon, LockIcon, ListFilterPlusIcon, ArrowLeftIcon, FilterIcon, PlusIcon, ChevronRightIcon, Monitor, Sun, Moon, CalendarIcon, CircleAlertIcon, InfoIcon as InfoIcon$1, ArrowRightIcon, Type, Hash, ToggleLeft, AlignLeft, Braces, List, MenuIcon, PanelRightIcon, KeyboardIcon, AlignLeftIcon, AlignJustifyIcon, ArrowUpIcon, ArrowDownIcon, ChevronsRightIcon, ChevronLeftIcon, ClockIcon, BanIcon, FileTextIcon, OctagonAlertIcon, LightbulbIcon, ChevronRight, Folder, File, ListTreeIcon, CornerDownRightIcon, AlertTriangle, CircleXIcon, ExpandIcon, ExternalLinkIcon, Link2Icon, Ban, ListX, ChevronsLeft, ChevronsRight, ChevronLeft, Text, TextSearch, EqualNot, Equal, Plus, Component, ArrowRight, ArrowLeft, LogsIcon as LogsIcon$1, EyeIcon, GaugeIcon, BrainIcon, ChevronUpIcon, ChevronDownIcon, ChevronsUpIcon, ChevronsDownIcon, FoldVerticalIcon, UnfoldVerticalIcon, ChevronsDownUpIcon, ChevronsUpDownIcon, CircleGaugeIcon, FileInputIcon, FileOutputIcon, BracesIcon, CircleSlashIcon } from 'lucide-react';
|
|
18
18
|
import { toast as toast$1, Toaster as Toaster$1 } from 'sonner';
|
|
19
19
|
import { useMastraClient } from '@mastra/react';
|
|
20
|
-
import
|
|
20
|
+
import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
|
|
21
21
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
22
|
-
import
|
|
22
|
+
import { Collapsible as Collapsible$1 } from '@base-ui/react/collapsible';
|
|
23
23
|
import { Combobox as Combobox$1 } from '@base-ui/react/combobox';
|
|
24
24
|
export { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';
|
|
25
25
|
import { Command as Command$1 } from 'cmdk';
|
|
26
|
-
import
|
|
26
|
+
import { Dialog as Dialog$2 } from '@base-ui/react/dialog';
|
|
27
27
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
28
28
|
import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
|
|
29
29
|
import { Menu } from '@base-ui/react/menu';
|
|
@@ -42,11 +42,11 @@ import { format, isValid, formatDate, isThisYear, isToday as isToday$1, parse }
|
|
|
42
42
|
import { DayPicker } from 'react-day-picker';
|
|
43
43
|
import * as HoverCard from '@radix-ui/react-hover-card';
|
|
44
44
|
import { Slot } from '@radix-ui/react-slot';
|
|
45
|
+
import * as Dialog$1 from '@radix-ui/react-dialog';
|
|
45
46
|
import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
|
|
46
47
|
import { MergeView } from '@codemirror/merge';
|
|
47
48
|
import { format as format$1 } from 'date-fns/format';
|
|
48
49
|
import { isToday } from 'date-fns/isToday';
|
|
49
|
-
import { Portal, SubContent } from '@radix-ui/react-dropdown-menu';
|
|
50
50
|
import { SearchCursor } from '@codemirror/search';
|
|
51
51
|
import { ResponsiveContainer, LineChart, CartesianGrid, XAxis, YAxis, Tooltip as Tooltip$2, Line } from 'recharts';
|
|
52
52
|
import { usePanelRef, Panel, Separator as Separator$1 } from 'react-resizable-panels';
|
|
@@ -6035,9 +6035,7 @@ const Textarea = React.forwardRef(
|
|
|
6035
6035
|
);
|
|
6036
6036
|
Textarea.displayName = "Textarea";
|
|
6037
6037
|
|
|
6038
|
-
const AlertDialogRoot =
|
|
6039
|
-
const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
6040
|
-
const AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
6038
|
+
const AlertDialogRoot = AlertDialog$1.Root;
|
|
6041
6039
|
function AlertDialog({
|
|
6042
6040
|
open,
|
|
6043
6041
|
onOpenChange,
|
|
@@ -6045,21 +6043,30 @@ function AlertDialog({
|
|
|
6045
6043
|
}) {
|
|
6046
6044
|
return /* @__PURE__ */ jsx(AlertDialogRoot, { open, onOpenChange, children });
|
|
6047
6045
|
}
|
|
6046
|
+
const AlertDialogTrigger = React.forwardRef(
|
|
6047
|
+
({ asChild, children, ...props }, ref) => {
|
|
6048
|
+
const renderProps = asChild && React.isValidElement(children) ? { render: children } : {};
|
|
6049
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, { ref, ...renderProps, ...props, children: asChild ? void 0 : children });
|
|
6050
|
+
}
|
|
6051
|
+
);
|
|
6052
|
+
AlertDialogTrigger.displayName = "AlertDialogTrigger";
|
|
6053
|
+
const AlertDialogPortal = AlertDialog$1.Portal;
|
|
6048
6054
|
const AlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6049
|
-
|
|
6055
|
+
AlertDialog$1.Backdrop,
|
|
6050
6056
|
{
|
|
6051
6057
|
ref,
|
|
6052
6058
|
className: cn("dialog-overlay-anim fixed inset-0 z-50 bg-overlay backdrop-blur-xs", className),
|
|
6053
6059
|
...props
|
|
6054
6060
|
}
|
|
6055
6061
|
));
|
|
6056
|
-
AlertDialogOverlay.displayName =
|
|
6062
|
+
AlertDialogOverlay.displayName = "AlertDialogOverlay";
|
|
6057
6063
|
const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
6058
6064
|
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
6059
6065
|
/* @__PURE__ */ jsx(
|
|
6060
|
-
|
|
6066
|
+
AlertDialog$1.Popup,
|
|
6061
6067
|
{
|
|
6062
6068
|
ref,
|
|
6069
|
+
"data-slot": "alert-dialog-content",
|
|
6063
6070
|
className: cn(
|
|
6064
6071
|
"dialog-content-anim",
|
|
6065
6072
|
"fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%]",
|
|
@@ -6071,35 +6078,41 @@ const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => /*
|
|
|
6071
6078
|
}
|
|
6072
6079
|
)
|
|
6073
6080
|
] }));
|
|
6074
|
-
AlertDialogContent.displayName =
|
|
6081
|
+
AlertDialogContent.displayName = "AlertDialogContent";
|
|
6075
6082
|
const AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0.5 px-4 py-3 text-left", className), ...props });
|
|
6076
6083
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
6077
6084
|
const AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end", className), ...props });
|
|
6078
6085
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
6079
6086
|
const AlertDialogBody = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("overflow-y-auto px-4 py-3.5 max-h-[50vh]", className), ...props });
|
|
6080
6087
|
AlertDialogBody.displayName = "AlertDialogBody";
|
|
6081
|
-
const AlertDialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6082
|
-
AlertDialogTitle.displayName =
|
|
6083
|
-
const AlertDialogDescription = React.forwardRef(
|
|
6084
|
-
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
|
|
6088
|
-
|
|
6089
|
-
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
))
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6088
|
+
const AlertDialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AlertDialog$1.Title, { ref, className: cn("text-ui-md font-medium", className), ...props }));
|
|
6089
|
+
AlertDialogTitle.displayName = "AlertDialogTitle";
|
|
6090
|
+
const AlertDialogDescription = React.forwardRef(
|
|
6091
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(AlertDialog$1.Description, { ref, className: cn("text-ui-sm text-neutral3", className), ...props })
|
|
6092
|
+
);
|
|
6093
|
+
AlertDialogDescription.displayName = "AlertDialogDescription";
|
|
6094
|
+
const AlertDialogAction = React.forwardRef(
|
|
6095
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6096
|
+
AlertDialog$1.Close,
|
|
6097
|
+
{
|
|
6098
|
+
ref,
|
|
6099
|
+
className: cn(buttonVariants({ variant: "primary", size: "default" }), className),
|
|
6100
|
+
...props
|
|
6101
|
+
}
|
|
6102
|
+
)
|
|
6103
|
+
);
|
|
6104
|
+
AlertDialogAction.displayName = "AlertDialogAction";
|
|
6105
|
+
const AlertDialogCancel = React.forwardRef(
|
|
6106
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6107
|
+
AlertDialog$1.Close,
|
|
6108
|
+
{
|
|
6109
|
+
ref,
|
|
6110
|
+
className: cn(buttonVariants({ variant: "default", size: "default" }), className),
|
|
6111
|
+
...props
|
|
6112
|
+
}
|
|
6113
|
+
)
|
|
6114
|
+
);
|
|
6115
|
+
AlertDialogCancel.displayName = "AlertDialogCancel";
|
|
6103
6116
|
AlertDialog.Trigger = AlertDialogTrigger;
|
|
6104
6117
|
AlertDialog.Portal = AlertDialogPortal;
|
|
6105
6118
|
AlertDialog.Overlay = AlertDialogOverlay;
|
|
@@ -6142,41 +6155,54 @@ const Checkbox = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
6142
6155
|
));
|
|
6143
6156
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
6144
6157
|
|
|
6145
|
-
const Collapsible =
|
|
6146
|
-
const CollapsibleTrigger = React__default.forwardRef(
|
|
6147
|
-
|
|
6148
|
-
|
|
6149
|
-
|
|
6150
|
-
|
|
6151
|
-
|
|
6152
|
-
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
)
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
className: cn(
|
|
6169
|
-
"overflow-hidden",
|
|
6170
|
-
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-top-1",
|
|
6171
|
-
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-1",
|
|
6172
|
-
"duration-normal ease-out-custom",
|
|
6173
|
-
className
|
|
6174
|
-
),
|
|
6175
|
-
...props,
|
|
6176
|
-
children
|
|
6158
|
+
const Collapsible = Collapsible$1.Root;
|
|
6159
|
+
const CollapsibleTrigger = React__default.forwardRef(
|
|
6160
|
+
({ className, asChild, children, ...props }, ref) => {
|
|
6161
|
+
const renderProps = asChild && React__default.isValidElement(children) ? { render: children } : {};
|
|
6162
|
+
return /* @__PURE__ */ jsx(
|
|
6163
|
+
Collapsible$1.Trigger,
|
|
6164
|
+
{
|
|
6165
|
+
ref,
|
|
6166
|
+
"data-slot": "collapsible-trigger",
|
|
6167
|
+
className: cn(
|
|
6168
|
+
"-outline-offset-2",
|
|
6169
|
+
transitions.colors,
|
|
6170
|
+
focusRing.visible,
|
|
6171
|
+
"hover:text-neutral5",
|
|
6172
|
+
"[&>svg]:transition-transform [&>svg]:duration-normal [&>svg]:ease-out-custom",
|
|
6173
|
+
"[&[data-panel-open]>svg]:rotate-90",
|
|
6174
|
+
className
|
|
6175
|
+
),
|
|
6176
|
+
...renderProps,
|
|
6177
|
+
...props,
|
|
6178
|
+
children: asChild ? void 0 : children
|
|
6179
|
+
}
|
|
6180
|
+
);
|
|
6177
6181
|
}
|
|
6178
|
-
)
|
|
6179
|
-
|
|
6182
|
+
);
|
|
6183
|
+
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
6184
|
+
const CollapsibleContent = React__default.forwardRef(
|
|
6185
|
+
({ className, children, ...props }, ref) => (
|
|
6186
|
+
// Base UI animates the panel's `height` between 0 and `--collapsible-panel-height`.
|
|
6187
|
+
// Padding/margin/borders must live on an inner wrapper — if applied to the panel
|
|
6188
|
+
// itself they keep it from collapsing to 0, which makes the animation jump.
|
|
6189
|
+
/* @__PURE__ */ jsx(
|
|
6190
|
+
Collapsible$1.Panel,
|
|
6191
|
+
{
|
|
6192
|
+
ref,
|
|
6193
|
+
"data-slot": "collapsible-content",
|
|
6194
|
+
className: cn(
|
|
6195
|
+
"overflow-hidden",
|
|
6196
|
+
"h-[var(--collapsible-panel-height)] transition-[height] duration-normal ease-out-custom",
|
|
6197
|
+
"data-[starting-style]:h-0 data-[ending-style]:h-0"
|
|
6198
|
+
),
|
|
6199
|
+
...props,
|
|
6200
|
+
children: /* @__PURE__ */ jsx("div", { className, children })
|
|
6201
|
+
}
|
|
6202
|
+
)
|
|
6203
|
+
)
|
|
6204
|
+
);
|
|
6205
|
+
CollapsibleContent.displayName = "CollapsibleContent";
|
|
6180
6206
|
|
|
6181
6207
|
const comboboxStyles = {
|
|
6182
6208
|
/** Root wrapper */
|
|
@@ -6452,51 +6478,70 @@ function MultiCombobox({
|
|
|
6452
6478
|
] });
|
|
6453
6479
|
}
|
|
6454
6480
|
|
|
6455
|
-
const Dialog =
|
|
6456
|
-
const DialogTrigger =
|
|
6457
|
-
|
|
6458
|
-
const
|
|
6481
|
+
const Dialog = Dialog$2.Root;
|
|
6482
|
+
const DialogTrigger = React.forwardRef(
|
|
6483
|
+
({ asChild, children, ...props }, ref) => {
|
|
6484
|
+
const renderProps = asChild && React.isValidElement(children) ? { render: children } : {};
|
|
6485
|
+
return /* @__PURE__ */ jsx(Dialog$2.Trigger, { ref, ...renderProps, ...props, children: asChild ? void 0 : children });
|
|
6486
|
+
}
|
|
6487
|
+
);
|
|
6488
|
+
DialogTrigger.displayName = "DialogTrigger";
|
|
6489
|
+
const DialogPortal = Dialog$2.Portal;
|
|
6490
|
+
const DialogClose = React.forwardRef(({ asChild, children, ...props }, ref) => {
|
|
6491
|
+
const renderProps = asChild && React.isValidElement(children) ? { render: children } : {};
|
|
6492
|
+
return /* @__PURE__ */ jsx(Dialog$2.Close, { ref, ...renderProps, ...props, children: asChild ? void 0 : children });
|
|
6493
|
+
});
|
|
6494
|
+
DialogClose.displayName = "DialogClose";
|
|
6459
6495
|
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6460
|
-
|
|
6496
|
+
Dialog$2.Backdrop,
|
|
6461
6497
|
{
|
|
6462
6498
|
ref,
|
|
6463
6499
|
className: cn("dialog-overlay-anim fixed inset-0 z-50 bg-overlay backdrop-blur-xs", className),
|
|
6464
6500
|
...props
|
|
6465
6501
|
}
|
|
6466
6502
|
));
|
|
6467
|
-
DialogOverlay.displayName =
|
|
6503
|
+
DialogOverlay.displayName = "DialogOverlay";
|
|
6468
6504
|
const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
6469
6505
|
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
6470
6506
|
/* @__PURE__ */ jsxs(
|
|
6471
|
-
|
|
6507
|
+
Dialog$2.Popup,
|
|
6472
6508
|
{
|
|
6473
6509
|
ref,
|
|
6510
|
+
"data-slot": "dialog-content",
|
|
6474
6511
|
className: cn(
|
|
6475
6512
|
"dialog-content-anim",
|
|
6476
6513
|
"fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%]",
|
|
6477
6514
|
"w-full max-w-[calc(100%-2rem)] sm:max-w-lg",
|
|
6478
6515
|
"rounded-xl border border-border1/40 bg-surface2/96 backdrop-blur-md shadow-dialog",
|
|
6516
|
+
"focus-visible:outline-hidden",
|
|
6479
6517
|
className
|
|
6480
6518
|
),
|
|
6481
6519
|
...props,
|
|
6482
6520
|
children: [
|
|
6483
6521
|
children,
|
|
6484
|
-
/* @__PURE__ */ jsx(
|
|
6522
|
+
/* @__PURE__ */ jsx(
|
|
6523
|
+
Dialog$2.Close,
|
|
6524
|
+
{
|
|
6525
|
+
render: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", className: "absolute top-3 right-3", "aria-label": "Close", children: /* @__PURE__ */ jsx(X, {}) })
|
|
6526
|
+
}
|
|
6527
|
+
)
|
|
6485
6528
|
]
|
|
6486
6529
|
}
|
|
6487
6530
|
)
|
|
6488
6531
|
] }));
|
|
6489
|
-
DialogContent.displayName =
|
|
6532
|
+
DialogContent.displayName = "DialogContent";
|
|
6490
6533
|
const DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0.5 px-4 py-3 text-left", className), ...props });
|
|
6491
6534
|
DialogHeader.displayName = "DialogHeader";
|
|
6492
6535
|
const DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end", className), ...props });
|
|
6493
6536
|
DialogFooter.displayName = "DialogFooter";
|
|
6494
6537
|
const DialogBody = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn("overflow-y-auto px-4 py-3.5 max-h-[50vh]", className), ...props });
|
|
6495
6538
|
DialogBody.displayName = "DialogBody";
|
|
6496
|
-
const DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6497
|
-
DialogTitle.displayName =
|
|
6498
|
-
const DialogDescription = React.forwardRef(
|
|
6499
|
-
|
|
6539
|
+
const DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog$2.Title, { ref, className: cn("text-ui-md font-medium", className), ...props }));
|
|
6540
|
+
DialogTitle.displayName = "DialogTitle";
|
|
6541
|
+
const DialogDescription = React.forwardRef(
|
|
6542
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(Dialog$2.Description, { ref, className: cn("sr-only", className), ...props })
|
|
6543
|
+
);
|
|
6544
|
+
DialogDescription.displayName = "DialogDescription";
|
|
6500
6545
|
|
|
6501
6546
|
const Command = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
6502
6547
|
Command$1,
|
|
@@ -11149,9 +11194,9 @@ function MainSidebarRoot({ children, className }) {
|
|
|
11149
11194
|
[setOpenMobile]
|
|
11150
11195
|
);
|
|
11151
11196
|
if (isMobile) {
|
|
11152
|
-
return /* @__PURE__ */ jsx(
|
|
11197
|
+
return /* @__PURE__ */ jsx(Dialog$1.Root, { open: openMobile, onOpenChange: setOpenMobile, children: /* @__PURE__ */ jsxs(Dialog$1.Portal, { children: [
|
|
11153
11198
|
/* @__PURE__ */ jsx(
|
|
11154
|
-
|
|
11199
|
+
Dialog$1.Overlay,
|
|
11155
11200
|
{
|
|
11156
11201
|
className: cn(
|
|
11157
11202
|
"fixed inset-0 z-40 bg-overlay backdrop-blur-sm",
|
|
@@ -11161,7 +11206,7 @@ function MainSidebarRoot({ children, className }) {
|
|
|
11161
11206
|
}
|
|
11162
11207
|
),
|
|
11163
11208
|
/* @__PURE__ */ jsxs(
|
|
11164
|
-
|
|
11209
|
+
Dialog$1.Content,
|
|
11165
11210
|
{
|
|
11166
11211
|
className: cn(
|
|
11167
11212
|
"fixed inset-y-0 left-0 z-50 flex h-full flex-col",
|
|
@@ -11173,8 +11218,8 @@ function MainSidebarRoot({ children, className }) {
|
|
|
11173
11218
|
className
|
|
11174
11219
|
),
|
|
11175
11220
|
children: [
|
|
11176
|
-
/* @__PURE__ */ jsx(VisuallyHidden$1, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
11177
|
-
/* @__PURE__ */ jsx(VisuallyHidden$1, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
11221
|
+
/* @__PURE__ */ jsx(VisuallyHidden$1, { asChild: true, children: /* @__PURE__ */ jsx(Dialog$1.Title, { children: "Navigation" }) }),
|
|
11222
|
+
/* @__PURE__ */ jsx(VisuallyHidden$1, { asChild: true, children: /* @__PURE__ */ jsx(Dialog$1.Description, { children: "Primary site navigation drawer" }) }),
|
|
11178
11223
|
/* @__PURE__ */ jsx("div", { onClick: closeOnAnchor, className: "flex flex-col h-full min-h-0 px-4 py-2 overflow-hidden", children })
|
|
11179
11224
|
]
|
|
11180
11225
|
}
|
|
@@ -11696,9 +11741,9 @@ function SideDialogRoot({
|
|
|
11696
11741
|
className
|
|
11697
11742
|
}) {
|
|
11698
11743
|
const isConfirmation = variant === "confirmation";
|
|
11699
|
-
return /* @__PURE__ */ jsx(
|
|
11744
|
+
return /* @__PURE__ */ jsx(Dialog$1.Root, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxs(Dialog$1.Portal, { children: [
|
|
11700
11745
|
!isConfirmation && /* @__PURE__ */ jsx(
|
|
11701
|
-
|
|
11746
|
+
Dialog$1.Overlay,
|
|
11702
11747
|
{
|
|
11703
11748
|
className: cn(
|
|
11704
11749
|
"bg-overlay backdrop-blur-sm top-0 bottom-0 right-0 left-0 fixed z-50",
|
|
@@ -11708,7 +11753,7 @@ function SideDialogRoot({
|
|
|
11708
11753
|
}
|
|
11709
11754
|
),
|
|
11710
11755
|
/* @__PURE__ */ jsxs(
|
|
11711
|
-
|
|
11756
|
+
Dialog$1.Content,
|
|
11712
11757
|
{
|
|
11713
11758
|
className: cn(
|
|
11714
11759
|
"fixed top-0 bottom-0 right-0 border-l border-border2 z-50 bg-surface2",
|
|
@@ -11724,10 +11769,10 @@ function SideDialogRoot({
|
|
|
11724
11769
|
),
|
|
11725
11770
|
children: [
|
|
11726
11771
|
/* @__PURE__ */ jsxs(VisuallyHidden.Root, { children: [
|
|
11727
|
-
/* @__PURE__ */ jsx(
|
|
11728
|
-
/* @__PURE__ */ jsx(
|
|
11772
|
+
/* @__PURE__ */ jsx(Dialog$1.Title, { children: dialogTitle }),
|
|
11773
|
+
/* @__PURE__ */ jsx(Dialog$1.Description, { children: dialogDescription })
|
|
11729
11774
|
] }),
|
|
11730
|
-
!isConfirmation && /* @__PURE__ */ jsx(
|
|
11775
|
+
!isConfirmation && /* @__PURE__ */ jsx(Dialog$1.Close, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
11731
11776
|
"button",
|
|
11732
11777
|
{
|
|
11733
11778
|
className: cn(
|
|
@@ -12895,15 +12940,6 @@ const Tree = Object.assign(TreeRoot, {
|
|
|
12895
12940
|
});
|
|
12896
12941
|
|
|
12897
12942
|
const SUBMENU_SEARCH_THRESHOLD = 6;
|
|
12898
|
-
const subContentClass = cn(
|
|
12899
|
-
"bg-surface5 backdrop-blur-xl z-50 min-w-[8rem] overflow-auto rounded-lg p-2 shadow-md",
|
|
12900
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
12901
|
-
"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",
|
|
12902
|
-
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"
|
|
12903
|
-
);
|
|
12904
|
-
function PortalSubContent({ className, children, ...props }) {
|
|
12905
|
-
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(SubContent, { className: cn(subContentClass, className), ...props, children }) });
|
|
12906
|
-
}
|
|
12907
12943
|
function SubMenuSearch({
|
|
12908
12944
|
value,
|
|
12909
12945
|
onChange,
|
|
@@ -13008,7 +13044,7 @@ function SelectDataFilter({
|
|
|
13008
13044
|
/* @__PURE__ */ jsx("span", { className: cn("truncate"), children: cat.label }),
|
|
13009
13045
|
selectedCount > 0 && /* @__PURE__ */ jsx("span", { className: cn("ml-auto text-ui-sm text-accent1"), children: selectedCount })
|
|
13010
13046
|
] }),
|
|
13011
|
-
/* @__PURE__ */ jsxs(
|
|
13047
|
+
/* @__PURE__ */ jsxs(DropdownMenu.SubContent, { className: cn("max-h-[20rem]"), children: [
|
|
13012
13048
|
cat.values.length >= searchThreshold && /* @__PURE__ */ jsx(SubMenuSearch, { value: subSearch, onChange: setSubSearch, label: `Search ${cat.label.toLowerCase()}` }),
|
|
13013
13049
|
mode === "single" ? /* @__PURE__ */ jsx(DropdownMenu.RadioGroup, { value: selected[0] ?? "", onValueChange: (val) => handleSelect(cat.id, val, mode), children: cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsx(DropdownMenu.RadioItem, { value: v.value, children: /* @__PURE__ */ jsx("span", { className: cn("truncate"), children: v.label }) }, v.value)) }) : cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsx(
|
|
13014
13050
|
DropdownMenu.CheckboxItem,
|
|
@@ -13072,7 +13108,7 @@ function SelectDataFilter({
|
|
|
13072
13108
|
}
|
|
13073
13109
|
return /* @__PURE__ */ jsxs(DropdownMenu.Sub, { children: [
|
|
13074
13110
|
/* @__PURE__ */ jsx(DropdownMenu.SubTrigger, { children: group.label }),
|
|
13075
|
-
/* @__PURE__ */ jsx(
|
|
13111
|
+
/* @__PURE__ */ jsx(DropdownMenu.SubContent, { className: cn("max-h-[20rem]"), children: group.items.map((cat) => renderCategory(cat)) })
|
|
13076
13112
|
] }, group.key);
|
|
13077
13113
|
}),
|
|
13078
13114
|
activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -16720,18 +16756,70 @@ function MetricsProvider({
|
|
|
16720
16756
|
return /* @__PURE__ */ jsx(MetricsContext.Provider, { value, children });
|
|
16721
16757
|
}
|
|
16722
16758
|
|
|
16759
|
+
const METRICS_PRESETS = [
|
|
16760
|
+
"last-24h",
|
|
16761
|
+
"last-3d",
|
|
16762
|
+
"last-7d",
|
|
16763
|
+
"last-14d",
|
|
16764
|
+
"last-30d",
|
|
16765
|
+
"custom"
|
|
16766
|
+
];
|
|
16767
|
+
function toPickerPreset(preset) {
|
|
16768
|
+
switch (preset) {
|
|
16769
|
+
case "3d":
|
|
16770
|
+
return "last-3d";
|
|
16771
|
+
case "7d":
|
|
16772
|
+
return "last-7d";
|
|
16773
|
+
case "14d":
|
|
16774
|
+
return "last-14d";
|
|
16775
|
+
case "30d":
|
|
16776
|
+
return "last-30d";
|
|
16777
|
+
case "custom":
|
|
16778
|
+
return "custom";
|
|
16779
|
+
default:
|
|
16780
|
+
return "last-24h";
|
|
16781
|
+
}
|
|
16782
|
+
}
|
|
16783
|
+
function fromPickerPreset(preset) {
|
|
16784
|
+
switch (preset) {
|
|
16785
|
+
case "last-3d":
|
|
16786
|
+
return "3d";
|
|
16787
|
+
case "last-7d":
|
|
16788
|
+
return "7d";
|
|
16789
|
+
case "last-14d":
|
|
16790
|
+
return "14d";
|
|
16791
|
+
case "last-30d":
|
|
16792
|
+
return "30d";
|
|
16793
|
+
case "custom":
|
|
16794
|
+
return "custom";
|
|
16795
|
+
default:
|
|
16796
|
+
return "24h";
|
|
16797
|
+
}
|
|
16798
|
+
}
|
|
16723
16799
|
function DateRangeSelector() {
|
|
16724
|
-
const { datePreset, setDatePreset } = useMetrics();
|
|
16800
|
+
const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();
|
|
16801
|
+
const presetRef = useRef(datePreset);
|
|
16802
|
+
presetRef.current = datePreset;
|
|
16803
|
+
const customRangeRef = useRef(customRange);
|
|
16804
|
+
customRangeRef.current = customRange;
|
|
16725
16805
|
return /* @__PURE__ */ jsx(
|
|
16726
|
-
|
|
16806
|
+
DateTimeRangePicker,
|
|
16727
16807
|
{
|
|
16728
|
-
|
|
16729
|
-
|
|
16730
|
-
|
|
16731
|
-
|
|
16732
|
-
|
|
16733
|
-
|
|
16734
|
-
|
|
16808
|
+
preset: toPickerPreset(datePreset),
|
|
16809
|
+
onPresetChange: (next) => {
|
|
16810
|
+
const mapped = fromPickerPreset(next);
|
|
16811
|
+
presetRef.current = mapped;
|
|
16812
|
+
setDatePreset(mapped);
|
|
16813
|
+
},
|
|
16814
|
+
dateFrom: customRange?.from,
|
|
16815
|
+
dateTo: customRange?.to,
|
|
16816
|
+
onDateChange: (value, type) => {
|
|
16817
|
+
if (presetRef.current !== "custom") return;
|
|
16818
|
+
const next = { ...customRangeRef.current, [type]: value };
|
|
16819
|
+
customRangeRef.current = next;
|
|
16820
|
+
setCustomRange(next);
|
|
16821
|
+
},
|
|
16822
|
+
presets: METRICS_PRESETS
|
|
16735
16823
|
}
|
|
16736
16824
|
);
|
|
16737
16825
|
}
|