@mastra/playground-ui 60.2.0-alpha.1 → 60.2.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.
Files changed (42) hide show
  1. package/dist/components/LogsDataList.cjs.js +0 -2
  2. package/dist/components/LogsDataList.cjs.js.map +1 -1
  3. package/dist/components/LogsDataList.es.js +0 -2
  4. package/dist/components/LogsDataList.es.js.map +1 -1
  5. package/dist/components/MainSidebar.cjs.js +11 -125
  6. package/dist/components/MainSidebar.cjs.js.map +1 -1
  7. package/dist/components/MainSidebar.es.js +1 -120
  8. package/dist/components/MainSidebar.es.js.map +1 -1
  9. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
  10. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
  11. package/dist/domains/scores/components/trace-scores-tab.cjs.js +0 -1
  12. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  13. package/dist/domains/scores/components/trace-scores-tab.es.js +0 -1
  14. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  15. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -0
  16. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  17. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -0
  18. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  19. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  20. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  21. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +0 -2
  22. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  23. package/dist/domains/traces/components/traces-page-skeleton.es.js +0 -2
  24. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  25. package/dist/ee/signals/components/entity-index-list.cjs.js +0 -2
  26. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  27. package/dist/ee/signals/components/entity-index-list.es.js +0 -2
  28. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  29. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +0 -1
  30. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  31. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +0 -1
  32. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  33. package/dist/{main-sidebar-link-active-buZAhlHo.js → main-sidebar-B0ivY7lW.js} +118 -6
  34. package/dist/main-sidebar-B0ivY7lW.js.map +1 -0
  35. package/dist/{main-sidebar-link-active-D8VSuJKx.cjs → main-sidebar-BWKVSRoQ.cjs} +117 -4
  36. package/dist/main-sidebar-BWKVSRoQ.cjs.map +1 -0
  37. package/dist/new/sidebar.cjs.js +34 -34
  38. package/dist/new/sidebar.cjs.js.map +1 -1
  39. package/dist/new/sidebar.es.js +2 -2
  40. package/package.json +10 -10
  41. package/dist/main-sidebar-link-active-D8VSuJKx.cjs.map +0 -1
  42. package/dist/main-sidebar-link-active-buZAhlHo.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  require('../sidebar.css');const jsxRuntime = require('react/jsx-runtime');
6
- const mainSidebarLinkActive = require('../main-sidebar-link-active-D8VSuJKx.cjs');
6
+ const mainSidebar = require('../main-sidebar-BWKVSRoQ.cjs');
7
7
  const Txt = require('../Txt-DPmEpNbp.cjs');
8
8
  const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
9
9
  const utils_cn = require('../cn-DG0X1KEP.cjs');
@@ -17,7 +17,7 @@ const v4 = require('zod/v4');
17
17
  const hooks_useLocalStorageState = require('../hooks/use-local-storage-state.cjs.js');
18
18
 
19
19
  function SidebarNewBrand({ logo, title, className, ...props }) {
20
- const { state } = mainSidebarLinkActive.useMainSidebar();
20
+ const { state } = mainSidebar.useMainSidebar();
21
21
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "sidebar-new-brand", className: utils_cn.cn("flex min-w-0 flex-1 items-center gap-2", className), ...props, children: [
22
22
  logo ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: logo }) : null,
23
23
  state === "collapsed" ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: title }) : /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "subheading", tone: "ink", className: "truncate font-body tracking-tight", children: title })
