npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ibexui

v4.0.0

Published

The main component package for IbexUI. It contains over 60 high-quality React components built on top of a modular design token system.

Readme

@ibexui/components

The main component package for IbexUI. It contains over 60 high-quality React components built on top of a modular design token system.

📦 Installation

pnpm add ibexui
# or
npm install ibexui

🚀 Usage

Wrap your application in the ConfigProvider to enable theming:

import { Button, ConfigProvider } from "ibexui";

function App() {
  return (
    <ConfigProvider>
      <Button type="primary">Hello IbexUI</Button>
    </ConfigProvider>
  );
}

🛠️ Components Included

The library is categorized into:

  • General: Button, Icon, Typography
  • Layout: Grid (Row/Col), Space, Layout
  • Navigation: Menu, Tabs, Breadcrumb, Pagination, Dropdown
  • Data Entry: Input, Select, Form, Checkbox, Radio, Switch, DatePicker
  • Data Display: Table, Card, List, Avatar, Badge, Tooltip, Popover
  • Feedback: Alert, Modal, Message, Notification, Drawer, Progress, Spin
  • Other: ConfigProvider, Watermark, Affix

🎨 Theming

IbexUI uses a token-based theming system. You can customize the theme globally or per-component.

<ConfigProvider
  theme={{
    token: {
      colorPrimary: "#1890ff",
      borderRadius: 4,
    },
    components: {
      Button: {
        fontWeight: 600,
      },
    },
  }}
>
  <App />
</ConfigProvider>

♿ Accessibility

All components are built with accessibility in mind, following WAI-ARIA best practices and ensuring full keyboard support.

📚 API Reference

IbexUI components follow a consistent design language. Below is the reference for core props.

General

Button

To trigger an operation.

| Property | Type | Default | Description | | --- | --- | --- | --- | | type | primary \| dashed \| link \| text \| default | default | Visual variant | | variant | solid \| outlined \| glass \| aurora \| neon \| glow \| 3d \| cyber \| prism \| velvet \| retro \| brutalist \| holographic \| shimmer \| neumorphic \| metallic \| matte \| glossy \| flat \| ghost \| subtle \| capsule \| floating \| sparkle \| border-animated \| social \| retro \| brutalist \| inverted \| duotone \| chrome | outlined | Premium variant style | | color | default \| primary \| success \| warning \| danger \| info | default | Semantic color | | size | xs \| sm \| md \| lg \| xl | md | Set the size of button | | shape | default \| circle \| round | default | Can be set to button shape | | icon | ReactNode | - | Set the icon component of button | | iconPosition | start \| end | start | Set the icon position of button | | iconOnly | boolean | false | Format button as a square for icon-only usage | | loading | boolean \| { delay: number } | false | Set the loading status of button | | disabled | boolean | false | Disabled state of button | | danger | boolean | false | Set the danger status of button | | block | boolean | false | Option to fit button width to its parent width (alternative to fullWidth) | | fullWidth | boolean | false | Option to fit button width to its parent width | | ghost | boolean | false | Make background transparent and invert text and border colors | | href | string | - | Redirect url of link button | | target | string | - | Same as html anchor target | | htmlType | submit \| reset \| button | button | Set the original html type of button | | as | ElementType | button | Polymorphic prop to render as a different element |

FloatButton

FloatButton component.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | FloatButtonVariant \| FloatButtonVariant[] | - | Behavior, position and shape variants | | icon | ReactNode | - | Set the icon component of button | | type | default \| primary \| danger \| success | default | Setting the type of button |

Typography

Basic text writing, including headings, paragraphs, lists.

| Property | Type | Default | Description | | --- | --- | --- | --- | | color | default \| primary \| secondary \| muted \| subtle \| success \| warning \| danger \| info | default | Set the color of typography | | size | xs \| sm \| md \| lg \| xl \| 2xl \| 3xl \| 4xl \| 5xl | md | Set the size of typography | | weight | thin \| light \| normal \| medium \| semibold \| bold \| extrabold \| black | normal | Set the font weight | | align | left \| center \| right \| justify | left | Set the text alignment | | transform | uppercase \| lowercase \| capitalize \| none | none | Set the text transformation | | strong | boolean | false | Bold style | | italic | boolean | false | Italic style | | underline | boolean | false | Underline style | | delete | boolean | false | Strikethrough style | | code | boolean | false | Code style | | truncate | boolean | false | Truncate text with ellipsis | | lineClamp | number | - | Max lines to display before truncating |

