Aurora AI Panel
aurora-dinglebear-ai/aurora-ai-panelFreeBlock
Aurora-native AI panel with tone icon, title, actions, body, and footer slots.
Install it
npx shadcn@latest add https://aurora.dinglebear.ai/r/aurora-ai-panel.jsonSource
1"use client"23import * as React from "react"4import type { LucideIcon } from "lucide-react"5import { cn } from "@/lib/utils"67// ---------------------------------------------------------------------------8// Panel — generic AI-element card.9//10// Raised AI-element surface with a recessed strong border and an inset top11// highlight, a header row with an optional tone-tinted icon tile, a12// tone-colored uppercase eyebrow above a bold title, an actions slot on the13// trailing edge, body content, and an optional footer separated by a hairline14// rule. Tones map onto Aurora accents: cyan, rose, orange, and neutral.15//16// Architecture: standalone component + memo, superset of the original17// `title` + children API (both still render). The optional `icon` accepts a18// Lucide icon component or trusted React SVG element.19// ---------------------------------------------------------------------------2021type PanelTone = "cyan" | "rose" | "orange" | "neutral"22type PanelIcon = LucideIcon | React.ReactElement<React.SVGProps<SVGSVGElement>>2324const toneColor: Record<PanelTone, string> = {25 cyan: "var(--aurora-accent-primary)",26 rose: "var(--aurora-accent-pink)",27 orange: "var(--axon-orange)",28 neutral: "var(--aurora-text-muted)",29}3031// Styles: registry/aurora/styles/aurora-components.css (@layer aurora-components).3233export interface PanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {34 /** Tone-colored uppercase label above the title. */35 eyebrow?: React.ReactNode36 /** Panel title. */37 title?: React.ReactNode38 /** Accent family for the eyebrow + icon tile. Defaults to cyan. No violet. */39 tone?: PanelTone40 /** Lucide icon component or trusted SVG element. */41 icon?: PanelIcon42 /** Trailing-edge actions slot (buttons rendered with `.aurora-ael__btn`). */43 actions?: React.ReactNode44 /** Optional footer text, separated by a hair rule. */45 footer?: React.ReactNode46}4748const Panel = ({ ref, eyebrow, title, tone = "cyan", icon, actions, footer, className, children, style, ...props }: PanelProps & { ref?: React.Ref<HTMLDivElement> }) => {49 const hasHeader = Boolean(eyebrow || title || icon || actions)5051 return (52 <aside53 ref={ref}54 className={cn("aurora-ael", className)}55 style={{ ["--aurora-ael-tone" as string]: toneColor[tone], ...style }}56 {...props}57 >58 {hasHeader ? (59 <div className="aurora-ael__head">60 {icon ? (61// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from aurora
All 176 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Aurora AI Actionaurora-ai-action | aurora | Blocks | Free | 1 dep | |
| Aurora AI Actionsaurora-ai-actions | aurora | Blocks | Free | 1 dep | |
| Aurora AI Agentaurora-ai-agent | aurora | Blocks | Free | 1 dep | |
| Aurora AI Image Gridaurora-ai-ai-image-grid | aurora | Blocks | Free | 1 dep | |
| Aurora AI Attachmentsaurora-ai-attachments | aurora | Blocks | Free | 1 dep | |
| Aurora AI Audio Playeraurora-ai-audio-player | aurora | Blocks | Free | 1 dep | |
| Aurora AI Branchaurora-ai-branch | aurora | Blocks | Free | 1 dep | |
| Aurora AI Canvasaurora-ai-canvas | aurora | Blocks | Free | 1 dep |
