# Bone Flow #026 TimePicker Specification v1.0

## Formal scope

1. Time selection Picker UI.
2. Hour / Minute / Second columns are shown according to caller settings.
3. Picker is displayed directly below the caller INPUT.
4. Clock icon opens and closes the Picker.
5. Font Awesome-compatible / Emoji icon visual switching.
6. Theme applies to the whole Picker.
7. `step` is a minute increment. It affects the minute column only; hour and second columns are not thinned by `step`.
8. Selected time is returned to the caller.
9. commit / OUT remain the caller UI responsibility.

## Explicit non-responsibilities

- Parent-element inheritance / parent snapping.
- Security Test / Security Gate.
- OUT WAIT / BLOCKED.
- Bone Joint Delivery Channel.
- Caller INPUT automatic commit.
- Date selection.

## Default options

- `showHour: true`
- `showMinute: true`
- `showSecond: false`
- `showOutOfRangeHours: false`
- `step: 1`
- `theme: default`
- `iconVisual: fontawesome`
- `locale: ja-JP`
- `closeOnSelect: true`

At least one of Hour / Minute / Second columns must be enabled.


## v1.0.4 QA
- #025 DatePicker v1.0.4 の Runtime QA / 接続イメージ / Completion 表示構成を基準化。
- #001 / #002 の正式モジュール読込順を使用する。
- TimePicker 固有責務（時/分/秒、step、選択時刻RETURN）のみ保持する。

- Property UI step list: `1 / 5 / 10 / 15 / 30` (select). `step` is minutes, aligned with #031 TimeBox. When the minute column is hidden, `step` does not thin the hour column; the second column always remains 00–59.

## v1.0.5 scoped revision

This revision does not change the formal TimePicker Runtime scope. It updates only the consumer/test UI required by the current cross-component UI contract.

1. Outer trigger hover: #022 Hover Border Effect v1.0.8, `trigger=mouseover`, target = Caller INPUT + clock trigger root.
2. Effect color: #040 ColorPicker v1.0.15 Caller API, solid-only. Native ColorPicker is not used.
3. Class/Public API: display the actual `BoneTimePicker` Public Object / Factory API. Class = none.
4. Guide: three sections (Class/Public API, Usage, Operation), with per-API usage and behavior for all 17 public functions.
5. Locale: Japanese / English presentation is extended across the added UI and QA presentation.
6. No #022 Loop Property.
7. No change to Hour 00-23, minute step, Second 00-59, selected time RETURN, or caller-owned commit/OUT boundaries.


## v1.0.8 scoped revision
Dependency checks in the Runtime QA page use minimum-version + same-major.minor + required Public API compatibility for #022 and #040. TimePicker Runtime responsibilities and selection behavior are unchanged.


## DOC Integration v1.0.1 (2026-08-29)
- Runtime BoneTimePicker v1.0.8 is preserved.
- Normal-use HTML Functional Class is `bf-timepicker` only.
- DOC-0026 / TOC-0026 use the shared Bone DOC guide runtime.
- Legacy API-per-class `bone-html-class-use` is not the normal-use contract.
- Shared DOC files are not modified or bundled.


## v1.0.15 scoped correction (2026-08-30)

- The normal Hour domain remains `00`–`23` (24 candidates). `24:00` is not introduced as a normal value.
- New Boolean option `showOutOfRangeHours` defaults to `false`.
- `showOutOfRangeHours=false`: when `min` / `max` are present, Hour candidates outside their hour boundary are not generated in the panel DOM.
- `showOutOfRangeHours=true`: all Hour candidates `00`–`23` are generated; Hour candidates outside the `min` / `max` hour boundary remain visible but are disabled.
- Boundary Hours remain operable so the caller can choose a valid Minute inside a partial boundary hour. Final selectability continues to use the existing full `min` / `max` validation.
- Minute `step`, Second `00`–`59`, selected-time RETURN, Public API inventory, Error contract, #022/#040 responsibility and caller-owned commit/OUT boundaries are unchanged.

## DOC Integration v1.0.2 (2026-08-30)

- Runtime BoneTimePicker is v1.0.15.
- HTML Functional Class Bridge is v1.0.1 and maps `data-show-out-of-range-hours` through the existing options route.
- Property Editor adds one checkbox for `showOutOfRangeHours`; existing Property order/layout is otherwise preserved.
- DOC-0026 documents 18 HTML-declarable/default Properties; Public API remains 17.
- Shared DOC files, INDEX, #022 and #040 files are not modified or bundled.
