@xanui/ui
v1.2.24
Published
A modern, fully-typed React UI component library — 60+ components, an OKLCH-based theming engine via createTheme(), responsive props, and a flexible Tag primitive system. Built on @xanui/core
Maintainers
Readme
@xanui/ui Documentation
Component-by-component reference for @xanui/ui, a React 19 UI library built on @xanui/core.
Start here: Core Concepts — the shared Tag primitive, theming, color tokens, responsive breakpoint props, slotProps, skeleton loading, and transitions that every component below builds on.
Layout
Typography
Buttons & Actions
Forms & Inputs
- Input
- InputNumber
- PasswordInput
- Checkbox
- Radio
- Switch
- RangeSlider
- Select
- Option
- Autocomplete
- Calendar
- CalendarInput
- Form
Feedback & Status
Overlays
- Modal
- Drawer
- Menu
- Tooltip
- Portal
- ClickOutside
- Transition (internal — see note below)
Data Display
- Card
- Datatable
- DataFilter
- Table
- TableHead
- TableBody
- TableRow
- TableCell
- TableFooter
- TablePagination
- Avatar
- AvatarBox
- Chip
- Badge
Navigation
Media & File Handling
Utilities
- Scrollbar
- NoSSR
- useCorner
- useContextMenu
- useBlurCss (internal — see note below)
- useClickOutside (internal, currently unused — see note below)
Notes on the current source
A handful of things surfaced while writing these docs that are worth knowing before relying on them:
Collapseis exported asCollapsinsrc/index.tsx— almost certainly a typo, but it's the name you have to import today (import { Collaps as Collapse } from "@xanui/ui"). See Collapse.md.- Internal-only utilities:
useBlurCssanduseClickOutsideare not exported from the package root (src/index.tsx).useClickOutsideadditionally appears unused anywhere in the current source —ClickOutsidere-implements the same logic inline instead of calling it. Transition(src/Transition/) is a separate, parallel implementation of@xanui/core'sTransition, not a wrapper around it, and doesn't appear to be used by any other component in this package — everything else (Toast,Menu,Layer) importsTransitionfrom@xanui/coredirectly.- A few theme-registration keys have typos baked into the source (e.g.
Calendaris registered as"Calender",AvatarPickeras"AvaterPicker") — flagged in each affected doc since they're the actual keys needed to target those components via theme component-transforms.
These are documented as-is (matching current behavior) rather than "corrected," since fixing them is a source-code change outside the scope of this documentation pass.
