# Inline time panel

> Hour and minute columns rendered in place, with Now, Clear and a live readout.

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

- Page, with a live preview: https://shadcn.exchange/r/reui/c-time-picker-1
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/reui/c-time-picker-1-light-f2269ebd46ef0f04.png
- Registry item: https://reui.io/r/new-york-v4/c-time-picker-1.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-1.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: `card`, `@reui/time-picker`

## Files

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

```tsx
"use client"

import { useState } from "react"
import {
  TimePicker,
  TimePickerPanel,
} from "@/components/reui/time-picker"

import { Card } from "@/components/ui/card"

export function Pattern() {
  /* `HH:mm` in 24-hour time, or `null` once Clear empties it. Preselected
     so each column opens centered on its selected row. */
  const [value, setValue] = useState<string | null>("14:30")

  return (
    <div className="flex flex-col items-center gap-3">
      {/* `py-0` lets the panel sit flush, so it reads like the popover. */}
      <Card className="w-fit py-0">
        <TimePicker
          value={value}
          onValueChange={setValue}
          aria-label="Meeting time"
        >
          <TimePickerPanel />
        </TimePicker>
      </Card>
      <p role="status" className="text-muted-foreground text-sm">
        {value ? `Meeting at ${value}` : "No meeting time set"}
      </p>
    </div>
  )
}
```
