# Bone Flow #026 - TimePicker

Version: 1.0.15  
Status: Development

## Responsibility

#026 TimePicker is the common time-selection Picker UI.

- Shows the Picker directly below the caller INPUT.
- Opens/closes from a clock icon.
- Shows Hour / Minute / Second columns according to caller options.
- `step` is a minute increment, matching #031 TimeBox.
  - Hour value domain: 00–23 only. With `showOutOfRangeHours=false` (default), min/max-external Hour candidates are omitted from the panel; with `true`, all 00–23 are shown and out-of-range Hours are disabled.
  - Minute column: uses the selected step (1 / 5 / 10 / 15 / 30 in Property).
  - Second column: always 00–59 and is not thinned by step.
  - If the minute column is hidden, step does not affect the hour list.
- Supports min / max selectability and `showOutOfRangeHours` visibility control.
- Supports Default / Dark / Light / Neon Theme.
- Supports built-in Font Awesome-compatible clock SVG / Emoji clock.
- Returns the selected time through `bone-timepicker:select` and `onSelect`.
- Does **not** modify the caller INPUT automatically.
- Does **not** commit, invoke, deliver OUT, run Security Gate, or implement WAIT/BLOCKED.

The caller UI owns commit / OUT behavior.

## Main API

- `BoneTimePicker.create(anchor, options)`
- `open / close / toggle / isOpen / reposition`
- `setValue / getValue`
- `setOptions / getOptions`
- `getAnchor / getPanel`
- `validateTime(value, options)`
- `destroy`

## Value

- Second hidden: `HH:mm`
- Second shown: `HH:mm:ss`
- 24-hour clock only.
- No timezone conversion or precision fabrication.

## Runtime QA

`/BoneFlow/test/bone-timepicker.html`

Browser Runtime ALL PASS must be confirmed on localhost before completion.


## 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). Runtime API treats step as minutes, aligned with #031 TimeBox.

## v1.0.5 Consumer UI integration

The TimePicker Runtime responsibility and time-selection behavior are unchanged from v1.0.4.

- The Runtime code change is version metadata only; Hour / Minute / Second, min / max, minute `step`, and RETURN behavior are unchanged.
- The Runtime QA page adds an outer Trigger Mouse Over border effect using #022 Hover Border Effect v1.0.8. The effect target is the whole `Caller INPUT + clock button` trigger root and uses `trigger: mouseover`.
- Effect color selection uses #040 ColorPicker v1.0.15 Caller API with `allowedKinds: ["solid"]`; there is no native `input[type=color]` consumer UI.
- The Runtime QA page adds the real `BoneTimePicker` Class list / Public API guide based on the #020 guide structure. No runtime class is fabricated.
- The guide has Class / Public API, Usage, and Operation sections, with individual information for all 17 public functions.
- Japanese / English switching covers the added Effect, Class/Public API and Guide UI as well as the QA presentation.
- No Loop Property is added for #022.
- No parent-inheritance Property is added because parent-element inheritance remains outside #026 responsibility.
- INDEX is not changed because `/boneflow/test/bone-timepicker.html` already exists.


## v1.0.7 scoped correction

- #022 Hover Border Effect target is the individual Hour / Minute / Second value option, not the column container.
- Panel re-render keeps value-level effect attachment through the existing observer path.
- Added Preview parent-element settings for verification only; no parent-dependency option was added to the #026 Runtime Public API.


## v1.0.8 dependency compatibility correction
- #022 Hover Border Effect requires minimum v1.0.8 with the same major.minor and required Public API. Higher compatible patch versions are accepted.
- #040 ColorPicker requires minimum v1.0.15 with the same major.minor and Caller API. Higher compatible patch versions are accepted.
- TimePicker selection/runtime behavior is 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 out-of-range Hour visibility correction

- Hour remains a normal 24-hour domain of `00`–`23`; `24:00` remains invalid.
- `showOutOfRangeHours=false` by default. With min/max, out-of-range Hour options are not generated in the DOM.
- `showOutOfRangeHours=true` shows all `00`–`23`; outside-range Hours are disabled and cannot be selected.
- Minute step behavior and Second `00`–`59` behavior are unchanged.
- Public API count and Runtime Error contract are unchanged.

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

- Runtime: BoneTimePicker v1.0.15.
- HTML Functional Class: `bf-timepicker` Bridge v1.0.1.
- Added HTML mapping `data-show-out-of-range-hours`; DOC-0026 now documents 18 HTML/default Properties.
- Existing Guide structure, #022/#040 integration, Shared DOC and INDEX are unchanged.
