---
name: "@shuip"
slug: "shuip"
description: "Business-focused React components, blocks and form fields for Next.js, built on shadcn/ui with React Hook Form, TanStack Form and TanStack Query."
category: "Forms"
tags: ["blocks", "buttons", "cards", "forms", "hooks", "overlays", "tables", "theming"]
framework: "react"
license: "MIT"
author: "plvo"
website: "https://shuip.plvo.dev"
github: "https://github.com/plvo/shuip"
registry: "https://shuip.plvo.dev/r/default/registry.json"
pro: false
pro_url: null
github_stars: 12
component_count: 54
generated_at: "2026-10-17T06:30:14.294Z"
---

# @shuip

Business-focused React components, blocks and form fields for Next.js, built on shadcn/ui with React Hook Form, TanStack Form and TanStack Query.

## Links

- Website: https://shuip.plvo.dev
- GitHub: https://github.com/plvo/shuip
- Registry JSON: https://shuip.plvo.dev/r/default/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/shuip
- This file: https://sh4dcn.vercel.app/md/shuip.md

## Install

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

## Components (54)

| name | type | description | install |
| --- | --- | --- | --- |
| calendar | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/calendar.json` |
| confirmation-dialog | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/confirmation-dialog.json` |
| copy-button | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/copy-button.json` |
| data-board | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/data-board.json` |
| data-table | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/data-table.json` |
| hover-reveal | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/hover-reveal.json` |
| kanban | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/kanban.json` |
| responsive-dialog | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/responsive-dialog.json` |
| rhf-address-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-address-field.json` |
| rhf-autocomplete-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-autocomplete-field.json` |
| rhf-checkbox-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-checkbox-field.json` |
| rhf-combobox-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-combobox-field.json` |
| rhf-date-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-date-field.json` |
| rhf-date-range-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-date-range-field.json` |
| rhf-datetime-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-datetime-field.json` |
| rhf-inline-edit | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-inline-edit.json` |
| rhf-input-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-input-field.json` |
| rhf-month-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-month-field.json` |
| rhf-number-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-number-field.json` |
| rhf-password-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-password-field.json` |
| rhf-radio-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-radio-field.json` |
| rhf-select-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-select-field.json` |
| rhf-textarea-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-textarea-field.json` |
| rhf-time-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-time-field.json` |
| rhf-time-range | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/rhf-time-range.json` |
| search-input | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/search-input.json` |
| shuip-components | registry:item | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/shuip-components.json` |
| shuip-forms | registry:item | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/shuip-forms.json` |
| shuip-overview | registry:item | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/shuip-overview.json` |
| shuip-skills | registry:item | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/shuip-skills.json` |
| side-dialog | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/side-dialog.json` |
| submit-button | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/submit-button.json` |
| suggestion-list | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/suggestion-list.json` |
| theme-button | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/theme-button.json` |
| time | registry:lib | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/time.json` |
| title-section | registry:block | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/title-section.json` |
| tsf-autocomplete-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-autocomplete-field.json` |
| tsf-checkbox-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-checkbox-field.json` |
| tsf-combobox-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-combobox-field.json` |
| tsf-date-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-date-field.json` |
| tsf-date-range-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-date-range-field.json` |
| tsf-datetime-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-datetime-field.json` |
| tsf-form-context | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-form-context.json` |
| tsf-inline-edit | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-inline-edit.json` |
| tsf-input-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-input-field.json` |
| tsf-month-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-month-field.json` |
| tsf-password-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-password-field.json` |
| tsf-radio-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-radio-field.json` |
| tsf-select-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-select-field.json` |
| tsf-submit-button | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-submit-button.json` |
| tsf-textarea-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-textarea-field.json` |
| tsf-time-field | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-time-field.json` |
| tsf-time-range | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsf-time-range.json` |
| tsq-query-boundary | registry:ui | — | `npx shadcn@latest add https://shuip.plvo.dev/r/{style}/tsq-query-boundary.json` |

## For AI agents

```text
You are adding components from @shuip to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/shuip.md) for the component list.
2. Fetch the machine-readable index: https://shuip.plvo.dev/r/default/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: shuip).
```
