---
name: "@kaui"
slug: "kaui"
description: "Personal well crafted components for Shadcn ui"
category: "Forms"
tags: ["buttons", "forms", "hooks"]
framework: "react"
license: null
author: "diontr00"
website: "https://kaui-shadcn-registry.vercel.app"
github: "https://github.com/diontr00/kaui-shadcn-registry"
registry: "https://kaui-shadcn-registry.vercel.app/r/registry.json"
pro: false
pro_url: null
github_stars: 12
component_count: 10
generated_at: "2026-07-28T08:59:05.895Z"
---

# @kaui

Personal well crafted components for Shadcn ui

## Links

- Website: https://kaui-shadcn-registry.vercel.app
- GitHub: https://github.com/diontr00/kaui-shadcn-registry
- Registry JSON: https://kaui-shadcn-registry.vercel.app/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/kaui
- This file: https://sh4dcn.vercel.app/md/kaui.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/registry.json
pnpm dlx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/registry.json
bunx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/registry.json
# clone the source repo
git clone https://github.com/diontr00/kaui-shadcn-registry.git
# fetch the raw registry index
curl -s https://kaui-shadcn-registry.vercel.app/r/registry.json
```

## Components (10)

| name | type | description | install |
| --- | --- | --- | --- |
| use-async | registry:hook | A hook that owns the async action lifecycle — loading state, success, error, and settled callbacks | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/use-async.json` |
| async-button | registry:component | A button that performs async operations with a no-layout-shift loading state | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/async-button.json` |
| async-scope | registry:component | A coordination layer for async UI — decouple what fires an action from what reacts to it. | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/async-scope.json` |
| confirm-action | registry:component | A confirmation dialog that wraps an async action with loading state | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/confirm-action.json` |
| use-debounce | registry:hook | A debounce hook that returns a stable { execute, cancel } object — safe to call without wrapping in useCallback | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/use-debounce.json` |
| use-controlled-state | registry:hook | Uncontrolled/controlled state bridge — use like useState but accepts optional value and onChange props for full controlled mode support | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/use-controlled-state.json` |
| combobox | registry:component | A single-select combobox with inline search, async loading support, and full controlled/uncontrolled API | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/combobox.json` |
| input-group | registry:component | Compose inputs with inline addons, buttons, and labels in a styled container | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/input-group.json` |
| multi-select | registry:component | A multi-select combobox with inline search, toggle-based selection, and full controlled/uncontrolled API | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/multi-select.json` |
| password-input | registry:component | A password input with show/hide toggle and an optional strength indicator | `npx shadcn@latest add https://kaui-shadcn-registry.vercel.app/r/password-input.json` |

## For AI agents

```text
You are adding components from @kaui to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/kaui.md) for the component list.
2. Fetch the machine-readable index: https://kaui-shadcn-registry.vercel.app/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: kaui).
```
