# Bone Flow #037 ComboBox Specification v1.0

## Version
1.0.4

## Status
Development

## Source-derived boundary

`000-Development-Order_v1.1.1.md` defines #037 as `ComboBox` in Input UI but does not provide separate detailed #037 properties.
The formal handover explicitly forbids implementing #037 from a generic “Select + TextBox” guess.
Therefore v1.0.1 limits itself to a minimal formal composition of the already completed APIs:
- #027 TextBox v1.0.23: editing / security / active border / text input
- #036 Select v1.1.22: parent→child one-level list / overlay / item Image/Icon / item mouseover effect
- #002 Bone Joint v1.1.36: OUT WAIT / FIFO / BLOCKED
- #020 Bone Label: label rendering

## ComboBox-specific difference in v1.0.1

1. The input area is editable text.
2. Opening the candidate list delegates to #036 Select.
3. Typing filters the visible #036 list by child `label` or `value` using a case-insensitive contains match.
4. A list child selection commits its `value` to the text input.
5. A typed string that does not exist in the list is allowed and can be committed as a custom value.
6. When `urlOut=true`, URL is added only when the committed value exactly matches a #036 child item; custom text does not invent a URL.
7. Parent groups remain non-selectable and hierarchy remains exactly one parent→child level.
8. #036 item Image/Icon and Mouse Over Border Effect remain delegated to #036 and its formal #019/#018/#022 routes.
9. #037 does not duplicate #027 TextBox or #036 Select implementation internals.

## Common properties retained

- placeholder
- readonly / disabled
- labelVisible / label / labelGap / labelFontSize
- listLabelVisible / listFontSize
- theme / backgroundColor / appearance
- inheritParent
- width / height / position / fit / parentFit
- inputAlign
- activeBorderEffect / activeEffectColor / activeEffectDirection / activeEffectSpeed
- spinWidth / spinGlow
- urlOut
- securityMaxLength
- items

## OUT

OUT:
- componentId: `037`
- componentName: `ComboBox`
- type: `COMBOBOX`
- value: committed text
- url: exact item match + `urlOut=true` only

## Completion

Browser Runtime is user-localhost authority. Package QA does not make the component Completed.


## v1.0.1 correction

- Test HTML is rebuilt from the formal #036 Select v1.1.22 test-page structure.
- Restores the complete #001/#002 formal script load chain used by completed components.
- Restores #017/#018/#019/#020/#022/#027/#036 dependency visibility.
- Preview creation errors are displayed instead of leaving an unexplained blank preview.
- #019 Image / #018 Bone Icon editor is exposed for group/child candidate items.


## v1.0.4 Effect state rule

Dropdown OPEN: item mouseover Effect only; TextBox Active Effect is suspended.
Dropdown CLOSED: if TextBox retains focus, TextBox Active Effect is restored.
## v1.0.4 Test focus correction

- Smoke / Validation / 全テスト実行は、実行開始時のフォーカスとスクロール位置を保持する。
- V14 は通常Previewを使用せず、`#qa-sandbox` 内の隔離ComboBoxで検証する。
- テスト実行を理由に通常Previewへ `focus()` を移動しない。

## v1.0.4 Validation correction

V14 は Property 実DOM idのみを参照し、存在しない旧 id を参照しない。
