You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
Editable
Eidos Editable viste el primitive headless de Soma para edición inline. Air no
tenia equivalente directo en src/uix/air/components, pero la rama anterior si
tenia baseline en src/uix/terra/editable.
Baseline
| Fuente | Superficie | Estado Eidos |
|---|---|---|
Air glm-5 |
No existe src/uix/air/components/editable. |
Sin baseline Air directa. |
Terra glm-5 |
Root, Area, Preview, Input, EditTrigger, SubmitTrigger, CancelTrigger; preview inline, input solo en modo edición y acciones auxiliares. |
Baseline visual recuperada: Editable no debe parecer un Field/Input permanente. |
| Soma actual | Provider, Area, Preview, Input, EditTrigger, SubmitTrigger, CancelTrigger; activation/submit modes, draft, auto-resize, max length, disabled/readonly. |
Cubierto por passthrough. Eidos anade size, variant, color y receta. |
| Chakra / Ark Editable | Root, Area, Preview, Input, Control, Edit/Submit/Cancel triggers, activation modes, selectOnFocus, textarea. | Cubierto salvo Control dedicado; Area agrupa preview/input y triggers son hermanos. |
| Radix Vue Editable | Root, Area, Preview, Input, Edit/Submit/Cancel triggers. | Cubierto. |
| React Aria TextField | Label/Input/TextArea accesibles, pero no inline-edit compuesto. | Editable.Input puede renderizar textarea via child snippet; label externo queda en Field. |
Referencias externas consultadas:
- Chakra UI Editable: https://chakra-ui.com/docs/components/editable
- Radix Vue Editable: https://www.radix-vue.com/components/editable
- Park UI / Ark Editable: https://park-ui.com/docs/components/editable
- React Aria TextField: https://react-aria.adobe.com/TextField
API Eidos
<Editable bind:value activationMode="click" submitMode="both" size="md" color="primary">
<Editable.Area>
<Editable.Preview />
<Editable.Input />
</Editable.Area>
<Editable.Control>
<Editable.EditTrigger>Edit</Editable.EditTrigger>
<Editable.SubmitTrigger>Save</Editable.SubmitTrigger>
<Editable.CancelTrigger>Cancel</Editable.CancelTrigger>
</Editable.Control>
</Editable>
Decisiones
- No se crea
Providerpublico: el root visual esEditable. - No se anade API flat con snippets.
Editable.Controlagrupa acciones; Soma expone estado en el control y en los triggers, y Eidos decide la visibilidad visual de Edit frente a Save/Cancel.sizees responsive y se resuelve conActiveEidos.variantcontrola el tratamiento del preview/input, pero el preview se mantiene como contenido inline: si se quiere una caja permanente se debe usarField/Input, noEditable.colorusa paletas canonicas de Eidos para foco y submit.- El soporte textarea se mantiene en Soma mediante
child.
Eventos
Morfo declara:
shift-enter-mode: entrada en modo edición.commit-save: submit del draft.commit-cancel: cancelación/revert.
La escritura de estado queda en Soma; Sema sólo recibe señales agregadas y no observa cada pulsación dentro del input.