@invana/ui 0.0.19 → 0.0.21

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/dist/index.cjs CHANGED
@@ -150,7 +150,7 @@ var AlertDescription = React23__namespace.forwardRef(({ className, ...props }, r
150
150
  ));
151
151
  AlertDescription.displayName = "AlertDescription";
152
152
  var buttonVariants = classVarianceAuthority.cva(
153
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0",
153
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-control font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0",
154
154
  {
155
155
  variants: {
156
156
  variant: {
@@ -164,10 +164,10 @@ var buttonVariants = classVarianceAuthority.cva(
164
164
  },
165
165
  size: {
166
166
  default: "h-9 px-4 py-2",
167
- sm: "h-8 rounded-md px-3 py-2 text-sm",
168
- lg: "h-12 rounded-md px-8 py-3",
169
- icon: "h-8 w-8 rounded-md",
170
- "nav-icon": "h-11 w-11 rounded-md"
167
+ sm: "h-8 rounded-control px-3 py-2 text-sm",
168
+ lg: "h-12 rounded-control px-8 py-3",
169
+ icon: "h-8 w-8 rounded-control",
170
+ "nav-icon": "h-11 w-11 rounded-control"
171
171
  }
172
172
  },
173
173
  defaultVariants: {
@@ -323,7 +323,7 @@ var AvatarFallback = React23__namespace.forwardRef(({ className, ...props }, ref
323
323
  ));
324
324
  AvatarFallback.displayName = AvatarPrimitive__namespace.Fallback.displayName;
325
325
  var badgeVariants = classVarianceAuthority.cva(
326
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
326
+ "inline-flex items-center border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
327
327
  {
328
328
  variants: {
329
329
  variant: {
@@ -478,7 +478,7 @@ function ButtonGroupText({
478
478
  Comp,
479
479
  {
480
480
  className: cn(
481
- "bg-muted shadow-xs flex items-center gap-2 rounded-md border px-4 text-sm font-medium [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",
481
+ "bg-muted shadow-xs flex items-center gap-2 rounded-control border px-4 text-sm font-medium [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",
482
482
  className
483
483
  ),
484
484
  ...props
@@ -706,7 +706,7 @@ var CarouselPrevious = React23__namespace.forwardRef(({ className, variant = "ou
706
706
  variant,
707
707
  size,
708
708
  className: cn(
709
- "absolute h-8 w-8 rounded-full",
709
+ "absolute h-8 w-8 rounded-control",
710
710
  orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
711
711
  className
712
712
  ),
@@ -730,7 +730,7 @@ var CarouselNext = React23__namespace.forwardRef(({ className, variant = "outlin
730
730
  variant,
731
731
  size,
732
732
  className: cn(
733
- "absolute h-8 w-8 rounded-full",
733
+ "absolute h-8 w-8 rounded-control",
734
734
  orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
735
735
  className
736
736
  ),
@@ -774,7 +774,7 @@ var DialogContent = React23__namespace.forwardRef(({ className, children, ...pro
774
774
  ...props,
775
775
  children: [
776
776
  children,
777
- /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-md opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
777
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-control opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
778
778
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
779
779
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
780
780
  ] })
@@ -854,7 +854,7 @@ var CommandInput = React23__namespace.forwardRef(({ className, ...props }, ref)
854
854
  {
855
855
  ref,
856
856
  className: cn(
857
- "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
857
+ "flex h-10 w-full rounded-control bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
858
858
  className
859
859
  ),
860
860
  ...props
@@ -906,7 +906,7 @@ var CommandItem = React23__namespace.forwardRef(({ className, ...props }, ref) =
906
906
  {
907
907
  ref,
908
908
  className: cn(
909
- "relative flex cursor-default gap-2 select-none items-center rounded-md px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary/15 data-[selected=true]:text-primary data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
909
+ "relative flex cursor-default gap-2 select-none items-center rounded-control px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary/15 data-[selected=true]:text-primary data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
910
910
  className
911
911
  ),
912
912
  ...props
@@ -940,7 +940,7 @@ var DropdownMenuSubTrigger = React23__namespace.forwardRef(({ className, inset,
940
940
  {
941
941
  ref,
942
942
  className: cn(
943
- "flex cursor-default gap-2 select-none items-center rounded-md px-2 py-1.5 outline-none focus:bg-primary/15 focus:text-primary data-[state=open]:bg-primary/15 data-[state=open]:text-primary [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
943
+ "flex cursor-default gap-2 select-none items-center rounded-control px-2 py-1.5 outline-none focus:bg-primary/15 focus:text-primary data-[state=open]:bg-primary/15 data-[state=open]:text-primary [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
944
944
  inset && "pl-8",
945
945
  className
946
946
  ),
@@ -983,7 +983,7 @@ var DropdownMenuItem = React23__namespace.forwardRef(({ className, inset, ...pro
983
983
  {
984
984
  ref,
985
985
  className: cn(
986
- "relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 outline-none transition-colors focus:bg-primary/15 focus:text-primary hover:bg-primary/10 hover:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
986
+ "relative flex cursor-default select-none items-center gap-2 rounded-control px-2 py-1.5 outline-none transition-colors focus:bg-primary/15 focus:text-primary hover:bg-primary/10 hover:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
987
987
  inset && "pl-8",
988
988
  className
989
989
  ),
@@ -996,7 +996,7 @@ var DropdownMenuCheckboxItem = React23__namespace.forwardRef(({ className, child
996
996
  {
997
997
  ref,
998
998
  className: cn(
999
- "relative flex cursor-default select-none items-center rounded-md py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-primary/15 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
999
+ "relative flex cursor-default select-none items-center rounded-control py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-primary/15 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1000
1000
  className
1001
1001
  ),
1002
1002
  checked,
@@ -1013,7 +1013,7 @@ var DropdownMenuRadioItem = React23__namespace.forwardRef(({ className, children
1013
1013
  {
1014
1014
  ref,
1015
1015
  className: cn(
1016
- "relative flex cursor-default select-none items-center rounded-md py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-primary/15 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1016
+ "relative flex cursor-default select-none items-center rounded-control py-1.5 pl-8 pr-2 outline-none transition-colors focus:bg-primary/15 focus:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1017
1017
  className
1018
1018
  ),
1019
1019
  ...props,
@@ -1251,7 +1251,7 @@ function Kbd({ className, ...props }) {
1251
1251
  {
1252
1252
  "data-slot": "kbd",
1253
1253
  className: cn(
1254
- "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium",
1254
+ "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-control px-1 font-sans text-xs font-medium",
1255
1255
  "[&_svg:not([class*='size-'])]:size-3",
1256
1256
  "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
1257
1257
  className
@@ -1312,7 +1312,7 @@ var MenubarTrigger = React23__namespace.forwardRef(({ className, ...props }, ref
1312
1312
  {
1313
1313
  ref,
1314
1314
  className: cn(
1315
- "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1315
+ "flex cursor-default select-none items-center rounded-control px-3 py-1.5 font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1316
1316
  className
1317
1317
  ),
1318
1318
  ...props
@@ -1324,7 +1324,7 @@ var MenubarSubTrigger = React23__namespace.forwardRef(({ className, inset, child
1324
1324
  {
1325
1325
  ref,
1326
1326
  className: cn(
1327
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1327
+ "flex cursor-default select-none items-center rounded-control px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
1328
1328
  inset && "pl-8",
1329
1329
  className
1330
1330
  ),
@@ -1370,7 +1370,7 @@ var MenubarItem = React23__namespace.forwardRef(({ className, inset, ...props },
1370
1370
  {
1371
1371
  ref,
1372
1372
  className: cn(
1373
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1373
+ "relative flex cursor-default select-none items-center rounded-control px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1374
1374
  inset && "pl-8",
1375
1375
  className
1376
1376
  ),
@@ -1383,7 +1383,7 @@ var MenubarCheckboxItem = React23__namespace.forwardRef(({ className, children,
1383
1383
  {
1384
1384
  ref,
1385
1385
  className: cn(
1386
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1386
+ "relative flex cursor-default select-none items-center rounded-control py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1387
1387
  className
1388
1388
  ),
1389
1389
  checked,
@@ -1400,7 +1400,7 @@ var MenubarRadioItem = React23__namespace.forwardRef(({ className, children, ...
1400
1400
  {
1401
1401
  ref,
1402
1402
  className: cn(
1403
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1403
+ "relative flex cursor-default select-none items-center rounded-control py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1404
1404
  className
1405
1405
  ),
1406
1406
  ...props,
@@ -1479,7 +1479,7 @@ var NavigationMenuList = React23__namespace.forwardRef(({ className, ...props },
1479
1479
  NavigationMenuList.displayName = NavigationMenuPrimitive__namespace.List.displayName;
1480
1480
  var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
1481
1481
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
1482
- "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
1482
+ "group inline-flex h-10 w-max items-center justify-center rounded-control bg-background px-4 py-2 font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
1483
1483
  );
1484
1484
  var NavigationMenuTrigger = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1485
1485
  NavigationMenuPrimitive__namespace.Trigger,
@@ -1761,7 +1761,7 @@ var SheetContent = React23__namespace.forwardRef(({ side = "right", className, c
1761
1761
  ...props,
1762
1762
  children: [
1763
1763
  children,
1764
- /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1764
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-control opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1765
1765
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
1766
1766
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1767
1767
  ] })
@@ -2109,7 +2109,7 @@ var SidebarInput = React23__namespace.forwardRef(({ className, type, ...props },
2109
2109
  "data-sidebar": "input",
2110
2110
  className: cn(
2111
2111
  // mirrors @invana/forms <Input> styling
2112
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2112
+ "flex h-10 w-full rounded-control border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2113
2113
  "h-8 w-full shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
2114
2114
  className
2115
2115
  ),
@@ -2206,7 +2206,7 @@ var SidebarGroupAction = React23__namespace.forwardRef(({ className, asChild = f
2206
2206
  ref,
2207
2207
  "data-sidebar": "group-action",
2208
2208
  className: cn(
2209
- "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2209
+ "absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-control p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2210
2210
  // Increases the hit area of the button on mobile.
2211
2211
  "after:absolute after:-inset-2 after:md:hidden",
2212
2212
  "group-data-[collapsible=icon]:hidden",
@@ -2248,7 +2248,7 @@ var SidebarMenuItem = React23__namespace.forwardRef(({ className, ...props }, re
2248
2248
  ));
2249
2249
  SidebarMenuItem.displayName = "SidebarMenuItem";
2250
2250
  var sidebarMenuButtonVariants = classVarianceAuthority.cva(
2251
- "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
2251
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-control p-2 text-left outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
2252
2252
  {
2253
2253
  variants: {
2254
2254
  variant: {
@@ -2321,7 +2321,7 @@ var SidebarMenuAction = React23__namespace.forwardRef(({ className, asChild = fa
2321
2321
  ref,
2322
2322
  "data-sidebar": "menu-action",
2323
2323
  className: cn(
2324
- "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
2324
+ "absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-control p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
2325
2325
  // Increases the hit area of the button on mobile.
2326
2326
  "after:absolute after:-inset-2 after:md:hidden",
2327
2327
  "peer-data-[size=sm]/menu-button:top-1",
@@ -2414,7 +2414,7 @@ var SidebarMenuSubButton = React23__namespace.forwardRef(({ asChild = false, siz
2414
2414
  "data-size": size,
2415
2415
  "data-active": isActive,
2416
2416
  className: cn(
2417
- "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
2417
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-control px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
2418
2418
  "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
2419
2419
  size === "sm" && "text-sm",
2420
2420
  size === "md" && "text-lg",
@@ -2568,7 +2568,7 @@ var TabsTrigger = React23__namespace.forwardRef(({ className, ...props }, ref) =
2568
2568
  {
2569
2569
  ref,
2570
2570
  className: cn(
2571
- "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 font-medium ring-offset-background transition-colors text-muted-foreground hover:text-foreground hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-primary/15 data-[state=active]:text-primary data-[state=active]:ring-1 data-[state=active]:ring-primary/25 data-[state=active]:shadow-sm",
2571
+ "inline-flex items-center justify-center whitespace-nowrap rounded-control px-3 py-1 font-medium ring-offset-background transition-colors text-muted-foreground hover:text-foreground hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-primary/15 data-[state=active]:text-primary data-[state=active]:ring-1 data-[state=active]:ring-primary/25 data-[state=active]:shadow-sm",
2572
2572
  className
2573
2573
  ),
2574
2574
  ...props
@@ -2588,7 +2588,7 @@ var TabsContent = React23__namespace.forwardRef(({ className, ...props }, ref) =
2588
2588
  ));
2589
2589
  TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
2590
2590
  var toggleVariants = classVarianceAuthority.cva(
2591
- "inline-flex items-center justify-center rounded-md font-medium ring-offset-background transition-colors text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary/15 data-[state=on]:text-primary data-[state=on]:ring-1 data-[state=on]:ring-primary/25 data-[state=on]:shadow-sm [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",
2591
+ "inline-flex items-center justify-center rounded-control font-medium ring-offset-background transition-colors text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary/15 data-[state=on]:text-primary data-[state=on]:ring-1 data-[state=on]:ring-primary/25 data-[state=on]:shadow-sm [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",
2592
2592
  {
2593
2593
  variants: {
2594
2594
  variant: {
@@ -2702,14 +2702,21 @@ function ChatSession({
2702
2702
  }, [autoScrollKey, scrollToBottom]);
2703
2703
  const isEmpty = React23__namespace.Children.count(children) === 0;
2704
2704
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col h-full min-h-0", className), children: [
2705
- /* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { ref: rootRef, className: "flex-1 min-h-0", children: isEmpty && emptyState ? emptyState : /* @__PURE__ */ jsxRuntime.jsx(
2706
- "div",
2705
+ /* @__PURE__ */ jsxRuntime.jsx(
2706
+ ScrollArea,
2707
2707
  {
2708
- ref: contentRef,
2709
- className: cn("flex flex-col gap-4 p-3", bodyClassName),
2710
- children
2708
+ ref: rootRef,
2709
+ className: "flex-1 min-h-0 [&_[data-radix-scroll-area-viewport]>div]:!block",
2710
+ children: isEmpty && emptyState ? emptyState : /* @__PURE__ */ jsxRuntime.jsx(
2711
+ "div",
2712
+ {
2713
+ ref: contentRef,
2714
+ className: cn("flex flex-col gap-4 p-3", bodyClassName),
2715
+ children
2716
+ }
2717
+ )
2711
2718
  }
2712
- ) }),
2719
+ ),
2713
2720
  footer
2714
2721
  ] });
2715
2722
  }
@@ -2735,7 +2742,7 @@ function ChatSessionMessage({
2735
2742
  "div",
2736
2743
  {
2737
2744
  className: cn(
2738
- "max-w-[85%] rounded-2xl rounded-br-sm bg-secondary px-3 py-2 text-secondary-foreground whitespace-pre-wrap break-words",
2745
+ "max-w-[85%] bg-secondary px-3 py-2 text-secondary-foreground whitespace-pre-wrap break-words",
2739
2746
  icon && "flex items-center gap-1.5"
2740
2747
  ),
2741
2748
  children: [
@@ -2787,7 +2794,7 @@ var NavItems = ({
2787
2794
  const padding = item.label ? "px-3 py-1.5" : "px-2 py-2";
2788
2795
  const isInteractive = Boolean(item.href || item.onClick);
2789
2796
  const itemClass = `inline-flex border-0 items-center justify-center gap-2
2790
- whitespace-nowrap rounded-md transition-colors
2797
+ whitespace-nowrap rounded-control transition-colors
2791
2798
  ring-1 ring-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring
2792
2799
  ${padding}
2793
2800
  ${isInteractive ? "cursor-pointer hover:bg-primary/10 hover:text-primary hover:ring-primary/25" : ""}
@@ -2954,7 +2961,7 @@ function ChatSessionComposer({
2954
2961
  }
2955
2962
  };
2956
2963
  const isSendDisabled = sendDisabled ?? (disabled || value.trim().length === 0);
2957
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("p-3", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-border bg-card shadow-sm overflow-hidden focus-within:border-ring transition-colors", children: [
2964
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("p-3", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-control border border-border bg-card shadow-sm overflow-hidden focus-within:border-ring transition-colors", children: [
2958
2965
  attachments && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-1.5 border-b border-border max-h-24 overflow-y-auto flex items-start gap-1 flex-wrap", children: attachments }),
2959
2966
  /* @__PURE__ */ jsxRuntime.jsx(
2960
2967
  "textarea",
@@ -2977,7 +2984,7 @@ function ChatSessionComposer({
2977
2984
  Button,
2978
2985
  {
2979
2986
  size: "icon",
2980
- className: "h-7 w-7 shrink-0 rounded-full",
2987
+ className: "h-7 w-7 shrink-0 rounded-control",
2981
2988
  onClick: onStop,
2982
2989
  title: "Stop",
2983
2990
  "aria-label": "Stop",
@@ -2987,7 +2994,7 @@ function ChatSessionComposer({
2987
2994
  Button,
2988
2995
  {
2989
2996
  size: "icon",
2990
- className: "h-7 w-7 shrink-0 rounded-full",
2997
+ className: "h-7 w-7 shrink-0 rounded-control",
2991
2998
  onClick: onSend,
2992
2999
  disabled: isSendDisabled,
2993
3000
  title: "Send",
@@ -2998,6 +3005,248 @@ function ChatSessionComposer({
2998
3005
  ] })
2999
3006
  ] }) });
3000
3007
  }
3008
+ var chatSessionGutterClass = "w-3.5 shrink-0 flex justify-center";
3009
+ var markerClass = {
3010
+ default: "bg-muted-foreground",
3011
+ info: "bg-info",
3012
+ success: "bg-success",
3013
+ warning: "bg-warning",
3014
+ error: "bg-destructive",
3015
+ pending: "bg-transparent border-[1.5px] border-muted-foreground"
3016
+ };
3017
+ function ChatSessionActivityRow({
3018
+ status = "default",
3019
+ marker,
3020
+ children,
3021
+ actions,
3022
+ meta,
3023
+ footer,
3024
+ className
3025
+ }) {
3026
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex gap-2", className), children: [
3027
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(chatSessionGutterClass, "pt-[7px]"), "aria-hidden": true, children: marker ?? /* @__PURE__ */ jsxRuntime.jsx(
3028
+ "span",
3029
+ {
3030
+ className: cn("w-1.5 h-1.5 rounded-full", markerClass[status])
3031
+ }
3032
+ ) }),
3033
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 flex flex-col gap-1", children: [
3034
+ /* @__PURE__ */ jsxRuntime.jsx(
3035
+ "div",
3036
+ {
3037
+ className: cn(
3038
+ "whitespace-pre-wrap break-words",
3039
+ status === "error" && "text-destructive",
3040
+ status === "warning" && "text-warning"
3041
+ ),
3042
+ children
3043
+ }
3044
+ ),
3045
+ actions,
3046
+ meta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: meta }),
3047
+ footer
3048
+ ] })
3049
+ ] });
3050
+ }
3051
+ function ChatSessionActivitySubLine({
3052
+ elbow,
3053
+ children,
3054
+ className
3055
+ }) {
3056
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex gap-2 text-muted-foreground", className), children: [
3057
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 select-none text-border", "aria-hidden": true, children: elbow ?? "\u2514" }),
3058
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 break-words", children })
3059
+ ] });
3060
+ }
3061
+ function ChatSessionPromptRow({
3062
+ children,
3063
+ caret,
3064
+ meta,
3065
+ className
3066
+ }) {
3067
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3068
+ "div",
3069
+ {
3070
+ className: cn("-mx-3 flex gap-2 bg-muted/70 px-3 py-2", className),
3071
+ children: [
3072
+ /* @__PURE__ */ jsxRuntime.jsx(
3073
+ "span",
3074
+ {
3075
+ className: cn(
3076
+ chatSessionGutterClass,
3077
+ "select-none font-semibold text-primary"
3078
+ ),
3079
+ "aria-hidden": true,
3080
+ children: caret ?? "\u276F"
3081
+ }
3082
+ ),
3083
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1 whitespace-pre-wrap break-words", children }),
3084
+ meta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 self-start text-muted-foreground", children: meta })
3085
+ ]
3086
+ }
3087
+ );
3088
+ }
3089
+ function RingSpinner() {
3090
+ return /* @__PURE__ */ jsxRuntime.jsx(
3091
+ "span",
3092
+ {
3093
+ className: "h-3 w-3 rounded-full border-2 border-muted border-t-primary animate-spin motion-reduce:animate-none",
3094
+ role: "status",
3095
+ "aria-label": "Working"
3096
+ }
3097
+ );
3098
+ }
3099
+ function ChatSessionProgressLine({
3100
+ children,
3101
+ spinner,
3102
+ elapsed,
3103
+ className
3104
+ }) {
3105
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3106
+ "div",
3107
+ {
3108
+ className: cn(
3109
+ "flex items-center gap-2 text-muted-foreground",
3110
+ className
3111
+ ),
3112
+ children: [
3113
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chatSessionGutterClass, children: spinner ?? /* @__PURE__ */ jsxRuntime.jsx(RingSpinner, {}) }),
3114
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1", children }),
3115
+ elapsed && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 tabular-nums", children: elapsed })
3116
+ ]
3117
+ }
3118
+ );
3119
+ }
3120
+ function ChatSessionDisclosure({
3121
+ label,
3122
+ meta,
3123
+ children,
3124
+ open,
3125
+ defaultOpen = false,
3126
+ onOpenChange,
3127
+ chevron,
3128
+ className,
3129
+ contentClassName
3130
+ }) {
3131
+ const [uncontrolledOpen, setUncontrolledOpen] = React23__namespace.useState(defaultOpen);
3132
+ const isOpen = open ?? uncontrolledOpen;
3133
+ const toggle = () => {
3134
+ const next = !isOpen;
3135
+ if (open === void 0) setUncontrolledOpen(next);
3136
+ onOpenChange?.(next);
3137
+ };
3138
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3139
+ "div",
3140
+ {
3141
+ className: cn(
3142
+ "overflow-hidden rounded-md border border-border bg-accent/40",
3143
+ className
3144
+ ),
3145
+ children: [
3146
+ /* @__PURE__ */ jsxRuntime.jsxs(
3147
+ "button",
3148
+ {
3149
+ type: "button",
3150
+ onClick: toggle,
3151
+ "aria-expanded": isOpen,
3152
+ className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-muted-foreground hover:bg-accent hover:text-foreground",
3153
+ children: [
3154
+ /* @__PURE__ */ jsxRuntime.jsx(
3155
+ "span",
3156
+ {
3157
+ className: cn(
3158
+ "shrink-0 select-none transition-transform",
3159
+ !chevron && isOpen && "rotate-90"
3160
+ ),
3161
+ "aria-hidden": true,
3162
+ children: chevron ?? "\u25B8"
3163
+ }
3164
+ ),
3165
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", children: label }),
3166
+ meta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: meta })
3167
+ ]
3168
+ }
3169
+ ),
3170
+ isOpen && /* @__PURE__ */ jsxRuntime.jsx(
3171
+ "div",
3172
+ {
3173
+ className: cn(
3174
+ "overflow-x-auto border-t border-border px-2.5 py-2",
3175
+ contentClassName
3176
+ ),
3177
+ children
3178
+ }
3179
+ )
3180
+ ]
3181
+ }
3182
+ );
3183
+ }
3184
+ var indicatorClass = {
3185
+ running: "bg-primary animate-pulse motion-reduce:animate-none",
3186
+ "needs-input": "bg-warning",
3187
+ success: "bg-success",
3188
+ error: "bg-destructive",
3189
+ queued: "bg-transparent border-[1.5px] border-muted-foreground"
3190
+ };
3191
+ function ChatSessionTaskRow({
3192
+ status = "queued",
3193
+ indicator,
3194
+ name,
3195
+ description,
3196
+ meta,
3197
+ onClick,
3198
+ className
3199
+ }) {
3200
+ const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3201
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex w-3.5 shrink-0 justify-center", "aria-hidden": true, children: indicator ?? /* @__PURE__ */ jsxRuntime.jsx(
3202
+ "span",
3203
+ {
3204
+ className: cn("h-1.5 w-1.5 rounded-full", indicatorClass[status])
3205
+ }
3206
+ ) }),
3207
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-medium", children: name }),
3208
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-muted-foreground", children: description }),
3209
+ meta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: meta })
3210
+ ] });
3211
+ const rowClass = cn(
3212
+ "flex w-full items-center gap-2 rounded-control px-1.5 py-1 text-left",
3213
+ onClick && "hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",
3214
+ className
3215
+ );
3216
+ if (onClick) {
3217
+ return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick, className: rowClass, children: content });
3218
+ }
3219
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: rowClass, children: content });
3220
+ }
3221
+ function ChatSessionTaskGroup({
3222
+ heading,
3223
+ children,
3224
+ className
3225
+ }) {
3226
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-1", className), children: [
3227
+ heading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold", children: heading }),
3228
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5", children })
3229
+ ] });
3230
+ }
3231
+ function ChatSessionStatusBar({
3232
+ start,
3233
+ end,
3234
+ className
3235
+ }) {
3236
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3237
+ "div",
3238
+ {
3239
+ className: cn(
3240
+ "flex items-center gap-3 px-3 py-1.5 text-muted-foreground",
3241
+ className
3242
+ ),
3243
+ children: [
3244
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: start }),
3245
+ end && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-3", children: end })
3246
+ ]
3247
+ }
3248
+ );
3249
+ }
3001
3250
  var ErrorBoundary = class extends React23.Component {
3002
3251
  constructor(props) {
3003
3252
  super(props);
@@ -3448,8 +3697,8 @@ var SearchInput = ({ value, onChange, ...props }) => {
3448
3697
  onChange: (e) => onChange(e.target.value),
3449
3698
  placeholder: "Search...",
3450
3699
  className: cn(
3451
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
3452
- "w-full px-2 py-1 border rounded-md dark:bg-neutral-800",
3700
+ "flex h-10 w-full rounded-control border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
3701
+ "w-full px-2 py-1 border rounded-control dark:bg-neutral-800",
3453
3702
  props?.className
3454
3703
  )
3455
3704
  }
@@ -3725,7 +3974,7 @@ var TreeItem = ({ item }) => {
3725
3974
  item.onClick?.(item.id, item.label);
3726
3975
  },
3727
3976
  className: cn(
3728
- "flex items-center gap-2 w-full rounded-md px-2 py-1 hover:bg-accent hover:text-accent-foreground",
3977
+ "flex items-center gap-2 w-full rounded-control px-2 py-1 hover:bg-accent hover:text-accent-foreground",
3729
3978
  hasChildren && "cursor-pointer font-medium"
3730
3979
  ),
3731
3980
  children: [
@@ -3778,7 +4027,7 @@ function UnderDevelopment({
3778
4027
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Construction, { size: iconSize, className: "text-primary" }),
3779
4028
  /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-bold", children: title }),
3780
4029
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground max-w-md", children: description }),
3781
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-4 px-3 py-1 bg-yellow-100 text-yellow-800 rounded-full text-sm", children: "Coming Soon" })
4030
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-4 px-3 py-1 bg-yellow-100 text-yellow-800 text-sm", children: "Coming Soon" })
3782
4031
  ] });
3783
4032
  }
3784
4033
  var TypographyH1 = React23__namespace.forwardRef(
@@ -4088,9 +4337,17 @@ exports.CarouselItem = CarouselItem;
4088
4337
  exports.CarouselNext = CarouselNext;
4089
4338
  exports.CarouselPrevious = CarouselPrevious;
4090
4339
  exports.ChatSession = ChatSession;
4340
+ exports.ChatSessionActivityRow = ChatSessionActivityRow;
4341
+ exports.ChatSessionActivitySubLine = ChatSessionActivitySubLine;
4091
4342
  exports.ChatSessionComposer = ChatSessionComposer;
4343
+ exports.ChatSessionDisclosure = ChatSessionDisclosure;
4092
4344
  exports.ChatSessionMessage = ChatSessionMessage;
4093
4345
  exports.ChatSessionMessageOptions = ChatSessionMessageOptions;
4346
+ exports.ChatSessionProgressLine = ChatSessionProgressLine;
4347
+ exports.ChatSessionPromptRow = ChatSessionPromptRow;
4348
+ exports.ChatSessionStatusBar = ChatSessionStatusBar;
4349
+ exports.ChatSessionTaskGroup = ChatSessionTaskGroup;
4350
+ exports.ChatSessionTaskRow = ChatSessionTaskRow;
4094
4351
  exports.Command = Command;
4095
4352
  exports.CommandDialog = CommandDialog;
4096
4353
  exports.CommandEmpty = CommandEmpty;
@@ -4274,6 +4531,7 @@ exports.UnderDevelopment = UnderDevelopment;
4274
4531
  exports.badgeVariants = badgeVariants;
4275
4532
  exports.buttonGroupVariants = buttonGroupVariants;
4276
4533
  exports.buttonVariants = buttonVariants;
4534
+ exports.chatSessionGutterClass = chatSessionGutterClass;
4277
4535
  exports.cn = cn;
4278
4536
  exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
4279
4537
  exports.toggleVariants = toggleVariants;