# Velkin UI — full component reference > Index: https://velkinui.com/llms.txt · Consumer contract: https://velkinui.com/AGENTS.md · MCP: https://mcp.velkinui.com/mcp Import from subpaths only (`@velkin/react/button`). React events are `onVu*` with payload in `e.detail`. Capsule shape is `radius="full"` (no `pill`). Pro components need `@velkin/react-pro` + license. # Inputs # Advanced Filter An advanced filter component with expression input and visual builder. - **Tag:** `vu-advanced-filter` - **Slug:** `advanced-filter` - **Category:** Inputs - **Tier:** Pro - **React:** `VuAdvancedFilter` from `@velkin/react-pro/advanced-filter` ## Import ```bash npm i @velkin/react-pro ``` ```tsx import { VuAdvancedFilter } from "@velkin/react-pro/advanced-filter"; ``` ## Props | Name | Type | Default | Description | | --- | --- | --- | --- | | `columns` | `VuAdvancedFilterColumn[]` | `[]` | Columns referenceable in expressions. Default: `[]`. | | `query` | `string` | `""` | Controlled expression text. Default: `""`. | | `label` | `string` | `""` | Accessible name override for the expression input. Default: `""`. | | `placeholder` | `string` | `""` | Placeholder override for the expression input. Default: `""`. | | `valueProvider` | `VuAdvancedFilterValueProvider \| null` | `null` | Supplies value suggestions per column key. Default: `null`. | | `open` | `boolean` | `false` | Whether the visual builder popover is open. Default: `false`. | | `disabled` | `boolean` | `false` | Disables the field, suggestions, and builder. Default: `false`. | | `size` | `VuAdvancedFilterSize` | `"md"` | Density scale for overlays and inner controls. Default: `"md"`. | | `tone` | `VuAdvancedFilterTone` | `"normal"` | Neutral surface weight for the field and overlays. Default: `"normal"`. | | `placement` | `VuAdvancedFilterPlacement` | `"bottom"` | Preferred builder placement before flip. Default: `"bottom"`. | | `align` | `VuAdvancedFilterAlign` | `"end"` | Builder alignment along the field edge. Default: `"end"`. | | `offset` | `number` | `6` | Gap in px between the field and the builder popover. Default: `6`. | | `width` | `string` | `""` | Builder panel inline size; empty uses stylesheet default. Default: `""`. | | `maxHeight` | `string` | `""` | Max block size of the suggestions list; empty uses default. Default: `""`. | | `radius` | `string` | `""` | Corner radius for the field, suggestions, and builder; empty uses token defaults. Default: `""`. | ## Events | Name | Type | Description | | --- | --- | --- | | `vu-change` | `VuAdvancedFilterChangeDetail` | When the expression text changes. | | `—` | `` | {CustomEvent<{ open: boolean }>} vu-open-change - When `open` changes (v-model). | | `vu-open` | `void` | When the builder begins opening. | | `vu-close` | `void` | When the builder begins closing. | ## Methods | Name | Description | | --- | --- | | `show` | - Opens the visual builder popover. | | `hide` | - Closes the visual builder popover. | | `toggle` | - Toggles the visual builder popover. | | `focus` | - Focuses the expression input. | ## CSS parts | Name | Description | | --- | --- | | `field` | Input field wrapper. | | `input` | Native expression input. | | `clear` | Clear-expression button. | | `builder-trigger` | Visual builder toggle button. | | `suggestions` | Type-ahead suggestions list. | | `builder` | Visual builder popover surface. | | `builder-dialog` | Expanded builder dialog surface. | ## Types ### `VuAdvancedFilterAlign` ```ts "start" | "center" | "end" ``` ### `VuAdvancedFilterChangeDetail` ```ts { query: string; } ``` ### `VuAdvancedFilterPlacement` ```ts "top" | "bottom" | "left" | "right" | "auto" ``` ### `VuAdvancedFilterSize` ```ts "sm" | "md" | "lg" ``` ### `VuAdvancedFilterTone` ```ts "subtle" | "normal" | "strong" ``` ### `VuAdvancedFilterValueProvider | null` ```ts null | (field: string) => string[] ``` ## Links - Docs: https://velkinui.com/component/advanced-filter - Markdown: https://velkinui.com/component/advanced-filter.md --- # Button A clickable button component with multiple variants and states. - **Tag:** `vu-button` - **Slug:** `button` - **Category:** Inputs - **Tier:** MIT - **React:** `VuButton` from `@velkin/react/button` ## Import ```bash npm i @velkin/react ``` ```tsx import { VuButton } from "@velkin/react/button"; ``` ## Props | Name | Type | Default | Description | | --- | --- | --- | --- | | `variant` | `VuButtonVariant` | `"solid"` | Visual treatment. Default: `"solid"`. | | `color` | `VuButtonColor` | `"default"` | Token intent. Default: `"default"`. | | `size` | `VuButtonSize` | `"md"` | Discrete size. Default: `"md"`. | | `radius` | `VuButtonRadius` | `"md"` | Corner preset (`none`/`sm`/`md`/`lg`/`full`). Default: `"md"`. | | `type` | `VuButtonType` | `"button"` | Native button type. Default: `"button"`. | | `name` | `string` | `""` | Form-control name submitted with `type="submit"`. | | `value` | `string` | `""` | Form-control value submitted with `name`. | | `form` | `string` | `""` | ID of an external `
` to submit or reset. | | `disabled` | `boolean` | `false` | Non-interactive; drops out of tab order. Default: `false`. | | `loading` | `boolean` | `false` | Shows a spinner and blocks clicks. Default: `false`. | | `block` | `boolean` | `false` | Stretches the button to fill its container. Default: `false`. | | `iconOnly` | `boolean` | `false` | Square 1:1 hit target; `label` is `aria-label` only. Default: `false`. | | `label` | `string` | `""` | Plain-text fallback for the default slot; icon-only buttons use it as `aria-label`. | | `pressed` | `boolean` | `false` | Toggle or selected state; exposes `aria-pressed`. Default: `false`. | | `preset` | `string` | — | Named bag from nearest `vu-config-provider`; omitted from the DOM while empty. | ## Events | Name | Type | Description | | --- | --- | --- | | `click` | `MouseEvent` | Bubbles natively from the inner `