UI components
Every component re-exported from `@aeontel/ui`. Built on shadcn (base-nova preset) plus recharts and Sonner.
Every component re-exported from @aeontel/ui. Built on shadcn (base-nova preset) plus recharts and Sonner.
All
- AlertDialog — Blocking alert dialog with action + cancel buttons.
- Avatar — User avatar with image, fallback, badge, and grouped avatar stack.
- Badge — Compact status label with color + size variants.
- Breadcrumb — Navigation trail primitive with ellipsis + separators.
- Button — Primary button primitive with sized variants.
- Card — Card surface with header / content / footer slots.
- Chart — Low-level recharts container + themed tooltip / legend. Use ONLY when composing a custom chart with raw recharts primitives. For ordinary bar / line / area / pie / radar / radial charts, prefer the styled chart wrappers (
BarChart,LineChart, … — see theChartsfamily). Theirdata+xKey+seriesprop surface handles palette + legend + tooltip + container sizing for you in one component. - Charts — Styled chart wrappers — the default way to render data in an element. Each takes
data(array of rows),xKey(the field used as the x/category axis), andseries(one entry per bar / line / slice). Palette, legend, tooltip, container sizing all handled automatically. Do NOT nest recharts primitives (<Bar>,<XAxis>,<YAxis>,<CartesianGrid>) inside these wrappers — they're not recharts containers. If you need full control over recharts internals, drop down toChartContainerfrom theChartfamily + the recharts primitives directly. Single-series categorical charts (BarChart/PieChart/RadialChartwith one series) auto-cycle a palette per row; multi-series charts color per series. - Checkbox — Single checkbox input.
- Collapsible — Expand / collapse container with animated content.
- Command — Command palette primitives built on cmdk — list, item, group, dialog variant.
- Dialog — Modal dialog with trigger, header, body, footer slots.
- DropdownMenu — Dropdown menu with items, groups, submenus, and separators.
- Input — Single-line text input.
- Label — Form label tied to an input by
htmlFor. - Map — MapLibre GL primitives. Ships on the
@aeontel/ui/mapsubpath — heavy, lazy by design. Pair with@aeontel/ui/styles/mapfor popup overrides. - Popover — Floating popover anchored to a trigger.
- Recharts — Recharts primitives re-exported so component authors don't need recharts in their allowlist. Pass-through; see recharts docs. Note: chart-root components —
BarChart,LineChart,AreaChart,PieChart,RadarChart,RadialChart— are NOT in this family. Those names are exported by@aeontel/uifrom styled wrappers that take adata+xKey+seriesprop surface — see theChartfamily. Mixing the two APIs (importing the styledBarChartand nesting<Bar>/<XAxis>recharts JSX children inside it) crashes at render withundefined is not an object (evaluating 'series.length')because the styled wrapper requiresseries. - Select — Accessible select with trigger, content, grouped items.
- Separator — Horizontal / vertical line divider.
- Skeleton — Placeholder block that pulses while content loads.
- Switch — Toggle switch input.
- Table — Styled HTML table primitives.
- Tabs — Tabbed navigation with list, triggers, and content panels.
- Textarea — Multi-line text input.
- Toast — Toast notifications re-exported from sonner. See sonner docs for full API.
- Utilities — Utility helpers.
cnmerges Tailwind class strings with conflict resolution.