From 745a486ccd94740466df6c84e19e184bef85a5d8 Mon Sep 17 00:00:00 2001 From: dev Date: Wed, 24 Jun 2026 17:42:53 +0200 Subject: [PATCH] =?UTF-8?q?docs(eidos):=20audit=20hand-off=20=E2=80=94=20c?= =?UTF-8?q?lose=20family=20complete,=20calendar/code-block=20remaining?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Records the Lote A progress: the close family (dialog/drawer/popover/banner/toast/ float-panel) is fully migrated to compose IconButton, deferring variant/color to Button's canonical defaults per the close-family decision. Documents the remaining Lote A items with their discovered complexity: calendar/range prev/next (grid + control-size shared between button and grid column; shared focus/disabled selectors; consumer passes the chevron text) and code-block copy (compose ). Co-Authored-By: Claude Opus 4.8 --- src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md b/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md index f75ca9b8d..b673962fe 100644 --- a/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md +++ b/src/uix/eidos/COMPONENT_COHERENCE_AUDIT.md @@ -721,10 +721,25 @@ time-picker + morfo: **65/65**. Navegador: langs ES + transición de los 4 input de carga CSS → `[data-button]{margin:0}` (igual especificidad, carga después) pisa el positioning del consumidor. Fix: subir especificidad con ancestro (`[data-banner] [data-banner-close]`). - - ⏳ **Pendiente del Lote A**: **toast-close** (19 refs CSS — chrome más complejo), - **float-panel-close** (chrome COMPARTIDO con `action`+`stage-trigger` → migrar los - tres o extraer con cuidado), **calendar/range prev/next** → `IconButton`+`SvgChevron` - (+ borrar `--calendar-control-*`), **code-block copy** → componer ``. + - ✅ **toast-close** → `IconButton rounded="full"` (slice completo: chrome fuera, + tokens recipe huérfanos eliminados, grid del item lo coloca). ✅ **float-panel-close** + → `IconButton` (extraído del selector de chrome COMPARTIDO con `action`+`stage-trigger`, + que conservan su estilo; sin cambio de recipe). **Decisión del usuario**: TODA la + 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). + - **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 month/year, range-calendar month/year, color-field/color-picker format). 3. **Barrido de langs — cola** (deferidos arriba): avatar-group conteo, date-range-picker