# Bone Flow #022 - Hover Border Effect

Version: 1.0.12  
Status: Development

任意のHTMLElementへ枠Effectを付与する共通UI Component。Triggerは Mouse Over / Active / Both。

## Spin formal reference

`spin` は #036 Select v1.1.1 の `neon` 表現を正式基準とする。

## Runtime API

- `attach(target, options)`
- `detach(target)`
- `update(target, patch)`
- `setActive(target, boolean)`
- `refresh(target)`
- `getOptions(target)`
- `getState(target)`
- `getOverlay(target)`
- `isAttached(target)`

Test URL: `/boneflow/test/bone-hover-border-effect.html`

## Color Property UI

`options.color` の#022 Runtime契約は従来どおり `#RRGGBB` 文字列。既定値 `#35f4ff` も維持する。
テスト/Property画面の色選択UIのみ #040 ColorPicker v1.0.15 Caller APIへ委譲し、Consumer制約は `allowedKinds: ["solid"]` とする。Consumer所有の色ボタンから `BoneColorPicker.attachCaller()` を呼び、#040所有Overlay / Tooltipは `document.body` 直下に置く。RETURNされた単色だけを既存 `options.color` / Propertyへ反映する。#040内部DOM/CSS/位置計算を#022側へ複製せず、Effectの意味・保存契約・Active条件も#040へ移さない。


## v1.0.4 Native Picker fix

#040 ColorPicker Consumer内でブラウザ標準 `input[type=color]` が同時起動しないよう、旧Property inputと#040内部Native swatchの操作経路を停止する。`options.color`、既定値 `#35f4ff`、5 Effect、Trigger、Completionは変更しない。


## v1.0.5 ColorPicker consumer修正
- #040 ColorPickerの「カスタム追加」を阻害していたConsumer host全体の `preventDefault()` を廃止。
- 旧Effect色 `input[type=color]` は値保持用 `text` inputへ切替え、Native Picker経路だけを停止。
- Effect仕様・既定色 `#35f4ff` は維持。


## v1.0.7 Installer target correction
- Component / Effect / Public API behavior is unchanged from v1.0.6.
- Installer now prioritizes localhost web-root candidates (including `C:\\Apache24\\htdocs\\BoneFlow`) before sibling/current working copies.
- Installer verifies installed #022 JS / Runtime Test version markers after copy.

## v1.0.10 S01 API startup contract correction
- Smoke S01の自己Version完全一致判定を廃止し、#022 `componentId` + minimum `1.0.8` の同一 major.minor patch互換 + 必須Public API存在で判定する。
- higher patchの#022 RuntimeでもPublic API契約が維持されていればS01はPASSし、lower patch / major-minor不一致 / 必須API欠落はFAILとする。
- Effect Runtime / 5 Effect / Trigger / `setActive()` / #040 ColorPicker / Property / Completion / Installer targetは変更しない。

## v1.0.9 Dependency Version compatibility correction
- #040 ColorPicker は minimum `1.0.15` とし、同一 major.minor (`1.0.x`) の patch が minimum 以上なら互換として扱う。
- lower patch は `Version Below Minimum`、major/minor 不一致は `Version Incompatible` として拒否する。
- Caller API (`attachCaller` / `getCallerState`) は引き続き必須。Effect Runtime / Property / 5 Effect / Trigger / `setActive()` / Installer target は変更しない。

## v1.0.8 日本語 / English 全体切替修正
- Property見出しだけでなく、ヘッダー説明、Effect/方向選択肢、対象選択、操作ボタン、Preview説明、状態ラベル、接続イメージ、Smoke/Validation操作・結果、件数表示、Runtime Console、Completion管理まで同じ言語切替へ統一。
- #040 ColorPicker Callerも選択言語で再接続し、ColorPicker側のlocaleを同期する。
- Validation V10を全体切替確認へ拡張。
- Effect Runtime semantics / 5 Effect / Trigger / `setActive()` / `#RRGGBB` 契約 / Installer v1.0.7修正は変更しない。

## v1.0.6 ColorPicker Caller API追従
- #040 ColorPicker v1.0.15の正式 `attachCaller()` 方式へ移行。
- Consumer所有のEffect色ボタンのみPropertyへ配置し、#040 Overlay / Tooltipは `document.body` 直下。
- `onReturn` の単色 `#RRGGBB` を既存 `prop-color` へ反映。
- `allowedKinds: ["solid"]`、既定色 `#35f4ff`、5 Effect、Trigger、`setActive()` 契約は変更なし。
- #040内部DOMの埋め込み・操作、Consumer側Picker位置計算を廃止。


## v1.0.11 Effect set revision

ユーザー指示により `cross` を削除し、`dash / corner / chase / double / wave` を追加。正式Effectは9種: `normal / neon / spin / blink / dash / corner / chase / double / wave`。

新規5種を含む全EffectはHTMLElement内部を塗らず、外周領域だけに描画する。`cross` は互換aliasとして残さず、無効enumとして拒否する。


## v1.0.12 Line Width Property

外周線が細くEffectが弱く見える問題に対応し、Runtime-owned Property `lineWidth` を追加。Default `3px`、範囲 `1..12px`。`normal / neon / blink / dash / corner / chase / double / wave` に適用し、`spin` は既存 `spinWidth` を使用する。

Effect登録はv1.0.11の正式変更を維持する。削除: `cross`。追加: `dash / corner / chase / double / wave`。現行enumは9種 `normal / neon / spin / blink / dash / corner / chase / double / wave`。
