import { useState } from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@godxjp/ui/data-display"; import { FormField, TimePicker, TimeRangePicker } from "@godxjp/ui/data-entry"; import { Flex, PageContainer } from "@godxjp/ui/layout"; /** * TimePicker — 24h HH:mm combobox with a scrollable hour/minute popover. * The visible input IS the form field — give it a `name` and it submits * directly. Adjust minuteStep for domain needs (15 for scheduling, 1 for * precise entry). Never a raw . Composed only from real * @godxjp/ui components. */ export default function Demo() { const [cutoffTime, setCutoffTime] = useState("17:00"); const [shiftStart, setShiftStart] = useState("09:00"); const [shiftEnd, setShiftEnd] = useState("18:00"); return ( 基本 (controlled) value + onValueChange で制御。name= を指定すると HH:mm でフォーム送信される。 minuteStep={15} — シフト入力 勤怠管理など 15 分刻みの列を表示。typed 入力は任意の HH:mm を受け付ける。 disabled 状態 確定済みシフトや読み取り専用フィールドに使用。 秒単位の締切 12時間表示 入力状態 勤務時間帯 ); }