{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "intelli-ui",
  "homepage": "https://ui.intellihelper.in",
  "items": [
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "Liquid Glass button with chrome layer (outline, secondary, ghost) and content layer (default, destructive) variants.",
      "dependencies": [
        "@radix-ui/react-slot",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/button.tsx",
          "type": "registry:ui",
          "target": "components/ui/button.tsx",
          "content": "\"use client\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { cn, focusRing } from \"@intelli/utils\";\n\nconst buttonVariants = cva(\n  [\n    \"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-semibold\",\n    \"transition-[filter,transform,color] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-default)]\",\n    \"disabled:pointer-events-none disabled:opacity-50\",\n    \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n    focusRing,\n  ],\n  {\n    variants: {\n      variant: {\n        /* Content layer — saturated primary glass CTA */\n        default: [\n          \"glass-button-content glass-shimmer-hover glass-chrome-interactive\",\n          \"hover:brightness-105\",\n        ],\n        /* Content layer — destructive glass */\n        destructive: [\n          \"glass-button-content-destructive glass-chrome-interactive\",\n          \"hover:brightness-110\",\n        ],\n        /* Chrome layer — neutral frosted (Apple mini-player style) */\n        outline: [\"glass-button-chrome glass-chrome-interactive\"],\n        /* Chrome layer — subtle tonal glass */\n        secondary: [\"glass-button-chrome-subtle glass-chrome-interactive\"],\n        /* Chrome layer — reveals glass on hover */\n        ghost: [\"glass-button-ghost glass-chrome-interactive\"],\n        /* Material text link — no glass chrome */\n        link: [\n          \"text-primary font-medium [text-shadow:none]\",\n          \"bg-transparent shadow-none border-0\",\n          \"glass-link-underline\",\n        ],\n      },\n      shape: {\n        rounded: \"rounded-xl\",\n        pill: \"rounded-full\",\n        rectangular: \"rounded-md\",\n      },\n      size: {\n        default: \"h-10 px-5 py-2\",\n        sm: \"h-9 px-4 text-xs\",\n        lg: \"h-12 px-8 text-base\",\n        icon: \"h-10 w-10 shrink-0 px-0\",\n      },\n    },\n    compoundVariants: [\n      {\n        shape: \"rectangular\",\n        size: \"sm\",\n        className: \"rounded-sm\",\n      },\n      {\n        shape: \"rectangular\",\n        size: \"lg\",\n        className: \"rounded-lg\",\n      },\n      {\n        shape: \"pill\",\n        size: \"sm\",\n        className: \"px-5\",\n      },\n      {\n        shape: \"pill\",\n        size: \"lg\",\n        className: \"px-10\",\n      },\n      {\n        variant: [\"outline\", \"secondary\", \"ghost\"],\n        size: \"icon\",\n        shape: \"pill\",\n        className: \"rounded-full\",\n      },\n    ],\n    defaultVariants: {\n      variant: \"default\",\n      shape: \"rounded\",\n      size: \"default\",\n    },\n  },\n);\n\nexport interface ButtonProps\n  extends ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof buttonVariants> {\n  asChild?: boolean;\n  loading?: boolean;\n}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n  (\n    { className, variant, shape, size, asChild = false, loading, disabled, ...props },\n    ref,\n  ) => {\n    const Comp = asChild ? Slot : \"button\";\n    return (\n      <Comp\n        data-slot=\"button\"\n        data-loading={loading || undefined}\n        className={cn(\n          buttonVariants({ variant, shape, size, className }),\n          loading && \"pointer-events-none opacity-70\",\n        )}\n        ref={ref}\n        disabled={disabled || loading}\n        aria-busy={loading || undefined}\n        {...props}\n      />\n    );\n  },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };"
        }
      ],
      "meta": {
        "variants": [
          "default",
          "destructive",
          "outline",
          "secondary",
          "ghost",
          "link"
        ],
        "shapes": [
          "rounded",
          "pill",
          "rectangular"
        ],
        "sizes": [
          "sm",
          "default",
          "lg",
          "icon"
        ]
      }
    },
    {
      "name": "glass-bar",
      "type": "registry:ui",
      "title": "Glass Bar",
      "description": "Neutral Liquid Glass capsule for grouped controls above content.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils",
        "glass-icon-button"
      ],
      "files": [
        {
          "path": "packages/ui/src/glass-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/glass-bar.tsx",
          "content": "\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"@intelli/utils\";\n\nconst glassBarVariants = cva(\n  [\n    \"flex w-full items-center gap-2\",\n    \"glass-chrome glass-chrome-capsule\",\n    \"px-2\",\n  ],\n  {\n    variants: {\n      size: {\n        sm: \"h-12 gap-1.5 px-1.5\",\n        default: \"h-14 gap-2 px-2\",\n        lg: \"h-16 gap-3 px-3\",\n      },\n      animated: {\n        true: \"animate-float-in\",\n        false: \"\",\n      },\n    },\n    defaultVariants: {\n      size: \"default\",\n      animated: true,\n    },\n  },\n);\n\nexport interface GlassBarProps\n  extends HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof glassBarVariants> {}\n\nconst GlassBar = forwardRef<HTMLDivElement, GlassBarProps>(\n  ({ className, size, animated, children, ...props }, ref) => {\n    return (\n      <div\n        ref={ref}\n        role=\"toolbar\"\n        data-slot=\"glass-bar\"\n        className={cn(glassBarVariants({ size, animated, className }))}\n        {...props}\n      >\n        {children}\n      </div>\n    );\n  },\n);\nGlassBar.displayName = \"GlassBar\";\n\nexport type GlassBarMediaProps = HTMLAttributes<HTMLDivElement>;\n\nconst GlassBarMedia = forwardRef<HTMLDivElement, GlassBarMediaProps>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"glass-bar-media\"\n      className={cn(\n        \"size-10 shrink-0 overflow-hidden rounded-md shadow-sm\",\n        className,\n      )}\n      {...props}\n    />\n  ),\n);\nGlassBarMedia.displayName = \"GlassBarMedia\";\n\nexport interface GlassBarInfoProps extends HTMLAttributes<HTMLDivElement> {\n  title: string;\n  subtitle?: string;\n  titleClassName?: string;\n  subtitleClassName?: string;\n}\n\nconst GlassBarInfo = forwardRef<HTMLDivElement, GlassBarInfoProps>(\n  ({ className, title, subtitle, titleClassName, subtitleClassName, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"glass-bar-info\"\n      className={cn(\"min-w-0 flex-1 truncate text-left\", className)}\n      {...props}\n    >\n      <p\n        className={cn(\n          \"truncate text-sm font-semibold leading-tight glass-chrome-text\",\n          titleClassName,\n        )}\n      >\n        {title}\n      </p>\n      {subtitle && (\n        <p\n          className={cn(\n            \"truncate text-xs leading-tight glass-chrome-text-muted\",\n            subtitleClassName,\n          )}\n        >\n          {subtitle}\n        </p>\n      )}\n    </div>\n  ),\n);\nGlassBarInfo.displayName = \"GlassBarInfo\";\n\nexport type GlassBarControlsProps = HTMLAttributes<HTMLDivElement>;\n\nconst GlassBarControls = forwardRef<HTMLDivElement, GlassBarControlsProps>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"glass-bar-controls\"\n      className={cn(\"flex shrink-0 items-center gap-0.5\", className)}\n      {...props}\n    />\n  ),\n);\nGlassBarControls.displayName = \"GlassBarControls\";\n\nexport {\n  GlassBar,\n  GlassBarMedia,\n  GlassBarInfo,\n  GlassBarControls,\n  glassBarVariants,\n};"
        }
      ],
      "meta": {
        "sizes": [
          "sm",
          "default",
          "lg"
        ],
        "slots": [
          "titleClassName",
          "subtitleClassName"
        ]
      }
    },
    {
      "name": "glass-icon-button",
      "type": "registry:ui",
      "title": "Glass Icon Button",
      "description": "Circular Liquid Glass button for icon-only chrome controls.",
      "dependencies": [
        "@radix-ui/react-slot",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/glass-icon-button.tsx",
          "type": "registry:ui",
          "target": "components/ui/glass-icon-button.tsx",
          "content": "\"use client\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { cn, focusRing } from \"@intelli/utils\";\n\nconst glassIconButtonVariants = cva(\n  [\n    \"inline-flex shrink-0 items-center justify-center rounded-full\",\n    \"transition-[transform,box-shadow,background] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-spring)]\",\n    \"disabled:pointer-events-none disabled:opacity-50\",\n    \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n    focusRing,\n  ],\n  {\n    variants: {\n      variant: {\n        chrome: \"glass-chrome glass-chrome-interactive\",\n        ghost: \"glass-button-ghost glass-chrome-interactive\",\n        destructive: \"glass-button-content-destructive glass-chrome-interactive\",\n      },\n      size: {\n        sm: \"size-8 [&_svg]:size-3.5\",\n        default: \"size-9 [&_svg]:size-4\",\n        lg: \"size-10 [&_svg]:size-[1.125rem]\",\n      },\n    },\n    defaultVariants: {\n      variant: \"chrome\",\n      size: \"default\",\n    },\n  },\n);\n\nexport interface GlassIconButtonProps\n  extends ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof glassIconButtonVariants> {\n  asChild?: boolean;\n}\n\nconst GlassIconButton = forwardRef<HTMLButtonElement, GlassIconButtonProps>(\n  ({ className, variant, size, asChild = false, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"button\";\n    return (\n      <Comp\n        data-slot=\"glass-icon-button\"\n        className={cn(glassIconButtonVariants({ variant, size, className }))}\n        ref={ref}\n        {...props}\n      />\n    );\n  },\n);\nGlassIconButton.displayName = \"GlassIconButton\";\n\nexport { GlassIconButton, glassIconButtonVariants };"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "ghost",
          "destructive"
        ],
        "sizes": [
          "sm",
          "default",
          "lg"
        ]
      }
    },
    {
      "name": "glass-content-card",
      "type": "registry:ui",
      "title": "Glass Content Card",
      "description": "Expressive content container for saturated backgrounds beneath glass chrome.",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/glass-content-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/glass-content-card.tsx",
          "content": "\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"@intelli/utils\";\n\nconst glassContentCardVariants = cva(\"relative overflow-hidden\", {\n  variants: {\n    variant: {\n      content: [\n        \"rounded-3xl\",\n        \"shadow-[0_12px_48px_color-mix(in_oklch,black_18%,transparent)]\",\n        \"ring-1 ring-black/10\",\n      ],\n      outline: [\n        \"rounded-2xl border border-[var(--glass-chrome-border)]\",\n        \"bg-[color-mix(in_oklch,var(--glass-surface-fill)_30%,transparent)]\",\n        \"backdrop-blur-[var(--glass-chrome-blur)]\",\n        \"shadow-[var(--glass-chrome-shadow)]\",\n      ],\n    },\n    animated: {\n      true: \"animate-glass-rise glass-specular-on-mount\",\n      false: \"\",\n    },\n  },\n  defaultVariants: {\n    variant: \"content\",\n    animated: true,\n  },\n});\n\nexport interface GlassContentCardProps\n  extends HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof glassContentCardVariants> {\n  children: ReactNode;\n  panelClassName?: string;\n}\n\nconst GlassContentCard = forwardRef<HTMLDivElement, GlassContentCardProps>(\n  ({ className, variant, animated, panelClassName, children, ...props }, ref) => {\n    return (\n      <div\n        ref={ref}\n        data-slot=\"glass-content-card\"\n        data-variant={variant}\n        className={cn(glassContentCardVariants({ variant, animated, className }))}\n        {...props}\n      >\n        {panelClassName ? (\n          <div data-slot=\"glass-content-card-inner\" className={panelClassName}>\n            {children}\n          </div>\n        ) : (\n          children\n        )}\n      </div>\n    );\n  },\n);\nGlassContentCard.displayName = \"GlassContentCard\";\n\nexport interface GlassContentPanelProps extends HTMLAttributes<HTMLDivElement> {\n  gradient?: string;\n  children: ReactNode;\n  glow?: boolean;\n}\n\nconst GlassContentPanel = forwardRef<HTMLDivElement, GlassContentPanelProps>(\n  ({ className, gradient, glow = true, children, style, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"glass-content-panel\"\n      className={cn(\n        \"relative flex flex-col justify-between p-5\",\n        glow && \"animate-content-glow\",\n        className,\n      )}\n      style={gradient ? { ...style, background: gradient } : style}\n      {...props}\n    >\n      {children}\n    </div>\n  ),\n);\nGlassContentPanel.displayName = \"GlassContentPanel\";\n\nexport { GlassContentCard, GlassContentPanel, glassContentCardVariants };"
        }
      ],
      "meta": {
        "variants": [
          "content",
          "outline"
        ],
        "slots": [
          "panelClassName"
        ]
      }
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "Liquid Glass card with chrome, elevated, content, and outline variants.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/card.tsx",
          "type": "registry:ui",
          "target": "components/ui/card.tsx",
          "content": "\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"@intelli/utils\";\n\nconst cardVariants = cva(\"flex flex-col overflow-hidden\", {\n  variants: {\n    variant: {\n      chrome: \"glass-panel rounded-2xl text-foreground\",\n      elevated: \"glass-header rounded-2xl text-foreground\",\n      content: [\n        \"relative rounded-3xl\",\n        \"shadow-[0_12px_48px_color-mix(in_oklch,black_18%,transparent)]\",\n        \"ring-1 ring-black/10\",\n      ],\n      outline: [\n        \"rounded-2xl border border-[var(--glass-chrome-border)]\",\n        \"bg-[color-mix(in_oklch,var(--glass-surface-fill)_35%,transparent)]\",\n        \"shadow-[var(--glass-chrome-shadow)] text-foreground\",\n      ],\n    },\n    animated: {\n      true: \"\",\n      false: \"\",\n    },\n  },\n  compoundVariants: [\n    {\n      variant: [\"chrome\", \"elevated\"],\n      animated: true,\n      className: \"animate-glass-rise\",\n    },\n    {\n      variant: \"content\",\n      animated: true,\n      className: \"animate-glass-rise glass-specular-on-mount animate-content-glow\",\n    },\n    {\n      variant: \"outline\",\n      animated: true,\n      className: \"animate-fade-in-up\",\n    },\n  ],\n  defaultVariants: {\n    variant: \"chrome\",\n    animated: true,\n  },\n});\n\nexport interface CardProps\n  extends HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof cardVariants> {\n  gradient?: string;\n}\n\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n  ({ className, variant, animated, gradient, style, ...props }, ref) => {\n    return (\n      <div\n        ref={ref}\n        data-slot=\"card\"\n        data-variant={variant}\n        className={cn(\"group\", cardVariants({ variant, animated, className }))}\n        style={\n          variant === \"content\" && gradient\n            ? { ...style, background: gradient }\n            : style\n        }\n        {...props}\n      />\n    );\n  },\n);\nCard.displayName = \"Card\";\n\nconst CardHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      className={cn(\"flex flex-col gap-1.5 p-6\", className)}\n      {...props}\n    />\n  ),\n);\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = forwardRef<\n  HTMLParagraphElement,\n  HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n  <h3\n    ref={ref}\n    className={cn(\n      \"text-lg font-semibold leading-none tracking-tight\",\n      \"group-data-[variant=content]:content-text\",\n      className,\n    )}\n    {...props}\n  />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = forwardRef<\n  HTMLParagraphElement,\n  HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n  <p\n    ref={ref}\n    className={cn(\n      \"text-sm text-muted-foreground\",\n      \"group-data-[variant=content]:content-text-muted\",\n      className,\n    )}\n    {...props}\n  />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n  ({ className, ...props }, ref) => (\n    <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n  ),\n);\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      className={cn(\"flex items-center p-6 pt-0\", className)}\n      {...props}\n    />\n  ),\n);\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n  Card,\n  CardHeader,\n  CardTitle,\n  CardDescription,\n  CardContent,\n  CardFooter,\n  cardVariants,\n};"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "elevated",
          "content",
          "outline"
        ]
      }
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Glass capsule tab list with chrome active triggers.",
      "dependencies": [
        "@radix-ui/react-tabs",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/tabs.tsx",
          "type": "registry:ui",
          "target": "components/ui/tabs.tsx",
          "content": "\"use client\";\n\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n  forwardRef,\n  useCallback,\n  useEffect,\n  useRef,\n  useState,\n  type ComponentPropsWithoutRef,\n  type ElementRef,\n} from \"react\";\nimport { cn, focusRing } from \"@intelli/utils\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst tabsListVariants = cva(\n  \"relative inline-flex items-center justify-center gap-1 p-1\",\n  {\n    variants: {\n      variant: {\n        chrome: \"glass-chrome glass-chrome-capsule\",\n        plain: [\n          \"rounded-2xl border border-[var(--glass-chrome-border)]\",\n          \"bg-[color-mix(in_oklch,var(--glass-surface-fill)_25%,transparent)]\",\n          \"backdrop-blur-[var(--glass-chrome-blur)]\",\n        ],\n      },\n      size: {\n        sm: \"h-9\",\n        default: \"h-10\",\n        lg: \"h-11\",\n      },\n    },\n    defaultVariants: {\n      variant: \"chrome\",\n      size: \"default\",\n    },\n  },\n);\n\nexport interface TabsListProps\n  extends ComponentPropsWithoutRef<typeof TabsPrimitive.List>,\n    VariantProps<typeof tabsListVariants> {\n  indicatorClassName?: string;\n}\n\nconst TabsList = forwardRef<\n  ElementRef<typeof TabsPrimitive.List>,\n  TabsListProps\n>(({ className, variant, size, indicatorClassName, children, ...props }, ref) => {\n  const listRef = useRef<HTMLDivElement | null>(null);\n  const [indicator, setIndicator] = useState({ left: 0, width: 0, opacity: 0 });\n\n  const updateIndicator = useCallback(() => {\n    const list = listRef.current;\n    if (!list) return;\n\n    const active = list.querySelector<HTMLElement>('[data-state=\"active\"]');\n    if (!active) {\n      setIndicator((prev) => ({ ...prev, opacity: 0 }));\n      return;\n    }\n\n    setIndicator({\n      left: active.offsetLeft,\n      width: active.offsetWidth,\n      opacity: 1,\n    });\n  }, []);\n\n  useEffect(() => {\n    updateIndicator();\n\n    const list = listRef.current;\n    if (!list) return;\n\n    const observer = new MutationObserver(updateIndicator);\n    observer.observe(list, {\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"data-state\"],\n    });\n\n    window.addEventListener(\"resize\", updateIndicator);\n    return () => {\n      observer.disconnect();\n      window.removeEventListener(\"resize\", updateIndicator);\n    };\n  }, [updateIndicator]);\n\n  return (\n    <TabsPrimitive.List\n      ref={(node) => {\n        listRef.current = node;\n        if (typeof ref === \"function\") ref(node);\n        else if (ref) ref.current = node;\n      }}\n      data-slot=\"tabs-list\"\n      className={cn(tabsListVariants({ variant, size, className }))}\n      {...props}\n    >\n      <span\n        aria-hidden=\"true\"\n        data-slot=\"tabs-indicator\"\n        className={cn(\n          \"pointer-events-none absolute inset-y-1 left-0 rounded-full\",\n          variant === \"plain\"\n            ? \"bg-[color-mix(in_oklch,var(--glass-chrome-bg-env)_70%,transparent)] border border-[var(--glass-chrome-border)]\"\n            : \"glass-chrome-indicator\",\n          \"transition-[transform,width,opacity]\",\n          \"duration-[var(--duration-slow)] [transition-timing-function:var(--ease-spring)]\",\n          indicatorClassName,\n        )}\n        style={{\n          transform: `translateX(${indicator.left}px)`,\n          width: indicator.width,\n          opacity: indicator.opacity,\n        }}\n      />\n      {children}\n    </TabsPrimitive.List>\n  );\n});\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst tabsTriggerVariants = cva(\n  [\n    \"relative z-10 inline-flex items-center justify-center whitespace-nowrap rounded-full font-medium glass-chrome-text-muted\",\n    \"transition-[color,font-weight,transform] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-default)]\",\n    \"disabled:pointer-events-none disabled:opacity-50\",\n    \"data-[state=active]:glass-chrome-text data-[state=active]:font-semibold\",\n    \"data-[state=active]:scale-[1.02]\",\n    focusRing,\n  ],\n  {\n    variants: {\n      size: {\n        sm: \"px-3 py-1 text-xs\",\n        default: \"px-4 py-1.5 text-sm\",\n        lg: \"px-5 py-2 text-base\",\n      },\n    },\n    defaultVariants: {\n      size: \"default\",\n    },\n  },\n);\n\nexport interface TabsTriggerProps\n  extends ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>,\n    VariantProps<typeof tabsTriggerVariants> {}\n\nconst TabsTrigger = forwardRef<\n  ElementRef<typeof TabsPrimitive.Trigger>,\n  TabsTriggerProps\n>(({ className, size, ...props }, ref) => (\n  <TabsPrimitive.Trigger\n    ref={ref}\n    data-slot=\"tabs-trigger\"\n    className={cn(tabsTriggerVariants({ size, className }))}\n    {...props}\n  />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nexport interface TabsContentProps\n  extends ComponentPropsWithoutRef<typeof TabsPrimitive.Content> {\n  animated?: boolean;\n}\n\nconst TabsContent = forwardRef<\n  ElementRef<typeof TabsPrimitive.Content>,\n  TabsContentProps\n>(({ className, animated = true, ...props }, ref) => (\n  <TabsPrimitive.Content\n    ref={ref}\n    data-slot=\"tabs-content\"\n    className={cn(\n      \"mt-4 focus-visible:outline-none\",\n      animated && \"animate-tab-content\",\n      className,\n    )}\n    {...props}\n  />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport {\n  Tabs,\n  TabsList,\n  TabsTrigger,\n  TabsContent,\n  tabsListVariants,\n  tabsTriggerVariants,\n};"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "plain"
        ],
        "sizes": [
          "sm",
          "default",
          "lg"
        ],
        "slots": [
          "indicatorClassName"
        ]
      }
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "Translucent glass text input with chrome and outline variants.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/field-variants.ts",
          "type": "registry:ui",
          "target": "components/ui/field-variants.ts",
          "content": "import { cva, type VariantProps } from \"class-variance-authority\";\nimport { focusRing } from \"@intelli/utils\";\n\nconst fieldBase = [\n  \"w-full rounded-xl px-3 text-sm glass-chrome-text\",\n  \"placeholder:glass-chrome-text-muted\",\n  \"transition-[border-color,box-shadow,background] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-default)]\",\n  \"disabled:cursor-not-allowed disabled:opacity-50\",\n  \"file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n  focusRing,\n] as const;\n\nconst fieldVariantStyles = {\n  chrome: \"glass-field\",\n  outline: [\n    \"border border-[var(--glass-chrome-border)]\",\n    \"bg-[color-mix(in_oklch,var(--glass-surface-fill)_28%,transparent)]\",\n    \"backdrop-blur-[var(--glass-chrome-blur)]\",\n    \"shadow-[var(--glass-chrome-inset)]\",\n  ],\n} as const;\n\nconst fieldStateStyles = {\n  default: \"\",\n  error: \"border-destructive/60 ring-destructive/20 focus-visible:ring-destructive/40\",\n  success:\n    \"border-[color-mix(in_oklch,var(--primary)_50%,transparent)] ring-primary/20 focus-visible:ring-primary/40\",\n} as const;\n\nexport const fieldVariants = cva([...fieldBase], {\n  variants: {\n    variant: fieldVariantStyles,\n    size: {\n      sm: \"h-9 text-xs\",\n      default: \"h-10\",\n      lg: \"h-11 px-4 text-base\",\n    },\n    state: fieldStateStyles,\n  },\n  defaultVariants: {\n    variant: \"chrome\",\n    size: \"default\",\n    state: \"default\",\n  },\n});\n\nexport const textareaVariants = cva([...fieldBase], {\n  variants: {\n    variant: fieldVariantStyles,\n    size: {\n      sm: \"min-h-[72px] py-2 text-xs\",\n      default: \"min-h-[88px] py-2.5\",\n      lg: \"min-h-[104px] py-3 text-base\",\n    },\n    state: fieldStateStyles,\n  },\n  defaultVariants: {\n    variant: \"chrome\",\n    size: \"default\",\n    state: \"default\",\n  },\n});\n\nexport type FieldVariantProps = VariantProps<typeof fieldVariants>;\nexport type TextareaVariantProps = VariantProps<typeof textareaVariants>;"
        },
        {
          "path": "packages/ui/src/input.tsx",
          "type": "registry:ui",
          "target": "components/ui/input.tsx",
          "content": "\"use client\";\n\nimport { forwardRef, type InputHTMLAttributes } from \"react\";\nimport { cn } from \"@intelli/utils\";\nimport { fieldVariants, type FieldVariantProps } from \"./field-variants\";\n\nexport interface InputProps\n  extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\">,\n    FieldVariantProps {}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n  ({ className, type = \"text\", variant, size, state, ...props }, ref) => {\n    return (\n      <input\n        type={type}\n        data-slot=\"input\"\n        className={cn(fieldVariants({ variant, size, state, className }))}\n        ref={ref}\n        {...props}\n      />\n    );\n  },\n);\nInput.displayName = \"Input\";\n\nexport { Input, fieldVariants };"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "outline"
        ],
        "sizes": [
          "sm",
          "default",
          "lg"
        ],
        "states": [
          "default",
          "error",
          "success"
        ]
      }
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "Translucent glass multiline input with chrome and outline variants.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/field-variants.ts",
          "type": "registry:ui",
          "target": "components/ui/field-variants.ts",
          "content": "import { cva, type VariantProps } from \"class-variance-authority\";\nimport { focusRing } from \"@intelli/utils\";\n\nconst fieldBase = [\n  \"w-full rounded-xl px-3 text-sm glass-chrome-text\",\n  \"placeholder:glass-chrome-text-muted\",\n  \"transition-[border-color,box-shadow,background] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-default)]\",\n  \"disabled:cursor-not-allowed disabled:opacity-50\",\n  \"file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n  focusRing,\n] as const;\n\nconst fieldVariantStyles = {\n  chrome: \"glass-field\",\n  outline: [\n    \"border border-[var(--glass-chrome-border)]\",\n    \"bg-[color-mix(in_oklch,var(--glass-surface-fill)_28%,transparent)]\",\n    \"backdrop-blur-[var(--glass-chrome-blur)]\",\n    \"shadow-[var(--glass-chrome-inset)]\",\n  ],\n} as const;\n\nconst fieldStateStyles = {\n  default: \"\",\n  error: \"border-destructive/60 ring-destructive/20 focus-visible:ring-destructive/40\",\n  success:\n    \"border-[color-mix(in_oklch,var(--primary)_50%,transparent)] ring-primary/20 focus-visible:ring-primary/40\",\n} as const;\n\nexport const fieldVariants = cva([...fieldBase], {\n  variants: {\n    variant: fieldVariantStyles,\n    size: {\n      sm: \"h-9 text-xs\",\n      default: \"h-10\",\n      lg: \"h-11 px-4 text-base\",\n    },\n    state: fieldStateStyles,\n  },\n  defaultVariants: {\n    variant: \"chrome\",\n    size: \"default\",\n    state: \"default\",\n  },\n});\n\nexport const textareaVariants = cva([...fieldBase], {\n  variants: {\n    variant: fieldVariantStyles,\n    size: {\n      sm: \"min-h-[72px] py-2 text-xs\",\n      default: \"min-h-[88px] py-2.5\",\n      lg: \"min-h-[104px] py-3 text-base\",\n    },\n    state: fieldStateStyles,\n  },\n  defaultVariants: {\n    variant: \"chrome\",\n    size: \"default\",\n    state: \"default\",\n  },\n});\n\nexport type FieldVariantProps = VariantProps<typeof fieldVariants>;\nexport type TextareaVariantProps = VariantProps<typeof textareaVariants>;"
        },
        {
          "path": "packages/ui/src/textarea.tsx",
          "type": "registry:ui",
          "target": "components/ui/textarea.tsx",
          "content": "\"use client\";\n\nimport { forwardRef, type TextareaHTMLAttributes } from \"react\";\nimport { cn } from \"@intelli/utils\";\nimport { textareaVariants, type TextareaVariantProps } from \"./field-variants\";\n\nexport interface TextareaProps\n  extends TextareaHTMLAttributes<HTMLTextAreaElement>,\n    TextareaVariantProps {}\n\nconst Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n  ({ className, variant, size, state, ...props }, ref) => {\n    return (\n      <textarea\n        data-slot=\"textarea\"\n        className={cn(textareaVariants({ variant, size, state, className }))}\n        ref={ref}\n        {...props}\n      />\n    );\n  },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea, textareaVariants };"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "outline"
        ],
        "sizes": [
          "sm",
          "default",
          "lg"
        ],
        "states": [
          "default",
          "error",
          "success"
        ]
      }
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "Highly transparent glass modal with frosted overlay, rise-in animation, and chrome close control.",
      "dependencies": [
        "@radix-ui/react-dialog",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/dialog.tsx",
          "content": "\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n  forwardRef,\n  type ComponentPropsWithoutRef,\n  type CSSProperties,\n  type ElementRef,\n  type HTMLAttributes,\n  type ReactNode,\n} from \"react\";\nimport { cn, focusRing } from \"@intelli/utils\";\n\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogPortal = DialogPrimitive.Portal;\nconst DialogClose = DialogPrimitive.Close;\n\nconst dialogOverlayVariants = cva(\n  [\n    \"fixed inset-0 z-[var(--z-modal)]\",\n    \"data-[state=open]:animate-fade-in\",\n    \"data-[state=closed]:opacity-0 data-[state=closed]:blur-sm\",\n    \"transition-[opacity,filter,backdrop-filter] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-default)]\",\n  ],\n  {\n    variants: {\n      blur: {\n        none: \"backdrop-blur-none\",\n        sm: \"backdrop-blur-sm\",\n        default: \"backdrop-blur-[var(--glass-chrome-blur)]\",\n        lg: \"backdrop-blur-lg\",\n        xl: \"backdrop-blur-xl\",\n        heavy: \"backdrop-blur-2xl\",\n      },\n      dim: {\n        none: \"bg-transparent\",\n        light: \"bg-[color-mix(in_oklch,black_12%,transparent)]\",\n        default: \"bg-[color-mix(in_oklch,black_22%,transparent)]\",\n        heavy: \"bg-[color-mix(in_oklch,black_45%,transparent)]\",\n      },\n    },\n    defaultVariants: {\n      blur: \"default\",\n      dim: \"default\",\n    },\n  },\n);\n\nexport type DialogOverlayBlur = NonNullable<\n  VariantProps<typeof dialogOverlayVariants>[\"blur\"]\n>;\nexport type DialogOverlayDim = NonNullable<\n  VariantProps<typeof dialogOverlayVariants>[\"dim\"]\n>;\n\nexport interface DialogOverlayProps\n  extends ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>,\n    VariantProps<typeof dialogOverlayVariants> {\n  blurAmount?: string;\n  dimAmount?: number;\n}\n\nfunction getOverlayStyle({\n  blurAmount,\n  dimAmount,\n  style,\n}: {\n  blurAmount?: string;\n  dimAmount?: number;\n  style?: CSSProperties;\n}): CSSProperties | undefined {\n  if (!blurAmount && dimAmount === undefined && !style) {\n    return undefined;\n  }\n\n  return {\n    ...(blurAmount\n      ? {\n          backdropFilter: `blur(${blurAmount}) saturate(var(--glass-saturation))`,\n          WebkitBackdropFilter: `blur(${blurAmount}) saturate(var(--glass-saturation))`,\n        }\n      : {}),\n    ...(dimAmount !== undefined\n      ? {\n          backgroundColor: `color-mix(in oklch, black ${dimAmount}%, transparent)`,\n        }\n      : {}),\n    ...style,\n  };\n}\n\nconst DialogOverlay = forwardRef<\n  ElementRef<typeof DialogPrimitive.Overlay>,\n  DialogOverlayProps\n>(\n  (\n    { className, blur, dim, blurAmount, dimAmount, style, ...props },\n    ref,\n  ) => (\n    <DialogPrimitive.Overlay\n      ref={ref}\n      data-slot=\"dialog-overlay\"\n      className={cn(\n        dialogOverlayVariants({\n          blur: blurAmount ? undefined : blur,\n          dim: dimAmount !== undefined ? undefined : dim,\n        }),\n        className,\n      )}\n      style={getOverlayStyle({ blurAmount, dimAmount, style })}\n      {...props}\n    />\n  ),\n);\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst dialogContentVariants = cva(\n  [\n    \"fixed left-1/2 top-1/2 z-[calc(var(--z-modal)+1)] grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 p-6\",\n    \"rounded-2xl text-foreground\",\n    \"data-[state=closed]:opacity-0 data-[state=closed]:scale-[0.97] data-[state=closed]:blur-sm\",\n    \"transition-[opacity,transform,filter] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-spring)]\",\n    \"focus:outline-none\",\n  ],\n  {\n    variants: {\n      variant: {\n        chrome: \"glass-dialog\",\n        elevated: \"glass-dialog-elevated\",\n      },\n      size: {\n        sm: \"max-w-sm\",\n        default: \"max-w-lg\",\n        lg: \"max-w-2xl\",\n        xl: \"max-w-4xl\",\n        full: \"max-w-[calc(100%-2rem)]\",\n      },\n      animated: {\n        true: \"data-[state=open]:animate-glass-rise\",\n        false: \"\",\n      },\n    },\n    defaultVariants: {\n      variant: \"chrome\",\n      size: \"default\",\n      animated: true,\n    },\n  },\n);\n\nexport interface DialogContentProps\n  extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content>,\n    VariantProps<typeof dialogContentVariants> {\n  showClose?: boolean;\n  overlayClassName?: string;\n  overlayBlur?: DialogOverlayBlur;\n  overlayDim?: DialogOverlayDim;\n  overlayBlurAmount?: string;\n  overlayDimAmount?: number;\n  closeClassName?: string;\n  closeIcon?: ReactNode;\n  closeLabel?: string;\n}\n\nfunction DialogCloseIcon() {\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      stroke=\"currentColor\"\n      strokeWidth=\"2\"\n      strokeLinecap=\"round\"\n      strokeLinejoin=\"round\"\n      aria-hidden=\"true\"\n    >\n      <path d=\"M18 6 6 18\" />\n      <path d=\"m6 6 12 12\" />\n    </svg>\n  );\n}\n\nconst DialogContent = forwardRef<\n  ElementRef<typeof DialogPrimitive.Content>,\n  DialogContentProps\n>(\n  (\n    {\n      className,\n      variant,\n      size,\n      animated,\n      children,\n      showClose = true,\n      overlayClassName,\n      overlayBlur,\n      overlayDim,\n      overlayBlurAmount,\n      overlayDimAmount,\n      closeClassName,\n      closeIcon,\n      closeLabel = \"Close\",\n      ...props\n    },\n    ref,\n  ) => (\n    <DialogPortal>\n      <DialogOverlay\n        blur={overlayBlur}\n        dim={overlayDim}\n        blurAmount={overlayBlurAmount}\n        dimAmount={overlayDimAmount}\n        className={overlayClassName}\n      />\n      <DialogPrimitive.Content\n        ref={ref}\n        data-slot=\"dialog-content\"\n        className={cn(dialogContentVariants({ variant, size, animated, className }))}\n        {...props}\n      >\n        {children}\n        {showClose && (\n          <DialogPrimitive.Close\n            data-slot=\"dialog-close\"\n            className={cn(\n              \"absolute right-4 top-4 inline-flex size-9 items-center justify-center rounded-full\",\n              \"glass-chrome glass-chrome-interactive glass-chrome-text\",\n              \"transition-[transform,box-shadow,background] duration-[var(--duration-normal)] [transition-timing-function:var(--ease-spring)]\",\n              \"[&_svg]:size-4\",\n              focusRing,\n              closeClassName,\n            )}\n            aria-label={closeLabel}\n          >\n            {closeIcon ?? <DialogCloseIcon />}\n          </DialogPrimitive.Close>\n        )}\n      </DialogPrimitive.Content>\n    </DialogPortal>\n  ),\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nexport type DialogHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nconst DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"dialog-header\"\n      className={cn(\"flex flex-col gap-1.5 pr-8 text-center sm:text-left\", className)}\n      {...props}\n    />\n  ),\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nexport type DialogFooterProps = HTMLAttributes<HTMLDivElement>;\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(\n  ({ className, ...props }, ref) => (\n    <div\n      ref={ref}\n      data-slot=\"dialog-footer\"\n      className={cn(\n        \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n        className,\n      )}\n      {...props}\n    />\n  ),\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nexport type DialogTitleProps = ComponentPropsWithoutRef<\n  typeof DialogPrimitive.Title\n>;\n\nconst DialogTitle = forwardRef<\n  ElementRef<typeof DialogPrimitive.Title>,\n  DialogTitleProps\n>(({ className, ...props }, ref) => (\n  <DialogPrimitive.Title\n    ref={ref}\n    data-slot=\"dialog-title\"\n    className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n    {...props}\n  />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nexport type DialogDescriptionProps = ComponentPropsWithoutRef<\n  typeof DialogPrimitive.Description\n>;\n\nconst DialogDescription = forwardRef<\n  ElementRef<typeof DialogPrimitive.Description>,\n  DialogDescriptionProps\n>(({ className, ...props }, ref) => (\n  <DialogPrimitive.Description\n    ref={ref}\n    data-slot=\"dialog-description\"\n    className={cn(\"text-sm text-muted-foreground\", className)}\n    {...props}\n  />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n  Dialog,\n  DialogPortal,\n  DialogOverlay,\n  DialogClose,\n  DialogTrigger,\n  DialogContent,\n  DialogHeader,\n  DialogFooter,\n  DialogTitle,\n  DialogDescription,\n  dialogContentVariants,\n  dialogOverlayVariants,\n};"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "elevated"
        ],
        "sizes": [
          "sm",
          "default",
          "lg",
          "xl",
          "full"
        ],
        "overlayBlur": [
          "none",
          "sm",
          "default",
          "lg",
          "xl",
          "heavy"
        ],
        "overlayDim": [
          "none",
          "light",
          "default",
          "heavy"
        ],
        "slots": [
          "overlayClassName",
          "closeClassName",
          "closeIcon",
          "closeLabel"
        ]
      }
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Glass-styled data table with chrome container and hover rows.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "packages/ui/src/table.tsx",
          "type": "registry:ui",
          "target": "components/ui/table.tsx",
          "content": "\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes, type TdHTMLAttributes } from \"react\";\nimport { cn } from \"@intelli/utils\";\n\nconst tableContainerVariants = cva(\"relative w-full overflow-auto\", {\n  variants: {\n    variant: {\n      chrome: \"glass-panel rounded-2xl\",\n      elevated: \"glass-header rounded-2xl\",\n      plain: \"\",\n    },\n    animated: {\n      true: \"animate-glass-rise\",\n      false: \"\",\n    },\n  },\n  defaultVariants: {\n    variant: \"chrome\",\n    animated: true,\n  },\n});\n\nconst tableDensityVariants = cva(\"\", {\n  variants: {\n    density: {\n      compact: \"[&_th]:h-9 [&_th]:px-3 [&_td]:px-3 [&_td]:py-2\",\n      default: \"\",\n      comfortable: \"[&_th]:h-12 [&_th]:px-5 [&_td]:px-5 [&_td]:py-4\",\n    },\n  },\n  defaultVariants: {\n    density: \"default\",\n  },\n});\n\nexport interface TableProps\n  extends HTMLAttributes<HTMLTableElement>,\n    VariantProps<typeof tableDensityVariants> {\n  containerClassName?: string;\n  containerVariant?: VariantProps<typeof tableContainerVariants>[\"variant\"];\n  animated?: boolean;\n}\n\nconst Table = forwardRef<HTMLTableElement, TableProps>(\n  (\n    {\n      className,\n      containerClassName,\n      containerVariant,\n      animated,\n      density,\n      ...props\n    },\n    ref,\n  ) => (\n    <div\n      data-slot=\"table-container\"\n      className={cn(\n        tableContainerVariants({ variant: containerVariant, animated }),\n        containerClassName,\n      )}\n    >\n      <table\n        ref={ref}\n        data-slot=\"table\"\n        className={cn(\n          \"w-full caption-bottom text-sm\",\n          tableDensityVariants({ density }),\n          className,\n        )}\n        {...props}\n      />\n    </div>\n  ),\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = forwardRef<\n  HTMLTableSectionElement,\n  HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n  <thead\n    ref={ref}\n    data-slot=\"table-header\"\n    className={cn(\n      \"[&_tr]:border-b [&_tr]:border-[color-mix(in_oklch,var(--glass-chrome-border)_55%,transparent)]\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableHeader.displayName = \"TableHeader\";\n\nexport interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n  animated?: boolean;\n}\n\nconst TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>(\n  ({ className, animated = true, ...props }, ref) => (\n    <tbody\n      ref={ref}\n      data-slot=\"table-body\"\n      className={cn(\n        \"[&_tr:last-child]:border-0\",\n        animated && \"glass-stagger-rows\",\n        className,\n      )}\n      {...props}\n    />\n  ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = forwardRef<\n  HTMLTableSectionElement,\n  HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n  <tfoot\n    ref={ref}\n    data-slot=\"table-footer\"\n    className={cn(\n      \"border-t border-[color-mix(in_oklch,var(--glass-chrome-border)_55%,transparent)]\",\n      \"bg-[color-mix(in_oklch,var(--glass-chrome-bg-env)_40%,transparent)]\",\n      \"font-medium [&>tr]:last:border-b-0\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = forwardRef<\n  HTMLTableRowElement,\n  HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n  <tr\n    ref={ref}\n    data-slot=\"table-row\"\n    className={cn(\n      \"border-b border-[color-mix(in_oklch,var(--glass-chrome-border)_35%,transparent)]\",\n      \"glass-row-hover\",\n      \"data-[state=selected]:bg-[color-mix(in_oklch,var(--glass-chrome-bg-env)_55%,transparent)]\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = forwardRef<\n  HTMLTableCellElement,\n  HTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n  <th\n    ref={ref}\n    data-slot=\"table-head\"\n    className={cn(\n      \"h-11 px-4 text-left align-middle text-xs font-semibold uppercase tracking-wide\",\n      \"glass-chrome-text-muted\",\n      \"[&:has([role=checkbox])]:pr-0\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = forwardRef<\n  HTMLTableCellElement,\n  TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n  <td\n    ref={ref}\n    data-slot=\"table-cell\"\n    className={cn(\n      \"px-4 py-3 align-middle glass-chrome-text\",\n      \"[&:has([role=checkbox])]:pr-0\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = forwardRef<\n  HTMLTableCaptionElement,\n  HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n  <caption\n    ref={ref}\n    data-slot=\"table-caption\"\n    className={cn(\n      \"mt-4 text-sm glass-chrome-text-muted animate-fade-in-up\",\n      className,\n    )}\n    {...props}\n  />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n  Table,\n  TableHeader,\n  TableBody,\n  TableFooter,\n  TableHead,\n  TableRow,\n  TableCell,\n  TableCaption,\n  tableContainerVariants,\n  tableDensityVariants,\n};"
        }
      ],
      "meta": {
        "variants": [
          "chrome",
          "elevated",
          "plain"
        ],
        "density": [
          "compact",
          "default",
          "comfortable"
        ],
        "slots": [
          "containerClassName"
        ]
      }
    },
    {
      "name": "utils",
      "type": "registry:lib",
      "title": "Utils",
      "description": "Utility functions for class name merging.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "files": [
        {
          "path": "packages/utils/src/cn.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts",
          "content": "import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs));\n}"
        },
        {
          "path": "packages/utils/src/focus-ring.ts",
          "type": "registry:lib",
          "target": "lib/focus-ring.ts",
          "content": "export const focusRing =\n  \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\";"
        }
      ]
    }
  ]
}
