@mastra/playground-ui 30.0.1-alpha.0 → 30.0.2-alpha.1
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 +97 -0
- package/dist/index.cjs.js +129 -108
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +36 -58
- package/dist/index.es.js +137 -117
- package/dist/index.es.js.map +1 -1
- package/dist/src/ds/components/DataList/{data-list-row.d.ts → data-list-row-wrapper.d.ts} +2 -2
- package/dist/src/ds/components/DataList/data-list.d.ts +1 -1
- package/dist/src/ds/components/DataList/shared.d.ts +3 -3
- package/dist/src/ds/components/Drawer/drawer.d.ts +5 -26
- package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +1 -1
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +3 -2
- package/dist/src/ds/components/SideDialog/side-dialog-content.d.ts +0 -3
- package/dist/src/ds/primitives/visually-hidden.d.ts +2 -0
- package/package.json +7 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
1
|
# @mastra/playground-ui
|
|
2
2
|
|
|
3
|
+
## 30.0.2-alpha.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Pointer drags inside the `SideDialog` body now select text reliably instead of fighting with the close-swipe gesture. The popup chrome (header, edges) still closes the drawer on drag. ([#16959](https://github.com/mastra-ai/mastra/pull/16959))
|
|
8
|
+
|
|
9
|
+
**Drawer composition**
|
|
10
|
+
|
|
11
|
+
`DrawerContent` is now the shadcn-style opinionated bundle (`DrawerPortal` + `DrawerBackdrop` + `DrawerViewport` + `DrawerPopup`, with a handle bar on top/bottom-anchored drawers and a fade-out when a nested drawer covers the parent). Most drawers can now be written as:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<Drawer>
|
|
15
|
+
<DrawerTrigger>…</DrawerTrigger>
|
|
16
|
+
<DrawerContent>
|
|
17
|
+
<DrawerHeader>…</DrawerHeader>
|
|
18
|
+
<DrawerBody>…</DrawerBody>
|
|
19
|
+
</DrawerContent>
|
|
20
|
+
</Drawer>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The low-level primitives (`DrawerPortal`, `DrawerBackdrop`, `DrawerViewport`, `DrawerPopup`) remain exported for drawers that need a custom portal target, non-modal page behavior, or chrome outside the popup (see the `SwipeToOpen` and `NonModal` Storybook examples).
|
|
24
|
+
|
|
25
|
+
Base UI's text-selectable region (the `Drawer.Content` part — pointer drags inside it select text instead of closing the drawer) is now exported as `DrawerInteractive`. Migration:
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
// Before
|
|
29
|
+
import { DrawerContent } from '@mastra/playground-ui';
|
|
30
|
+
<DrawerContent render={<div>...</div>} />;
|
|
31
|
+
|
|
32
|
+
// After
|
|
33
|
+
import { DrawerInteractive } from '@mastra/playground-ui';
|
|
34
|
+
<DrawerInteractive render={<div>...</div>} />;
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- Improved `@mastra/playground-ui` stability by removing legacy runtime UI dependencies without changing `SideDialog`, `MainSidebar`, or accessibility behavior. Nested `SideDialog` levels now stack consistently, so multi-level flows behave predictably. ([#16959](https://github.com/mastra-ai/mastra/pull/16959))
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [[`49f8abc`](https://github.com/mastra-ai/mastra/commit/49f8abce8258e4f2f87bd326acfbdb641264a47c)]:
|
|
40
|
+
- @mastra/client-js@1.21.2-alpha.1
|
|
41
|
+
- @mastra/core@1.37.2-alpha.1
|
|
42
|
+
- @mastra/react@0.4.3-alpha.1
|
|
43
|
+
|
|
44
|
+
## 30.0.2-alpha.0
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- Updated dependencies [[`07c3de7`](https://github.com/mastra-ai/mastra/commit/07c3de7f7bc418beccaea3b5e6b7f7cdda79d492)]:
|
|
49
|
+
- @mastra/core@1.37.2-alpha.0
|
|
50
|
+
- @mastra/client-js@1.21.2-alpha.0
|
|
51
|
+
- @mastra/react@0.4.3-alpha.0
|
|
52
|
+
|
|
53
|
+
## 30.0.1
|
|
54
|
+
|
|
55
|
+
### Patch Changes
|
|
56
|
+
|
|
57
|
+
- Renamed `DataList.Row` (the non-interactive grid wrapper) to `DataList.RowWrapper` for clarity, since the name `Row` was easy to confuse with the interactive row primitives (`.RowButton`, `.RowLink`, `.RowStatic`). The corresponding exported component is now `DataListRowWrapper` (was `DataListRow`). ([#17123](https://github.com/mastra-ai/mastra/pull/17123))
|
|
58
|
+
|
|
59
|
+
**Migration**
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
// Before
|
|
63
|
+
<DataList.Row>
|
|
64
|
+
<DataList.SelectCell ... />
|
|
65
|
+
<DataList.RowButton ...>...</DataList.RowButton>
|
|
66
|
+
</DataList.Row>
|
|
67
|
+
|
|
68
|
+
// After
|
|
69
|
+
<DataList.RowWrapper>
|
|
70
|
+
<DataList.SelectCell ... />
|
|
71
|
+
<DataList.RowButton ...>...</DataList.RowButton>
|
|
72
|
+
</DataList.RowWrapper>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The `.RowButton`, `.RowLink`, and `.RowStatic` primitives are unchanged.
|
|
76
|
+
|
|
77
|
+
- `ContextMenu` Positioner and popup raised from `z-50` to `z-1000` with `isolate`, so the menu sits above app chrome that uses higher stacking contexts (e.g. sticky headers with `z-500`). Previously the menu would render behind such elements when opened on triggers near them. ([#17133](https://github.com/mastra-ai/mastra/pull/17133))
|
|
78
|
+
|
|
79
|
+
- Removed the EntityList and EntityListPageLayout components — they were superseded by DataList. The 9 Studio root list pages (Agents, Datasets, Experiments, MCPs, Processors, Prompts, Scorers, Tools, Workflows) now build on DataList, matching the condensed layout shared across the rest of Studio. ([#17058](https://github.com/mastra-ai/mastra/pull/17058))
|
|
80
|
+
|
|
81
|
+
**Migration**
|
|
82
|
+
|
|
83
|
+
If you were importing EntityList or EntityListPageLayout from `@mastra/playground-ui`, switch to DataList — its API is a strict superset:
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
// Before
|
|
87
|
+
import { EntityList, EntityListSkeleton } from '@mastra/playground-ui';
|
|
88
|
+
|
|
89
|
+
// After
|
|
90
|
+
import { DataList, DataListSkeleton } from '@mastra/playground-ui';
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The primitive names match (`.Top`, `.TopCell`, `.TopCellSmart`, `.RowLink`, `.Cell`, `.TextCell`, `.NameCell`, `.DescriptionCell`, `.NoMatch`, `.Pagination`). DataList additionally exposes `.Row`, `.RowButton`, `.RowStatic`, `.IdCell`, `.MonoCell`, `.SelectCell`, `.NextPageLoading`, and more — useful when you need selection rows or action cells outside a RowLink.
|
|
94
|
+
|
|
95
|
+
- Updated dependencies [[`21db1a4`](https://github.com/mastra-ai/mastra/commit/21db1a4b8ac058d5a4fbe38b516cc1b81e526915)]:
|
|
96
|
+
- @mastra/core@1.37.1
|
|
97
|
+
- @mastra/client-js@1.21.1
|
|
98
|
+
- @mastra/react@0.4.2
|
|
99
|
+
|
|
3
100
|
## 30.0.1-alpha.0
|
|
4
101
|
|
|
5
102
|
### Patch Changes
|
package/dist/index.cjs.js
CHANGED
|
@@ -30,7 +30,7 @@ const select = require('@base-ui/react/select');
|
|
|
30
30
|
const tabs = require('@base-ui/react/tabs');
|
|
31
31
|
const drawer = require('@base-ui/react/drawer');
|
|
32
32
|
const menu = require('@base-ui/react/menu');
|
|
33
|
-
const
|
|
33
|
+
const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
|
|
34
34
|
const previewCard = require('@base-ui/react/preview-card');
|
|
35
35
|
const Markdown = require('react-markdown');
|
|
36
36
|
const remarkGfm = require('remark-gfm');
|
|
@@ -43,8 +43,6 @@ const slider = require('@base-ui/react/slider');
|
|
|
43
43
|
const _switch = require('@base-ui/react/switch');
|
|
44
44
|
const dateFns = require('date-fns');
|
|
45
45
|
const reactDayPicker = require('react-day-picker');
|
|
46
|
-
const reactSlot = require('@radix-ui/react-slot');
|
|
47
|
-
const Dialog$1 = require('@radix-ui/react-dialog');
|
|
48
46
|
const dnd = require('@hello-pangea/dnd');
|
|
49
47
|
const merge = require('@codemirror/merge');
|
|
50
48
|
const format = require('date-fns/format');
|
|
@@ -76,8 +74,6 @@ function _interopNamespaceDefault(e) {
|
|
|
76
74
|
}
|
|
77
75
|
|
|
78
76
|
const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
79
|
-
const VisuallyHidden__namespace = /*#__PURE__*/_interopNamespaceDefault(VisuallyHidden);
|
|
80
|
-
const Dialog__namespace = /*#__PURE__*/_interopNamespaceDefault(Dialog$1);
|
|
81
77
|
|
|
82
78
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
83
79
|
|
|
@@ -6719,7 +6715,7 @@ const itemClass$1 = cn(
|
|
|
6719
6715
|
"[&>svg]:w-[1.1em] [&>svg]:h-[1.1em] [&>svg]:opacity-60 [&:hover>svg]:opacity-100"
|
|
6720
6716
|
);
|
|
6721
6717
|
const popupClass$1 = cn(
|
|
6722
|
-
"bg-surface3 text-neutral4 z-
|
|
6718
|
+
"bg-surface3 text-neutral4 z-1000 min-w-44 max-h-[min(20rem,var(--available-height))] overflow-x-hidden overflow-y-auto rounded-xl border border-border1 p-1 shadow-dialog origin-[var(--transform-origin)] outline-none",
|
|
6723
6719
|
"data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95",
|
|
6724
6720
|
"data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1"
|
|
6725
6721
|
);
|
|
@@ -6732,7 +6728,7 @@ const ContextMenuContent = React__namespace.forwardRef(
|
|
|
6732
6728
|
alignOffset,
|
|
6733
6729
|
side,
|
|
6734
6730
|
sideOffset,
|
|
6735
|
-
className: "z-
|
|
6731
|
+
className: "isolate z-1000 outline-none",
|
|
6736
6732
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6737
6733
|
contextMenu.ContextMenu.Popup,
|
|
6738
6734
|
{
|
|
@@ -6853,7 +6849,7 @@ const ContextMenuSubContent = React__namespace.forwardRef(
|
|
|
6853
6849
|
alignOffset,
|
|
6854
6850
|
side,
|
|
6855
6851
|
sideOffset,
|
|
6856
|
-
className: "z-
|
|
6852
|
+
className: "isolate z-1000 outline-none",
|
|
6857
6853
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6858
6854
|
contextMenu.ContextMenu.Popup,
|
|
6859
6855
|
{
|
|
@@ -7247,6 +7243,7 @@ const DrawerIndent = drawer.Drawer.Indent;
|
|
|
7247
7243
|
const DrawerIndentBackground = drawer.Drawer.IndentBackground;
|
|
7248
7244
|
const DrawerSwipeArea = drawer.Drawer.SwipeArea;
|
|
7249
7245
|
const createDrawerHandle = drawer.Drawer.createHandle;
|
|
7246
|
+
const DrawerInteractive = drawer.Drawer.Content;
|
|
7250
7247
|
const DrawerBackdrop = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7251
7248
|
drawer.Drawer.Backdrop,
|
|
7252
7249
|
{
|
|
@@ -7280,7 +7277,6 @@ const drawerPopupBaseClass = cn(
|
|
|
7280
7277
|
"drawer-popup group/popup relative z-50 box-border flex flex-col overflow-y-auto overscroll-contain outline-none [touch-action:auto] will-change-transform",
|
|
7281
7278
|
"border-border1 bg-surface3 text-neutral5 shadow-dialog",
|
|
7282
7279
|
"data-[swiping]:select-none",
|
|
7283
|
-
// Dim layer drawn over a parent drawer while a nested drawer covers it.
|
|
7284
7280
|
"after:pointer-events-none after:absolute after:inset-0 after:bg-transparent after:transition-[background-color] after:duration-[450ms] after:content-['']",
|
|
7285
7281
|
"data-[nested-drawer-open]:after:bg-black/25"
|
|
7286
7282
|
);
|
|
@@ -7307,29 +7303,27 @@ const nestedFadeClass = cn(
|
|
|
7307
7303
|
"transition-opacity duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] motion-reduce:duration-0",
|
|
7308
7304
|
"group-data-[nested-drawer-open]/popup:opacity-0"
|
|
7309
7305
|
);
|
|
7310
|
-
const
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
!hideBackdrop && /* @__PURE__ */ jsxRuntime.jsx(DrawerBackdrop, {}),
|
|
7317
|
-
/* @__PURE__ */ jsxRuntime.jsx(DrawerViewport, { className: hideBackdrop ? "pointer-events-none" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs(DrawerPopup, { ref, className: cn(hideBackdrop && "pointer-events-auto", className), ...props, children: [
|
|
7318
|
-
showHandle && side === "bottom" && /* @__PURE__ */ jsxRuntime.jsx(HandleBar, {}),
|
|
7319
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "drawer-content", className: cn("relative flex min-h-0 flex-1 flex-col", nestedFadeClass), children: [
|
|
7320
|
-
children,
|
|
7321
|
-
!hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7322
|
-
drawer.Drawer.Close,
|
|
7323
|
-
{
|
|
7324
|
-
render: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", className: "absolute top-3 right-3", "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}) })
|
|
7325
|
-
}
|
|
7326
|
-
)
|
|
7327
|
-
] }),
|
|
7328
|
-
showHandle && side === "top" && /* @__PURE__ */ jsxRuntime.jsx(HandleBar, {})
|
|
7329
|
-
] }) })
|
|
7330
|
-
] });
|
|
7306
|
+
const DrawerHandleBar = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7307
|
+
"div",
|
|
7308
|
+
{
|
|
7309
|
+
"aria-hidden": true,
|
|
7310
|
+
"data-slot": "drawer-handle",
|
|
7311
|
+
className: cn("mx-auto my-2 h-1 w-12 shrink-0 rounded-full bg-surface5", nestedFadeClass)
|
|
7331
7312
|
}
|
|
7332
7313
|
);
|
|
7314
|
+
DrawerHandleBar.displayName = "DrawerHandleBar";
|
|
7315
|
+
const DrawerContent = React__namespace.forwardRef(({ className, children, ...props }, ref) => {
|
|
7316
|
+
const side = useDrawerSide();
|
|
7317
|
+
const showHandle = side === "top" || side === "bottom";
|
|
7318
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { children: [
|
|
7319
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrawerBackdrop, {}),
|
|
7320
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrawerViewport, { children: /* @__PURE__ */ jsxRuntime.jsxs(DrawerPopup, { ref, className, ...props, children: [
|
|
7321
|
+
showHandle && side === "bottom" && /* @__PURE__ */ jsxRuntime.jsx(DrawerHandleBar, {}),
|
|
7322
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "drawer-content", className: cn("relative flex min-h-0 flex-1 flex-col", nestedFadeClass), children }),
|
|
7323
|
+
showHandle && side === "top" && /* @__PURE__ */ jsxRuntime.jsx(DrawerHandleBar, {})
|
|
7324
|
+
] }) })
|
|
7325
|
+
] });
|
|
7326
|
+
});
|
|
7333
7327
|
DrawerContent.displayName = "DrawerContent";
|
|
7334
7328
|
const DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "drawer-header", className: cn("flex flex-col gap-0.5 px-4 py-3 text-left", className), ...props });
|
|
7335
7329
|
DrawerHeader.displayName = "DrawerHeader";
|
|
@@ -7746,7 +7740,7 @@ function TextFieldBlock({
|
|
|
7746
7740
|
...props
|
|
7747
7741
|
}) {
|
|
7748
7742
|
return /* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Layout, { layout, labelColumnWidth, className, children: [
|
|
7749
|
-
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, size: labelSize || "bigger", children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7743
|
+
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, size: labelSize || "bigger", children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: label }) : label }) }) : null,
|
|
7750
7744
|
/* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Column, { children: [
|
|
7751
7745
|
!labelIsHidden && layout === "vertical" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, size: labelSize || "default", children: label }) : null,
|
|
7752
7746
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7808,7 +7802,7 @@ function SearchFieldBlock({
|
|
|
7808
7802
|
] });
|
|
7809
7803
|
}
|
|
7810
7804
|
return /* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Layout, { layout, className, children: [
|
|
7811
|
-
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7805
|
+
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: label }) : label }) }) : null,
|
|
7812
7806
|
/* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Column, { children: [
|
|
7813
7807
|
layout === "vertical" && label && !labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: label }) : null,
|
|
7814
7808
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative group", children: [
|
|
@@ -7886,7 +7880,7 @@ function SelectFieldBlock({
|
|
|
7886
7880
|
className
|
|
7887
7881
|
}) {
|
|
7888
7882
|
return /* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Layout, { layout, labelColumnWidth, className, children: [
|
|
7889
|
-
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7883
|
+
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: label }) : label }) }) : null,
|
|
7890
7884
|
/* @__PURE__ */ jsxRuntime.jsxs(FieldBlock.Column, { children: [
|
|
7891
7885
|
layout === "vertical" && label && !labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(FieldBlock.Label, { name, required, children: label }) : null,
|
|
7892
7886
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -10824,7 +10818,7 @@ const JSONSchemaForm = {
|
|
|
10824
10818
|
|
|
10825
10819
|
function KeyValueList({ data, className, labelsAreHidden, isLoading, LinkComponent: Link }) {
|
|
10826
10820
|
const LabelWrapper = ({ children }) => {
|
|
10827
|
-
return labelsAreHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10821
|
+
return labelsAreHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children }) : children;
|
|
10828
10822
|
};
|
|
10829
10823
|
if (!data || data.length === 0) {
|
|
10830
10824
|
return null;
|
|
@@ -11194,7 +11188,7 @@ function MainSidebarNavHeader({
|
|
|
11194
11188
|
) : children
|
|
11195
11189
|
}
|
|
11196
11190
|
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11197
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11191
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("header", { ...props, children }) }),
|
|
11198
11192
|
/* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "mx-3 h-px flex-1 bg-border1" })
|
|
11199
11193
|
] }) });
|
|
11200
11194
|
}
|
|
@@ -11203,7 +11197,7 @@ function MainSidebarNavLabel({ children, className, state: stateProp, ...rest })
|
|
|
11203
11197
|
const ctx = useMaybeSidebar();
|
|
11204
11198
|
const state = stateProp ?? ctx?.state ?? "default";
|
|
11205
11199
|
if (state === "collapsed") {
|
|
11206
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11200
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children });
|
|
11207
11201
|
}
|
|
11208
11202
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { ...rest, className: cn("min-w-0 flex-1 truncate text-left", className), children });
|
|
11209
11203
|
}
|
|
@@ -11247,7 +11241,14 @@ function MainSidebarNavLink({
|
|
|
11247
11241
|
});
|
|
11248
11242
|
let interactiveEl = null;
|
|
11249
11243
|
if (asChild) {
|
|
11250
|
-
|
|
11244
|
+
if (!React.isValidElement(children)) {
|
|
11245
|
+
throw new Error(
|
|
11246
|
+
"MainSidebarNavLink requires a valid React element child when `asChild` is true so it can apply `SlottedNavChildProps` and merge `itemClassName`."
|
|
11247
|
+
);
|
|
11248
|
+
}
|
|
11249
|
+
interactiveEl = React.cloneElement(children, {
|
|
11250
|
+
className: cn(itemClassName, children.props.className)
|
|
11251
|
+
});
|
|
11251
11252
|
} else if (link) {
|
|
11252
11253
|
interactiveEl = /* @__PURE__ */ jsxRuntime.jsxs(Link, { href: link.url, ...linkParams, className: itemClassName, children: [
|
|
11253
11254
|
link.icon,
|
|
@@ -11426,32 +11427,32 @@ function MainSidebarRoot({ children, className }) {
|
|
|
11426
11427
|
[setOpenMobile]
|
|
11427
11428
|
);
|
|
11428
11429
|
if (isMobile) {
|
|
11429
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11430
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Root, { open: openMobile, onOpenChange: setOpenMobile, children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.Dialog.Portal, { children: [
|
|
11430
11431
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11431
|
-
|
|
11432
|
+
dialog.Dialog.Backdrop,
|
|
11432
11433
|
{
|
|
11433
11434
|
className: cn(
|
|
11434
11435
|
"fixed inset-0 z-40 bg-overlay backdrop-blur-sm",
|
|
11435
|
-
"
|
|
11436
|
-
"data-[
|
|
11436
|
+
"opacity-100 transition-opacity duration-200 ease-out motion-reduce:transition-none",
|
|
11437
|
+
"data-[starting-style]:opacity-0 data-[ending-style]:opacity-0 data-[ending-style]:duration-150 data-[ending-style]:ease-in"
|
|
11437
11438
|
)
|
|
11438
11439
|
}
|
|
11439
11440
|
),
|
|
11440
11441
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11441
|
-
|
|
11442
|
+
dialog.Dialog.Popup,
|
|
11442
11443
|
{
|
|
11443
11444
|
className: cn(
|
|
11444
11445
|
"fixed inset-y-0 left-0 z-50 flex h-full flex-col",
|
|
11445
11446
|
"w-3/4 max-w-(--sidebar-width-mobile)",
|
|
11446
11447
|
"bg-surface2 shadow-xl",
|
|
11447
|
-
"data-[
|
|
11448
|
-
"data-[
|
|
11448
|
+
"data-[open]:animate-in data-[closed]:animate-out",
|
|
11449
|
+
"data-[open]:slide-in-from-left data-[closed]:slide-out-to-left",
|
|
11449
11450
|
"duration-200",
|
|
11450
11451
|
className
|
|
11451
11452
|
),
|
|
11452
11453
|
children: [
|
|
11453
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11454
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11454
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Title, { children: "Navigation" }) }),
|
|
11455
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Description, { children: "Primary site navigation drawer" }) }),
|
|
11455
11456
|
/* @__PURE__ */ jsxRuntime.jsx("div", { onClick: closeOnAnchor, className: "flex flex-col h-full min-h-0 px-4 py-2 overflow-hidden", children })
|
|
11456
11457
|
]
|
|
11457
11458
|
}
|
|
@@ -11911,7 +11912,12 @@ function containsInnerNewline$2(obj) {
|
|
|
11911
11912
|
}
|
|
11912
11913
|
|
|
11913
11914
|
function SideDialogContent({ children, className }) {
|
|
11914
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11915
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11916
|
+
DrawerInteractive,
|
|
11917
|
+
{
|
|
11918
|
+
render: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("p-6 pl-9 overflow-y-scroll grid gap-6 content-start pb-8", className), children })
|
|
11919
|
+
}
|
|
11920
|
+
);
|
|
11915
11921
|
}
|
|
11916
11922
|
|
|
11917
11923
|
function SideDialogHeader({ children, className }) {
|
|
@@ -11973,62 +11979,65 @@ function SideDialogRoot({
|
|
|
11973
11979
|
className
|
|
11974
11980
|
}) {
|
|
11975
11981
|
const isConfirmation = variant === "confirmation";
|
|
11976
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11977
|
-
|
|
11978
|
-
|
|
11979
|
-
|
|
11980
|
-
|
|
11981
|
-
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
|
|
11985
|
-
|
|
11986
|
-
|
|
11987
|
-
|
|
11988
|
-
Dialog__namespace.Content,
|
|
11989
|
-
{
|
|
11990
|
-
className: cn(
|
|
11991
|
-
"fixed top-0 bottom-0 right-0 border-l border-border2 z-50 bg-surface2",
|
|
11992
|
-
"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",
|
|
11982
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11983
|
+
Drawer,
|
|
11984
|
+
{
|
|
11985
|
+
side: "right",
|
|
11986
|
+
open: isOpen,
|
|
11987
|
+
onOpenChange: (open) => {
|
|
11988
|
+
if (!open) onClose?.();
|
|
11989
|
+
},
|
|
11990
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { children: [
|
|
11991
|
+
!isConfirmation && /* @__PURE__ */ jsxRuntime.jsx(DrawerBackdrop, { className: "backdrop-blur-sm" }),
|
|
11992
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrawerViewport, { className: isConfirmation ? "pointer-events-none" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11993
|
+
DrawerPopup,
|
|
11993
11994
|
{
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
|
|
11997
|
-
|
|
11998
|
-
|
|
11999
|
-
|
|
12000
|
-
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
12004
|
-
|
|
12005
|
-
|
|
12006
|
-
|
|
12007
|
-
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
12013
|
-
|
|
11995
|
+
className: cn(
|
|
11996
|
+
"max-w-none rounded-none border-y-0 border-r-0 border-l border-border2 bg-surface2 overflow-visible",
|
|
11997
|
+
{
|
|
11998
|
+
"w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]": level === 1,
|
|
11999
|
+
"w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]": level === 2,
|
|
12000
|
+
"w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]": level === 3,
|
|
12001
|
+
"pointer-events-auto bg-surface2/70 backdrop-blur-sm shadow-none": isConfirmation
|
|
12002
|
+
},
|
|
12003
|
+
className
|
|
12004
|
+
),
|
|
12005
|
+
children: [
|
|
12006
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrawerTitle, { className: "sr-only", children: dialogTitle }),
|
|
12007
|
+
/* @__PURE__ */ jsxRuntime.jsx(DrawerDescription, { className: "sr-only", children: dialogDescription }),
|
|
12008
|
+
!isConfirmation && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12009
|
+
DrawerClose,
|
|
12010
|
+
{
|
|
12011
|
+
render: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12012
|
+
"button",
|
|
12013
|
+
{
|
|
12014
|
+
type: "button",
|
|
12015
|
+
className: cn(
|
|
12016
|
+
"flex appearance-none items-center justify-center rounded-bl-lg h-14 w-14 absolute top-0 -left-14 bg-surface2 text-neutral3 border-l border-b border-border2",
|
|
12017
|
+
transitions.all,
|
|
12018
|
+
"hover:bg-surface4 hover:text-neutral5"
|
|
12019
|
+
),
|
|
12020
|
+
"aria-label": "Close",
|
|
12021
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsRightIcon, {})
|
|
12022
|
+
}
|
|
12023
|
+
)
|
|
12024
|
+
}
|
|
12014
12025
|
),
|
|
12015
|
-
|
|
12016
|
-
|
|
12017
|
-
|
|
12018
|
-
|
|
12019
|
-
|
|
12020
|
-
|
|
12021
|
-
|
|
12022
|
-
|
|
12023
|
-
|
|
12024
|
-
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
|
|
12030
|
-
)
|
|
12031
|
-
] }) });
|
|
12026
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12027
|
+
"div",
|
|
12028
|
+
{
|
|
12029
|
+
className: cn("grid h-full", {
|
|
12030
|
+
"grid-rows-[auto_1fr]": !isConfirmation
|
|
12031
|
+
}),
|
|
12032
|
+
children
|
|
12033
|
+
}
|
|
12034
|
+
)
|
|
12035
|
+
]
|
|
12036
|
+
}
|
|
12037
|
+
) })
|
|
12038
|
+
] })
|
|
12039
|
+
}
|
|
12040
|
+
);
|
|
12032
12041
|
}
|
|
12033
12042
|
|
|
12034
12043
|
function SideDialogTop({ children, className }) {
|
|
@@ -13516,11 +13525,6 @@ const dataListRowStyles = [
|
|
|
13516
13525
|
...dataListRowOuterStyles
|
|
13517
13526
|
];
|
|
13518
13527
|
|
|
13519
|
-
const DataListRow = React.forwardRef(({ children, className, ...rest }, ref) => {
|
|
13520
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("grid grid-cols-subgrid gap-0 mx-1", ...dataListRowOuterStyles, className), ...rest, children });
|
|
13521
|
-
});
|
|
13522
|
-
DataListRow.displayName = "DataListRow";
|
|
13523
|
-
|
|
13524
13528
|
const DataListRowButton = React.forwardRef(
|
|
13525
13529
|
({ children, className, type = "button", flushLeft, flushRight, colStart, colEnd, featured, style, ...rest }, ref) => {
|
|
13526
13530
|
const hasColumnOverride = colStart !== void 0 || colEnd !== void 0;
|
|
@@ -13603,6 +13607,21 @@ const DataListRowStatic = React.forwardRef(
|
|
|
13603
13607
|
);
|
|
13604
13608
|
DataListRowStatic.displayName = "DataListRowStatic";
|
|
13605
13609
|
|
|
13610
|
+
const DataListRowWrapper = React.forwardRef(
|
|
13611
|
+
({ children, className, ...rest }, ref) => {
|
|
13612
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13613
|
+
"div",
|
|
13614
|
+
{
|
|
13615
|
+
ref,
|
|
13616
|
+
className: cn("grid grid-cols-subgrid gap-0 mx-1", ...dataListRowOuterStyles, className),
|
|
13617
|
+
...rest,
|
|
13618
|
+
children
|
|
13619
|
+
}
|
|
13620
|
+
);
|
|
13621
|
+
}
|
|
13622
|
+
);
|
|
13623
|
+
DataListRowWrapper.displayName = "DataListRowWrapper";
|
|
13624
|
+
|
|
13606
13625
|
function DataListSpacer({ height }) {
|
|
13607
13626
|
if (height <= 0) return null;
|
|
13608
13627
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-full", style: { height } });
|
|
@@ -13734,7 +13753,7 @@ const DataList = Object.assign(DataListRoot, {
|
|
|
13734
13753
|
TopCell: DataListTopCell,
|
|
13735
13754
|
TopCellWithTooltip: DataListTopCellWithTooltip,
|
|
13736
13755
|
TopCellSmart: DataListTopCellSmart,
|
|
13737
|
-
|
|
13756
|
+
RowWrapper: DataListRowWrapper,
|
|
13738
13757
|
RowButton: DataListRowButton,
|
|
13739
13758
|
RowLink: DataListRowLink,
|
|
13740
13759
|
RowStatic: DataListRowStatic,
|
|
@@ -13943,7 +13962,7 @@ const LogsDataList = Object.assign(DataListRoot, {
|
|
|
13943
13962
|
TopCell: DataListTopCell,
|
|
13944
13963
|
TopCellWithTooltip: DataListTopCellWithTooltip,
|
|
13945
13964
|
TopCellSmart: DataListTopCellSmart,
|
|
13946
|
-
|
|
13965
|
+
RowWrapper: DataListRowWrapper,
|
|
13947
13966
|
RowButton: DataListRowButton,
|
|
13948
13967
|
RowLink: DataListRowLink,
|
|
13949
13968
|
Spacer: DataListSpacer,
|
|
@@ -22217,6 +22236,7 @@ exports.DrawerFooter = DrawerFooter;
|
|
|
22217
22236
|
exports.DrawerHeader = DrawerHeader;
|
|
22218
22237
|
exports.DrawerIndent = DrawerIndent;
|
|
22219
22238
|
exports.DrawerIndentBackground = DrawerIndentBackground;
|
|
22239
|
+
exports.DrawerInteractive = DrawerInteractive;
|
|
22220
22240
|
exports.DrawerPopup = DrawerPopup;
|
|
22221
22241
|
exports.DrawerPortal = DrawerPortal;
|
|
22222
22242
|
exports.DrawerProvider = DrawerProvider;
|
|
@@ -22584,6 +22604,7 @@ exports.useAutoscroll = useAutoscroll;
|
|
|
22584
22604
|
exports.useBranch = useBranch;
|
|
22585
22605
|
exports.useCodemirrorTheme = useCodemirrorTheme$3;
|
|
22586
22606
|
exports.useCopyToClipboard = useCopyToClipboard;
|
|
22607
|
+
exports.useDrawerSide = useDrawerSide;
|
|
22587
22608
|
exports.useDrilldown = useDrilldown;
|
|
22588
22609
|
exports.useEntityNames = useEntityNames;
|
|
22589
22610
|
exports.useEnvironments = useEnvironments;
|