Select
Select base prototype
base-select is the current base-library probe for value-class components.
Unlike dropdown, this family does not stop at open/close plus active-item coordination. It also includes a dedicated select-value part, which keeps selected text presentation inside the protocol boundary.
Family Parts
Section titled “Family Parts”select-root: ownsopen,value, andtextValueselect-trigger: opens and closes the popup surfaceselect-value: renders the selected text or placeholderselect-content: owns overlay entry, dismissal, and focus entryselect-item: contributesvalue/textValuesnapshots and commits selection
Why It Matters
Section titled “Why It Matters”This family is not only an addition to the base library. It is also a probe for Proto UI’s current value-component path:
- selected value text is defined by the prototype family itself
- the host app does not have to render that text manually
- value presentation can be refreshed through explicit update-driven re-render
That makes select-value a concrete render-consumed-value sample instead of a purely exposed-state sample.
Current v0 Boundary
Section titled “Current v0 Boundary”base-select currently includes:
- single selection
- popup open/close coordination
- selected item focus entry
- selected text synchronization
- a protocol-owned value presentation part
It does not yet include:
- form semantics
- native
<select>parity - combobox/search behavior
- grouped options
- multi-select
References
Section titled “References”- Contract: select.v0.md
- Source: packages/prototypes/base/src/select
- Test: select.test.ts