diff --git a/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md b/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md index b673962fe..7be8642fe 100644 --- a/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md +++ b/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md @@ -728,16 +728,26 @@ time-picker + morfo: **65/65**. Navegador: langs ES + transición de los 4 input familia close defiere a los defaults de Button (solid/primary), sin hardcodear ghost/neutral (banner ajustado). **Familia close COMPLETA** (dialog·drawer·popover· banner·toast·float-panel), 4 commits, verificada en navegador. - - ⏳ **Pendiente del Lote A** (más delicado — handoff): - - **calendar/range prev/next** (×4) → `IconButton`+`SvgChevron`. **Riesgo de layout**: - `--_calendar-control-size` lo comparten el botón Y la **columna del grid** (`grid-template- - columns: ctrl minmax(0,1fr) ctrl`), así que el size se queda (grid) y solo el chrome se - va; `:focus-visible`/`:disabled` son selectores **compartidos** con month-select/year- - select/day (extraer prev/next sin tocar el resto). Verificar el layout del header en - navegador tras migrar. Borrar `--calendar-control-{border,bg,color,hover,...}` (NO - `--calendar-control-size`). - - **code-block copy** → componer `` (cierra también su hardcode de langs - "Copy code to clipboard"; el botón reimplementa el comportamiento de clipboard). + - ⏳ **Pendiente del Lote A** (más delicado — handoff con scoping profundo): + - **calendar/range prev/next** (×4) → `IconButton`+`SvgChevron`. Scoping verificado: + (1) **recipe NO se toca** — `--calendar-control-{border,bg,color,radius,hover,...}` los + comparten prev/next Y los month/year-select (CSS 201-234), y `--_calendar-control-size` + lo usan grid (119) + selects (204) → **cero orphans** al migrar solo prev/next. + (2) **Quitar** el chrome de prev/next (CSS 156-182) + extraer prev/next de los selectores + **compartidos** `:focus-visible` (184) y `:disabled` (193) sin tocar month/year-select+day. + (3) **Size**: las flechas deben escalar con el calendario; NO hay contexto eidos → + crear `calendar-context.ts` + `range-calendar-context.ts` (patrón carousel-context) que + propaguen el size; mapear calendar-size→IconButton-size (control-size-md = control-height-sm, + hay offset de un paso). (4) Grid: dejar la columna en `--_calendar-control-size` o pasar a + `auto`. (5) El **demo pasa el chevron como texto** (`<`) → + actualizar el demo para mostrar `SvgChevron`. ~12 ficheros (calendar + range-calendar). + - **code-block copy** → componer ``. Scoping: `` + con `codeText = codeRef.textContent` (dinámico, reactivo al montar el ``); + `` (compone Button) + `` reemplazan el botón único + que togglea "Copy"/"Copied" → **cambio de UX** (trigger + indicator). Quitar `handleCopy`/ + `copied`/`copyTimer`/`onDestroy` (Clipboard los posee) + el chrome `[data-code-block-copy]` + (CSS 76-108) + adaptar el layout del header (el wrapper Clipboard vs el botón). Cierra el + hardcode de langs (Clipboard posee su label). - **float-panel `action` + `stage-trigger`** (los "controles"): mismo patrón que la migración del close, pero no son closes — opcional, comparten chrome propio coherente. 2. **DIM 1 — Lote B** (estructural): 6 `` (calendar