# oks-ui — full context > oks-ui is a strict-TypeScript React component library with a CSS-variable > design system. Zero runtime dependencies beyond React, no theme provider, no > configuration, accessible by default. MIT licensed and free. > > Homepage: https://www.oks-ui.com > Package: https://www.npmjs.com/package/oks-ui > License: MIT ## What it is oks-ui gives you ~65 ready-made React components (buttons, modals, drawers, forms, tables, charts, toasts, a command palette, a Kanban board, a block editor, and more) with a consistent design system driven entirely by CSS custom properties. Every color, space, radius, and shadow is an `--oks-*` variable, so theming needs no build step, no config object, and no React context. Design goals: - **Strict TypeScript.** Built with `noUncheckedIndexedAccess`, `exactOptionalPropertyTypes`, and the full strict suite. Props are stable and intentional. - **Zero runtime dependencies.** Nothing ships to your bundle except the components themselves; the only peers are `react` and `react-dom`. - **CSS-variable tokens.** Theme by overriding `--oks-*` properties from your own CSS. Semantic roles (`primary`, `secondary`, `success`, `warning`, `danger`, …) are aliases you can point at any palette. - **Accessible by default.** Keyboard navigation, `:focus-visible` rings, ARIA roles, and `prefers-reduced-motion` support are built into every component. - **Opt-in utilities.** A prefixed `.oks-*` utility layer is available as a separate CSS import for rapid prototyping alongside components. ## Install and use ```bash npm install oks-ui # or: pnpm add oks-ui / yarn add oks-ui ``` ```ts // Import the styles once, in your app entry or root layout: import "oks-ui/styles.css"; ``` ```tsx import { Button } from "oks-ui"; export function Example() { return ; } ``` No provider wrapper and no configuration are required. Components are named exports from the package root: `import { Button, Modal, Table, Chart } from "oks-ui"`. Per-component subpaths are also available if you only need one component and its CSS: `import { Button } from "oks-ui/button"; import "oks-ui/button.css";`. Style entry points: - `oks-ui/styles.css` — tokens + utilities + component styles (recommended). - `oks-ui/tokens.css` — just the `--oks-*` custom properties. - `oks-ui/utilities.css` — just the prefixed `.oks-*` utility classes. - `oks-ui/motion` — optional motion utilities. Per-component entry points (oks-ui 1.2+): import just what you use, each with its own stylesheet — `import { Button } from "oks-ui/button"` plus `import "oks-ui/button.css"`. Every component has one (`oks-ui/table`, `oks-ui/text-editor`, …); the `oks-ui` barrel keeps working. Requires React 18 or newer. Works with the Next.js App Router (mark files that render oks-ui components with `"use client"`; components carry no client markers of their own). ## Theming ```css :root { /* Override any token */ --oks-color-primary-500: #7c3aed; --oks-space-4: 18px; /* Point a semantic role at a built-in palette */ --oks-color-secondary-500: var(--oks-palette-slate-500); } ``` Dark mode is driven by a `data-theme="dark"` attribute on ``; token values respond to it automatically. Built-in palettes include slate, gray, zinc, neutral, stone, red, orange, amber, and more. ## Components (65) Each component has an interactive props playground at `https://www.oks-ui.com/components//`. ### Actions - **Button** (`/components/button`): A pressable element with variants, colors, sizes, loading state, and ripple feedback. - **ButtonGroup** (`/components/button-group`): Merges adjacent Buttons into a single control, sharing variant/color/size defaults. ### Feedback - **Alert** (`/components/alert`): Contextual feedback message with icon, title, description, and dismiss. - **Toast** (`/components/toast`): Provider-based toast notification system with a promise-aware API. - **Loader** (`/components/loader`): Loading spinner for indeterminate progress, with 7 built-in variants. - **Modal** (`/components/modal`): Dialog modal with focus trapping, keyboard dismissal, and safe stacking. ### Navigation - **Tabs** (`/components/tabs`): Tabbed content navigation with a composable, roving-tabindex API. - **Drawer** (`/components/drawer`): Slide-in panel from any edge of the viewport, built on the same overlay stack as Modal. - **Dropdown** (`/components/dropdown`): Menu dropdown with triggers, sections, submenus, and opt-in virtualization. - **SteppedForm** (`/components/stepped-form`): Multi-step form flow with progress tracking, built on FormFieldSet. - **Nav** (`/components/nav`): Multi-level navigation tree with collapsible groups, active-route styling, an accordion mode, and a collapsed icon rail. - **Breadcrumbs** (`/components/breadcrumbs`): Navigation trail with a chevron separator, collapse-to-ellipsis, and router-link polymorphism. - **Pagination** (`/components/pagination`): Windowed page-number control for a list or table footer, with a "Showing X–Y of Z" summary. - **SegmentedControl** (`/components/segmented-control`): Compact inline switch between a few mutually exclusive options, with an animated selection thumb. - **CommandPalette** (`/components/command-palette`): The Cmd+K overlay: a search box over a fuzzy-filtered, grouped list of actions and destinations, with full keyboard navigation and a useCommandPalette hotkey hook. ### Data Display - **Badge** (`/components/badge`): Notification badge with count, dot, and placement, plus a bump animation on change. - **Avatar** (`/components/avatar`): User avatar with group support, status indicator, and image-load fallback. - **Chip** (`/components/chip`): Compact tag or pill element, closable and selectable. - **Tooltip** (`/components/tooltip`): Hover/focus tooltip with positioning logic and touch-aware delays. - **Table** (`/components/table`): Config-driven data table with sorting, row selection, row expansion, a sticky header, and loading and empty states. - **EmptyState** (`/components/empty-state`): Centered placeholder for an empty or no-match list, with an icon, title, description, and actions. - **Progress** (`/components/progress`): Linear and circular progress indicators, determinate or indeterminate, with an optional value label. - **TreeView** (`/components/tree-view`): Hierarchy you can open, select and check, with check marks that roll up and children that load on demand. - **DiffView** (`/components/diff-view`): Compares two texts line by line, side by side or in one column, with changed words highlighted and long unchanged stretches folded. - **MediaLibrary** (`/components/media-library`): A grid of images and files to pick from, with search, type filters, one or many picks, load more and upload. - **Accordion** (`/components/accordion`): Collapsible sections with single-open or multiple modes, three visual variants, and animated open/close. ### Data Visualization - **Line Chart** (`/components/chart-line`): Chart type="line" -- ChartLineOptions: curve style and stroke width. - **Area Chart** (`/components/chart-area`): Chart type="area" -- a line chart with the area under it filled automatically. - **Bar Chart** (`/components/chart-bar`): Chart type="bar" -- ChartBarOptions: stacked series and corner radius. - **Column Chart** (`/components/chart-column`): Chart type="column" -- ChartColumnOptions: stacked series and corner radius. - **Pie Chart** (`/components/chart-pie`): Chart type="pie" -- ChartPieStyleOptions: slice border. Single series, one value per slice. - **Donut Chart** (`/components/chart-donut`): Chart type="donut" -- ChartPieStyleOptions: slice border and inner ratio. - **Heatmap Chart** (`/components/chart-heatmap`): Chart type="heatmap" -- ChartHeatmapOptions: series as rows, categories as columns, one hue scaled by opacity across the value domain. - **Sparkline Chart** (`/components/chart-sparkline`): Chart type="sparkline" -- a small trend with no axes, legend or frame, for a table cell or a stat card. - **Combo Chart** (`/components/chart-combo`): Chart type="combo" -- columns, lines and areas on one set of categories, with an optional second value axis on the right. - **Chart States** (`/components/chart-states`): isLoading/error/empty -- real, separate props that each replace the chart entirely, shared across every chart type. ### Layout & Display - **Divider** (`/components/divider`): Horizontal or vertical rule, with an optional inline label. - **Backdrop** (`/components/backdrop`): Overlay backdrop for modals, drawers, and menus, with blur and stacking support. - **PageTitle** (`/components/page-title`): Semantic page/section heading with an optional icon, subtitle, and tooltip. - **Card** (`/components/card`): Bordered, rounded, elevated surface container, with header, body, and footer regions. - **Stat** (`/components/stat`): KPI block with a label, value, trend delta pill, optional icon and sparkline, plus a responsive StatGroup. - **Timeline** (`/components/timeline`): Vertical activity feed with dot or icon markers on a connector rail. - **Calendar** (`/components/calendar`): Standalone month-grid view with single or range selection, min/max and per-day constraints, a renderDay slot for event markers, and full grid keyboard navigation. - **SplitLayout** (`/components/split-layout`): Resizable multi-pane frame for email 3-pane, master-detail, and split editors, with keyboard-resizable dividers and collapsible panes. - **Message** (`/components/message`): Chat message-thread primitives: a screen-reader-live MessageList and left/right-aligned Message bubbles with author, avatar, timestamp, delivery status, and continuation grouping. - **Board** (`/components/board`): Data-driven Kanban board with dependency-free pointer, touch, and keyboard drag-and-drop, column card limits, and live-region announcements. - **Skeleton** (`/components/skeleton`): Loading placeholder, as a shaped block or a wrapper that reveals its content once loaded. - **Sortable** (`/components/sortable`): Reorder a list, row or grid by pointer, touch or keyboard, with every step announced to screen readers. - **DropZone** (`/components/drop-zone`): Draggable items and drop areas that work with a pointer, a finger or the keyboard, and take files dropped from the computer. ### Forms - **Rating** (`/components/rating`): Star rating you can set or show: whole or half stars, your own icon, keyboard and touch, and a field in Form. - **ColorPicker** (`/components/color-picker`): Colour picker with a saturation area, hue and opacity sliders, hex, rgb or hsl text, swatches and an eye dropper, plus a ColorField for forms. - **CodeField** (`/components/code-field`): Text field for code and settings with highlighting, line numbers, Tab to indent and a live JSON check, with no dependencies. - **Text Field** (`/components/form-field-text`): FormFieldSet type="text" -- TextField, also covers number/url/search/color/email. - **Textarea Field** (`/components/form-field-textarea`): FormFieldSet type="textarea" -- multi-line text with a length counter. - **Select Field** (`/components/form-field-select`): FormFieldSet type="select" -- single/multi select with a custom popover or native mode. - **Password Field** (`/components/form-field-password`): FormFieldSet type="password" -- reveal toggle and strong-password requirements. - **OTP Field** (`/components/form-field-otp`): FormFieldSet type="otp" -- segmented or single-input one-time code entry. - **Phone Field** (`/components/form-field-phone`): FormFieldSet type="phone" -- phone number with a country calling-code selector. - **Range Field** (`/components/form-field-range`): FormFieldSet type="range" -- single or dual-thumb slider. - **File Field** (`/components/form-field-file`): FormFieldSet type="file" -- inline or dropzone file upload with previews. - **Switch Field** (`/components/form-field-switch`): FormFieldSet type="switch" -- toggle with optional on/off state text. - **Radio Group Field** (`/components/form-field-radio`): FormFieldSet type="radio" -- single-select radio group. - **Checkbox Group Field** (`/components/form-field-checkbox`): FormFieldSet type="checkbox" -- multi-select checkbox group. - **Date Picker Field** (`/components/form-field-datepicker`): FormFieldSet type="datepicker" -- single date or range, with time and presets. ### Editors - **TextEditor** (`/components/text-editor`): Block-based rich text editor (Notion-style) with 17 block types, slash-menu insertion, Markdown shortcuts, rich paste, and drag-and-drop reordering. ## Props reference Prop name, type, default, and a one-line description for each component. The full table for each is on its component page. ### Button (`/components/button`) - `children` (`ReactNode`): Button label/content. - `startContent` (`ReactNode`): Content rendered before the label. - `endContent` (`ReactNode`): Content rendered after the label. - `spinner` (`ReactNode`, default built-in spinner): Overrides the default loading spinner. - `spinnerPlacement` (`"start" | "end"`, default start): Where the loading spinner renders relative to the label. - `variant` (`"solid" | "soft" | "bordered" | "ghost" | "link"`, default solid): Visual style variant. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color. - `colorDepth` (`50 | 100 | ... | 950`, default 500): Shade depth for the selected color. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Button size. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default md): Border radius. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default none): Box-shadow depth. - `fullWidth` (`boolean`, default false): Expands to fill available horizontal space. - `isIconOnly` (`boolean`, default false): Renders a square icon button. - `as` (`ElementType`, default href ? "a" : "button"): Render as a different element or component. - `href` (`string`): Renders as an anchor when set. - `target` (`string`): Anchor target. - `rel` (`string`, default "noopener noreferrer" when target="_blank"): Anchor rel attribute. - `download` (`string | boolean`): Anchor download attribute. - `tooltip` (`ReactNode | boolean | (Omit & { content?: ReactNode })`): Wraps the button in the built-in Tooltip component when set. - `isDisabled` (`boolean`, default false): Disables the button; sets aria-disabled + tabIndex=-1 when rendered as an anchor. - `isLoading` (`boolean`, default false): Shows a spinner and sets aria-busy; stays focusable by design. - `disableRipple` (`boolean`, default false): Disables the click ripple effect. - `disableAnimation` (`boolean`, default false): Disables all transitions/animations, including the ripple. - `onPress / onPressStart / onPressEnd / onPressUp / onPressChange` (`(e) => void`): Press-style callbacks alongside native onClick. - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### ButtonGroup (`/components/button-group`) - `children` (`ReactNode`): Buttons rendered inside the group. - `variant` (`"solid" | "soft" | "bordered" | "ghost" | "link"`, default solid): Default variant for child Buttons that don't set their own. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Default color for child Buttons that don't set their own. - `colorDepth` (`50 | 100 | ... | 950`): Optional default depth, only applied when provided. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Default size for child Buttons that don't set their own. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default md): Default radius for child Buttons that don't set their own. - `fullWidth` (`boolean`, default false): Default fullWidth for child Buttons that don't set their own. - `isDisabled` (`boolean`, default false): Disables all child Buttons that don't set isDisabled explicitly. - `role` (`string`, default group): ARIA role for the group container. - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Alert (`/components/alert`) - `title` (`ReactNode`): Alert title. - `description` (`ReactNode`): Alert body content. - `icon` (`ReactNode`): Overrides the default color-derived status icon. - `startContent` (`ReactNode`): Content rendered before the title/description block. - `endContent` (`ReactNode`): Content rendered after the title/description block. - `actions` (`ReactNode`): Action buttons rendered below the description. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color, also picks the default status icon. - `variant` (`"solid" | "soft" | "bordered"`, default solid): Visual style variant. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default none): Box-shadow depth. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default md): Border radius. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Alert size. - `isVisible` (`boolean`): Controlled visibility; uncontrolled defaults visible. - `isClosable` (`boolean`, default false): Shows a close button. - `hideIcon` (`boolean`, default false): Hides the status icon entirely. - `hideIconWrapper` (`boolean`, default false): Hides the icon's background wrapper, keeping the icon itself. - `closeButtonProps` (`Omit, "type">`): Extra props forwarded to the close button. - `disableAnimation` (`boolean`, default false): Disables the enter/exit animation. - `onClose` (`() => void`): Called when the close button is pressed. - `onVisibleChange` (`(isVisible: boolean) => void`): Called whenever visibility changes. - `classNames` (`Partial>`): Per-slot class overrides. - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Toast (`/components/toast`) - `children` (`ReactNode`): Your app, rendered inside the provider. - `position` (`"top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right"`, default "bottom-right"): Where the toast region renders. - `maxToasts` (`number`, default 12): Total toasts kept in the queue (visible + pending). - `maxVisibleToasts` (`number`, default 3): Toasts shown at once before stacking/queuing. - `toastOffset` (`number`, default 0): Extra offset from the viewport edge. - `container` (`Element | DocumentFragment | null`): Custom portal mount target. - `defaultDuration` (`number`, default 6000): Auto-dismiss duration in ms, unless overridden per-toast or persistent. - `toastProps` (`ToastOptions`): Default options applied to every toast from this provider. - `motion` (`"auto" | "reduced" | "default"`, default "auto"): Animation mode; "auto" respects prefers-reduced-motion. - `disableAnimation` (`boolean`, default false): Disables all toast animation. - `regionProps` (`ToastRegionProps`): Extra props for the toast region container. - `className` (`string`): Class applied to the toast region. - `style` (`CSSProperties`): Inline styles for the toast region. - `title` (`ReactNode`): Toast title. - `description / message` (`ReactNode`): Toast body content. - `icon` (`ReactNode`): Overrides the default type-derived icon. - `showIcon / hideIcon` (`boolean`, default shown): Show or hide the icon slot; hideIcon wins when both are set. - `loadingComponent` (`ReactNode`): Shown in the icon slot while type is "loading" (for example during a promise toast), instead of the status icon. - `endContent` (`ReactNode`): Content rendered at the end of the toast. - `action` (`{ label: string; onClick?: () => void }`): An inline action button. - `type` (`"default" | "info" | "success" | "warning" | "error" | "loading"`, default derived from color, else "default"): Semantic type, also picks the default icon. - `color` (`ToastColor`): Semantic color. - `variant` (`"solid" | "soft" | "flat" | "bordered"`, default "flat"): Visual style variant. - `radius` (`OksRadius`, default "md"): Border radius. - `size` (`OksSize`, default "md"): Toast size. - `position` (`ToastPosition`, default provider's position): Per-toast position override. - `duration` (`number | null`, default 6000): Auto-dismiss duration in ms; null disables auto-dismiss. - `persistent` (`boolean`, default false): Never auto-dismisses. - `showDurationBar` (`boolean`, default false): Shows a countdown progress bar. - `dismissible` (`boolean`, default true): Shows a close button. - `promise` (`Promise`): Drives the promise-aware loading/success/error flow. - `onDismiss` (`(id: ToastId) => void`): Called when the toast is dismissed. - `closeIcon` (`ReactNode`): Overrides the default close icon. - `classNames` (`ToastClassNames`): Per-slot class overrides. - `className` (`string`): Class applied to this toast's root element. ### Loader (`/components/loader`) - `label` (`string`, default "Loading"): Accessible label (used with role="status"). - `variant` (`"ring-inset" | "ring-clip" | "ring-outset" | "ring-dual" | "pulse" | "dots-roll" | "dots-sweep"`, default ring-inset): Visual spinner style. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl" | number`, default "md" (40px)): Loader size; accepts a size token or a raw pixel number. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "white"`): Shorthand that sets both trackColor and indicatorColor. - `trackColor` (`LoaderColor`, default color ?? "white"): Color of the loader's background track. - `indicatorColor` (`LoaderColor`, default color ?? "default"): Color of the loader's moving indicator. - `speed` (`string`, default "1s"): Animation duration, any valid CSS time value. - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Modal (`/components/modal`) - `title` (`ReactNode`): Header title. - `children` (`ReactNode`): Body content. - `actions` (`ReactNode`): Footer action buttons. - `size` (`"xs" | "sm" | "md" | "lg" | "xl" | "full" | string | number`, default md): Modal width. - `blur` (`boolean | "sm" | "md" | "lg" | number`): Backdrop blur amount. - `backgroundOpacity` (`number`): Backdrop opacity (0-100). - `portal` (`boolean`, default true): Renders through a React portal. - `container` (`Element | DocumentFragment | null`): Custom portal mount target. - `zIndex` (`number`): Explicit stacking z-index; auto-computed when unset. - `isOpen` (`boolean`): Controls whether the modal is open (required). - `role` (`"dialog" | "alertdialog"`, default dialog): ARIA role. - `dismissible` (`boolean`, default true): Shows a close button in the header. - `closeLabel` (`string`, default "Close modal"): Accessible label for the close button. - `closeOnOutsideClick` (`boolean`, default true): Closes on backdrop click. - `closeOnEscape` (`boolean`, default true): Closes on Escape. - `initialFocusRef` (`RefObject`): Element to focus when the modal opens. - `animationDuration` (`number`): Enter/exit animation duration in seconds. - `animationType` (`"fade" | "zoom" | "slideUp" | "slideDown" | "slideLeft" | "slideRight"`): Backdrop entrance/exit animation. - `easing` (`"ease" | "easeIn" | "easeOut" | "easeInOut"`): Animation easing curve. - `onClose` (`() => void`): Called to close the modal (required). - `backdrop` (`Partial`): Extra props forwarded to the underlying Backdrop. - `headers` (`Partial`): Extra props forwarded to the header's PageTitle. - `divider` (`Partial`): Extra props for the header/body divider. - `classNames` (`Partial>`): Per-slot class overrides (base/header/headerTitle/body/footer/closeButton). - `className` (`string`): Class applied to the root modal element. - `style` (`CSSProperties`): Inline styles for the root element. ### Tabs (`/components/tabs`) - `children` (`ReactNode | ((item: T) => ReactElement)`): Declarative children, or a render function with items. - `items` (`Iterable`): Dynamic items, used with a render-function children. - `variant` (`"solid" | "bordered" | "light" | "underlined"`, default solid): Visual style variant. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Tab list size. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default full): Border radius. - `fullWidth` (`boolean`, default false): Stretches tabs to fill the available width. - `placement` (`"top" | "bottom" | "start" | "end"`, default top): Tab list position relative to panels. - `isVertical` (`boolean`, default false): Renders a vertical tab list. - `disabledKeys` (`Key[]`): Keys of tabs to disable. - `selectedKey` (`Key`): Controlled selected tab key. - `defaultSelectedKey` (`Key`): Uncontrolled initial selected tab key. - `shouldSelectOnPressUp` (`boolean`, default true): Selects on pointer-up rather than pointer-down. - `keyboardActivation` (`"automatic" | "manual"`, default automatic): Whether arrow-key focus also selects, or only Enter/Space does. - `isDisabled` (`boolean`, default false): Disables the whole tab list. - `destroyInactiveTabPanel` (`boolean`, default false): Unmounts inactive panels instead of hiding them. - `disableCursorAnimation` (`boolean`, default false): Disables the sliding active-tab cursor animation. - `disableAnimation` (`boolean`, default false): Disables all animation, including the cursor. - `onSelectionChange` (`(key: Key) => void`): Called when the selected tab changes. - `classNames` (`TabsClassNames`): Per-slot class overrides (base/tabList/tab/tabContent/cursor/panel/tabWrapper). - `className` (`string`): Class applied to the root element. - `title` (`ReactNode`): Tab label (required). - `titleValue` (`string`): Plain-text override of title, used for accessible naming when title is a node. - `children` (`ReactNode`): Panel content for this tab. - `href / target / rel / download / ping / referrerPolicy` (`string`): Renders the tab as a link when href is set. - `isDisabled` (`boolean`, default false): Disables this specific tab. - `shouldSelectOnPressUp` (`boolean`): Per-tab override of the Tabs-level setting. ### Drawer (`/components/drawer`) - `title` (`ReactNode`): Header title. - `children` (`ReactNode`): Body content. - `actions` (`ReactNode`): Footer action buttons. - `blur` (`boolean | "sm" | "md" | "lg" | number`): Backdrop blur amount. - `backgroundOpacity` (`number`): Backdrop opacity (0-100). - `position` (`"left" | "right" | "top" | "bottom"`, default right): Edge the drawer slides in from. - `width` (`"xs" | "sm" | "md" | "lg" | "xl" | "full" | string | number`, default "420px"): Panel width, for left/right positions. - `height` (`"xs" | "sm" | "md" | "lg" | "xl" | "full" | string | number`, default "360px"): Panel height, for top/bottom positions. - `portal` (`boolean`, default true): Renders through a React portal. - `container` (`Element | DocumentFragment | null`): Custom portal mount target. - `zIndex` (`number`): Explicit stacking z-index; auto-computed when unset. - `isOpen` (`boolean`): Controls whether the drawer is open (required). - `ariaLabel` (`string`, default "Drawer"): Accessible name for the drawer region. - `dismissible` (`boolean`, default true): Shows a close button in the header. - `closeLabel` (`string`, default "Close drawer"): Accessible label for the close button. - `closeOnOutsideClick` (`boolean`, default true): Closes on backdrop click. - `closeOnEscape` (`boolean`, default true): Closes on Escape. - `initialFocusRef` (`RefObject`): Element to focus when the drawer opens. - `animationDuration` (`number`): Enter/exit animation duration in seconds. - `easing` (`"ease" | "easeIn" | "easeOut" | "easeInOut"`): Animation easing curve. - `onClose` (`() => void`): Called to close the drawer (required). - `backdrop` (`Partial`): Extra props forwarded to the underlying Backdrop. - `headers` (`Partial`): Extra props forwarded to the header's PageTitle. - `divider` (`Partial`): Extra props for the header/body divider. - `classNames` (`Partial>`): Per-slot class overrides (base/header/headerTitle/body/footer/closeButton). - `className` (`string`): Class applied to the root drawer element. - `style` (`CSSProperties`): Inline styles for the root element. ### Dropdown (`/components/dropdown`) - `children` (`ReactNode`): A DropdownTrigger and a DropdownMenu. - `placement` (`"bottom-start" | "bottom-end" | "top-start" | ... (12-way)`, default "bottom-start"): Menu position relative to the trigger. - `offset` (`number`, default 8): Distance from the trigger. - `containerPadding` (`number`, default 8): Minimum distance kept from the viewport edge. - `shouldFlip` (`boolean`, default true): Flips placement to stay in the viewport. - `portalContainer` (`Element | DocumentFragment | null`): Custom portal mount target. - `isOpen` (`boolean`): Controlled open state. - `defaultOpen` (`boolean`, default false): Uncontrolled initial open state. - `isDismissable` (`boolean`, default true): Allows dismissing via outside click/Escape. - `isKeyboardDismissDisabled` (`boolean`, default false): Disables closing via Escape. - `shouldCloseOnInteractOutside` (`(target: Element) => boolean`): Custom predicate for outside-interaction dismissal. - `closeOnSelect` (`boolean`, default true): Closes the menu after an item is selected. - `onOpenChange` (`(isOpen: boolean) => void`): Called when open state changes. - `classNames` (`Partial>`): Per-slot class overrides. - `className` (`string`): Class applied to the root. - `style` (`CSSProperties`): Inline styles for the root. - `children` (`ReactElement`): The single element that opens the menu on press (required). - `children` (`ReactNode | ((item: T) => ReactElement)`): Declarative DropdownItem/DropdownSection children, or a render function with items. - `items` (`Iterable`): Dynamic items, used with a render-function children. - `topContent / bottomContent` (`ReactNode`): Content rendered above/below the item list. - `emptyContent` (`ReactNode`, default "No items."): Shown when there are no items. - `variant` (`"solid" | "bordered" | "light" | "flat" | "faded" | "shadow"`, default solid): Visual style variant. - `color` (`DropdownColor`, default default): Semantic color. - `hideSelectedIcon` (`boolean`, default false): Hides the selected-item checkmark. - `selectionMode` (`"none" | "single" | "multiple"`, default none): Item selection behavior. - `selectedKeys` (`"all" | Iterable`): Controlled selected keys. - `defaultSelectedKeys` (`"all" | Iterable`): Uncontrolled initial selected keys. - `disabledKeys` (`Iterable`): Keys of items to disable. - `disallowEmptySelection` (`boolean`, default false): Prevents deselecting the last selected item. - `autoFocus` (`boolean | "first" | "last"`, default false): Focuses an item automatically when the menu opens. - `hideEmptyContent` (`boolean`, default false): Hides the empty-state content entirely. - `shouldFocusWrap` (`boolean`, default false): Wraps keyboard focus from the last item to the first. - `closeOnSelect` (`boolean`, default parent Dropdown's value): Per-menu override of the root's closeOnSelect. - `virtualization` (`{ itemHeight: number; overscan?: number }`): Enables fixed-height virtualized rendering for long lists. - `disableAnimation` (`boolean`, default false): Disables the menu's open animation. - `onAction` (`(key: Key) => void`): Called when an item is activated. - `onSelectionChange` (`(keys) => void`): Called when selection changes. - `onClose` (`() => void`): Called when the menu requests to close. - `classNames` (`DropdownMenuClassNames`): Per-slot class overrides (base/list/emptyContent). - `itemClasses` (`Partial>`): Per-slot class overrides applied to every item. - `children / title` (`ReactNode`): Item label. - `textValue` (`string`): Plain-text override for typeahead/accessible naming. - `description` (`ReactNode`): Secondary text below the label. - `shortcut` (`ReactNode`): Keyboard shortcut hint. - `startContent / endContent` (`ReactNode`): Content rendered before/after the label. - `selectedIcon` (`ReactNode`): Overrides the default selected checkmark. - `submenuPlacement` (`DropdownPlacement`, default "right-start"): Position of a nested DropdownMenu, when this item has one. - `showDivider` (`boolean`, default false): Shows a divider below this item. - `href / target / rel / download / ping / referrerPolicy` (`string`): Renders the item as a link when href is set. - `isDisabled` (`boolean`, default false): Disables this item. - `isReadOnly` (`boolean`, default false): Not selectable, but not visually disabled. - `isSelected` (`boolean`): Marks this item as selected. - `closeOnSelect` (`boolean`): Per-item override of the menu's closeOnSelect. - `itemKey` (`Key`): Explicit key, when not using items+render-function. - `onAction / onClose / onClick / onPress / onPressStart / onPressEnd / onPressChange / onPressUp / onKeyDown / onKeyUp` (`callback`): Interaction callbacks. ### SteppedForm (`/components/stepped-form`) - `steps` (`SteppedFormStep[]`): Ordered step definitions: { key, title, description?, fields?, content, isOptional? - `backLabel / nextLabel / submitLabel` (`ReactNode`, default "Back" / "Next" / "Submit"): Footer action button labels. - `headerVariant` (`"dots" | "progress" | "tabs" | "none"`, default "dots"): Built-in step-header style. - `initialStep` (`number`, default 0): Uncontrolled initial step index. - `stepIndex` (`number`): Controlled current step index. - `disableHeaderNavigation` (`boolean`, default false): Prevents jumping steps by clicking the header. - `renderHeader` (`(args) => ReactNode`): Fully custom header renderer, replacing headerVariant. - `renderStepHeaderItem` (`(args) => ReactNode`): Custom renderer for a single step-header item. - `validationMode / showErrorsOn / initialValues / ...` (`see Form props`, default see Form): All other Form props are inherited (steps replaces children). - `onStepChange` (`(nextIndex: number) => void`): Called when the active step changes. - `onSubmit` (`(formData: FormData) => void | Promise`): Inherited from Form — called on final-step submit (required). - `classNames` (`Partial>`): Per-slot class overrides (11 slots: base/header/steps/stepButton/stepDot/stepLabel/stepDescription/progress/progressTrack/progressIndicator/content/footer/ac... - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Badge (`/components/badge`) - `children` (`ReactNode`): Element the badge is anchored to. - `content` (`string | number | ReactNode`): Badge content; omit with isDot for a plain dot. - `max` (`number`): Caps a numeric content at max+ (e.g. - `variant` (`"solid" | "soft" | "bordered"`, default solid): Visual style variant. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default none): Box-shadow depth. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Badge size. - `shape` (`"circle" | "rectangle"`, default rectangle): Badge shape. - `isOneChar` (`boolean`, default false): Forces a perfectly circular badge sized for one character. - `placement` (`"top-start" | "top-end" | "bottom-start" | "bottom-end" | ...`, default "top-end"): Corner the badge anchors to, relative to children. - `offset` (`number`, default 0): Extra offset along the placement's main axis. - `crossOffset` (`number`, default 0): Extra offset along the placement's cross axis. - `showOutline` (`boolean`, default true): Shows a ring around the badge separating it from its content. - `disableOutline` (`boolean`, default false): Alias to force-disable the outline. - `isInvisible` (`boolean`, default false): Hides the badge without unmounting it. - `isDot` (`boolean`, default false): Renders a plain status dot instead of content. - `ariaLabel` (`string`): Accessible label for the badge indicator. - `disableAnimation` (`boolean`, default false): Disables the bump animation on content change. - `classNames` (`Partial>`): Per-slot class overrides. - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Avatar (`/components/avatar`) - `name` (`string`): Used to derive fallback initials. - `src` (`string`): Image source URL. - `icon` (`ReactNode`): Custom fallback icon, used when name/initials aren't available. - `fallback` (`ReactNode`): Fully custom fallback content, overrides icon/initials. - `showFallback` (`boolean`, default false): Forces the fallback (initials/icon) even while an image is loading. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl" | number`, default md): Token size, or a number for an exact px size (font-size scales ~0.4x; the status Badge maps to the nearest token bucket). - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color for the fallback background. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default full): Border radius. - `colorDepth` (`50 | 100 | ... | 950`, default 500): Shade depth for the selected color. - `isBordered` (`boolean`, default false): Adds a ring border around the avatar. - `isDisabled` (`boolean`, default false): Dims the avatar and disables interaction. - `isFocusable` (`boolean`, default false): Makes the avatar keyboard-focusable. - `tooltip` (`ReactNode | boolean | (Omit & { content?: ReactNode })`, default false): Wraps the avatar in a Tooltip. - `status` (`"online" | "offline" | "dnd"`): Status dot indicator. - `ImgComponent` (`ElementType`, default "img"): Renders the image through a different component (e.g. - `imgProps` (`ComponentPropsWithoutRef`): Extra props forwarded to the image element/component. - `classNames` (`Partial>`): Per-slot class overrides (base/img/fallback/name/icon/status). - `className` (`string`): Class applied to the root element. - `AvatarGroup` (`{ max?, total?, size?, color?, radius?, isGrid?, isDisabled?, isBordered?, overlap?, renderCount?, classNames? }`): Stacks Avatar children and collapses whatever's past max (default 5) into a "+N" -- pass total instead of relying on children.length if you're not rendering ... ### Chip (`/components/chip`) - `children` (`ReactNode`): Chip label content. - `avatar` (`ReactNode`): Avatar rendered at the start of the chip. - `startContent` (`ReactNode`): Content rendered before the label. - `endContent` (`ReactNode`): Content rendered after the label, before the close button. - `closeIcon` (`ReactNode`): Overrides the default × close icon. - `variant` (`"solid" | "soft" | "bordered" | "dot"`, default solid): Visual style variant. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default none): Box-shadow depth. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Chip size. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default full): Border radius. - `colorDepth` (`50 | 100 | ... | 950`, default 500): Shade depth for the selected color. - `isDisabled` (`boolean`, default false): Disables interaction. - `selected` (`boolean`): Controlled selected state; renders as a toggleable role="button" chip. - `defaultSelected` (`boolean`): Uncontrolled initial selected state. - `onClose` (`(e: PressEvent) => void`): Shows a close button and is called when it's pressed. - `onSelectedChange` (`(selected: boolean) => void`): Called when selected state changes. - `classNames` (`Partial>`): Per-slot class overrides (base/content/dot/avatar/closeButton/endContent). - `className` (`string`): Class applied to the root element. - `style` (`CSSProperties`): Inline styles for the root element. ### Tooltip (`/components/tooltip`) - `children` (`ReactNode`): The trigger element the tooltip attaches to. - `content` (`ReactNode`): Tooltip content. - `size` (`"xs" | "xs-sm" | "sm" | "md" | "lg" | "xl"`, default md): Tooltip size. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Semantic color. - `colorDepth` (`number`, default 100): Shade depth for the selected color. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default md): Border radius. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default sm): Box-shadow depth. - `showArrow` (`boolean`, default false): Shows a pointing arrow. - `triggerScaleOnOpen` (`boolean`, default false): Slightly scales the trigger while the tooltip is open. - `placement` (`"top" | "bottom" | "left" | "right" | ... (12-way)`, default top): Position relative to the trigger. - `offset` (`number`, default 7): Distance from the trigger. - `containerPadding` (`number`, default 12): Minimum distance kept from the viewport edge. - `crossOffset` (`number`, default 0): Offset along the cross axis. - `shouldFlip` (`boolean`, default true): Flips placement to stay in the viewport. - `portalContainer` (`Element | DocumentFragment | null`): Custom portal mount target. - `updatePositionDeps` (`unknown[]`): Extra dependencies that make the tooltip re-measure its position, for example when its content changes size while open. - `delay` (`number`, default 0): Open delay in ms. - `closeDelay` (`number`, default 500): Close delay in ms (also floors touch-triggered opens). - `isOpen` (`boolean`): Controlled open state. - `defaultOpen` (`boolean`, default false): Uncontrolled initial open state. - `isKeyboardDismissDisabled` (`boolean`, default false): Disables closing via Escape. - `isDismissable` (`boolean`, default false): Allows dismissing an isOpen-controlled tooltip via outside click/Escape. - `shouldCloseOnBlur` (`boolean`, default true): Closes when the trigger loses focus. - `shouldCloseOnInteractOutside` (`(element: HTMLElement) => boolean`): Custom predicate for outside-interaction dismissal. - `isDisabled` (`boolean`, default false): Disables the tooltip entirely. - `disableAnimation` (`boolean`, default false): Disables the enter/exit animation. - `onOpenChange` (`(isOpen: boolean) => void`): Called when open state changes. - `onClose` (`() => void`): Called when the tooltip closes. - `className` (`string`): Class applied to the tooltip content. - `classNames` (`{ base?; content?; arrow? }`): Per-slot class overrides. ### Line Chart (`/components/chart-line`) - `data` (`Row[] | { categories, series }`): Row-based data array, or explicit categories/series (required). - `x` (`keyof Row | ((row: Row) => ChartCategory)`): Category accessor, row-mode only. - `series` (`ChartSeriesDef | ChartSeriesDef[]`): Series accessor(s), row-mode only. - `title / description` (`ReactNode`): Chart heading text. - `ariaLabel` (`string`): Accessible label for the chart. - `dataFormat` (`ChartDataFormatOptions`): Value formatting (prefix/suffix/decimals) for labels/tooltips. - `showLabels` (`ChartShowLabelsOptions`): Inline value-label visibility. - `type` (`"line" | "area" | "bar" | "column" | "pie" | "donut" | "heatmap" | "sparkline" | "combo"`): Chart type (required). - `background` (`string`): Chart background color. - `unstyled` (`boolean`, default false): Drop the built-in
card frame (border / padding / radius / surface) — for a chart nested in a Card or a sparkline slot. - `palette` (`{ colors?; colorShade?; roles? }`): Series color palette overrides. - `line / bar / column / pieStyle / pie / heatmap` (`type-specific options`): Per-type rendering options. - `axisY2` (`ChartAxisOptions`): type="combo": the right-hand value axis (show, tickCount, title) for series with axis: "right". - `sparkline` (`{ kind?: "line" | "area" | "column" }`, default { kind: "line" }): type="sparkline" only: the shape of the small trend. - `referenceLines` (`{ value, label?, color?, dashed? }[]`): Lines across a line, area, column or bar chart at fixed values (a target, a limit). - `dataTable` (`boolean`, default true): Adds a visually hidden table of the values, so a screen reader can read the numbers. - `labels` (`Partial`, default English): Translate or reword every text the chart adds: export, fullscreen, resetZoom, loading, noData, keyboardHint, filterAll, total and the data table headings. - `height` (`number`, default 320): Chart height in pixels. - `padding` (`{ top?; right?; bottom?; left?: number }`): Plot area padding. - `axis / axisX / axisY` (`ChartAxisOptions`): Axis visibility, ticks, title (drawn under the axis) and, on axisX, scale (auto, category or time). - `grid` (`ChartGridOptions`): Gridline configuration. - `legend` (`boolean | ChartLegendOptions`, default true for multi-series): Legend visibility/position. - `tooltip` (`boolean | ChartTooltipOptions`, default true): Hover/focus tooltip visibility and formatting. - `zoom` (`false | { mode?: "x" | "xy"; wheel?; pan? }`): Enables zoom/pan on axis charts. - `export` (`false | { formats?: ("svg" | "png")[]; filename? }`): Enables an export action (SVG/PNG). - `fullscreen` (`false | { enabled?: boolean }`): Enables a fullscreen toggle action. - `filters` (`false | ChartFiltersOptions`): Enables interactive data filters. - `isLoading` (`boolean`): Shows a loading state instead of the chart. - `error` (`ReactNode`): Shows an error state instead of the chart. - `empty` (`ReactNode`): Shown when data resolves to nothing plottable. - `onPointClick` (`(event: ChartPointEvent) => void`): Called when a data point is clicked or activated via keyboard. - `onCellClick` (`(event: ChartHeatmapCellEvent) => void`): type="heatmap" — a cell was clicked or keyboard-activated. - `onLegendChange` (`(hiddenSeriesIds: string[]) => void`): Called when series visibility toggles via the legend. - `onSelectionChange` (`(selection: ChartSelection) => void`): Called when a zoom/brush selection changes. - `className / classNames / style` (`string / ChartClassNames / CSSProperties`): Styling overrides (classNames covers base/header/title/description/actions/stage/svg/legend/filters). ### Divider (`/components/divider`) - `children` (`ReactNode`): Optional inline label; renders the line in two segments around it. - `orientation` (`"horizontal" | "vertical"`, default horizontal): Line direction. - `variant` (`"fullWidth" | "inset" | "middle"`, default fullWidth): Inset behavior at the line's ends. - `lineStyle` (`"solid" | "dashed" | "dotted"`, default solid): Line style. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | string`, default default): Line color. - `colorDepth` (`50 | 100 | ... | 950`, default 300): Shade depth for the selected color. - `thickness` (`number | string`): Line thickness override. - `labelPlacement` (`"start" | "center" | "end"`, default center): Where a label renders along the line, when children are provided. - `className` (`string`): Class applied to the root element. ### Backdrop (`/components/backdrop`) - `children` (`ReactNode`): Content rendered above the backdrop. - `blur` (`boolean | "sm" | "md" | "lg" | number`, default true (8px)): Backdrop blur amount. - `backgroundColor` (`string`, default "var(--oks-palette-neutral-950, #000)"): Backdrop tint color. - `backgroundOpacity` (`number`, default 80): Backdrop opacity (0-100). - `zIndex` (`number`): Explicit stacking z-index; auto-computed per overlay depth when unset. - `portal` (`boolean`, default true): Renders through a React portal. - `container` (`Element | DocumentFragment | null`): Custom portal mount target. - `contentFullSize` (`boolean`, default false): Stretches the content wrapper to fill the backdrop. - `isOpen` (`boolean`): Controls whether the backdrop is open (required). - `closeOnOutsideClick` (`boolean`, default true): Closes when clicking outside the content. - `closeOnEscape` (`boolean`, default true): Closes on Escape. - `lockScroll` (`boolean`, default true): Locks body scroll while open. - `trapFocus` (`boolean`, default true): Traps keyboard focus within the content while open. - `animationDuration` (`number`, default 0.3): Enter/exit animation duration in seconds. - `animationType` (`"fade" | "zoom" | "slideUp" | "slideDown" | "slideLeft" | "slideRight"`, default fade): Entrance/exit animation. - `easing` (`"ease" | "easeIn" | "easeOut" | "easeInOut"`, default ease): Animation easing curve. - `onClose` (`() => void`): Called to close the backdrop (required). - `className` (`string`): Class applied to the backdrop layer. - `style` (`CSSProperties`): Inline styles for the backdrop layer. - `contentClassName` (`string`): Class applied to the content wrapper. - `contentStyle` (`CSSProperties`): Inline styles for the content wrapper. ### PageTitle (`/components/page-title`) - `title` (`ReactNode`, default "Title"): Heading text/content. - `icon` (`ReactNode`): Icon rendered beside the title. - `subtitle` (`ReactNode`): Secondary text rendered below the title. - `color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "black" | "white" | string`): Text color; inherits currentColor when unset. - `colorDepth` (`number`, default 500): Shade depth for the selected color. - `iconPosition` (`"start" | "end"`, default start): Icon placement relative to the title. - `as` (`"h1" | "h2" | "h3" | "h4" | "h5" | "h6"`, default "h4"): Semantic heading element rendered. - `tooltip` (`ReactNode | boolean | (Omit & { content?: ReactNode })`): Wraps the title in a Tooltip. - `onKeyDown` (`(e: KeyboardEvent) => void`): Keydown handler on the root element. - `className` (`string`): Class applied to the root element. - `classNames` (`Partial>`): Per-slot class overrides (base/title/icon/subtitle). - `style` (`CSSProperties`): Inline styles for the root element. ### Card (`/components/card`) - `children` (`ReactNode`): Card content — usually CardHeader / CardBody / CardFooter. - `shadow` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg"`, default xs): Elevation. - `radius` (`"none" | "xs" | "xs-sm" | "sm" | "md" | "lg" | "full"`, default lg): Corner radius. - `isBlurred` (`boolean`, default false): Translucent background + backdrop blur where supported. - `isHoverable` (`boolean`, default false): Lift on hover without becoming a control. - `isPressable` (`boolean`, default false): Whole card is one activatable control; fires onPress on click / Enter / Space. - `isDisabled` (`boolean`, default false): Dim the card and block onPress. - `fullWidth` (`boolean`, default false): width: 100%. - `as` (`ElementType`, default div): Render as a different element/component (e.g. - `onPress` (`(e) => void`): Called when isPressable and the card is activated. - `classNames` (`{ base?: string }`): Slot class overrides. - `CardHeader / CardBody / CardFooter` (`div props`): Padded regions inside a Card. ### Stat (`/components/stat`) - `label` (`ReactNode`): Required. - `value` (`ReactNode`): Required. - `delta` (`ReactNode`): Change indicator — shown as a coloured pill. - `trend` (`"up" | "down" | "flat"`): Colour + arrow for delta. - `icon` (`ReactNode`): In a rounded tile, top-right. - `spark` (`ReactNode`): A sparkline — pair with . - `help` (`ReactNode`): Small helper line under the value. - `size` (`"sm" | "md" | "lg"`, default md): Value size. - `StatGroup columns` (`number`, default 4): Responsive grid — collapses to 2 / 1 columns. ### Timeline (`/components/timeline`) - `Timeline children` (`TimelineItem[]`): Renders as an
    . - `TimelineItem.title` (`ReactNode`): Shown at the top of the content. - `TimelineItem.time` (`ReactNode`): Right-aligned timestamp. - `TimelineItem.icon` (`ReactNode`): Rendered in the marker (replaces the dot). - `TimelineItem.color` (`"default" | "primary" | "secondary" | "info" | "success" | "warning" | "danger"`, default default): Marker colour. - `TimelineItem.children` (`ReactNode`): Body text. ### Calendar (`/components/calendar`) - `selectionMode` (`"single" | "range"`, default single): Single-date or start/end range selection. - `value / defaultValue` (`string | null · { start, end } | null`): Controlled / initial selection. - `onChange` (`(value) => void`): Fires with null when a single selection is toggled off. - `month / defaultMonth` (`string | Date`, default selection, else today): Displayed month. - `onMonthChange` (`(month: Date) => void`): Fired when the visible month changes. - `minValue / maxValue` (`string | Date`): Days outside the bound are disabled. - `isDateUnavailable` (`(date: Date) => boolean`): Per-day disable predicate. - `weekStartsOn` (`0 | 1`, default 0): Sunday or Monday. - `showOutsideDays` (`boolean`, default true): Render leading/trailing days of adjacent months. - `fixedWeeks` (`boolean`, default false): Always 6 rows so height doesn't jump between months. - `renderDay` (`(ctx) => ReactNode`, default day number): Custom day content. - `isDisabled` (`boolean`, default false): Disable the whole calendar. - `size` (`"sm" | "md" | "lg"`, default md): Cell size. - `ariaLabel` (`string`, default month name): Accessible label for the grid. - `classNames` (`{ base?, header?, heading?, nav?, navButton?, grid?, weekday?, week?, day? }`): Slot classes. ### SplitLayout (`/components/split-layout`) - `direction` (`"horizontal" | "vertical"`, default horizontal): Arrange panes as columns or rows. - `sizes` (`Array`): Controlled pane sizes in px (null for the flex pane). - `onResize` (`(sizes) => void`): Fires on drag, keyboard resize, or collapse. - `keyboardStep` (`number`, default 24): px moved per arrow-key press on a handle. - `classNames` (`{ base?, pane?, handle? }`): Slot classes. - `aria-label` (`string`): Names the group. - `defaultSize` (`number | string`): Initial size — px or a CSS length ("32%"). - `minSize / maxSize` (`number`, default 80 / —): px clamp while resizing. - `isResizable` (`boolean`, default false): Show a drag handle on this pane's trailing edge. - `isCollapsible` (`boolean`, default false): Collapse when dragged past ~60% of minSize, or on Enter/Space on the handle. - `collapsedSize` (`number`, default 0): Size when collapsed. - `isCollapsed / defaultCollapsed / onCollapsedChange` (`—`): Controlled / uncontrolled collapse. - `label` (`string`): Accessible name for this pane's handle ("Resize