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.
astra
alpha-0.1-background
alpha-0.1-dir-prefs
alpha-0.1-sec-dom
menubar-v4-safe
active-uix
morfo-runtime
morfo-driven-soma
semantuix
glm-5
main
sium-v1.0
${ noResults }
Dos claves de COSTURA (PLAN §2-A: el valor es del sistema, el knob es del componente) y tres literales de identidad firmados. Ni un píxel movido. Qué entra en el contrato (101 → 103 claves): - invalid-border — las TRES declaraciones del estado inválido (el borde en reposo, el borde con foco/abierto y el anillo box-shadow que lo dobla) leían --color-risk-border A PELO. Es UNA clave, no dos: la propuesta §4 pedía invalid-trigger-border + open-invalid-trigger-border, y las filas agrupadas por VALOR son una sola. Bare como sus vecinas disabled-* (las ranuras de estado de esta receta son las del trigger) y como las siete invalid-border del catálogo. - group-gap — el hueco entre filas de un grupo iba a var(--space-1) directo. Nombre CONTADO en base.ts antes de acuñarlo: toolbar.group-gap. Tres literales firmados con su razón (recipe-contract §3), fuera del ratio: los dos inline-size: 100% (identidad — el select ES la anchura de su contenedor, el trigger ES la caja del select) y el opacity: 1 del check revelado, que deshace el 0 de la regla base. Censo: 83 % → 92 % (72 knobs, 54 públicos, 3 globales, 3 literales → 69 knobs, 57 públicos, 0 globales, 0 literales, 3 excepciones). Los 5 que quedan fuera son los forwards de paleta THM-2 leídos a pelo: no se acuñan. CERRADO en su 92 %. Global 68 %, no baja. Diff de computed: sonda antes/después, 2.176 valores en 8 estados = 0 diffs. Capturas 2× antes/después (cerrado y abierto): IDÉNTICAS byte a byte. Centinela R-5.4: 69/103, 34 adjudicadas en el ledger, todas MEDIDAS sobre el nodo real con las transiciones congeladas. Verde (exit 0). Lo que enseñó, todo del PORTAL: 1. El guard tiene que mantener el panel ABIERTO para medir los ~30 tokens de dentro, y el estado abierto TAPA los de reposo: trigger-border y trigger-indicator-fg leen muertos abiertos y MUEVEN con el panel cerrado. El instrumento sólo puede estar en un estado a la vez. 2. Tres knobs viven en nodos SIN data-select-*: la z del panel está en el [data-floating-wrapper] que soma porta (el caso popover.content-z) y el ritmo del viewport lo pinta el ScrollArea compuesto. Con extraNodes, 65/101 → 69/103. Nodos: 4 en reposo, 42 con el panel abierto. 3. La cascada de paleta anula sus 24 tonos, aquí en su forma MULTI-PARTE (trigger + content, porque el panel se porta fuera). Medido sobre el trigger abierto: --select-primary-border no mueve nada, --palette-border sobre el mismo nodo repinta. 4. separator-size ALCANZA y aun así no pinta: flex-shrink 1 en la columna del ScrollArea y un panel que desborda (scrollHeight 670 vs clientHeight 310) aplastan su 1px a 0px; con flex-shrink 0 el token sigue (1px → 9px). Un token vivo sobre un nodo aplastado lee igual que uno muerto. Defecto de píxel → next-features §13, no se arregla en este eje. §12.9 respetado: el contenido lleva data-depth=overlay, así que no se acuñó font-family ni line-height para el panel. Guards: censo --only select 92 % · component-audit PASS · eidos-lint 0 invalid · vitest src/uix/eidos sin rojos nuevos (los dos rojos son ajenos: skin-media-player, el conocido, y un fantasma de radio-group de otra sesión) · rtl:check 0 · docs:check 0 · npm run check COMPLETED con 0 errores en ficheros de select · prettier limpio sobre el contenido normalizado a LF. README con su sección «Talla y tema» y pestaña Tokens en la demo (103 claves, verificada en navegador: 0 errores de consola). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
2 months ago | |
|---|---|---|
| .. | ||
| +page.svelte | uix(select): temable — 83 % → 92 %, y un token que ALCANZA y aun así no pinta | 2 months ago |