# Bone Flow #037 - ComboBox

Version: 1.0.4  
Status: Development  
Specification: v1.0 Candidate

## 概要

#037 ComboBox は、編集可能な文字列入力と候補リストを同じInput UIとして扱う。

v1.0.1は独自にTextBox/Selectを再実装せず、完成済みComponentへ責務委譲する。

## 正式依存

- #001 Bone Core v1.0.1
- #002 Bone Joint v1.1.36
- #020 Bone Label
- #022 Bone Hover Border Effect v1.0.1（#027/#036経由）
- #027 Bone TextBox v1.0.23
- #036 Bone Select v1.1.22
- #019 Bone Image / #018 Bone Icon は #036 ItemsにImage/Iconを設定した場合の正式委譲先

## ComboBox v1.0.4

- 文字入力は #027 TextBox。
- Dropdown候補は #036 Select。
- 親グループは選択不可、子項目のみ選択可能。
- 入力文字で候補を絞り込む。
- 候補を選ぶとその `value` をcommit。
- items外の自由入力文字列もcommit可能。
- `urlOut=true` のとき、候補と完全一致した値だけURLをOUTする。
- 自由入力値へURLを捏造しない。

## Security

Untrusted INは #027 TextBoxの正式 `applyJointInput()` を利用する。
objectの暗黙文字列化を行わず、getter / Proxy trap / 制御文字等の拒否契約を維持する。

## OUT Delivery

#037自身のOUT Deliveryは #002 Bone Joint v1.1.36 `createDeliveryChannel()` を利用する。

- READY
- WAITING / FIFO
- BLOCKED

## Test URL

`http://localhost/boneflow/test/bone-combobox.html`

Browser Runtime / WAIT / BLOCK目視確認後にCompletionを行う。


## 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 correction

- Dropdown OPEN中は候補Itemのmouseover Effectを優先し、TextBoxのActive Effectを停止する。
- Dropdown CLOSE後、TextBoxがfocus中ならTextBoxのActive Effectを再開する。
- #027 / #036 / #022の責務自体は変更しない。
## 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 (`prop-*`) に修正。
- TEST 実行時の focus / scroll 保持仕様は v1.0.3 を維持。
