@mastra/playground-ui 27.0.0-alpha.10 → 27.0.0-alpha.11

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 CHANGED
@@ -1,5 +1,172 @@
1
1
  # @mastra/playground-ui
2
2
 
3
+ ## 27.0.0-alpha.11
4
+
5
+ ### Minor Changes
6
+
7
+ - **Updated agent traces tab to use the rich observability traces UI** ([#16405](https://github.com/mastra-ai/mastra/pull/16405))
8
+
9
+ The agent traces tab now shows the dense 7-column trace list with a side-panel detail view featuring colored timeline spans (Agent/Workflow/Model/Scorer), expandable nested spans, Evaluate Trace, and Save as Dataset Item.
10
+
11
+ **Locked scope filter pills**
12
+
13
+ When viewing agent-scoped traces, the Primitive Type and Primitive ID filter pills are now read-only — they display the agent context, show a lock icon and tooltip, and cannot be edited or removed. The Add Filter dropdown no longer lists scope-controlled fields so users cannot accidentally override the active scope.
14
+
15
+ `PropertyFilterApplied` accepts a new `lockedFieldIds` (and optional `lockedTooltipContent`) prop. `PropertyFilterCreator` accepts a new `hiddenFieldIds` prop. Both are opt-in and unset by default, so existing usages are unaffected.
16
+
17
+ ```tsx
18
+ // Before
19
+ <PropertyFilterApplied fields={fields} tokens={tokens} onTokensChange={setTokens} />
20
+
21
+ // After — pills for the listed fields render locked with a tooltip
22
+ <PropertyFilterApplied
23
+ fields={fields}
24
+ tokens={tokens}
25
+ onTokensChange={setTokens}
26
+ lockedFieldIds={['rootEntityType', 'entityId']}
27
+ lockedTooltipContent="This filter is set by the current context."
28
+ />
29
+ ```
30
+
31
+ - Improved `ScrollArea` to use Base UI internally and added a richer mask API. Edges now fade by default based on `orientation` (top/bottom for vertical, left/right for horizontal, all four for both), so most scrollers get the polished fade-out automatically. ([#16415](https://github.com/mastra-ai/mastra/pull/16415))
32
+
33
+ **Heads up — default behavior change:** `ScrollArea` previously rendered without any edge fade unless `showMask` was passed. It now fades the edges that match `orientation` by default. Pass `mask={false}` on the callsites where you want to keep the old hard edges.
34
+
35
+ **New `mask` prop.** Accepts a boolean (`false` disables the fade entirely) or an object to override individual sides. The `x` and `y` keys are shorthands for the matching axis.
36
+
37
+ ```tsx
38
+ // Default — fades follow `orientation`
39
+ <ScrollArea>...</ScrollArea>
40
+
41
+ // Opt out entirely
42
+ <ScrollArea mask={false}>...</ScrollArea>
43
+
44
+ // Keep only the top fade
45
+ <ScrollArea mask={{ bottom: false }}>...</ScrollArea>
46
+
47
+ // Vertical fades only on a two-axis scroller
48
+ <ScrollArea orientation="both" mask={{ x: false }}>...</ScrollArea>
49
+ ```
50
+
51
+ **Migrating from `showMask`.** The `showMask` boolean is now deprecated but still works — `mask` wins when both are set.
52
+
53
+ ```tsx
54
+ // Before
55
+ <ScrollArea showMask>...</ScrollArea>
56
+ <ScrollArea showMask={false}>...</ScrollArea>
57
+
58
+ // After
59
+ <ScrollArea>...</ScrollArea> // default fade matches orientation
60
+ <ScrollArea mask={false}>...</ScrollArea> // explicitly disable
61
+ ```
62
+
63
+ - Added a new `pill` variant on `TabList` with an animated background indicator that slides behind the active trigger. The default `line` variant now animates its underline smoothly between tabs as well. Implemented by migrating the underlying Tabs component from Radix UI to Base UI. ([#16414](https://github.com/mastra-ai/mastra/pull/16414))
64
+
65
+ ```tsx
66
+ // Before — only the line (underline) style was available
67
+ <Tabs defaultTab="overview">
68
+ <TabList>
69
+ <Tab value="overview">Overview</Tab>
70
+ <Tab value="projects">Projects</Tab>
71
+ </TabList>
72
+ </Tabs>
73
+
74
+ // After — opt into the new pill style via the `variant` prop on TabList
75
+ <Tabs defaultTab="overview">
76
+ <TabList variant="pill">
77
+ <Tab value="overview">Overview</Tab>
78
+ <Tab value="projects">Projects</Tab>
79
+ </TabList>
80
+ </Tabs>
81
+ ```
82
+
83
+ The public API (`Tabs`, `TabList`, `Tab`, `TabContent`) is unchanged; existing call-sites keep the default `line` variant.
84
+
85
+ - Added `InputGroup` and extended `ButtonsGroup` in playground-ui design system. ([#16417](https://github.com/mastra-ai/mastra/pull/16417))
86
+
87
+ **New `InputGroup` component**
88
+
89
+ Compose inputs with leading or trailing icons, buttons, text labels, and keyboard hints. Supports inline (left/right) and block (top/bottom) addon alignment, and works with both inputs and textareas.
90
+
91
+ ```tsx
92
+ import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupButton } from '@mastra/playground-ui';
93
+ import { SearchIcon, XIcon } from 'lucide-react';
94
+
95
+ <InputGroup>
96
+ <InputGroupAddon>
97
+ <SearchIcon />
98
+ </InputGroupAddon>
99
+ <InputGroupInput placeholder="Search..." />
100
+ <InputGroupAddon align="inline-end">
101
+ <InputGroupButton aria-label="Clear">
102
+ <XIcon />
103
+ </InputGroupButton>
104
+ </InputGroupAddon>
105
+ </InputGroup>;
106
+ ```
107
+
108
+ **Extended `ButtonsGroup`**
109
+
110
+ Added `orientation` (`horizontal` | `vertical`), and new `ButtonsGroupSeparator` and `ButtonsGroupText` slots. Existing API unchanged.
111
+
112
+ ```tsx
113
+ <ButtonsGroup spacing="close">
114
+ <Button variant="outline">−</Button>
115
+ <ButtonsGroupText>42</ButtonsGroupText>
116
+ <Button variant="outline">+</Button>
117
+ </ButtonsGroup>
118
+
119
+ <ButtonsGroup orientation="vertical">
120
+ <Button variant="ghost">Copy</Button>
121
+ <ButtonsGroupSeparator />
122
+ <Button variant="ghost">Cut</Button>
123
+ </ButtonsGroup>
124
+ ```
125
+
126
+ **Tweaked `Button` ghost variant**
127
+
128
+ Aligned hover/active progression with the outline variant (`surface3` → `surface4`) so click feedback is perceptible on transparent backgrounds. Existing ghost buttons throughout the playground will appear one shade lighter on hover and active.
129
+
130
+ ### Patch Changes
131
+
132
+ - Filter pills (`PropertyFilterApplied`) now match the rest of the design system — single 1px border, consistent rounded segments, no custom styling. Labels stay on one line and no longer compress when long values are present. ([#16426](https://github.com/mastra-ai/mastra/pull/16426))
133
+
134
+ `ButtonsGroupText` segments also no longer wrap to multiple lines or shrink under flex pressure, which makes them safer to drop into any tight layout.
135
+
136
+ - **Polished Combobox dropdown items** ([#16411](https://github.com/mastra-ai/mastra/pull/16411))
137
+ - Moved the selection check to the right of each item so unselected rows no longer carry an awkward left padding gap and the whole list aligns consistently.
138
+ - Tightened popup search/empty padding and softened the trigger hover for a calmer command-palette feel.
139
+
140
+ **Added `ComboboxPrimitive` export for advanced compositions**
141
+
142
+ Re-exports the raw `@base-ui/react/combobox` parts (Root, Trigger, Input, List, Item, Chips, etc.) so callers needing virtualization, async status, chips, or creatable patterns can compose them directly with the shared `comboboxStyles` tokens — without growing the monolithic `<Combobox>` prop surface.
143
+
144
+ ```tsx
145
+ import { ComboboxPrimitive, comboboxStyles } from '@mastra/playground-ui';
146
+
147
+ <ComboboxPrimitive.Root items={items}>
148
+ <ComboboxPrimitive.Input className={comboboxStyles.searchInput} />
149
+ <ComboboxPrimitive.Portal>
150
+ <ComboboxPrimitive.Positioner>
151
+ <ComboboxPrimitive.Popup className={comboboxStyles.popup}>
152
+ <ComboboxPrimitive.List className={comboboxStyles.list}>
153
+ {item => (
154
+ <ComboboxPrimitive.Item value={item} className={comboboxStyles.item}>
155
+ {item.label}
156
+ </ComboboxPrimitive.Item>
157
+ )}
158
+ </ComboboxPrimitive.List>
159
+ </ComboboxPrimitive.Popup>
160
+ </ComboboxPrimitive.Positioner>
161
+ </ComboboxPrimitive.Portal>
162
+ </ComboboxPrimitive.Root>;
163
+ ```
164
+
165
+ - Updated dependencies [[`7ad5585`](https://github.com/mastra-ai/mastra/commit/7ad55856406f1de398dc713f6a9eaa78b2784bb6), [`210ea7a`](https://github.com/mastra-ai/mastra/commit/210ea7af559791b73a44fc9c12179908aaa3183f), [`83218c8`](https://github.com/mastra-ai/mastra/commit/83218c88b37773c9424fbe733b37be556e55e94d), [`265ec9f`](https://github.com/mastra-ai/mastra/commit/265ec9f887b5c81255c873a76ff7796f16e4f99b), [`6ce80bf`](https://github.com/mastra-ai/mastra/commit/6ce80bf4872a891e0bddf8b80561a80584efb14b), [`9268531`](https://github.com/mastra-ai/mastra/commit/9268531e7ec4be98beeba3b3ae8be0a7ea380662), [`13ead79`](https://github.com/mastra-ai/mastra/commit/13ead79149486b88144db7e11e6ff551caef5be1), [`bd36d8e`](https://github.com/mastra-ai/mastra/commit/bd36d8eb6de8c9a0310352649dbd4b06703c2299), [`8ac9141`](https://github.com/mastra-ai/mastra/commit/8ac9141439caa8fdd674944c4d84f29b3c730296)]:
166
+ - @mastra/core@1.33.0-alpha.10
167
+ - @mastra/client-js@1.18.0-alpha.11
168
+ - @mastra/react@0.2.36-alpha.11
169
+
3
170
  ## 27.0.0-alpha.10
4
171
 
5
172
  ### Patch Changes