Layout

Layout

Handling the overall layout of a page.

| Property | Type | Default | Description | | --- | --- | --- | --- | | className | string | - | Container className | | style | CSSProperties | - | Container style | | hasSider | boolean | - | Whether the layout has a Sider (automatic detection doesn't always work) | | width | number \| string | 200 | Width of the Sider | | collapsedWidth | number \| string | 80 | Width of the Sider when collapsed | | collapsed | boolean | false | Whether the Sider is collapsed (controlled) | | onCollapse | function(collapsed, type) | - | Callback when the collapsed state changes |

Divider

A divider line separates different content.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | solid \| dashed \| dotted \| subtle \| strong | solid | Visual variant | | label | ReactNode | - | The label text | | labelPosition | left \| center \| right | center | The position of label |

Flex

Flex layout component.

| Property | Type | Default | Description | | --- | --- | --- | --- | | vertical | boolean | false | Whether to use vertical layout | | justify | string | start | CSS justify-content | | align | string | start | CSS align-items | | gap | number \| string | 0 | Gap between items |

Grid

Grid layout system with Row and Col supporting responsive design.

| Property | Type | Default | Description | | --- | --- | --- | --- | | gutter | number \| object \| [number, number] | 0 | Spacing between grids, can be set as [horizontal, vertical] or responsive object | | align | top \| middle \| bottom \| stretch | top | Vertical alignment of grid items | | justify | start \| end \| center \| space-around \| space-between \| space-evenly | start | Horizontal alignment of grid items | | span | number | - | The number of cells to occupy (for Col) | | offset | number | 0 | The number of cells to offset from the left (for Col) | | order | number | 0 | The order of grid item (for Col) | | flex | string \| number | - | Flex layout property (for Col) | | xs | sm | md | lg | xl | xxl | number \| object | - | Responsive span or settings for different screen sizes (for Col) |

Space

Set components spacing.

| Property | Type | Default | Description | | --- | --- | --- | --- | | direction | vertical \| horizontal | horizontal | The space direction | | size | small \| middle \| large \| number \| [number, number] | small | The space size | | align | start \| end \| center \| baseline | - | Align items | | wrap | boolean | false | Auto wrap line, when horizontal |

Navigation

Anchor

A production-grade, design-system-aligned navigation primitive for internal routing and external links.

| Property | Type | Default | Description | | --- | --- | --- | --- | | href | string | - | Destination URL | | as | ElementType | 'a' | Polymorphic prop (e.g. NextLink, react-router Link) | | variant | default \| subtle \| strong \| underline \| ghost \| danger | default | Visual styling variant | | size | xs \| sm \| md \| lg \| xl \| 2xl ... | md | Typography-aligned text size | | underline | always \| hover \| none | hover | Underline behavior | | external | boolean | false | Forces external link behavior (auto-detects 'http') | | disabled | boolean | false | Disables interaction and dims link | | iconLeft | ReactNode | - | Icon placed before the text | | iconRight | ReactNode | - | Icon placed after the text (overrides external icon) | | items | AnchorLink[] | - | Legacy Prop: Render Table of Contents (scroll-spy) |

Breadcrumb

A list of links that help users understand their current location.

| Property | Type | Default | Description | | --- | --- | --- | --- | | items | BreadcrumbItemProps[] | - | Breadcrumb items configuration array | | separator | ReactNode | '/' | Custom separator between breadcrumb items | | maxItems | number | - | Max items to display before truncating | | variant | default \| subtle \| strong \| minimal | default | Visual variant of the breadcrumb | | size | xs \| sm \| md \| lg \| xl | md | Size of the breadcrumb text and icons |

Dropdown

A dropdown menu for displaying actions and navigation links.

| Property | Type | Default | Description | | --- | --- | --- | --- | | items | DropdownItemType[] | [] | Menu items data array (alternative to JSX) | | trigger | ('click' \| 'hover')[] | ['click'] | The trigger mode which can trigger dropdown | | placement | bottomLeft \| bottomCenter \| bottomRight \| topLeft \| topCenter \| topRight | bottomLeft | The placement of the dropdown menu | | open | boolean | - | Whether the dropdown menu is currently open | | onOpenChange | function(open) | - | Callback when the open state changes | | closeOnSelect | boolean | true | Whether to close the dropdown when an item is clicked |

Menu

A list of navigation options.

| Property | Type | Default | Description | | --- | --- | --- | --- | | items | MenuItemType[] | [] | The menu items configuration | | variant | vertical \| horizontal \| compact \| minimal \| elevated | vertical | The visual and layout variant of the menu | | selectedKeys | string[] | [] | The selected menu items (controlled) | | defaultSelectedKeys | string[] | [] | The initially selected menu items (uncontrolled) | | onSelect | function({ key, keyPath, item, domEvent }) | - | Callback when a menu item is selected | | onClick | function({ key, keyPath, item, domEvent }) | - | Callback when a menu item is clicked | | mode | vertical \| horizontal \| inline | vertical | Menu mode (legacy) | | collapsed | boolean | false | Whether the menu is collapsed |

Pagination

A long list can be divided into several pages.

| Property | Type | Default | Description | | --- | --- | --- | --- | | current | number | - | Current page number (controlled) | | defaultCurrent | number | 1 | Default initial page number | | total | number | 0 | Total number of data items | | pageSize | number | 10 | Number of data items per page | | onChange | function(page, pageSize) | - | Callback when the page number or pageSize is changed | | variant | default \| compact \| simple \| advanced \| rounded | default | Visual variant | | size | small \| default | default | Specify the size of Pagination | | showSizeChanger | boolean | false | Determine whether pageSize can be changed | | showQuickJumper | boolean | false | Determine whether you can jump to pages directly |

Steps

Steps is a navigation bar that guides users through the steps of a task.

| Property | Type | Default | Description | | --- | --- | --- | --- | | current | number | 0 | To set the current step, counting from 0 | | status | wait \| process \| finish \| error | process | To specify the status of the current step | | direction | horizontal \| vertical | horizontal | To specify the direction of the step bar | | items | StepItem[] | [] | Step items configuration |

Tabs

Tabs make it easy to switch between different views.

| Property | Type | Default | Description | | --- | --- | --- | --- | | items | TabItem[] | [] | Tabs configuration array | | activeKey | string | - | Current TabPane's key (controlled) | | defaultActiveKey | string | - | Initial active TabPane's key, if activeKey is not provided | | onChange | function(key) | - | Callback executed when active tab item is changed | | variant | line \| solid \| enclosed \| pills \| minimal | line | Visual style of tabs | | size | small \| default \| large | default | Size of the tabs | | orientation | horizontal \| vertical | horizontal | Layout direction of tabs |

Data Entry

AutoComplete

Autocomplete function of input field.

| Property | Type | Default | Description | | --- | --- | --- | --- | | options | AutoCompleteOption[] | [] | Data source of autocomplete | | value | string | - | Current value |

Cascader

Cascade selection box.

| Property | Type | Default | Description | | --- | --- | --- | --- | | options | CascaderOption[] | [] | The data options of cascade | | value | (string \| number)[] | - | Selected value |

Checkbox

Checkbox component.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| subtle \| filled \| outline \| ghost | default | Visual variant | | checked | boolean | false | Specifies whether the checkbox is selected | | onChange | (e: CheckboxChangeEvent) => void | - | The callback function that is triggered when the state changes |

ColorPicker

To select or input a color.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| compact \| inline \| popup \| swatch-only | default | Visual variant | | value | string \| Color | - | Current value | | onChange | (value: Color, hex: string) => void | - | Callback when the color changes |

DatePicker

To select or input a date.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | single \| range \| multiple \| datetime \| time-only | single | The picker mode | | placeholder | string \| [string, string] | - | The placeholder of date input | | onChange | (date: Date \| Date[] \| null, dateString: string \| string[]) => void | - | Callback when the selected date changes |

Form

High-performance form component with data collection, validation, and layout.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| horizontal \| compact \| inline \| card \| wizard \| floating-label \| minimal \| bordered \| split \| responsive | default | Visual and layout variant | | initialValues | object | - | Initial values of the form | | onFinish | function(values) | - | Callback function when the form is submitted and validation passes | | layout | horizontal \| vertical | vertical | Form layout direction | | disabled | boolean | false | Whether to disable all form fields |

Input

A highly composable, production-grade text input supporting a wide variety of variants and addons.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| filled \| outlined \| ghost \| underline \| soft \| floating \| borderless \| accent \| danger \| success \| glass \| aurora \| neon \| glow \| 3d \| cyber \| prism \| velvet | default | Visual variant style of the input | | size | sm \| md \| lg | md | Size of the input | | status | error \| warning \| success | - | Set validation status | | allowClear | boolean | false | Allow clearing input content via an icon | | prefix | ReactNode | - | Addon before the input text | | suffix | ReactNode | - | Addon after the input text | | label | string | - | Used for floating label variant |

InputNumber

Enter a number within certain range with the mouse or keyboard.

| Property | Type | Default | Description | | --- | --- | --- | --- | | min | number | - | The minimum value | | max | number | - | The maximum value | | value | number | - | The current value |

Radio

Used to select a single value from multiple options.

| Property | Type | Default | Description | | --- | --- | --- | --- | | checked | boolean | false | Specifies whether the radio is selected (controlled) | | defaultChecked | boolean | false | Specifies whether the radio is selected initially (uncontrolled) | | onChange | function(e) | - | Callback executed when selection state is changed | | disabled | boolean | false | Disable the radio | | value | any | - | According to checkbox-group, it is the value for current radio |

Rate

Rate component.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| filled \| outline \| soft \| accent | default | Visual variant | | count | number | 5 | Star count | | value | number | - | Current value | | allowHalf | boolean | false | Whether to allow semi selection |

Select

Select component to select one or more values from options.

| Property | Type | Default | Description | | --- | --- | --- | --- | | options | SelectOption[] | [] | Select options | | value | any | - | Current value (controlled) | | defaultValue | any | - | Initial selected value | | onChange | function(value, option) | - | Callback when value changes | | placeholder | string | - | Placeholder text | | disabled | boolean | false | Whether the select is disabled | | loading | boolean | false | Whether the select is in loading state | | allowClear | boolean | false | Show clear button | | size | small \| middle \| large | middle | The size of the select | | mode | multiple \| tags | - | Set mode of Select |

Slider

A Slider component for displaying current value and hovering in range.

| Property | Type | Default | Description | | --- | --- | --- | --- | | min | number | 0 | The minimum value the slider can slide to | | max | number | 100 | The maximum value the slider can slide to | | step | number \| null | 1 | The granularity the slider can step through values |

Switch

A production-grade, accessible toggle control system.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| filled \| outline \| ghost \| soft \| inverted \| accent \| danger \| success \| minimal \| gradient | default | The visual style of the switch | | size | sm \| md \| lg | md | Size of the switch | | checked | boolean | false | Whether the switch is on (controlled) | | defaultChecked | boolean | false | Initial state of the switch (uncontrolled) | | loading | boolean | false | Shows a loading indicator and disables interaction | | disabled | boolean | false | Disables the switch | | label | ReactNode | - | Label for the switch | | labelPosition | left \| right | right | Position of the label | | confirm | (nextChecked: boolean) => boolean \| Promise<boolean> | - | Async confirmation handler (supports optimistic UI) | | helperText | ReactNode | - | Supporting text below the switch |

TimePicker

To select or input a time.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | single \| range \| 12h \| 24h \| with-seconds | single | The picker mode | | format | string | HH:mm:ss | To set the time format |

Transfer

Double column transfer choice box.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | basic \| dnd \| sortable \| multi-dnd \| grouped | basic | Behavior variant | | dataSource | TransferItem[] | [] | Used for setting the source data | | targetKeys | string[] | [] | A set of keys of items that are listed on the right column |

TreeSelect

Tree selection control.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | single \| multiple \| checkable \| searchable \| async | single | Behavior variant | | treeData | TreeNode[] | [] | The tree data |

Upload

Upload files by selecting or dragging.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | basic \| drag \| multiple \| picture \| avatar | basic | Upload behavior and visual variant | | action | string \| (file: RcFile) => Promise<string> | - | Uploading URL |

Data Display

Avatar

Avatars represent people or entities with images, initials, or icons.

| Property | Type | Default | Description | | --- | --- | --- | --- | | src | string | - | The address of the image of the avatar | | fallback | string | - | The name used for initials generation and background color hashing | | icon | ReactNode | - | Custom icon to display | | variant | default \| soft \| outlined \| filled \| gradient \| minimal \| inverted \| accent \| standard \| glass \| aurora \| neon \| glow \| 3d \| cyber \| prism \| velvet | default | Visual variant of the avatar | | size | xs \| sm \| md \| lg \| xl \| number | md | The size of the avatar | | shape | circle \| square \| rounded | circle | The shape of the avatar | | status | online \| offline \| away \| busy \| none | none | Status indicator |

Badge

Small numerical value or status descriptor for UI elements.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| solid \| outline \| soft \| subtle \| inverted \| accent \| danger \| success \| warning \| info \| dot \| count \| ribbon | default | Visual variant of the badge | | count | ReactNode | - | Number or content to show in badge | | dot | boolean | false | Whether to show a dot instead of a count | | status | success \| processing \| default \| error \| warning \| info | - | Set the status of the badge | | text | ReactNode | - | If status is set, text sets the display text of the status dot | | maxCount | number | 99 | Max count to display | | showZero | boolean | false | Whether to show the badge when count is 0 | | offset | [number \| string, number \| string] | - | Set offset of the badge dot, like [10, 20] | | size | small \| default \| large | default | Size of the dot |

Calendar

Container for displaying data in calendar form.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | month \| week \| day \| year \| range | month | The display mode of the calendar | | value | Date \| [Date, Date] | - | The current selected date | | defaultValue | Date \| [Date, Date] | - | The initial selected date | | onChange | (date: Date \| [Date, Date]) => void | - | Callback when the selected date changes | | fullscreen | boolean | true | Whether to display in full-screen |

Card

A card container for content.

| Property | Type | Default | Description | | --- | --- | --- | --- | | title | ReactNode | - | Card title | | extra | ReactNode | - | Content to render in the top-right corner of the card | | bordered | boolean | true | Whether to show a border | | loading | boolean | false | Whether the card is in loading state (shows skeleton) | | hoverable | boolean | false | Lift up when hovering over the card | | size | default \| small | default | Size of the card | | cover | ReactNode | - | Card cover image/content | | actions | ReactNode[] | - | The action list, rendered at the bottom of the card | | variant | default \| minimal \| glass \| aurora \| neon \| glow \| 3d \| cyber \| prism \| velvet | default | Visual variant style |

Collapse

A content area which can be collapsed and expanded.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | bordered \| ghost \| minimal \| inline \| compact | bordered | Visual variant | | items | CollapseItemProps[] | [] | Collapse items content | | accordion | boolean | false | If true, only one panel can be expanded at a time |

Descriptions

Display multiple read-only fields in groups.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| subtle \| minimal \| filled \| striped | default | Visual variant | | title | ReactNode | - | The title of the descriptions list | | bordered | boolean | false | Whether to display the border |

Image

Previewable image.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| responsive \| lazy \| progressive \| preview | default | Visual or behavior variant | | src | string | - | Image path | | width | string \| number | - | Image width | | height | string \| number | - | Image height |

List

A highly composable and performant list component for rendering collections of data.

| Property | Type | Default | Description | | --- | --- | --- | --- | | dataSource | T[] | [] | Data array to be rendered | | renderItem | (item: T, index: number) => ReactNode | - | Custom render function for each item | | header | ReactNode | - | List header | | footer | ReactNode | - | List footer | | bordered | boolean | false | Whether to show a border around the list | | itemLayout | 'horizontal' \| 'vertical' | 'horizontal' | The layout of the list items | | loading | boolean \| ReactNode | false | Loading state of the list | | size | 'small' \| 'default' \| 'large' | 'default' | The size of the list | | split | boolean | true | Whether to show a divider between items | | variant | 'default' \| 'minimal' \| 'striped' \| 'bordered' \| 'split' \| 'inline' | 'default' | Visual variant of the list | | grid | ListGridProps | - | Grid layout configuration | | infinite | boolean | false | Whether to enable infinite scroll | | onLoadMore | () => void | - | Callback function called when reaching the end of the list | | hasMore | boolean | false | Whether there is more data to load |

Popover

The floating card popped by clicking or hovering.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | click \| hover \| focus \| controlled \| nested | hover | Trigger variant | | content | ReactNode | - | Content of the card | | title | ReactNode | - | Title of the card |

Statistic

Display statistics.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| subtle \| bold \| minimal \| filled | default | Visual variant | | title | ReactNode | - | The title of the statistic | | value | string \| number | - | The value of the statistic |

Table

A table displays rows of data.

| Property | Type | Default | Description | | --- | --- | --- | --- | | dataSource | T[] | [] | Data array | | columns | ColumnType<T>[] | [] | Column definitions | | bordered | boolean | false | Show all borders | | pagination | boolean \| PaginationProps | true | Pagination config | | variant | TableVariant \| TableVariant[] | "default" | Visual or functional variants (e.g. striped, virtualized, tree, etc.) | | rowSelection | TableRowSelection<T> | - | Row selection config | | expandable | TableExpandable<T> | - | Expandable rows config | | scroll | { x?: string \| number \| true; y?: string \| number } | - | Whether the table can be scrolled | | virtual | boolean | false | Enable virtualization for large datasets |

Tag

Tag for categorizing or marking.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| solid \| outline \| soft \| subtle \| minimal \| inverted \| gradient \| accent \| neutral | default | Visual variant of the tag | | color | string | - | Color of the tag | | closable | boolean | false | Whether the tag can be closed | | selectable | boolean | false | Whether the tag can be selected | | selected | boolean | false | Whether the tag is selected (controlled) | | checkable | boolean | false | Whether to show a checkmark when selected | | icon | ReactNode | - | Icon to display before the label |

Timeline

Vertical display timeline.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| minimal \| outlined \| filled \| subtle | default | Visual variant | | items | TimelineItemProps[] | [] | Timeline items content |

Tooltip

A simple text popup tip.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | hover \| focus \| controlled \| manual \| delayed | hover | Trigger variant | | title | ReactNode | - | The text shown in the tooltip | | placement | top \| left \| right \| bottom \| ... | top | The position of the tooltip relative to the target |

Tree

A hierarchical list structure.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| compact \| spacious \| block \| inline | default | Visual variant | | treeData | TreeNode[] | [] | The tree data | | checkable | boolean | false | Whether to show a checkbox |

Feedback

Alert

A production-grade, accessible, and highly flexible feedback component for contextual messaging and status indication.

| Property | Type | Default | Description | | --- | --- | --- | --- | | type | info \| success \| warning \| error | info | Type of Alert which sets the status and default icon. | | variant | default \| filled \| outlined \| subtle \| minimal \| soft \| standard \| glass \| aurora \| neon \| glow \| 3d \| cyber \| prism \| velvet \| retro \| brutal \| mist | default | Visual style variant of the alert. | | layout | horizontal \| vertical | horizontal | Layout direction of the alert content. | | title | ReactNode | - | Title or short message of the alert. | | description | ReactNode | - | Detailed message or content of the alert. | | showIcon | boolean | true | Whether to show the status icon. | | closable | boolean | false | Whether the alert can be closed. | | onClose | function(e) | - | Callback when the alert is closed. | | action | ReactNode | - | Action element to display in the alert. | | banner | boolean | false | Whether to show as a banner (full width, no borders). | | icon | ReactNode | - | Custom icon to display. |

Drawer

A panel which slides in from the edge of the screen.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | persistent \| temporary \| push \| overlay \| nested | temporary | Drawer behavior variant | | title | ReactNode | - | The title for Drawer | | placement | top \| right \| bottom \| left | right | The placement of the Drawer | | open | boolean | false | Whether the Drawer is visible |

Message

Display lightweight global feedback messages.

| Property | Type | Default | Description | | --- | --- | --- | --- | | content | ReactNode | - | Content of the message. | | duration | number | 3 | Seconds before the message closes. Use 0 to keep it open. | | type | success \| info \| warning \| error \| loading | info | Visual feedback type for message.open. | | key | string \| number | - | Unique message key. |

Modal

Modal dialogs for user interaction and notifications.

| Property | Type | Default | Description | | --- | --- | --- | --- | | title | ReactNode | - | The title of the modal | | open | boolean | false | Whether the modal dialog is visible or not | | onOk | function(e) | - | Callback function when user clicks the OK button | | onCancel | function(e) | - | Callback function when user clicks the mask, the close button or Cancel button | | footer | ReactNode | (OK and Cancel buttons) | Footer content, set as footer={null} when you don't need default buttons | | width | string \| number | 520 | Width of the modal | | centered | boolean | false | Whether to center the modal vertically | | closable | boolean | true | Whether a close (x) button is visible on top right of the modal dialog or not | | maskClosable | boolean | true | Whether to close the modal dialog when the mask (area outside the modal) is clicked | | variant | default \| centered \| fullscreen \| drawer-left \| drawer-right | default | Layout and behavior variant |

Notification

Display a notification message globally.

| Property | Type | Default | Description | | --- | --- | --- | --- | | title | ReactNode | - | The title of the notification (message) | | description | ReactNode | - | The content of the notification | | duration | number | 4.5 | Time in seconds before notification is closed automatically. Use 0 to disable | | placement | topLeft \| topRight \| bottomLeft \| bottomRight | topRight | Position of notification | | icon | ReactNode | - | Customized icon | | onClose | function | - | Callback function when the notification is closed | | variant | default \| filled \| outlined \| subtle \| minimal | default | The visual variant of the notification |

Popconfirm

A simple confirmation box.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | click \| hover \| controlled \| async \| inline | click | Trigger and behavior variant | | title | ReactNode | - | The title of the confirmation box | | onConfirm | function(e) | - | A callback which will be called when a user clicks the confirm button |

Progress

Display the current progress of an operation flow.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| gradient \| striped \| subtle \| filled | default | Visual variant | | percent | number | 0 | The completion percentage | | status | success \| exception \| normal \| active | normal | The status of progress bar |

Result

Used to feedback on the results of operations.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| page \| inline \| card | default | Layout variant | | status | success \| error \| info \| warning \| 404 \| 403 \| 500 | info | Result status | | title | ReactNode | - | Result title |

Skeleton

Provide a placeholder while the content is loading.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| pulse \| wave \| gradient \| static \| inline \| block \| card \| list \| table | default | Animation and layout variant | | active | boolean | false | Show animation effect | | loading | boolean | true | Display skeleton when true |

Spin

A loading indicator.

| Property | Type | Default | Description | | --- | --- | --- | --- | | variant | default \| dots \| ring \| bars \| pulse \| inline \| overlay \| fullscreen \| centered \| persistent | default | Visual and functional variant | | spinning | boolean | true | Whether Spin is visible | | size | small \| default \| large | default | Size of Spin |

Other

Affix

Make an element stick to a viewport.

| Property | Type | Default | Description | | --- | --- | --- | --- | | offsetTop | number | 0 | Pixels to offset from top when calculating position of scroll | | offsetBottom | number | - | Pixels to offset from bottom when calculating position of scroll | | target | () => HTMLElement | () => window | Specifies the scrollable container of which the element will be fixed to | | onChange | function(affixed) | - | Callback when the state of fixed change | | variant | AffixVariant | - | Visual or behavioral variant (top, bottom, fixed, sticky, etc.) |

BackTop

A button for jumping to top of page.

| Property | Type | Default | Description | | --- | --- | --- | --- | | visibilityHeight | number | 400 | The button will not show until the scroll height reaches this value | | onClick | function | - | A callback function, which is executed when the button is clicked | | children | ReactNode | | Custom content of the BackTop button |

ConfigProvider

Provide global configuration for components.

| Property | Type | Default | Description | | --- | --- | --- | --- | | theme | ThemeConfig | - | Theme configuration including tokens and algorithms | | locale | string \| LocaleConfig | en-US | Language and localization settings | | direction | ltr \| rtl | ltr | Text direction | | density | compact \| default \| comfortable | default | Visual density of components | | prefixCls | string | ibex | Prefix for CSS classes |

Watermark

Security of data or anti-counterfeiting.

| Property | Type | Default | Description | | --- | --- | --- | --- | | content | string \| string[] | - | The watermark content | | rotate | number | -22 | The rotation angle |

📄 License

MIT