SelectionState

Primitive #15

🔍 Problem it solves

Radio groups, tabs, and single‑select dropdowns need exactly one item selected at a time. Managing the currently selected value and notifying changes manually is repetitive.

✅ Solution

Manages single selection (`selected` value). Provides `select(item)`, `next()`, `previous()`, and subscriptions. Returns `null` when nothing is selected.

🧩 Used by components

RadioGroup, Tabs, Select, Menu, Listbox, SegmentedControl

🎮 Interactive demo