# UI Components & Styling
## Skills
For forms:
- `/react-form-builder` - Forms with validation and server actions
## Import Convention
Always use `@kit/ui/{component}`:
```tsx
import { Button } from '@kit/ui/button';
import { Card } from '@kit/ui/card';
import { If } from '@kit/ui/if';
import { Trans } from '@kit/ui/trans';
import { toast } from '@kit/ui/sonner';
import { cn } from '@kit/ui/utils';
```
## Styling
- Tailwind CSS v4 with semantic classes
- Prefer: `bg-background`, `text-muted-foreground`, `border-border`
- Use `cn()` for class merging
- Never use hardcoded colors like `bg-white`
## Key Components
| Component | Usage |
|-----------|-------|
| `If` | Conditional rendering |
| `Trans` | Internationalization |
| `toast` | Notifications |
| `Form*` | Form fields |
| `Button` | Actions |
| `Card` | Content containers |
| `Alert` | Error/info messages |
## Conditional Rendering
```tsx
import { If } from '@kit/ui/if';
}>
```
## Internationalization
```tsx
import { Trans } from '@kit/ui/trans';
```
## Testing Attributes
Always add `data-test` for E2E:
```tsx
```
## Form Guidelines
- Use `react-hook-form` with `zodResolver`
- Never add generics to `useForm`
- Use `useWatch` instead of `watch()`
- Always include `FormMessage` for errors