# Bone Flow #046 SplitButton

Version: 1.0.16  
Status: Development

## Purpose

Action UI built from the completed #042 Button v1.0.12 contract. The left/main region executes the normal or command Button action; the adjacent split trigger opens a related action menu. Selecting a menu item emits #046 OUT without changing the primary Button meaning.

## Formal reference

- #042 Button v1.0.12 — primary reference and Button renderer/state/property contract.
- #002 Joint v1.1.36 — WAIT / FIFO / BLOCKED delivery.
- #019 Image v1.0.72 — image/icon responsibility through #042.
- #039 FilePicker v1.0.2 — Normal/Pressed image selection through #042.
- #022 Hover Border Effect v1.0.10 — Active/focus and Mouse Over effects through #042.
- #040 ColorPicker v1.0.15 — Caller API for color Property.
- #118 Transition v1.0.3 — one-shot ENTER / EXIT visual interpolation for menu open/close.
- #017 Text v1.0.34 / #020 Label v1.0.61 — display/common UI/QA references inherited from #042.

## Preserved #042 UI

The test page keeps the #042 Property language switch, Button mode/shape/pressed label/tooltip, image and icon flow, Parent/FIT/9-direction settings, separate Active and Mouse Over effects, #040 trigger-based colors, Security, five #002 connection images, WAIT/BLOCK, Smoke/Validation, Runtime Report, Completion, and HTML Functional Class Guide.

## SplitButton-specific behavior

- Primary region: #042 Button normal/command execution.
- `▼` trigger: menu open/close only; it does not execute the primary action.
- Menu selection: emits `action="menu"` with selected item.
- `disabled=true`: primary, trigger, and menu selection are disabled.
- `menuItems`: safe per-item contract with unique ids. Each item supports `id`, `label`, `visible`, `height`, #042 Command click processing, #019 Icon, and #022 Active / Mouse Over Effect settings.
- Menu item rendering uses formal #042 Button instances; #046 does not clone Button/Icon/Effect behavior.
- Menu open/close semantic state belongs to #046. Visual ENTER / EXIT interpolation is delegated to #118 Transition v1.0.3.
- #118 menu settings are `menuTransition`, `menuTransitionDirection`, `menuTransitionSpeed`, and `menuTransitionRespectReducedMotion`.

## ColorPicker

#046 does not own a color picker. Property uses #040 v1.0.15 `attachCaller()` exactly through the same hidden-source + trigger architecture used by #042.

## Completion

The component remains Development until localhost Runtime QA, WAIT/BLOCK visual confirmation, and Completion are explicitly confirmed by the user.
