COMPONENTS/INPUTS
Time picker.
Give a moment its time.
In practice
Native time input with name, required, min, max and step. Values use HH:mm or HH:mm:ss; visible format follows the browser locale. No timezone conversion.
Installation
Install Coal once. Components and TypeScript declarations are included. React 19 and React DOM 19 are peer dependencies.
Terminal · local package
npm install http://localhost:3100/downloads/chlohal-coal-ui-0.5.0.tgzThis installs the local package. It is not yet published on npm. See installation for stylesheet setup and integration.
Usage
example.tsx
"use client";
import * as React from "react";
import "@chlohal/coal-ui/styles.css";
import { TimePicker, Label } from "@chlohal/coal-ui";
export default function Example() {
const id = React.useId();
return (<div>
<Label htmlFor={id}>Meeting time</Label>
<TimePicker id={id} defaultValue="09:30" min="08:00" max="18:00"/>
</div>);
}
Source
The original Coal implementation. Use the package export to integrate it.
packages/react/src/time-picker.tsx
import * as React from "react";
import { cn } from "./internal.js";
export type TimePickerProps = Omit<
React.ComponentPropsWithRef<"input">,
"type"
>;
export function TimePicker({ className, ...props }: TimePickerProps) {
return (
<input
type="time"
className={cn("coal-input", "coal-time-picker", className)}
{...props}
/>
);
}
Accessibility checklist
- Provide an accessible name for controls, including icon-only buttons.
- Check keyboard navigation, visible focus and disabled states in your application.
- Do not rely on color alone to communicate status.