@@ -26,7 +26,7 @@ function SidebarNewBrand({ logo, title, className, ...props }) {
26
26
 
27
27
  const SidebarNewCommandHeader = React.forwardRef(
28
28
  function SidebarNewCommandHeader2({ className, children, ...props }, ref) {
29
- const { state, isMobile } = mainSidebarLinkActive.useMainSidebar();
29
+ const { state, isMobile } = mainSidebar.useMainSidebar();
30
30
  return /* @__PURE__ */ jsxRuntime.jsx(
31
31
  "header",
32
32
  {
@@ -52,7 +52,7 @@ function SidebarNewFooter({ className, children, ...props }) {
52
52
  }
53
53
 
54
54
  const SidebarNewFooterMeta = React.forwardRef(function SidebarNewFooterMeta2({ className, children, action, ...props }, ref) {
55
- const { state } = mainSidebarLinkActive.useMainSidebar();
55
+ const { state } = mainSidebar.useMainSidebar();
56
56
  return /* @__PURE__ */ jsxRuntime.jsxs(
57
57
  "div",
58
58
  {
@@ -86,14 +86,14 @@ const SidebarNewFooterMeta = React.forwardRef(function SidebarNewFooterMeta2({ c
86
86
  });
87
87
 
88
88
  function SidebarNewTrigger(props) {
89
- const context = mainSidebarLinkActive.useMaybeSidebarState();
89
+ const context = mainSidebar.useMaybeSidebarState();
90
90
  if (context?.isMobile) return null;
91
- return /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarTrigger, { ...props });
91
+ return /* @__PURE__ */ jsxRuntime.jsx(mainSidebar.MainSidebarTrigger, { ...props });
92
92
  }
93
93
 
94
94
  const hold = "animate-[sidebar-hold_var(--resize-dur)] motion-reduce:animate-none";
95
95
  function SidebarNewHeader({ className, children, collapsedLogo, ...props }) {
96
- const sidebar = mainSidebarLinkActive.useMaybeSidebarState();
96
+ const sidebar = mainSidebar.useMaybeSidebarState();
97
97
  const collapsed = sidebar?.state === "collapsed";
98
98
  const isMobile = sidebar?.isMobile ?? false;
99
99
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -223,7 +223,7 @@ const SidebarNewMeter = React.forwardRef(function SidebarNewMeter2({
223
223
  className,
224
224
  ...props
225
225
  }, ref) {
226
- const ctx = mainSidebarLinkActive.useMaybeSidebarState();
226
+ const ctx = mainSidebar.useMaybeSidebarState();
227
227
  const state = stateProp ?? ctx?.state ?? "default";
228
228
  const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
229
229
  const isCollapsed = state === "collapsed";
@@ -281,9 +281,9 @@ const SidebarNewMeter = React.forwardRef(function SidebarNewMeter2({
281
281
  });
282
282
 
283
283
  function SidebarNewNav({ children, className, ...props }) {
284
- const isMobile = mainSidebarLinkActive.useMaybeSidebarState()?.isMobile ?? false;
284
+ const isMobile = mainSidebar.useMaybeSidebarState()?.isMobile ?? false;
285
285
  return /* @__PURE__ */ jsxRuntime.jsx(
286
- mainSidebarLinkActive.MainSidebarNav,
286
+ mainSidebar.MainSidebarNav,
287
287
  {
288
288
  className: utils_cn.cn(
289
289
  "-mr-1.5",
@@ -307,7 +307,7 @@ function SidebarNewNavHeader({
307
307
  LinkComponent: LinkProp,
308
308
  ...props
309
309
  }) {
310
- const context = mainSidebarLinkActive.useMaybeSidebarState();
310
+ const context = mainSidebar.useMaybeSidebarState();
311
311
  const state = stateProp ?? context?.state ?? "default";
312
312
  const showTitle = state === "default";
313
313
  const Link = LinkProp ?? context?.LinkComponent ?? "a";
@@ -386,7 +386,7 @@ function sidebarNewNavStackPageClasses(active, page, className) {
386
386
  }
387
387
 
388
388
  function SidebarNewNavStackRootView({ children, className, ...props }) {
389
- const { state } = mainSidebarLinkActive.useMainSidebar();
389
+ const { state } = mainSidebar.useMainSidebar();
390
390
  const { activeValue, rootValue } = useSidebarNewNavStack();
391
391
  const active = state === "collapsed" || activeValue === rootValue;
392
392
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -412,7 +412,7 @@ function SidebarNewNavStackView({
412
412
  className,
413
413
  ...props
414
414
  }) {
415
- const { state } = mainSidebarLinkActive.useMainSidebar();
415
+ const { state } = mainSidebar.useMainSidebar();
416
416
  const { activeValue, closeView } = useSidebarNewNavStack();
417
417
  const active = state !== "collapsed" && activeValue === value;
418
418
  const backRef = React.useRef(null);
@@ -453,7 +453,7 @@ function SidebarNewNavStackView({
453
453
  type: "button",
454
454
  "aria-label": `${backLabel}: ${title}`,
455
455
  onClick: handleBack,
456
- className: utils_cn.cn(mainSidebarLinkActive.navItemClasses(), "mb-2 grid grid-cols-[2rem_1fr_2rem] px-1"),
456
+ className: utils_cn.cn(mainSidebar.navItemClasses(), "mb-2 grid grid-cols-[2rem_1fr_2rem] px-1"),
457
457
  children: [
458
458
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeftIcon, { className: "justify-self-center", "aria-hidden": "true" }),
459
459
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-center", children: title }),
@@ -479,9 +479,9 @@ function SidebarNewRoot({
479
479
  children,
480
480
  ...props
481
481
  }) {
482
- const sidebar = mainSidebarLinkActive.useMaybeSidebarState();
482
+ const sidebar = mainSidebar.useMaybeSidebarState();
483
483
  const isRaised = variant === "raised" && !sidebar?.isMobile;
484
- return /* @__PURE__ */ jsxRuntime.jsx("aside", { "aria-label": ariaLabel, className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarRoot, { mobileMode, ...props, children: isRaised ? /* @__PURE__ */ jsxRuntime.jsx(
484
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { "aria-label": ariaLabel, className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(mainSidebar.MainSidebarRoot, { mobileMode, ...props, children: isRaised ? /* @__PURE__ */ jsxRuntime.jsx(
485
485
  "div",
486
486
  {
487
487
  "data-slot": "sidebar-new-surface",
@@ -534,7 +534,7 @@ function SidebarNewSectionLink({
534
534
  }) {
535
535
  const childLinks = link.children ?? [];
536
536
  return /* @__PURE__ */ jsxRuntime.jsx(
537
- mainSidebarLinkActive.MainSidebarNavLink,
537
+ mainSidebar.MainSidebarNavLink,
538
538
  {
539
539
  link,
540
540
  isActive: isActive?.(link, activeCandidates) ?? link.isActive,
@@ -543,7 +543,7 @@ function SidebarNewSectionLink({
543
543
  if (event.target instanceof Element && event.target.closest("li") !== event.currentTarget) return;
544
544
  onSelect?.(link);
545
545
  },
546
- subItems: childLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
546
+ subItems: childLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebar.MainSidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
547
547
  SidebarNewSectionLink,
548
548
  {
549
549
  link: child,
@@ -585,7 +585,7 @@ function SidebarNewMoreLinks({
585
585
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
586
586
  surfacedLinks.map(renderLink),
587
587
  foldedLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
588
- mainSidebarLinkActive.MainSidebarNavLink,
588
+ mainSidebar.MainSidebarNavLink,
589
589
  {
590
590
  link: { name: "More", url: "", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, {}) },
591
591
  render: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -597,7 +597,7 @@ function SidebarNewMoreLinks({
597
597
  onClick: () => setExpanded((current) => !current),
598
598
  children: [
599
599
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, { "aria-hidden": "true" }),
600
- /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavLabel, { children: "More" })
600
+ /* @__PURE__ */ jsxRuntime.jsx(mainSidebar.MainSidebarNavLabel, { children: "More" })
601
601
  ]
602
602
  }
603
603
  ),
@@ -645,15 +645,15 @@ function SidebarNewSections({
645
645
  const headerId = section.title ? `${baseId}-${section.key}` : void 0;
646
646
  const activeCandidates = [...section.links, ...section.moreLinks ?? []];
647
647
  return /* @__PURE__ */ jsxRuntime.jsxs(
648
- mainSidebarLinkActive.MainSidebarNavSection,
648
+ mainSidebar.MainSidebarNavSection,
649
649
  {
650
650
  className,
651
651
  "aria-labelledby": headerId,
652
652
  "aria-label": !headerId ? section.key : void 0,
653
653
  children: [
654
- showSeparator ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavSeparator, { className: "[&:after]:border-border" }) : null,
654
+ showSeparator ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebar.MainSidebarNavSeparator, { className: "[&:after]:border-border" }) : null,
655
655
  section.title ? /* @__PURE__ */ jsxRuntime.jsx(SidebarNewNavHeader, { id: headerId, href: section.href, isActive: section.isHeaderActive, children: section.title }) : null,
656
- /* @__PURE__ */ jsxRuntime.jsxs(mainSidebarLinkActive.MainSidebarNavList, { children: [
656
+ /* @__PURE__ */ jsxRuntime.jsxs(mainSidebar.MainSidebarNavList, { children: [
657
657
  section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
658
658
  SidebarNewSectionLink,
659
659
  {
@@ -689,25 +689,25 @@ const SidebarNew = Object.assign(SidebarNewRoot, {
689
689
  FooterMeta: SidebarNewFooterMeta,
690
690
  Header: SidebarNewHeader,
691
691
  Meter: SidebarNewMeter,
692
- MobileTrigger: mainSidebarLinkActive.MainSidebarMobileTrigger,
692
+ MobileTrigger: mainSidebar.MainSidebarMobileTrigger,
693
693
  Nav: SidebarNewNav,
694
694
  NavHeader: SidebarNewNavHeader,
695
- NavLabel: mainSidebarLinkActive.MainSidebarNavLabel,
696
- NavLink: mainSidebarLinkActive.MainSidebarNavLink,
697
- NavList: mainSidebarLinkActive.MainSidebarNavList,
698
- NavSection: mainSidebarLinkActive.MainSidebarNavSection,
699
- NavSeparator: mainSidebarLinkActive.MainSidebarNavSeparator,
695
+ NavLabel: mainSidebar.MainSidebarNavLabel,
696
+ NavLink: mainSidebar.MainSidebarNavLink,
697
+ NavList: mainSidebar.MainSidebarNavList,
698
+ NavSection: mainSidebar.MainSidebarNavSection,
699
+ NavSeparator: mainSidebar.MainSidebarNavSeparator,
700
700
  NavStack: SidebarNewNavStack,
701
- Provider: mainSidebarLinkActive.MainSidebarProvider,
701
+ Provider: mainSidebar.MainSidebarProvider,
702
702
  SearchTrigger: SidebarNewSearchTrigger,
703
703
  Sections: SidebarNewSections,
704
704
  Trigger: SidebarNewTrigger
705
705
  });
706
706
 
707
- exports.SidebarNewProvider = mainSidebarLinkActive.MainSidebarProvider;
708
- exports.getIsLinkActive = mainSidebarLinkActive.getIsLinkActive;
709
- exports.navItemClasses = mainSidebarLinkActive.navItemClasses;
710
- exports.useSidebarNew = mainSidebarLinkActive.useMainSidebar;
707
+ exports.SidebarNewProvider = mainSidebar.MainSidebarProvider;
708
+ exports.getIsLinkActive = mainSidebar.getIsLinkActive;
709
+ exports.navItemClasses = mainSidebar.navItemClasses;
710
+ exports.useSidebarNew = mainSidebar.useMainSidebar;
711
711
  exports.SidebarNew = SidebarNew;
712
712
  exports.SidebarNewBrand = SidebarNewBrand;
713
713
  exports.SidebarNewCommandHeader = SidebarNewCommandHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.cjs.js","sources":["../../src/ds/new/sidebar/sidebar-new-brand.tsx","../../src/ds/new/sidebar/sidebar-new-command-header.tsx","../../src/ds/new/sidebar/sidebar-new-footer.tsx","../../src/ds/new/sidebar/sidebar-new-footer-meta.tsx","../../src/ds/new/sidebar/sidebar-new-trigger.tsx","../../src/ds/new/sidebar/sidebar-new-header.tsx","../../src/ds/new/sidebar/sidebar-new-meter.tsx","../../src/ds/new/sidebar/sidebar-new-nav.tsx","../../src/ds/new/sidebar/sidebar-new-nav-header.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-context.ts","../../src/ds/new/sidebar/sidebar-new-nav-stack-root.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.ts","../../src/ds/new/sidebar/sidebar-new-nav-stack-root-view.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-view.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack.ts","../../src/ds/new/sidebar/sidebar-new-root.tsx","../../src/ds/new/sidebar/sidebar-new-search-trigger.tsx","../../src/ds/new/sidebar/sidebar-new-section-link.tsx","../../src/ds/new/sidebar/sidebar-new-more-links.tsx","../../src/ds/new/sidebar/sidebar-new-sections.tsx","../../src/ds/new/sidebar/sidebar-new.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { Txt } from '@/ds/components/Txt';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewBrandProps = Omit<ComponentPropsWithoutRef<'div'>, 'title'> & {\n logo?: ReactNode;\n title: ReactNode;\n};\n\nexport function SidebarNewBrand({ logo, title, className, ...props }: SidebarNewBrandProps) {\n const { state } = useMainSidebar();\n\n return (\n <div data-slot=\"sidebar-new-brand\" className={cn('flex min-w-0 flex-1 items-center gap-2', className)} {...props}>\n {logo ? <span className=\"shrink-0\">{logo}</span> : null}\n {state === 'collapsed' ? (\n <VisuallyHidden>{title}</VisuallyHidden>\n ) : (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\" className=\"truncate font-body tracking-tight\">\n {title}\n </Txt>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewCommandHeaderProps = ComponentPropsWithoutRef<'header'>;\n\nexport const SidebarNewCommandHeader = forwardRef<HTMLElement, SidebarNewCommandHeaderProps>(\n function SidebarNewCommandHeader({ className, children, ...props }, ref) {\n const { state, isMobile } = useMainSidebar();\n\n return (\n <header\n ref={ref}\n data-slot=\"sidebar-new-command-header\"\n data-state={state}\n className={cn(\n 'flex h-header-default shrink-0 items-center gap-1 overflow-hidden',\n state === 'collapsed' ? 'px-3' : 'pr-2 pl-3.5',\n state !== 'collapsed' && !isMobile && 'w-[calc(var(--sidebar-width)-1rem)]',\n state === 'collapsed' && '[&_[data-slot=sidebar-new-search-trigger]]:hidden',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n },\n);\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewFooterProps = ComponentPropsWithoutRef<'footer'>;\n\nexport function SidebarNewFooter({ className, children, ...props }: SidebarNewFooterProps) {\n return (\n <footer data-slot=\"sidebar-new-footer\" className={cn('mt-auto shrink-0 space-y-1.5 pb-2', className)} {...props}>\n {children}\n </footer>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewFooterMetaProps = ComponentPropsWithoutRef<'div'> & {\n action?: ReactNode;\n};\n\nexport const SidebarNewFooterMeta = forwardRef<HTMLDivElement, SidebarNewFooterMetaProps>(function SidebarNewFooterMeta(\n { className, children, action, ...props },\n ref,\n) {\n const { state } = useMainSidebar();\n\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-footer-meta\"\n data-state={state}\n className={cn(\n 'grid min-h-10 grid-cols-[minmax(0,1fr)_auto_0fr] items-center border-t border-border px-2 py-1 text-meta text-muted-foreground',\n 'transition-[grid-template-columns] duration-slow ease-out-custom motion-reduce:transition-none',\n state === 'collapsed' && 'grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] px-0',\n className,\n )}\n {...props}\n >\n <div\n aria-hidden={state === 'collapsed'}\n className={cn(\n 'min-w-0 truncate transition-opacity duration-normal ease-out-custom motion-reduce:transition-none',\n state === 'collapsed' && 'opacity-0',\n )}\n >\n {children}\n </div>\n {action}\n <span aria-hidden />\n </div>\n );\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarTriggerProps } from '@/ds/components/MainSidebar/main-sidebar-trigger';\nimport { MainSidebarTrigger } from '@/ds/components/MainSidebar/main-sidebar-trigger';\n\nexport type SidebarNewTriggerProps = MainSidebarTriggerProps;\n\nexport function SidebarNewTrigger(props: SidebarNewTriggerProps) {\n const context = useMaybeSidebarState();\n if (context?.isMobile) return null;\n return <MainSidebarTrigger {...props} />;\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { SidebarNewTrigger } from './sidebar-new-trigger';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nimport './sidebar-new-header.css';\n\nexport type SidebarNewHeaderProps = ComponentPropsWithoutRef<'header'> & {\n /** Logo for the collapsed rail. Replaces the children when collapsed and swaps to the toggle on hover. */\n collapsedLogo?: ReactNode;\n};\n\n// Holds opacity while the sidebar collapses, so leftover hover doesn't flash the toggle.\nconst hold = 'animate-[sidebar-hold_var(--resize-dur)] motion-reduce:animate-none';\n\nexport function SidebarNewHeader({ className, children, collapsedLogo, ...props }: SidebarNewHeaderProps) {\n const sidebar = useMaybeSidebarState();\n const collapsed = sidebar?.state === 'collapsed';\n const isMobile = sidebar?.isMobile ?? false;\n\n return (\n <header\n data-slot=\"sidebar-new-header\"\n className={cn(\n 'flex h-header-default shrink-0 items-center gap-2',\n collapsed ? 'px-1' : 'pr-2 pl-3.5',\n // Target width, not the animating one, so the title doesn't re-truncate while expanding.\n !collapsed && !isMobile && 'w-[calc(var(--sidebar-width)-1rem)]',\n className,\n )}\n {...props}\n >\n {collapsed && collapsedLogo ? (\n // ml-0.5 instead of mx-auto, so it doesn't jump while the sidebar collapses.\n <div className=\"group/collapsed-logo relative ml-0.5 grid size-9 shrink-0 place-items-center\">\n <span\n className={cn(\n hold,\n 'grid place-items-center transition-opacity duration-normal [--sidebar-hold-opacity:1] group-focus-within/collapsed-logo:opacity-0 group-hover/sidebar:opacity-0 motion-reduce:transition-none',\n )}\n >\n {collapsedLogo}\n </span>\n {isMobile ? null : (\n <div\n className={cn(\n hold,\n 'absolute inset-0 grid place-items-center opacity-0 transition-opacity duration-normal [--sidebar-hold-opacity:0] group-hover/sidebar:opacity-100 focus-within:opacity-100 motion-reduce:transition-none',\n )}\n >\n <SidebarNewTrigger />\n </div>\n )}\n </div>\n ) : (\n children\n )}\n </header>\n );\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { SidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { Txt } from '@/ds/components/Txt';\nimport { surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewMeterTone = 'neutral' | 'warning' | 'danger';\n\nconst NOISE =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\\\")\";\n\nconst CARD_HEIGHT = 76;\nconst BLOOM_HEIGHT = 100;\nconst BLOOM_HOLD_Y = 60;\nconst BLOOM_HOLD_X = 22.5;\nconst GRAIN_OPACITY = 0.18;\nconst GRAIN_SIZE = 110;\n\nconst FALLOFF_RAMP = [0, 0.08, 0.16, 0.25, 0.34, 0.44, 0.55, 0.66, 0.78, 0.89, 1];\n\nconst TONES = {\n neutral: { colorVar: '--foreground', peak: 0.08, grain: true, text: 'text-muted-foreground' },\n warning: {\n colorVar: '--warning-indicator',\n peak: 0.16,\n grain: false,\n text: 'text-warning-foreground',\n },\n danger: {\n colorVar: '--destructive-indicator',\n peak: 0.16,\n grain: false,\n text: 'text-destructive-foreground',\n },\n};\n\nfunction cubicFalloff(position: number) {\n const inverse = 1 - position;\n return inverse * inverse * inverse;\n}\n\nfunction easedBloom(colorVar: string, peak: number) {\n const stops = FALLOFF_RAMP.map(position => {\n const alpha = (peak * cubicFalloff(position) * 100).toFixed(2);\n return `color-mix(in oklch, var(${colorVar}) ${alpha}%, transparent) ${(position * 100).toFixed(0)}%`;\n });\n return `linear-gradient(to right, ${stops.join(', ')})`;\n}\n\nfunction easedMask(direction: string, hold: number) {\n const stops = FALLOFF_RAMP.map(position => {\n const offset = (hold + (100 - hold) * position).toFixed(2);\n return `rgb(0 0 0 / ${cubicFalloff(position).toFixed(3)}) ${offset}%`;\n });\n return `linear-gradient(${direction}, rgb(0 0 0 / 1) 0%, ${stops.join(', ')})`;\n}\n\nconst BLOOM_MASK = `${easedMask('to bottom', BLOOM_HOLD_Y)}, ${easedMask('to right', BLOOM_HOLD_X)}`;\n\nfunction Bloom({ tone }: { tone: SidebarNewMeterTone }) {\n const current = TONES[tone];\n return (\n <span\n aria-hidden\n data-slot=\"sidebar-new-meter-bloom\"\n className=\"pointer-events-none absolute inset-x-0 top-0 -z-10\"\n style={{\n height: BLOOM_HEIGHT,\n backgroundImage: easedBloom(current.colorVar, current.peak),\n maskImage: BLOOM_MASK,\n maskComposite: 'intersect',\n }}\n >\n {current.grain ? (\n <span\n aria-hidden\n className=\"absolute inset-0\"\n style={{\n backgroundImage: NOISE,\n backgroundRepeat: 'repeat',\n backgroundSize: `${GRAIN_SIZE}px ${GRAIN_SIZE}px`,\n opacity: GRAIN_OPACITY,\n }}\n />\n ) : null}\n </span>\n );\n}\n\ninterface SidebarNewMeterBaseProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n label: ReactNode;\n value: ReactNode;\n status?: ReactNode;\n tone?: SidebarNewMeterTone;\n icon?: ReactNode;\n action?: ReactNode;\n LinkComponent?: LinkComponent;\n state?: SidebarState;\n}\n\ntype SidebarNewMeterLinkProps =\n | {\n href: string;\n linkLabel: string;\n }\n | { href?: never; linkLabel?: never };\nexport type SidebarNewMeterProps = SidebarNewMeterBaseProps & SidebarNewMeterLinkProps;\n\nexport const SidebarNewMeter = forwardRef<HTMLDivElement, SidebarNewMeterProps>(function SidebarNewMeter(\n {\n label,\n value,\n status,\n tone = 'neutral',\n icon,\n action,\n href,\n linkLabel,\n LinkComponent: LinkProp,\n state: stateProp,\n className,\n ...props\n },\n ref,\n) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const isCollapsed = state === 'collapsed';\n const current = TONES[tone];\n\n if (isCollapsed) {\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-meter\"\n data-tone={tone}\n data-state={state}\n className={cn(\n 'relative isolate flex items-center justify-center overflow-hidden rounded-lg border border-border bg-background px-1 py-2',\n className,\n )}\n {...props}\n >\n <Bloom tone={tone} />\n {href ? <Link href={href} className=\"absolute inset-0 rounded-lg\" aria-label={linkLabel} /> : null}\n <Txt as=\"span\" variant=\"meta\" tone=\"ink\" className=\"pointer-events-none relative tabular-nums\">\n {value}\n </Txt>\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-meter\"\n data-tone={tone}\n data-state={state}\n className={cn(\n 'relative isolate flex flex-col justify-center overflow-hidden rounded-lg border border-border bg-background px-3',\n href && surfaceStateLayerStyle,\n className,\n )}\n style={{ height: CARD_HEIGHT }}\n {...props}\n >\n <Bloom tone={tone} />\n {href ? <Link href={href} className=\"absolute inset-0 rounded-lg\" aria-label={linkLabel} /> : null}\n\n <div className=\"pointer-events-none relative\">\n <div className=\"flex items-center gap-1.5\">\n {tone === 'neutral' ? null : icon}\n <Txt as=\"span\" variant=\"column\" tone=\"muted\">\n {label}\n </Txt>\n {action ? <span className=\"pointer-events-auto\">{action}</span> : null}\n </div>\n\n <Txt variant=\"heading\" tone=\"ink\" className=\"mt-0.5 leading-tight tabular-nums\">\n {value}\n </Txt>\n\n {status ? (\n <div className=\"mt-1 text-meta\">\n <p className={cn('truncate', current.text)}>{status}</p>\n </div>\n ) : null}\n </div>\n </div>\n );\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarNavProps } from '@/ds/components/MainSidebar/main-sidebar-nav';\nimport { MainSidebarNav } from '@/ds/components/MainSidebar/main-sidebar-nav';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavProps = MainSidebarNavProps;\n\nexport function SidebarNewNav({ children, className, ...props }: SidebarNewNavProps) {\n const isMobile = useMaybeSidebarState()?.isMobile ?? false;\n\n return (\n <MainSidebarNav\n className={cn(\n '-mr-1.5',\n '[&_[data-orientation=vertical]]:w-1 [&_[data-orientation=vertical]]:p-0',\n 'focus-within:[&_[data-orientation=vertical][data-has-overflow-y]]:opacity-100',\n isMobile && '[&_a]:min-h-11 [&_a]:touch-manipulation [&_button]:min-h-11 [&_button]:touch-manipulation',\n className,\n )}\n {...props}\n >\n <div className=\"pr-1.5\">{children}</div>\n </MainSidebarNav>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavHeaderProps = Omit<ComponentPropsWithoutRef<'header'>, 'children'> & {\n children?: React.ReactNode;\n state?: SidebarState;\n href?: string;\n isActive?: boolean;\n LinkComponent?: LinkComponent;\n};\n\nexport function SidebarNewNavHeader({\n children,\n className,\n state: stateProp,\n href,\n isActive,\n LinkComponent: LinkProp,\n ...props\n}: SidebarNewNavHeaderProps) {\n const context = useMaybeSidebarState();\n const state = stateProp ?? context?.state ?? 'default';\n const showTitle = state === 'default';\n const Link = LinkProp ?? context?.LinkComponent ?? 'a';\n\n return (\n // Same 40px slot in both states, so rows don't shift when collapsing; the divider is centered in it.\n <div className={cn('flex min-w-0 items-center', showTitle ? 'mt-3 min-h-7' : 'h-10', className)}>\n {showTitle ? (\n <header\n {...props}\n className={cn('max-w-full min-w-0 truncate pl-3 text-column', {\n 'text-foreground': isActive,\n 'text-muted-foreground': !isActive,\n })}\n >\n {href ? (\n <Link\n href={href}\n className={cn('block min-w-0 truncate transition-colors duration-normal', {\n 'hover:text-foreground': !isActive,\n 'text-foreground': isActive,\n })}\n >\n {children}\n </Link>\n ) : (\n children\n )}\n </header>\n ) : (\n <>\n <VisuallyHidden asChild>\n <header {...props}>{children}</header>\n </VisuallyHidden>\n <div aria-hidden=\"true\" className=\"mx-3 h-px flex-1 bg-border\" />\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport type SidebarNewNavStackContextValue = {\n activeValue: string;\n rootValue: string;\n closeView: (returnFocusRef?: React.RefObject<HTMLElement | null>) => void;\n};\n\nexport const SidebarNewNavStackContext = React.createContext<SidebarNewNavStackContextValue | undefined>(undefined);\n\nexport function useSidebarNewNavStack() {\n const context = React.useContext(SidebarNewNavStackContext);\n if (!context) throw new Error('SidebarNew.NavStack components must be used within SidebarNew.NavStack.');\n return context;\n}\n","import React from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { SidebarNewNavStackContext } from './sidebar-new-nav-stack-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavStackProps = ComponentPropsWithoutRef<'div'> & {\n value: string;\n rootValue?: string;\n onValueChange: (value: string) => void;\n};\n\nexport function SidebarNewNavStackRoot({\n value,\n rootValue = 'root',\n onValueChange,\n children,\n className,\n ...props\n}: SidebarNewNavStackProps) {\n function closeView(returnFocusRef?: React.RefObject<HTMLElement | null>) {\n onValueChange(rootValue);\n requestAnimationFrame(() => {\n const target = returnFocusRef?.current;\n if (target && !target.closest('[inert]')) target.focus();\n });\n }\n\n return (\n <SidebarNewNavStackContext.Provider value={{ activeValue: value, rootValue, closeView }}>\n <div\n data-slot=\"sidebar-new-nav-stack\"\n data-value={value}\n className={cn('relative grid min-w-0 overflow-hidden', className)}\n {...props}\n >\n {children}\n </div>\n </SidebarNewNavStackContext.Provider>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function sidebarNewNavStackPageClasses(active: boolean, page: 'root' | 'view', className?: string) {\n return cn(\n 'col-start-1 row-start-1 min-w-0 transition-[opacity,translate] duration-normal ease-out-custom will-change-[opacity,translate] motion-reduce:transition-none',\n active && 'relative translate-x-0 opacity-100',\n !active && 'pointer-events-none absolute inset-0 opacity-0',\n !active && page === 'root' && '-translate-x-2',\n !active && page === 'view' && 'translate-x-2',\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { useSidebarNewNavStack } from './sidebar-new-nav-stack-context';\nimport { sidebarNewNavStackPageClasses } from './sidebar-new-nav-stack-page-classes';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\n\nexport type SidebarNewNavStackRootViewProps = ComponentPropsWithoutRef<'div'>;\n\nexport function SidebarNewNavStackRootView({ children, className, ...props }: SidebarNewNavStackRootViewProps) {\n const { state } = useMainSidebar();\n const { activeValue, rootValue } = useSidebarNewNavStack();\n const active = state === 'collapsed' || activeValue === rootValue;\n\n return (\n <div\n {...props}\n data-slot=\"sidebar-new-nav-stack-root\"\n aria-hidden={!active}\n inert={!active}\n className={sidebarNewNavStackPageClasses(active, 'root', className)}\n >\n {children}\n </div>\n );\n}\n","import { ArrowLeftIcon } from 'lucide-react';\nimport React from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useSidebarNewNavStack } from './sidebar-new-nav-stack-context';\nimport { sidebarNewNavStackPageClasses } from './sidebar-new-nav-stack-page-classes';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { navItemClasses } from '@/ds/components/MainSidebar/main-sidebar-nav-item-classes';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavStackViewProps = ComponentPropsWithoutRef<'div'> & {\n value: string;\n title: string;\n backLabel?: string;\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n onBack?: () => void;\n};\n\nexport function SidebarNewNavStackView({\n value,\n title,\n backLabel = 'Back to main navigation',\n returnFocusRef,\n onBack,\n children,\n className,\n ...props\n}: SidebarNewNavStackViewProps) {\n const { state } = useMainSidebar();\n const { activeValue, closeView } = useSidebarNewNavStack();\n const active = state !== 'collapsed' && activeValue === value;\n const backRef = React.useRef<HTMLButtonElement>(null);\n const wasActiveRef = React.useRef(active);\n\n React.useEffect(() => {\n if (active && !wasActiveRef.current) backRef.current?.focus();\n wasActiveRef.current = active;\n }, [active]);\n\n React.useEffect(() => {\n if (!active) return;\n\n function handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape' || event.defaultPrevented) return;\n event.preventDefault();\n closeView(returnFocusRef);\n onBack?.();\n }\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [active, closeView, onBack, returnFocusRef]);\n\n function handleBack() {\n closeView(returnFocusRef);\n onBack?.();\n }\n\n return (\n <div\n {...props}\n data-slot=\"sidebar-new-nav-stack-view\"\n data-value={value}\n aria-hidden={!active}\n inert={!active}\n className={sidebarNewNavStackPageClasses(active, 'view', className)}\n >\n <button\n ref={backRef}\n type=\"button\"\n aria-label={`${backLabel}: ${title}`}\n onClick={handleBack}\n className={cn(navItemClasses(), 'mb-2 grid grid-cols-[2rem_1fr_2rem] px-1')}\n >\n <ArrowLeftIcon className=\"justify-self-center\" aria-hidden=\"true\" />\n <span className=\"min-w-0 truncate text-center\">{title}</span>\n <span aria-hidden=\"true\" />\n </button>\n {children}\n </div>\n );\n}\n","import { SidebarNewNavStackRoot } from './sidebar-new-nav-stack-root';\nimport { SidebarNewNavStackRootView } from './sidebar-new-nav-stack-root-view';\nimport { SidebarNewNavStackView } from './sidebar-new-nav-stack-view';\n\nexport type { SidebarNewNavStackProps } from './sidebar-new-nav-stack-root';\nexport type { SidebarNewNavStackRootViewProps } from './sidebar-new-nav-stack-root-view';\nexport type { SidebarNewNavStackViewProps } from './sidebar-new-nav-stack-view';\n\nexport const SidebarNewNavStack = Object.assign(SidebarNewNavStackRoot, {\n Root: SidebarNewNavStackRootView,\n View: SidebarNewNavStackView,\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarRootProps } from '@/ds/components/MainSidebar/main-sidebar-root';\nimport { MainSidebarRoot } from '@/ds/components/MainSidebar/main-sidebar-root';\nimport { frameSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewRootProps = MainSidebarRootProps & {\n 'aria-label'?: string;\n variant?: 'default' | 'raised';\n};\n\nexport function SidebarNewRoot({\n 'aria-label': ariaLabel = 'Sidebar',\n mobileMode = 'takeover',\n variant = 'default',\n children,\n ...props\n}: SidebarNewRootProps) {\n const sidebar = useMaybeSidebarState();\n const isRaised = variant === 'raised' && !sidebar?.isMobile;\n\n return (\n <aside aria-label={ariaLabel} className=\"contents\">\n <MainSidebarRoot mobileMode={mobileMode} {...props}>\n {isRaised ? (\n <div\n data-slot=\"sidebar-new-surface\"\n className={cn(\n 'my-2 -mr-2 -ml-4 flex min-h-0 flex-1 flex-col overflow-hidden rounded-r-xl py-1.5',\n sidebar?.state === 'collapsed' ? 'pr-2 pl-4' : 'pr-3.5 pl-5.5',\n frameSurfaceStyle,\n )}\n >\n {children}\n </div>\n ) : (\n children\n )}\n </MainSidebarRoot>\n </aside>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { Kbd } from '@/ds/components/Kbd';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { quietTextHover, quietTextHoverInGroup } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewSearchTriggerProps = ComponentPropsWithoutRef<'button'> & {\n shortcut?: ReactNode;\n};\n\nexport const SidebarNewSearchTrigger = forwardRef<HTMLButtonElement, SidebarNewSearchTriggerProps>(\n function SidebarNewSearchTrigger({ className, children, shortcut, type = 'button', ...props }, ref) {\n return (\n <button\n ref={ref}\n data-slot=\"sidebar-new-search-trigger\"\n type={type}\n className={cn(\n 'group inline-flex size-control-md shrink-0 items-center justify-center gap-1.5 rounded-full border border-transparent hover:bg-fill-subtle',\n quietTextHover,\n controlStateColorTransition,\n focusRing,\n '[&_svg]:size-4 [&_svg]:shrink-0',\n shortcut && 'w-auto px-2',\n className,\n )}\n {...props}\n >\n {children}\n {shortcut ? (\n <Kbd size=\"xs\" className={cn('bg-surface-overlay-soft active:scale-100', quietTextHoverInGroup)}>\n {shortcut}\n </Kbd>\n ) : null}\n </button>\n );\n },\n);\n","import type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\n\nexport type SidebarNewSectionLinkProps = {\n link: NavLink;\n activeCandidates: NavLink[];\n level?: number;\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n onSelect?: (link: NavLink) => void;\n};\n\nfunction getSidebarNewLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nexport function SidebarNewSectionLink({\n link,\n activeCandidates,\n level = 0,\n isActive,\n onSelect,\n}: SidebarNewSectionLinkProps) {\n const childLinks = link.children ?? [];\n\n return (\n <MainSidebarNavLink\n link={link}\n isActive={isActive?.(link, activeCandidates) ?? link.isActive}\n level={level}\n onClick={event => {\n if (event.target instanceof Element && event.target.closest('li') !== event.currentTarget) return;\n onSelect?.(link);\n }}\n subItems={\n childLinks.length > 0 ? (\n <MainSidebarNavList className=\"mt-0.5\">\n {childLinks.map(child => (\n <SidebarNewSectionLink\n key={getSidebarNewLinkKey(child)}\n link={child}\n activeCandidates={activeCandidates}\n level={level + 1}\n isActive={isActive}\n onSelect={onSelect}\n />\n ))}\n </MainSidebarNavList>\n ) : null\n }\n />\n );\n}\n","import { ChevronDownIcon, MoreHorizontalIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { SidebarNewSectionLink } from './sidebar-new-section-link';\nimport { MainSidebarNavLabel } from '@/ds/components/MainSidebar/main-sidebar-nav-label';\nimport type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewMoreLinksProps = {\n links: NavLink[];\n activeCandidates: NavLink[];\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n recentLinks: Record<string, number>;\n recentCutoff: number;\n onSelect: (link: NavLink) => void;\n};\n\nexport function SidebarNewMoreLinks({\n links,\n activeCandidates,\n isActive,\n recentLinks,\n recentCutoff,\n onSelect,\n}: SidebarNewMoreLinksProps) {\n const [expanded, setExpanded] = useState(false);\n const linkIsActive = (link: NavLink) => isActive?.(link, activeCandidates) ?? link.isActive ?? false;\n const surfacedLinks =\n links.length < 2\n ? links\n : links.filter(link => linkIsActive(link) || (recentLinks[`${link.url}:${link.name}`] ?? 0) >= recentCutoff);\n const foldedLinks = links.filter(link => !surfacedLinks.includes(link));\n\n function renderLink(link: NavLink) {\n return (\n <SidebarNewSectionLink\n key={`${link.url}:${link.name}`}\n link={link}\n activeCandidates={activeCandidates}\n isActive={isActive}\n onSelect={onSelect}\n />\n );\n }\n\n return (\n <>\n {surfacedLinks.map(renderLink)}\n {foldedLinks.length > 0 ? (\n <MainSidebarNavLink\n link={{ name: 'More', url: '', icon: <MoreHorizontalIcon /> }}\n render={\n <button\n type=\"button\"\n aria-label=\"More\"\n aria-expanded={expanded}\n onClick={() => setExpanded(current => !current)}\n >\n <MoreHorizontalIcon aria-hidden=\"true\" />\n <MainSidebarNavLabel>More</MainSidebarNavLabel>\n </button>\n }\n action={\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n 'size-3.5 transition-transform duration-normal ease-out-custom motion-reduce:transition-none',\n expanded && 'rotate-180',\n )}\n />\n }\n />\n ) : null}\n {expanded ? foldedLinks.map(renderLink) : null}\n </>\n );\n}\n","import { useId, useState } from 'react';\nimport { z } from 'zod/v4';\nimport { SidebarNewMoreLinks } from './sidebar-new-more-links';\nimport { SidebarNewNavHeader } from './sidebar-new-nav-header';\nimport { SidebarNewSectionLink } from './sidebar-new-section-link';\nimport type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\nimport type { NavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from '@/ds/components/MainSidebar/main-sidebar-nav-separator';\nimport { useLocalStorageState } from '@/hooks/use-local-storage-state';\n\nconst recentLinkRetentionMs = 7 * 24 * 60 * 60 * 1000;\nconst recentLinksSchema = z.record(z.string(), z.number());\nconst defaultRecentItemsStorageKey = 'mastra:sidebar-new:recent-more-items';\n\nexport type SidebarNewSection = NavSection & {\n moreLinks?: NavLink[];\n};\n\nexport type SidebarNewSectionsProps = {\n sections: SidebarNewSection[];\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n className?: string;\n recentItemsStorageKey?: string;\n};\n\nfunction getLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nexport function SidebarNewSections({\n sections,\n isActive,\n className,\n recentItemsStorageKey = defaultRecentItemsStorageKey,\n}: SidebarNewSectionsProps) {\n const baseId = useId();\n const [renderedAt] = useState(Date.now);\n const [recentLinks, setRecentLinks] = useLocalStorageState({\n initialKey: recentItemsStorageKey,\n defaultValue: {},\n schema: recentLinksSchema,\n });\n const recentCutoff = renderedAt - recentLinkRetentionMs;\n\n function rememberLink(link: NavLink) {\n setRecentLinks(current => ({ ...current, [getLinkKey(link)]: Date.now() }));\n }\n\n return (\n <>\n {sections.map(section => {\n const showSeparator = section.links.length > 0 && section.separator;\n const headerId = section.title ? `${baseId}-${section.key}` : undefined;\n const activeCandidates = [...section.links, ...(section.moreLinks ?? [])];\n\n return (\n <MainSidebarNavSection\n key={section.key}\n className={className}\n aria-labelledby={headerId}\n aria-label={!headerId ? section.key : undefined}\n >\n {showSeparator ? <MainSidebarNavSeparator className=\"[&:after]:border-border\" /> : null}\n {section.title ? (\n <SidebarNewNavHeader id={headerId} href={section.href} isActive={section.isHeaderActive}>\n {section.title}\n </SidebarNewNavHeader>\n ) : null}\n <MainSidebarNavList>\n {section.links.map(link => (\n <SidebarNewSectionLink\n key={getLinkKey(link)}\n link={link}\n activeCandidates={activeCandidates}\n isActive={isActive}\n />\n ))}\n {section.moreLinks?.length ? (\n <SidebarNewMoreLinks\n links={section.moreLinks}\n activeCandidates={activeCandidates}\n isActive={isActive}\n recentLinks={recentLinks}\n recentCutoff={recentCutoff}\n onSelect={rememberLink}\n />\n ) : null}\n </MainSidebarNavList>\n </MainSidebarNavSection>\n );\n })}\n </>\n );\n}\n","import { SidebarNewBrand } from './sidebar-new-brand';\nimport { SidebarNewCommandHeader } from './sidebar-new-command-header';\nimport { SidebarNewFooter } from './sidebar-new-footer';\nimport { SidebarNewFooterMeta } from './sidebar-new-footer-meta';\nimport { SidebarNewHeader } from './sidebar-new-header';\nimport { SidebarNewMeter } from './sidebar-new-meter';\nimport { SidebarNewNav } from './sidebar-new-nav';\nimport { SidebarNewNavHeader } from './sidebar-new-nav-header';\nimport { SidebarNewNavStack } from './sidebar-new-nav-stack';\nimport { SidebarNewRoot } from './sidebar-new-root';\nimport { SidebarNewSearchTrigger } from './sidebar-new-search-trigger';\nimport { SidebarNewSections } from './sidebar-new-sections';\nimport { SidebarNewTrigger } from './sidebar-new-trigger';\nimport { MainSidebarMobileTrigger } from '@/ds/components/MainSidebar/main-sidebar-mobile-trigger';\nimport { MainSidebarNavLabel } from '@/ds/components/MainSidebar/main-sidebar-nav-label';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\nimport { MainSidebarNavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from '@/ds/components/MainSidebar/main-sidebar-nav-separator';\nimport { MainSidebarProvider } from '@/ds/components/MainSidebar/main-sidebar-provider';\n\nexport const SidebarNew = Object.assign(SidebarNewRoot, {\n Brand: SidebarNewBrand,\n CommandHeader: SidebarNewCommandHeader,\n Footer: SidebarNewFooter,\n FooterMeta: SidebarNewFooterMeta,\n Header: SidebarNewHeader,\n Meter: SidebarNewMeter,\n MobileTrigger: MainSidebarMobileTrigger,\n Nav: SidebarNewNav,\n NavHeader: SidebarNewNavHeader,\n NavLabel: MainSidebarNavLabel,\n NavLink: MainSidebarNavLink,\n NavList: MainSidebarNavList,\n NavSection: MainSidebarNavSection,\n NavSeparator: MainSidebarNavSeparator,\n NavStack: SidebarNewNavStack,\n Provider: MainSidebarProvider,\n SearchTrigger: SidebarNewSearchTrigger,\n Sections: SidebarNewSections,\n Trigger: SidebarNewTrigger,\n});\n"],"names":["useMainSidebar","jsxs","cn","jsx","VisuallyHidden","Txt","forwardRef","SidebarNewCommandHeader","SidebarNewFooterMeta","useMaybeSidebarState","MainSidebarTrigger","SidebarNewMeter","surfaceStateLayerStyle","MainSidebarNav","Fragment","navItemClasses","ArrowLeftIcon","MainSidebarRoot","frameSurfaceStyle","SidebarNewSearchTrigger","quietTextHover","controlStateColorTransition","focusRing","Kbd","quietTextHoverInGroup","MainSidebarNavLink","MainSidebarNavList","useState","MoreHorizontalIcon","MainSidebarNavLabel","ChevronDownIcon","z","useId","useLocalStorageState","MainSidebarNavSection","MainSidebarNavSeparator","MainSidebarMobileTrigger","MainSidebarProvider"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.cjs.js","sources":["../../src/ds/new/sidebar/sidebar-new-brand.tsx","../../src/ds/new/sidebar/sidebar-new-command-header.tsx","../../src/ds/new/sidebar/sidebar-new-footer.tsx","../../src/ds/new/sidebar/sidebar-new-footer-meta.tsx","../../src/ds/new/sidebar/sidebar-new-trigger.tsx","../../src/ds/new/sidebar/sidebar-new-header.tsx","../../src/ds/new/sidebar/sidebar-new-meter.tsx","../../src/ds/new/sidebar/sidebar-new-nav.tsx","../../src/ds/new/sidebar/sidebar-new-nav-header.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-context.ts","../../src/ds/new/sidebar/sidebar-new-nav-stack-root.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.ts","../../src/ds/new/sidebar/sidebar-new-nav-stack-root-view.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack-view.tsx","../../src/ds/new/sidebar/sidebar-new-nav-stack.ts","../../src/ds/new/sidebar/sidebar-new-root.tsx","../../src/ds/new/sidebar/sidebar-new-search-trigger.tsx","../../src/ds/new/sidebar/sidebar-new-section-link.tsx","../../src/ds/new/sidebar/sidebar-new-more-links.tsx","../../src/ds/new/sidebar/sidebar-new-sections.tsx","../../src/ds/new/sidebar/sidebar-new.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { Txt } from '@/ds/components/Txt';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewBrandProps = Omit<ComponentPropsWithoutRef<'div'>, 'title'> & {\n logo?: ReactNode;\n title: ReactNode;\n};\n\nexport function SidebarNewBrand({ logo, title, className, ...props }: SidebarNewBrandProps) {\n const { state } = useMainSidebar();\n\n return (\n <div data-slot=\"sidebar-new-brand\" className={cn('flex min-w-0 flex-1 items-center gap-2', className)} {...props}>\n {logo ? <span className=\"shrink-0\">{logo}</span> : null}\n {state === 'collapsed' ? (\n <VisuallyHidden>{title}</VisuallyHidden>\n ) : (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\" className=\"truncate font-body tracking-tight\">\n {title}\n </Txt>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewCommandHeaderProps = ComponentPropsWithoutRef<'header'>;\n\nexport const SidebarNewCommandHeader = forwardRef<HTMLElement, SidebarNewCommandHeaderProps>(\n function SidebarNewCommandHeader({ className, children, ...props }, ref) {\n const { state, isMobile } = useMainSidebar();\n\n return (\n <header\n ref={ref}\n data-slot=\"sidebar-new-command-header\"\n data-state={state}\n className={cn(\n 'flex h-header-default shrink-0 items-center gap-1 overflow-hidden',\n state === 'collapsed' ? 'px-3' : 'pr-2 pl-3.5',\n state !== 'collapsed' && !isMobile && 'w-[calc(var(--sidebar-width)-1rem)]',\n state === 'collapsed' && '[&_[data-slot=sidebar-new-search-trigger]]:hidden',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n },\n);\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewFooterProps = ComponentPropsWithoutRef<'footer'>;\n\nexport function SidebarNewFooter({ className, children, ...props }: SidebarNewFooterProps) {\n return (\n <footer data-slot=\"sidebar-new-footer\" className={cn('mt-auto shrink-0 space-y-1.5 pb-2', className)} {...props}>\n {children}\n </footer>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewFooterMetaProps = ComponentPropsWithoutRef<'div'> & {\n action?: ReactNode;\n};\n\nexport const SidebarNewFooterMeta = forwardRef<HTMLDivElement, SidebarNewFooterMetaProps>(function SidebarNewFooterMeta(\n { className, children, action, ...props },\n ref,\n) {\n const { state } = useMainSidebar();\n\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-footer-meta\"\n data-state={state}\n className={cn(\n 'grid min-h-10 grid-cols-[minmax(0,1fr)_auto_0fr] items-center border-t border-border px-2 py-1 text-meta text-muted-foreground',\n 'transition-[grid-template-columns] duration-slow ease-out-custom motion-reduce:transition-none',\n state === 'collapsed' && 'grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] px-0',\n className,\n )}\n {...props}\n >\n <div\n aria-hidden={state === 'collapsed'}\n className={cn(\n 'min-w-0 truncate transition-opacity duration-normal ease-out-custom motion-reduce:transition-none',\n state === 'collapsed' && 'opacity-0',\n )}\n >\n {children}\n </div>\n {action}\n <span aria-hidden />\n </div>\n );\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarTriggerProps } from '@/ds/components/MainSidebar/main-sidebar-trigger';\nimport { MainSidebarTrigger } from '@/ds/components/MainSidebar/main-sidebar-trigger';\n\nexport type SidebarNewTriggerProps = MainSidebarTriggerProps;\n\nexport function SidebarNewTrigger(props: SidebarNewTriggerProps) {\n const context = useMaybeSidebarState();\n if (context?.isMobile) return null;\n return <MainSidebarTrigger {...props} />;\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { SidebarNewTrigger } from './sidebar-new-trigger';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { cn } from '@/lib/utils';\n\nimport './sidebar-new-header.css';\n\nexport type SidebarNewHeaderProps = ComponentPropsWithoutRef<'header'> & {\n /** Logo for the collapsed rail. Replaces the children when collapsed and swaps to the toggle on hover. */\n collapsedLogo?: ReactNode;\n};\n\n// Holds opacity while the sidebar collapses, so leftover hover doesn't flash the toggle.\nconst hold = 'animate-[sidebar-hold_var(--resize-dur)] motion-reduce:animate-none';\n\nexport function SidebarNewHeader({ className, children, collapsedLogo, ...props }: SidebarNewHeaderProps) {\n const sidebar = useMaybeSidebarState();\n const collapsed = sidebar?.state === 'collapsed';\n const isMobile = sidebar?.isMobile ?? false;\n\n return (\n <header\n data-slot=\"sidebar-new-header\"\n className={cn(\n 'flex h-header-default shrink-0 items-center gap-2',\n collapsed ? 'px-1' : 'pr-2 pl-3.5',\n // Target width, not the animating one, so the title doesn't re-truncate while expanding.\n !collapsed && !isMobile && 'w-[calc(var(--sidebar-width)-1rem)]',\n className,\n )}\n {...props}\n >\n {collapsed && collapsedLogo ? (\n // ml-0.5 instead of mx-auto, so it doesn't jump while the sidebar collapses.\n <div className=\"group/collapsed-logo relative ml-0.5 grid size-9 shrink-0 place-items-center\">\n <span\n className={cn(\n hold,\n 'grid place-items-center transition-opacity duration-normal [--sidebar-hold-opacity:1] group-focus-within/collapsed-logo:opacity-0 group-hover/sidebar:opacity-0 motion-reduce:transition-none',\n )}\n >\n {collapsedLogo}\n </span>\n {isMobile ? null : (\n <div\n className={cn(\n hold,\n 'absolute inset-0 grid place-items-center opacity-0 transition-opacity duration-normal [--sidebar-hold-opacity:0] group-hover/sidebar:opacity-100 focus-within:opacity-100 motion-reduce:transition-none',\n )}\n >\n <SidebarNewTrigger />\n </div>\n )}\n </div>\n ) : (\n children\n )}\n </header>\n );\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { SidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { Txt } from '@/ds/components/Txt';\nimport { surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewMeterTone = 'neutral' | 'warning' | 'danger';\n\nconst NOISE =\n \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\\\")\";\n\nconst CARD_HEIGHT = 76;\nconst BLOOM_HEIGHT = 100;\nconst BLOOM_HOLD_Y = 60;\nconst BLOOM_HOLD_X = 22.5;\nconst GRAIN_OPACITY = 0.18;\nconst GRAIN_SIZE = 110;\n\nconst FALLOFF_RAMP = [0, 0.08, 0.16, 0.25, 0.34, 0.44, 0.55, 0.66, 0.78, 0.89, 1];\n\nconst TONES = {\n neutral: { colorVar: '--foreground', peak: 0.08, grain: true, text: 'text-muted-foreground' },\n warning: {\n colorVar: '--warning-indicator',\n peak: 0.16,\n grain: false,\n text: 'text-warning-foreground',\n },\n danger: {\n colorVar: '--destructive-indicator',\n peak: 0.16,\n grain: false,\n text: 'text-destructive-foreground',\n },\n};\n\nfunction cubicFalloff(position: number) {\n const inverse = 1 - position;\n return inverse * inverse * inverse;\n}\n\nfunction easedBloom(colorVar: string, peak: number) {\n const stops = FALLOFF_RAMP.map(position => {\n const alpha = (peak * cubicFalloff(position) * 100).toFixed(2);\n return `color-mix(in oklch, var(${colorVar}) ${alpha}%, transparent) ${(position * 100).toFixed(0)}%`;\n });\n return `linear-gradient(to right, ${stops.join(', ')})`;\n}\n\nfunction easedMask(direction: string, hold: number) {\n const stops = FALLOFF_RAMP.map(position => {\n const offset = (hold + (100 - hold) * position).toFixed(2);\n return `rgb(0 0 0 / ${cubicFalloff(position).toFixed(3)}) ${offset}%`;\n });\n return `linear-gradient(${direction}, rgb(0 0 0 / 1) 0%, ${stops.join(', ')})`;\n}\n\nconst BLOOM_MASK = `${easedMask('to bottom', BLOOM_HOLD_Y)}, ${easedMask('to right', BLOOM_HOLD_X)}`;\n\nfunction Bloom({ tone }: { tone: SidebarNewMeterTone }) {\n const current = TONES[tone];\n return (\n <span\n aria-hidden\n data-slot=\"sidebar-new-meter-bloom\"\n className=\"pointer-events-none absolute inset-x-0 top-0 -z-10\"\n style={{\n height: BLOOM_HEIGHT,\n backgroundImage: easedBloom(current.colorVar, current.peak),\n maskImage: BLOOM_MASK,\n maskComposite: 'intersect',\n }}\n >\n {current.grain ? (\n <span\n aria-hidden\n className=\"absolute inset-0\"\n style={{\n backgroundImage: NOISE,\n backgroundRepeat: 'repeat',\n backgroundSize: `${GRAIN_SIZE}px ${GRAIN_SIZE}px`,\n opacity: GRAIN_OPACITY,\n }}\n />\n ) : null}\n </span>\n );\n}\n\ninterface SidebarNewMeterBaseProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n label: ReactNode;\n value: ReactNode;\n status?: ReactNode;\n tone?: SidebarNewMeterTone;\n icon?: ReactNode;\n action?: ReactNode;\n LinkComponent?: LinkComponent;\n state?: SidebarState;\n}\n\ntype SidebarNewMeterLinkProps =\n | {\n href: string;\n linkLabel: string;\n }\n | { href?: never; linkLabel?: never };\nexport type SidebarNewMeterProps = SidebarNewMeterBaseProps & SidebarNewMeterLinkProps;\n\nexport const SidebarNewMeter = forwardRef<HTMLDivElement, SidebarNewMeterProps>(function SidebarNewMeter(\n {\n label,\n value,\n status,\n tone = 'neutral',\n icon,\n action,\n href,\n linkLabel,\n LinkComponent: LinkProp,\n state: stateProp,\n className,\n ...props\n },\n ref,\n) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const isCollapsed = state === 'collapsed';\n const current = TONES[tone];\n\n if (isCollapsed) {\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-meter\"\n data-tone={tone}\n data-state={state}\n className={cn(\n 'relative isolate flex items-center justify-center overflow-hidden rounded-lg border border-border bg-background px-1 py-2',\n className,\n )}\n {...props}\n >\n <Bloom tone={tone} />\n {href ? <Link href={href} className=\"absolute inset-0 rounded-lg\" aria-label={linkLabel} /> : null}\n <Txt as=\"span\" variant=\"meta\" tone=\"ink\" className=\"pointer-events-none relative tabular-nums\">\n {value}\n </Txt>\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"sidebar-new-meter\"\n data-tone={tone}\n data-state={state}\n className={cn(\n 'relative isolate flex flex-col justify-center overflow-hidden rounded-lg border border-border bg-background px-3',\n href && surfaceStateLayerStyle,\n className,\n )}\n style={{ height: CARD_HEIGHT }}\n {...props}\n >\n <Bloom tone={tone} />\n {href ? <Link href={href} className=\"absolute inset-0 rounded-lg\" aria-label={linkLabel} /> : null}\n\n <div className=\"pointer-events-none relative\">\n <div className=\"flex items-center gap-1.5\">\n {tone === 'neutral' ? null : icon}\n <Txt as=\"span\" variant=\"column\" tone=\"muted\">\n {label}\n </Txt>\n {action ? <span className=\"pointer-events-auto\">{action}</span> : null}\n </div>\n\n <Txt variant=\"heading\" tone=\"ink\" className=\"mt-0.5 leading-tight tabular-nums\">\n {value}\n </Txt>\n\n {status ? (\n <div className=\"mt-1 text-meta\">\n <p className={cn('truncate', current.text)}>{status}</p>\n </div>\n ) : null}\n </div>\n </div>\n );\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarNavProps } from '@/ds/components/MainSidebar/main-sidebar-nav';\nimport { MainSidebarNav } from '@/ds/components/MainSidebar/main-sidebar-nav';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavProps = MainSidebarNavProps;\n\nexport function SidebarNewNav({ children, className, ...props }: SidebarNewNavProps) {\n const isMobile = useMaybeSidebarState()?.isMobile ?? false;\n\n return (\n <MainSidebarNav\n className={cn(\n '-mr-1.5',\n '[&_[data-orientation=vertical]]:w-1 [&_[data-orientation=vertical]]:p-0',\n 'focus-within:[&_[data-orientation=vertical][data-has-overflow-y]]:opacity-100',\n isMobile && '[&_a]:min-h-11 [&_a]:touch-manipulation [&_button]:min-h-11 [&_button]:touch-manipulation',\n className,\n )}\n {...props}\n >\n <div className=\"pr-1.5\">{children}</div>\n </MainSidebarNav>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavHeaderProps = Omit<ComponentPropsWithoutRef<'header'>, 'children'> & {\n children?: React.ReactNode;\n state?: SidebarState;\n href?: string;\n isActive?: boolean;\n LinkComponent?: LinkComponent;\n};\n\nexport function SidebarNewNavHeader({\n children,\n className,\n state: stateProp,\n href,\n isActive,\n LinkComponent: LinkProp,\n ...props\n}: SidebarNewNavHeaderProps) {\n const context = useMaybeSidebarState();\n const state = stateProp ?? context?.state ?? 'default';\n const showTitle = state === 'default';\n const Link = LinkProp ?? context?.LinkComponent ?? 'a';\n\n return (\n // Same 40px slot in both states, so rows don't shift when collapsing; the divider is centered in it.\n <div className={cn('flex min-w-0 items-center', showTitle ? 'mt-3 min-h-7' : 'h-10', className)}>\n {showTitle ? (\n <header\n {...props}\n className={cn('max-w-full min-w-0 truncate pl-3 text-column', {\n 'text-foreground': isActive,\n 'text-muted-foreground': !isActive,\n })}\n >\n {href ? (\n <Link\n href={href}\n className={cn('block min-w-0 truncate transition-colors duration-normal', {\n 'hover:text-foreground': !isActive,\n 'text-foreground': isActive,\n })}\n >\n {children}\n </Link>\n ) : (\n children\n )}\n </header>\n ) : (\n <>\n <VisuallyHidden asChild>\n <header {...props}>{children}</header>\n </VisuallyHidden>\n <div aria-hidden=\"true\" className=\"mx-3 h-px flex-1 bg-border\" />\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport type SidebarNewNavStackContextValue = {\n activeValue: string;\n rootValue: string;\n closeView: (returnFocusRef?: React.RefObject<HTMLElement | null>) => void;\n};\n\nexport const SidebarNewNavStackContext = React.createContext<SidebarNewNavStackContextValue | undefined>(undefined);\n\nexport function useSidebarNewNavStack() {\n const context = React.useContext(SidebarNewNavStackContext);\n if (!context) throw new Error('SidebarNew.NavStack components must be used within SidebarNew.NavStack.');\n return context;\n}\n","import React from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { SidebarNewNavStackContext } from './sidebar-new-nav-stack-context';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavStackProps = ComponentPropsWithoutRef<'div'> & {\n value: string;\n rootValue?: string;\n onValueChange: (value: string) => void;\n};\n\nexport function SidebarNewNavStackRoot({\n value,\n rootValue = 'root',\n onValueChange,\n children,\n className,\n ...props\n}: SidebarNewNavStackProps) {\n function closeView(returnFocusRef?: React.RefObject<HTMLElement | null>) {\n onValueChange(rootValue);\n requestAnimationFrame(() => {\n const target = returnFocusRef?.current;\n if (target && !target.closest('[inert]')) target.focus();\n });\n }\n\n return (\n <SidebarNewNavStackContext.Provider value={{ activeValue: value, rootValue, closeView }}>\n <div\n data-slot=\"sidebar-new-nav-stack\"\n data-value={value}\n className={cn('relative grid min-w-0 overflow-hidden', className)}\n {...props}\n >\n {children}\n </div>\n </SidebarNewNavStackContext.Provider>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function sidebarNewNavStackPageClasses(active: boolean, page: 'root' | 'view', className?: string) {\n return cn(\n 'col-start-1 row-start-1 min-w-0 transition-[opacity,translate] duration-normal ease-out-custom will-change-[opacity,translate] motion-reduce:transition-none',\n active && 'relative translate-x-0 opacity-100',\n !active && 'pointer-events-none absolute inset-0 opacity-0',\n !active && page === 'root' && '-translate-x-2',\n !active && page === 'view' && 'translate-x-2',\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { useSidebarNewNavStack } from './sidebar-new-nav-stack-context';\nimport { sidebarNewNavStackPageClasses } from './sidebar-new-nav-stack-page-classes';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\n\nexport type SidebarNewNavStackRootViewProps = ComponentPropsWithoutRef<'div'>;\n\nexport function SidebarNewNavStackRootView({ children, className, ...props }: SidebarNewNavStackRootViewProps) {\n const { state } = useMainSidebar();\n const { activeValue, rootValue } = useSidebarNewNavStack();\n const active = state === 'collapsed' || activeValue === rootValue;\n\n return (\n <div\n {...props}\n data-slot=\"sidebar-new-nav-stack-root\"\n aria-hidden={!active}\n inert={!active}\n className={sidebarNewNavStackPageClasses(active, 'root', className)}\n >\n {children}\n </div>\n );\n}\n","import { ArrowLeftIcon } from 'lucide-react';\nimport React from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useSidebarNewNavStack } from './sidebar-new-nav-stack-context';\nimport { sidebarNewNavStackPageClasses } from './sidebar-new-nav-stack-page-classes';\nimport { useMainSidebar } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport { navItemClasses } from '@/ds/components/MainSidebar/main-sidebar-nav-item-classes';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewNavStackViewProps = ComponentPropsWithoutRef<'div'> & {\n value: string;\n title: string;\n backLabel?: string;\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n onBack?: () => void;\n};\n\nexport function SidebarNewNavStackView({\n value,\n title,\n backLabel = 'Back to main navigation',\n returnFocusRef,\n onBack,\n children,\n className,\n ...props\n}: SidebarNewNavStackViewProps) {\n const { state } = useMainSidebar();\n const { activeValue, closeView } = useSidebarNewNavStack();\n const active = state !== 'collapsed' && activeValue === value;\n const backRef = React.useRef<HTMLButtonElement>(null);\n const wasActiveRef = React.useRef(active);\n\n React.useEffect(() => {\n if (active && !wasActiveRef.current) backRef.current?.focus();\n wasActiveRef.current = active;\n }, [active]);\n\n React.useEffect(() => {\n if (!active) return;\n\n function handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape' || event.defaultPrevented) return;\n event.preventDefault();\n closeView(returnFocusRef);\n onBack?.();\n }\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [active, closeView, onBack, returnFocusRef]);\n\n function handleBack() {\n closeView(returnFocusRef);\n onBack?.();\n }\n\n return (\n <div\n {...props}\n data-slot=\"sidebar-new-nav-stack-view\"\n data-value={value}\n aria-hidden={!active}\n inert={!active}\n className={sidebarNewNavStackPageClasses(active, 'view', className)}\n >\n <button\n ref={backRef}\n type=\"button\"\n aria-label={`${backLabel}: ${title}`}\n onClick={handleBack}\n className={cn(navItemClasses(), 'mb-2 grid grid-cols-[2rem_1fr_2rem] px-1')}\n >\n <ArrowLeftIcon className=\"justify-self-center\" aria-hidden=\"true\" />\n <span className=\"min-w-0 truncate text-center\">{title}</span>\n <span aria-hidden=\"true\" />\n </button>\n {children}\n </div>\n );\n}\n","import { SidebarNewNavStackRoot } from './sidebar-new-nav-stack-root';\nimport { SidebarNewNavStackRootView } from './sidebar-new-nav-stack-root-view';\nimport { SidebarNewNavStackView } from './sidebar-new-nav-stack-view';\n\nexport type { SidebarNewNavStackProps } from './sidebar-new-nav-stack-root';\nexport type { SidebarNewNavStackRootViewProps } from './sidebar-new-nav-stack-root-view';\nexport type { SidebarNewNavStackViewProps } from './sidebar-new-nav-stack-view';\n\nexport const SidebarNewNavStack = Object.assign(SidebarNewNavStackRoot, {\n Root: SidebarNewNavStackRootView,\n View: SidebarNewNavStackView,\n});\n","import { useMaybeSidebarState } from '@/ds/components/MainSidebar/main-sidebar-context';\nimport type { MainSidebarRootProps } from '@/ds/components/MainSidebar/main-sidebar-root';\nimport { MainSidebarRoot } from '@/ds/components/MainSidebar/main-sidebar-root';\nimport { frameSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewRootProps = MainSidebarRootProps & {\n 'aria-label'?: string;\n variant?: 'default' | 'raised';\n};\n\nexport function SidebarNewRoot({\n 'aria-label': ariaLabel = 'Sidebar',\n mobileMode = 'takeover',\n variant = 'default',\n children,\n ...props\n}: SidebarNewRootProps) {\n const sidebar = useMaybeSidebarState();\n const isRaised = variant === 'raised' && !sidebar?.isMobile;\n\n return (\n <aside aria-label={ariaLabel} className=\"contents\">\n <MainSidebarRoot mobileMode={mobileMode} {...props}>\n {isRaised ? (\n <div\n data-slot=\"sidebar-new-surface\"\n className={cn(\n 'my-2 -mr-2 -ml-4 flex min-h-0 flex-1 flex-col overflow-hidden rounded-r-xl py-1.5',\n sidebar?.state === 'collapsed' ? 'pr-2 pl-4' : 'pr-3.5 pl-5.5',\n frameSurfaceStyle,\n )}\n >\n {children}\n </div>\n ) : (\n children\n )}\n </MainSidebarRoot>\n </aside>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { Kbd } from '@/ds/components/Kbd';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { quietTextHover, quietTextHoverInGroup } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewSearchTriggerProps = ComponentPropsWithoutRef<'button'> & {\n shortcut?: ReactNode;\n};\n\nexport const SidebarNewSearchTrigger = forwardRef<HTMLButtonElement, SidebarNewSearchTriggerProps>(\n function SidebarNewSearchTrigger({ className, children, shortcut, type = 'button', ...props }, ref) {\n return (\n <button\n ref={ref}\n data-slot=\"sidebar-new-search-trigger\"\n type={type}\n className={cn(\n 'group inline-flex size-control-md shrink-0 items-center justify-center gap-1.5 rounded-full border border-transparent hover:bg-fill-subtle',\n quietTextHover,\n controlStateColorTransition,\n focusRing,\n '[&_svg]:size-4 [&_svg]:shrink-0',\n shortcut && 'w-auto px-2',\n className,\n )}\n {...props}\n >\n {children}\n {shortcut ? (\n <Kbd size=\"xs\" className={cn('bg-surface-overlay-soft active:scale-100', quietTextHoverInGroup)}>\n {shortcut}\n </Kbd>\n ) : null}\n </button>\n );\n },\n);\n","import type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\n\nexport type SidebarNewSectionLinkProps = {\n link: NavLink;\n activeCandidates: NavLink[];\n level?: number;\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n onSelect?: (link: NavLink) => void;\n};\n\nfunction getSidebarNewLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nexport function SidebarNewSectionLink({\n link,\n activeCandidates,\n level = 0,\n isActive,\n onSelect,\n}: SidebarNewSectionLinkProps) {\n const childLinks = link.children ?? [];\n\n return (\n <MainSidebarNavLink\n link={link}\n isActive={isActive?.(link, activeCandidates) ?? link.isActive}\n level={level}\n onClick={event => {\n if (event.target instanceof Element && event.target.closest('li') !== event.currentTarget) return;\n onSelect?.(link);\n }}\n subItems={\n childLinks.length > 0 ? (\n <MainSidebarNavList className=\"mt-0.5\">\n {childLinks.map(child => (\n <SidebarNewSectionLink\n key={getSidebarNewLinkKey(child)}\n link={child}\n activeCandidates={activeCandidates}\n level={level + 1}\n isActive={isActive}\n onSelect={onSelect}\n />\n ))}\n </MainSidebarNavList>\n ) : null\n }\n />\n );\n}\n","import { ChevronDownIcon, MoreHorizontalIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { SidebarNewSectionLink } from './sidebar-new-section-link';\nimport { MainSidebarNavLabel } from '@/ds/components/MainSidebar/main-sidebar-nav-label';\nimport type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { cn } from '@/lib/utils';\n\nexport type SidebarNewMoreLinksProps = {\n links: NavLink[];\n activeCandidates: NavLink[];\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n recentLinks: Record<string, number>;\n recentCutoff: number;\n onSelect: (link: NavLink) => void;\n};\n\nexport function SidebarNewMoreLinks({\n links,\n activeCandidates,\n isActive,\n recentLinks,\n recentCutoff,\n onSelect,\n}: SidebarNewMoreLinksProps) {\n const [expanded, setExpanded] = useState(false);\n const linkIsActive = (link: NavLink) => isActive?.(link, activeCandidates) ?? link.isActive ?? false;\n const surfacedLinks =\n links.length < 2\n ? links\n : links.filter(link => linkIsActive(link) || (recentLinks[`${link.url}:${link.name}`] ?? 0) >= recentCutoff);\n const foldedLinks = links.filter(link => !surfacedLinks.includes(link));\n\n function renderLink(link: NavLink) {\n return (\n <SidebarNewSectionLink\n key={`${link.url}:${link.name}`}\n link={link}\n activeCandidates={activeCandidates}\n isActive={isActive}\n onSelect={onSelect}\n />\n );\n }\n\n return (\n <>\n {surfacedLinks.map(renderLink)}\n {foldedLinks.length > 0 ? (\n <MainSidebarNavLink\n link={{ name: 'More', url: '', icon: <MoreHorizontalIcon /> }}\n render={\n <button\n type=\"button\"\n aria-label=\"More\"\n aria-expanded={expanded}\n onClick={() => setExpanded(current => !current)}\n >\n <MoreHorizontalIcon aria-hidden=\"true\" />\n <MainSidebarNavLabel>More</MainSidebarNavLabel>\n </button>\n }\n action={\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n 'size-3.5 transition-transform duration-normal ease-out-custom motion-reduce:transition-none',\n expanded && 'rotate-180',\n )}\n />\n }\n />\n ) : null}\n {expanded ? foldedLinks.map(renderLink) : null}\n </>\n );\n}\n","import { useId, useState } from 'react';\nimport { z } from 'zod/v4';\nimport { SidebarNewMoreLinks } from './sidebar-new-more-links';\nimport { SidebarNewNavHeader } from './sidebar-new-nav-header';\nimport { SidebarNewSectionLink } from './sidebar-new-section-link';\nimport type { NavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\nimport type { NavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from '@/ds/components/MainSidebar/main-sidebar-nav-separator';\nimport { useLocalStorageState } from '@/hooks/use-local-storage-state';\n\nconst recentLinkRetentionMs = 7 * 24 * 60 * 60 * 1000;\nconst recentLinksSchema = z.record(z.string(), z.number());\nconst defaultRecentItemsStorageKey = 'mastra:sidebar-new:recent-more-items';\n\nexport type SidebarNewSection = NavSection & {\n moreLinks?: NavLink[];\n};\n\nexport type SidebarNewSectionsProps = {\n sections: SidebarNewSection[];\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n className?: string;\n recentItemsStorageKey?: string;\n};\n\nfunction getLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nexport function SidebarNewSections({\n sections,\n isActive,\n className,\n recentItemsStorageKey = defaultRecentItemsStorageKey,\n}: SidebarNewSectionsProps) {\n const baseId = useId();\n const [renderedAt] = useState(Date.now);\n const [recentLinks, setRecentLinks] = useLocalStorageState({\n initialKey: recentItemsStorageKey,\n defaultValue: {},\n schema: recentLinksSchema,\n });\n const recentCutoff = renderedAt - recentLinkRetentionMs;\n\n function rememberLink(link: NavLink) {\n setRecentLinks(current => ({ ...current, [getLinkKey(link)]: Date.now() }));\n }\n\n return (\n <>\n {sections.map(section => {\n const showSeparator = section.links.length > 0 && section.separator;\n const headerId = section.title ? `${baseId}-${section.key}` : undefined;\n const activeCandidates = [...section.links, ...(section.moreLinks ?? [])];\n\n return (\n <MainSidebarNavSection\n key={section.key}\n className={className}\n aria-labelledby={headerId}\n aria-label={!headerId ? section.key : undefined}\n >\n {showSeparator ? <MainSidebarNavSeparator className=\"[&:after]:border-border\" /> : null}\n {section.title ? (\n <SidebarNewNavHeader id={headerId} href={section.href} isActive={section.isHeaderActive}>\n {section.title}\n </SidebarNewNavHeader>\n ) : null}\n <MainSidebarNavList>\n {section.links.map(link => (\n <SidebarNewSectionLink\n key={getLinkKey(link)}\n link={link}\n activeCandidates={activeCandidates}\n isActive={isActive}\n />\n ))}\n {section.moreLinks?.length ? (\n <SidebarNewMoreLinks\n links={section.moreLinks}\n activeCandidates={activeCandidates}\n isActive={isActive}\n recentLinks={recentLinks}\n recentCutoff={recentCutoff}\n onSelect={rememberLink}\n />\n ) : null}\n </MainSidebarNavList>\n </MainSidebarNavSection>\n );\n })}\n </>\n );\n}\n","import { SidebarNewBrand } from './sidebar-new-brand';\nimport { SidebarNewCommandHeader } from './sidebar-new-command-header';\nimport { SidebarNewFooter } from './sidebar-new-footer';\nimport { SidebarNewFooterMeta } from './sidebar-new-footer-meta';\nimport { SidebarNewHeader } from './sidebar-new-header';\nimport { SidebarNewMeter } from './sidebar-new-meter';\nimport { SidebarNewNav } from './sidebar-new-nav';\nimport { SidebarNewNavHeader } from './sidebar-new-nav-header';\nimport { SidebarNewNavStack } from './sidebar-new-nav-stack';\nimport { SidebarNewRoot } from './sidebar-new-root';\nimport { SidebarNewSearchTrigger } from './sidebar-new-search-trigger';\nimport { SidebarNewSections } from './sidebar-new-sections';\nimport { SidebarNewTrigger } from './sidebar-new-trigger';\nimport { MainSidebarMobileTrigger } from '@/ds/components/MainSidebar/main-sidebar-mobile-trigger';\nimport { MainSidebarNavLabel } from '@/ds/components/MainSidebar/main-sidebar-nav-label';\nimport { MainSidebarNavLink } from '@/ds/components/MainSidebar/main-sidebar-nav-link';\nimport { MainSidebarNavList } from '@/ds/components/MainSidebar/main-sidebar-nav-list';\nimport { MainSidebarNavSection } from '@/ds/components/MainSidebar/main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from '@/ds/components/MainSidebar/main-sidebar-nav-separator';\nimport { MainSidebarProvider } from '@/ds/components/MainSidebar/main-sidebar-provider';\n\nexport const SidebarNew = Object.assign(SidebarNewRoot, {\n Brand: SidebarNewBrand,\n CommandHeader: SidebarNewCommandHeader,\n Footer: SidebarNewFooter,\n FooterMeta: SidebarNewFooterMeta,\n Header: SidebarNewHeader,\n Meter: SidebarNewMeter,\n MobileTrigger: MainSidebarMobileTrigger,\n Nav: SidebarNewNav,\n NavHeader: SidebarNewNavHeader,\n NavLabel: MainSidebarNavLabel,\n NavLink: MainSidebarNavLink,\n NavList: MainSidebarNavList,\n NavSection: MainSidebarNavSection,\n NavSeparator: MainSidebarNavSeparator,\n NavStack: SidebarNewNavStack,\n Provider: MainSidebarProvider,\n SearchTrigger: SidebarNewSearchTrigger,\n Sections: SidebarNewSections,\n Trigger: SidebarNewTrigger,\n});\n"],"names":["useMainSidebar","jsxs","cn","jsx","VisuallyHidden","Txt","forwardRef","SidebarNewCommandHeader","SidebarNewFooterMeta","useMaybeSidebarState","MainSidebarTrigger","SidebarNewMeter","surfaceStateLayerStyle","MainSidebarNav","Fragment","navItemClasses","ArrowLeftIcon","MainSidebarRoot","frameSurfaceStyle","SidebarNewSearchTrigger","quietTextHover","controlStateColorTransition","focusRing","Kbd","quietTextHoverInGroup","MainSidebarNavLink","MainSidebarNavList","useState","MoreHorizontalIcon","MainSidebarNavLabel","ChevronDownIcon","z","useId","useLocalStorageState","MainSidebarNavSection","MainSidebarNavSeparator","MainSidebarMobileTrigger","MainSidebarProvider"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { k as useMainSidebar, u as useMaybeSidebarState, f as MainSidebarTrigger, h as MainSidebarNav, n as navItemClasses, d as MainSidebarRoot, c as MainSidebarNavLink, b as MainSidebarNavList, g as MainSidebarNavLabel, M as MainSidebarNavSection, a as MainSidebarNavSeparator, i as MainSidebarProvider, e as MainSidebarMobileTrigger } from '../main-sidebar-link-active-buZAhlHo.js';
3
- import '../sidebar.css';export { j as getIsLinkActive } from '../main-sidebar-link-active-buZAhlHo.js';
2
+ import { u as useMainSidebar, e as useMaybeSidebarState, c as MainSidebarTrigger, h as MainSidebarNav, n as navItemClasses, i as MainSidebarRoot, j as MainSidebarNavLink, k as MainSidebarNavList, l as MainSidebarNavLabel, m as MainSidebarNavSection, o as MainSidebarNavSeparator, b as MainSidebarProvider, a as MainSidebarMobileTrigger } from '../main-sidebar-B0ivY7lW.js';
3
+ import '../sidebar.css';export { g as getIsLinkActive } from '../main-sidebar-B0ivY7lW.js';
4
4
  import { T as Txt } from '../Txt-BP1SRHmL.js';
5
5
  import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
6
6
  import { c as cn } from '../cn-65Adrsfj.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mastra/playground-ui",
3
3
  "type": "module",
4
- "version": "60.2.0-alpha.1",
4
+ "version": "60.2.0",
5
5
  "description": "Mastra Playground components",
6
6
  "sideEffects": [
7
7
  "**/*.css"
@@ -208,9 +208,9 @@
208
208
  "react": ">=19.0.0",
209
209
  "react-dom": ">=19.0.0",
210
210
  "tailwindcss": "^4.0.0",
211
+ "@mastra/client-js": "^1.51.2",
211
212
  "@mastra/ai-sdk": "^1.10.6",
212
- "@mastra/client-js": "^1.51.2-alpha.1",
213
- "@mastra/react": "1.7.2-alpha.1"
213
+ "@mastra/react": "1.7.2"
214
214
  },
215
215
  "devDependencies": {
216
216
  "@modelcontextprotocol/sdk": "^1.29.0",
@@ -254,13 +254,13 @@
254
254
  "vite-plugin-dts": "^4.5.4",
255
255
  "vite-plugin-lib-inject-css": "^2.2.2",
256
256
  "vitest": "4.1.11",
257
- "@internal/lint": "0.0.139",
258
- "@mastra/client-js": "^1.51.2-alpha.1",
259
- "@mastra/core": "1.73.1-alpha.1",
260
- "@mastra/ai-sdk": "1.10.6",
261
- "@mastra/memory": "1.34.0",
262
- "@mastra/react": "1.7.2-alpha.1",
263
- "@mastra/schema-compat": "1.3.13"
257
+ "@internal/lint": "0.0.140",
258
+ "@mastra/client-js": "^1.51.2",
259
+ "@mastra/react": "1.7.2",
260
+ "@mastra/core": "1.74.0",
261
+ "@mastra/schema-compat": "1.3.13",
262
+ "@mastra/memory": "1.35.0",
263
+ "@mastra/ai-sdk": "1.10.6"
264
264
  },
265
265
  "homepage": "https://mastra.ai",
266
266
  "repository": {