import React from "react"; import { Dayjs } from "dayjs"; /** * 時刻入力コンポーネント * * @deprecated このコンポーネントは非推奨です。代わりに `TimeField2` を使用してください。 * * キーボード入力とドロップダウン選択の両方で時刻を入力できます。 * - キーボード入力: セクション(時、分)ごとに上下キーで増減、数字キーで直接入力 * - ドロップダウン: 矢印アイコンをクリックして時刻リストから選択 * - フィルター: filterTimeOptionsで選択可能な時刻をカスタマイズ可能 * * @example * ```tsx * const [time, setTime] = useState(dayjs().hour(9).minute(0)); * * { * const hour = parseInt(time.split(":")[0]); * return hour >= 9 && hour < 18; // 9時〜18時のみ * } * ]} * /> * ``` */ export type TimeFieldProps = { /** * 時刻 * @default dayjs() */ time?: Dayjs | null; /** * エラー状態 * Inputを警告色にするのみでエラーテキストは付随しない。 * errorTextを別途実装する場合などに利用する。 * @default false */ error?: boolean; /** * エラーメッセージのテキスト * Inputを警告色にし、エラーテキストも表示する。 * 簡単にエラー状態を表現したい場合はこちらがおすすめ。 */ errorText?: string; /** * 入力を無効にする * @default false */ disabled?: boolean; /** * 時刻が変更されたときに呼ばれる関数 */ onTimeChange?: (time: Dayjs) => void; /** * ドロップダウンの時刻間隔(分) * @default 60 */ dropdownInterval?: number; /** * 時刻選択肢をフィルタリングする関数の配列 * すべてのフィルターを通過した時刻のみが表示される * 各フィルター関数は時刻文字列(例: "09:00")を受け取り、表示する場合はtrue、非表示にする場合はfalseを返す */ filterTimeOptions?: Array<(time: string) => boolean>; /** * サイズ * @default "medium" */ size?: "small" | "medium" | "large"; /** * バリアント * @default "light" */ variant?: "light" | "dark"; /** * 幅を明示的に指定 */ width?: string; /** * ドロップダウンメニューの最大高さ * @default 300 */ maxHeight?: number | string; /** * フォーカスイベント */ onFocus?: () => void; /** * ブラーイベント */ onBlur?: () => void; }; declare const _default: React.NamedExoticComponent; export default _default;