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.
|
|
5 months ago | |
|---|---|---|
| .. | ||
| README.md | 5 months ago | |
| editable-area.svelte | 5 months ago | |
| editable-cancel-trigger.svelte | 5 months ago | |
| editable-control.svelte | 5 months ago | |
| editable-edit-trigger.svelte | 5 months ago | |
| editable-input.svelte | 5 months ago | |
| editable-preview.svelte | 5 months ago | |
| editable-submit-trigger.svelte | 5 months ago | |
| editable.css | 5 months ago | |
| editable.svelte | 5 months ago | |
| index.ts | 5 months ago | |
| types.ts | 5 months ago | |
README.md
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.