+ A value-type-agnostic transactional picker. It owns a bound
+ value, an open flag and the
+ deferValue transaction; the popover anatomy is a composed
+ Popover and the in-popover editor is consumer-supplied,
+ binding to PickerProvider.workingValue. When
+ deferValue is on, edits live in an internal draft and the
+ bound value only updates on Aceptar; closing without
+ accepting discards. This standalone is the core that will later replace
+ the per-picker coordinators (date / color / time / range).
+
+ Open the picker, type in the field, and watch the readout. In
+ deferred mode working updates live but
+ bound (what a form sees) only changes on
+ Aceptar. Cancelar or closing the
+ popover discards the draft. In live mode editing
+ writes the bound value immediately and Cancelar reverts to the
+ open-edge snapshot.
+
+ Source: src/uix/morfo/components/picker.ts. A single
+ provider part — open/close are delegated to the composed Popover, so
+ this morfo declares no dialog semantics and no events.
+
| Field | Value |
|---|---|
| name | "{pickerMorfo.name}" |
| kebab | "{pickerMorfo.kebab}" |
| scope | [{pickerMorfo.scope.map((s) => `"${s}"`).join(', ')}] |
| parts.length | {pickerMorfo.parts.length} |
| events.length | {pickerMorfo.events.length} |
| Part | Marker | Element | Archetype | States |
|---|---|---|---|---|
| {part.kebab} | +[{part.marker}] |
+ <{part.defaultElement}> | +{part.archetype ?? '—'} | +{part.states.length ? part.states.join(' | ') : '—'} | +