# Popover picker

> Outline trigger in a labelled field that opens hour and minute columns with Now, Clear and OK.

A shadcn/ui block from the [@reui](https://reui.io) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/reui/c-time-picker-2).

- Page, with a live preview: https://shadcn.exchange/r/reui/c-time-picker-2
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/reui/c-time-picker-2-light-51488648369cde04.png
- Registry item: https://reui.io/r/new-york-v4/c-time-picker-2.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://reui.io/r/new-york-v4/c-time-picker-2.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `field`, `@reui/time-picker`

## Files

### `c-time-picker-2.tsx`

```tsx
import { TimePicker } from "@/components/reui/time-picker"

import {
  Field,
  FieldDescription,
  FieldLabel,
} from "@/components/ui/field"

export function Pattern() {
  return (
    <div className="w-full max-w-xs">
      <Field>
        <FieldLabel id="standup-time-label" htmlFor="standup-time">
          Standup time
        </FieldLabel>
        {/* With no children the picker renders its own trigger and popover.
            `aria-labelledby` keeps the value in the trigger's name, so it
            reads "Standup time 09:30" rather than the label alone. */}
        <TimePicker
          id="standup-time"
          aria-labelledby="standup-time-label"
          aria-describedby="standup-time-description"
        />
        <FieldDescription id="standup-time-description">
          Reminders go out 10 minutes before.
        </FieldDescription>
      </Field>
    </div>
  )
}
```
