diff --git a/docs/audit/theming/README.md b/docs/audit/theming/README.md index f4acbd531..e28933571 100644 --- a/docs/audit/theming/README.md +++ b/docs/audit/theming/README.md @@ -8,10 +8,10 @@ > [`theming-audit.md`](../theming-audit.md); ésta es la deuda de adopción que > aquélla dejó apuntada en su §5.3-3. -- **Medido**: 2026-08-22 · **162 recetas** con CSS + **8 componentes sin receta** = 170 fichas, el árbol entero de `eidos/components/` +- **Medido**: 2026-08-23 · **162 recetas** con CSS + **8 componentes sin receta** = 170 fichas, el árbol entero de `eidos/components/` - **La pregunta**: ¿cuánto de la apariencia de cada componente puede cambiar un tema **sin tocar el sistema ni la receta**? -- **Alcance global**: **63%** — 2923 de 4608 knobs pasan por un token público del componente -- **Reparto**: público 2923 · privado 329 · global 885 · literal 471 · sistema transversal 509 · excepción firmada 74 _(los dos últimos, fuera del ratio)_ +- **Alcance global**: **64%** — 2930 de 4607 knobs pasan por un token público del componente +- **Reparto**: público 2930 · privado 329 · global 878 · literal 470 · sistema transversal 509 · excepción firmada 75 _(los dos últimos, fuera del ratio)_ - **Sin token público propio**: 24 · **alcance < 20 %**: 14 · **alcance 100 %**: 17 · **con eje `size`**: 58 ## Cómo se lee @@ -126,7 +126,6 @@ La columna «contrato» cuenta las claves **públicas** del bloque del component | [skin-media-player](./skin-media-player.md) | 22% | 11 | 2 | 0 | 1 | 6 | 2 | 10 | y | | [palabras](./palabras.md) | 22% | 468 | 103 | 1 | 272 | 87 | 5 | 0 | – | | [surface](./surface.md) | 25% | 4 | 1 | 3 | 0 | 0 | 0 | 25 | – | -| [callout](./callout.md) | 27% | 15 | 4 | 3 | 7 | 1 | 0 | 28 | – | | [date-range-field](./date-range-field.md) | 29% | 8 | 2 | 0 | 4 | 1 | 1 | 3 | – | | [time-range-field](./time-range-field.md) | 29% | 8 | 2 | 0 | 4 | 1 | 1 | 3 | – | | [empty-state](./empty-state.md) | 29% | 17 | 5 | 7 | 5 | 0 | 0 | 6 | y | @@ -191,6 +190,7 @@ La columna «contrato» cuenta las claves **públicas** del bloque del component | [chat-log](./chat-log.md) | 77% | 42 | 30 | 0 | 4 | 5 | 3 | 31 | – | | [knob](./knob.md) | 78% | 26 | 18 | 1 | 1 | 3 | 3 | 33 | – | | [stepper](./stepper.md) | 79% | 60 | 44 | 11 | 0 | 1 | 4 | 69 | y | +| [callout](./callout.md) | 79% | 14 | 11 | 3 | 0 | 0 | 0 | 34 | – | | [chat-composer](./chat-composer.md) | 79% | 44 | 31 | 0 | 3 | 5 | 5 | 31 | – | | [card](./card.md) | 80% | 36 | 28 | 7 | 0 | 0 | 1 | 97 | y | | [aura](./aura.md) | 80% | 35 | 28 | 0 | 1 | 6 | 0 | 37 | y | diff --git a/docs/audit/theming/accordion.md b/docs/audit/theming/accordion.md index 351b48863..efe2c91d2 100644 --- a/docs/audit/theming/accordion.md +++ b/docs/audit/theming/accordion.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **91%** — 58 de 64 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **91%** — 58 de 64 knobs por token público - **Knobs de apariencia**: 65 — público 58 · privado 1 · global 0 · literal 5 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 76 pública(s) — `provider-border-width`, `provider-radius`, `outline-provider-bg`, `outline-provider-border`, `outline-item-border`, `outline-content-bg`, `surface-provider-bg`, `surface-provider-border`, `surface-provider-shadow`, `surface-item-border`, `surface-content-bg`, `ghost-provider-bg`, `ghost-provider-border`, `ghost-item-border`, `ghost-content-bg`, `item-border-width`, `trigger-min-height-xs`, `trigger-min-height-sm`, `trigger-min-height-md`, `trigger-min-height-lg`, `trigger-min-height-full`, `trigger-padding-inline-xs`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `trigger-padding-inline-full`, `trigger-padding-block-xs`, `trigger-padding-block-sm`, `trigger-padding-block-md`, `trigger-padding-block-lg`, `trigger-padding-block-full`, `trigger-gap`, `trigger-font-family`, `trigger-font-size-xs`, `trigger-font-size-sm`, `trigger-font-size-md`, `trigger-font-size-lg`, `trigger-font-size-full`, `trigger-font-weight`, `trigger-line-height`, `trigger-fg`, `open-trigger-fg`, `disabled-trigger-fg`, `trigger-hover-fg`, `trigger-transition-duration`, `trigger-transition-ease`, `trigger-focus-ring-offset`, `trigger-focus-ring-width`, `trigger-focus-ring-color`, `content-padding-inline-xs`, `content-padding-inline-sm`, `content-padding-inline-md`, `content-padding-inline-lg`, `content-padding-inline-full`, `content-padding-block-xs`, `content-padding-block-sm`, `content-padding-block-md`, `content-padding-block-lg`, `content-padding-block-full`, `content-font-family`, `content-font-size`, `content-line-height`, `content-fg`, `content-open-duration`, `content-close-duration`, `content-open-ease`, `content-close-ease`, `indicator-size-xs`, `indicator-size-sm`, `indicator-size-md`, `indicator-size-lg`, `indicator-fg`, `open-indicator-fg`, `indicator-rotation`, `indicator-transition-duration`, `indicator-transition-ease` - **Eje `size`**: sí · **ficheros**: `accordion.css` diff --git a/docs/audit/theming/affix.md b/docs/audit/theming/affix.md index 90841cfe6..409808376 100644 --- a/docs/audit/theming/affix.md +++ b/docs/audit/theming/affix.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `affix.svelte`, `index.ts`, `README.md`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/alert-dialog.md b/docs/audit/theming/alert-dialog.md index f6bfea88f..ded58b7a6 100644 --- a/docs/audit/theming/alert-dialog.md +++ b/docs/audit/theming/alert-dialog.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `alert-dialog.css` diff --git a/docs/audit/theming/anchor-nav.md b/docs/audit/theming/anchor-nav.md index cc97b4114..51aa1a00b 100644 --- a/docs/audit/theming/anchor-nav.md +++ b/docs/audit/theming/anchor-nav.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **20%** — 2 de 10 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **20%** — 2 de 10 knobs por token público - **Knobs de apariencia**: 11 — público 2 · privado 0 · global 8 · literal 0 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 2 pública(s) — `indent`, `rail-width` - **Eje `size`**: no · **ficheros**: `anchor-nav.css` diff --git a/docs/audit/theming/announce.md b/docs/audit/theming/announce.md index a58511241..61154b299 100644 --- a/docs/audit/theming/announce.md +++ b/docs/audit/theming/announce.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 7 de 8 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 7 de 8 knobs por token público - **Knobs de apariencia**: 8 — público 7 · privado 0 · global 1 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 9 pública(s) — `fg`, `padding-block`, `padding-inline`, `radius`, `border-width`, `border`, `bg`, `font-size`, `line-height` - **Eje `size`**: no · **ficheros**: `announce.css` diff --git a/docs/audit/theming/aspect-ratio.md b/docs/audit/theming/aspect-ratio.md index 119b080d7..c77ef38d2 100644 --- a/docs/audit/theming/aspect-ratio.md +++ b/docs/audit/theming/aspect-ratio.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 3 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 3 knobs por token público - **Knobs de apariencia**: 3 — público 0 · privado 0 · global 1 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `aspect-ratio.css` diff --git a/docs/audit/theming/audio-player.md b/docs/audit/theming/audio-player.md index e089adef2..7109eeb7e 100644 --- a/docs/audit/theming/audio-player.md +++ b/docs/audit/theming/audio-player.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **37%** — 7 de 19 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **37%** — 7 de 19 knobs por token público - **Knobs de apariencia**: 19 — público 7 · privado 0 · global 8 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 5 pública(s) — `gap`, `artwork-radius`, `artwork-size-card`, `artwork-size-row`, `artwork-size-bar` - **Eje `size`**: no · **ficheros**: `audio-player.css` diff --git a/docs/audit/theming/aura.md b/docs/audit/theming/aura.md index 7bfa94482..ad739d6ac 100644 --- a/docs/audit/theming/aura.md +++ b/docs/audit/theming/aura.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **80%** — 28 de 35 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **80%** — 28 de 35 knobs por token público - **Knobs de apariencia**: 35 — público 28 · privado 0 · global 1 · literal 6 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 37 pública(s) — `status-font-size-md`, `status-line-height-md`, `status-letter-spacing-md`, `status-font-size-lg`, `status-line-height-lg`, `status-letter-spacing-lg`, `status-detail-font-size-md`, `status-detail-line-height-md`, `status-detail-letter-spacing-md`, `status-detail-font-size-lg`, `status-detail-line-height-lg`, `status-detail-letter-spacing-lg`, `idle-opacity`, `orb-size-sm`, `orb-size-md`, `orb-size-lg`, `orb-radius`, `gap`, `orb-color-idle`, `orb-color-offered`, `orb-color-planned`, `orb-color-reviewing`, `orb-color-acting`, `orb-color-escalated`, `orb-halo-alpha`, `ring-scale`, `ring-track-fg`, `ring-track-width`, `ring-arc-width`, `ring-halo-width`, `ring-halo-opacity`, `status-fg`, `status-weight`, `status-gap`, `status-detail-fg`, `transition-duration`, `transition-ease` - **Eje `size`**: sí · **ficheros**: `aura.css` diff --git a/docs/audit/theming/auto-grid.md b/docs/audit/theming/auto-grid.md index 4799c3fb7..276ba15d8 100644 --- a/docs/audit/theming/auto-grid.md +++ b/docs/audit/theming/auto-grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `auto-grid.css` diff --git a/docs/audit/theming/avatar.md b/docs/audit/theming/avatar.md index f2e993e99..2950d1cf1 100644 --- a/docs/audit/theming/avatar.md +++ b/docs/audit/theming/avatar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **75%** — 27 de 36 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **75%** — 27 de 36 knobs por token público - **Knobs de apariencia**: 36 — público 27 · privado 3 · global 0 · literal 6 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: sí · **ficheros**: `avatar.css` diff --git a/docs/audit/theming/background.md b/docs/audit/theming/background.md index 2bd5fb0de..4707f1fac 100644 --- a/docs/audit/theming/background.md +++ b/docs/audit/theming/background.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **57%** — 13 de 23 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **57%** — 13 de 23 knobs por token público - **Knobs de apariencia**: 26 — público 13 · privado 1 · global 6 · literal 3 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 31 pública(s) — `pattern-rule`, `pattern-cell`, `pattern-dot-size`, `pattern-glow-size`, `pattern-glow-at`, `pattern-glow-strength`, `pattern-mesh-opacity`, `pattern-noise-opacity`, `pattern-vignette-strength`, `pattern-lines-width`, `pattern-lines-gap`, `pattern-lines-angle`, `pattern-rings-width`, `pattern-rings-gap`, `fade-size`, `fade-at`, `scrim-fg`, `scrim-fg-over-dark`, `scrim-fg-over-light`, `scrim-strength-xs`, `scrim-strength-sm`, `scrim-strength-md`, `scrim-strength-lg`, `scrim-strength-xl`, `gradient-drift-duration`, `pause-offset`, `pause-z`, `parallax-travel`, `spotlight-size`, `spotlight-strength`, `spotlight-fg` - **Eje `size`**: no · **ficheros**: `background.css` diff --git a/docs/audit/theming/badge.md b/docs/audit/theming/badge.md index cb49b96f0..0312f8fed 100644 --- a/docs/audit/theming/badge.md +++ b/docs/audit/theming/badge.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **59%** — 13 de 22 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **59%** — 13 de 22 knobs por token público - **Knobs de apariencia**: 22 — público 13 · privado 6 · global 1 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 65 pública(s) — `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-weight`, `line-height`, `letter-spacing`, `border-width`, `radius-sm`, `radius-md`, `radius-lg`, `radius-full`, `dot-size`, `icon-size`, `remove-size`, `remove-margin-start`, `primary-solid`, `primary-text`, `primary-contrast`, `secondary-solid`, `secondary-text`, `secondary-contrast`, `neutral-solid`, `neutral-text`, `neutral-contrast`, `affirm-solid`, `affirm-text`, `affirm-contrast`, `fulfill-track`, `fulfill-border`, `fulfill-solid`, `fulfill-text`, `fulfill-contrast`, `risk-solid`, `risk-text`, `risk-contrast`, `threat-solid`, `threat-text`, `threat-contrast`, `loss-track`, `loss-border`, `loss-solid`, `loss-text`, `loss-contrast`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border`, `risk-track`, `risk-border`, `threat-track`, `threat-border` · 5 privada(s) forward — `_palette-track`, `_palette-border`, `_palette-solid`, `_palette-text`, `_palette-contrast` - **Eje `size`**: sí · **ficheros**: `badge.css` diff --git a/docs/audit/theming/banner.md b/docs/audit/theming/banner.md index db362d293..edea74113 100644 --- a/docs/audit/theming/banner.md +++ b/docs/audit/theming/banner.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **30%** — 3 de 10 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **30%** — 3 de 10 knobs por token público - **Knobs de apariencia**: 10 — público 3 · privado 5 · global 1 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 42 pública(s) — `gap`, `radius`, `primary-solid`, `primary-contrast`, `primary-track`, `primary-border`, `primary-text`, `secondary-solid`, `secondary-contrast`, `secondary-track`, `secondary-border`, `secondary-text`, `neutral-solid`, `neutral-contrast`, `neutral-track`, `neutral-border`, `neutral-text`, `affirm-solid`, `affirm-contrast`, `affirm-track`, `affirm-border`, `affirm-text`, `fulfill-solid`, `fulfill-contrast`, `fulfill-track`, `fulfill-border`, `fulfill-text`, `risk-solid`, `risk-contrast`, `risk-track`, `risk-border`, `risk-text`, `threat-solid`, `threat-contrast`, `threat-track`, `threat-border`, `threat-text`, `loss-solid`, `loss-contrast`, `loss-track`, `loss-border`, `loss-text` - **Eje `size`**: sí · **ficheros**: `banner.css` diff --git a/docs/audit/theming/barcode.md b/docs/audit/theming/barcode.md index d846a4f8f..6e1799eca 100644 --- a/docs/audit/theming/barcode.md +++ b/docs/audit/theming/barcode.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 5 de 5 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 5 de 5 knobs por token público - **Knobs de apariencia**: 5 — público 5 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 7 pública(s) — `fg`, `bg`, `radius`, `text-font-family`, `text-letter-spacing`, `text-fg`, `invalid-border` - **Eje `size`**: no · **ficheros**: `barcode.css` diff --git a/docs/audit/theming/box.md b/docs/audit/theming/box.md index 612560c3f..b2c547c35 100644 --- a/docs/audit/theming/box.md +++ b/docs/audit/theming/box.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 9 de 9 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 9 de 9 knobs por token público - **Knobs de apariencia**: 9 — público 9 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 43 pública(s) — `display`, `position`, `width`, `min-width`, `max-width`, `height`, `min-height`, `max-height`, `padding`, `padding-block`, `padding-inline`, `padding-top`, `padding-right`, `padding-bottom`, `padding-left`, `margin`, `margin-block`, `margin-inline`, `margin-top`, `margin-right`, `margin-bottom`, `margin-left`, `gap`, `top`, `right`, `bottom`, `left`, `inset`, `inset-block`, `inset-inline`, `overflow`, `overflow-x`, `overflow-y`, `grow`, `shrink`, `basis`, `order`, `align-self`, `justify-self`, `place-self`, `grid-column`, `grid-row`, `grid-area` - **Eje `size`**: no · **ficheros**: `box.css` diff --git a/docs/audit/theming/breadcrumb.md b/docs/audit/theming/breadcrumb.md index 0d1bf57a5..a31c9c6c5 100644 --- a/docs/audit/theming/breadcrumb.md +++ b/docs/audit/theming/breadcrumb.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 20 de 20 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 20 de 20 knobs por token público - **Knobs de apariencia**: 23 — público 20 · privado 0 · global 0 · literal 0 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 28 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `fg`, `link-radius`, `link-fg`, `hover-link-fg`, `current-link-fg`, `link-font-weight`, `current-link-font-weight`, `separator-fg`, `ellipsis-size`, `ellipsis-radius`, `ellipsis-border-width`, `ellipsis-border`, `hover-ellipsis-border`, `ellipsis-bg`, `ellipsis-fg`, `hover-ellipsis-fg`, `transition-duration`, `transition-ease` - **Eje `size`**: sí · **ficheros**: `breadcrumb.css` diff --git a/docs/audit/theming/button-group.md b/docs/audit/theming/button-group.md index d8b2b2456..53ebe96d4 100644 --- a/docs/audit/theming/button-group.md +++ b/docs/audit/theming/button-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **40%** — 2 de 5 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **40%** — 2 de 5 knobs por token público - **Knobs de apariencia**: 5 — público 2 · privado 0 · global 0 · literal 3 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `divider-strength` - **Eje `size`**: no · **ficheros**: `button-group.css` diff --git a/docs/audit/theming/button.md b/docs/audit/theming/button.md index c884d102b..5ab34bb98 100644 --- a/docs/audit/theming/button.md +++ b/docs/audit/theming/button.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **91%** — 20 de 22 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **91%** — 20 de 22 knobs por token público - **Knobs de apariencia**: 23 — público 20 · privado 2 · global 0 · literal 0 · sistema 1 · excepción 7 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 106 pública(s) — `height-xs`, `height-sm`, `height-md`, `height-lg`, `height-xl`, `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-inline-xl`, `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `font-family`, `line-height`, `letter-spacing`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `font-weight-xs`, `font-weight-sm`, `font-weight-md`, `font-weight-lg`, `font-weight-xl`, `icon-size-xs`, `icon-size-sm`, `icon-size-md`, `icon-size-lg`, `icon-size-xl`, `radius-sm`, `radius-md`, `radius-lg`, `radius-xl`, `radius-full`, `border-width`, `shadow`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-track`, `primary-element`, `primary-border`, `primary-solid`, `primary-solid-hover`, `primary-text`, `primary-contrast`, `secondary-track`, `secondary-element`, `secondary-border`, `secondary-solid`, `secondary-solid-hover`, `secondary-text`, `secondary-contrast`, `neutral-track`, `neutral-element`, `neutral-border`, `neutral-solid`, `neutral-solid-hover`, `neutral-text`, `neutral-contrast`, `affirm-track`, `affirm-element`, `affirm-border`, `affirm-solid`, `affirm-solid-hover`, `affirm-text`, `affirm-contrast`, `fulfill-track`, `fulfill-element`, `fulfill-border`, `fulfill-solid`, `fulfill-solid-hover`, `fulfill-text`, `fulfill-contrast`, `risk-track`, `risk-element`, `risk-border`, `risk-solid`, `risk-solid-hover`, `risk-text`, `risk-contrast`, `threat-track`, `threat-element`, `threat-border`, `threat-solid`, `threat-solid-hover`, `threat-text`, `threat-contrast`, `loss-track`, `loss-element`, `loss-border`, `loss-solid`, `loss-solid-hover`, `loss-text`, `loss-contrast`, `palette-track`, `palette-element`, `palette-border`, `palette-solid`, `palette-solid-hover`, `palette-text`, `palette-contrast` - **Eje `size`**: sí · **ficheros**: `button.css` diff --git a/docs/audit/theming/calendar.md b/docs/audit/theming/calendar.md index b04245c25..4511cc927 100644 --- a/docs/audit/theming/calendar.md +++ b/docs/audit/theming/calendar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **84%** — 57 de 68 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **84%** — 57 de 68 knobs por token público - **Knobs de apariencia**: 71 — público 57 · privado 7 · global 0 · literal 4 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 74 pública(s) — `gap`, `padding-xs`, `padding-sm`, `padding-md`, `padding-lg`, `radius`, `border-width`, `border`, `invalid-border`, `bg`, `outline-bg`, `outline-shadow`, `fg`, `shadow`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `header-gap`, `heading-fg`, `heading-font-size`, `heading-font-weight`, `control-size-xs`, `control-size-sm`, `control-size-md`, `control-size-lg`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `control-bg`, `control-fg`, `hover-control-fg`, `select-min-width`, `select-padding-inline`, `months-gap`, `grid-gap`, `weekday-size`, `weekday-fg`, `weekday-font-size`, `weekday-font-weight`, `day-size-xs`, `day-size-sm`, `day-size-md`, `day-size-lg`, `day-radius`, `day-border-width`, `day-border`, `hover-day-border`, `day-bg`, `day-fg`, `hover-day-fg`, `day-font-weight`, `day-selected-fg`, `range-start-solid`, `range-start-solid-hover`, `range-start-border`, `range-start-text`, `range-end-solid`, `range-end-solid-hover`, `range-end-border`, `range-end-text`, `day-today-border`, `day-today-fg`, `day-today-font-weight`, `day-outside-fg`, `day-outside-opacity`, `day-weekend-fg`, `day-unavailable-decoration`, `transition-duration`, `transition-ease`, `disabled-opacity` · 5 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: no · **ficheros**: `calendar-select.css`, `calendar.css` diff --git a/docs/audit/theming/callout.md b/docs/audit/theming/callout.md index c75748820..9c42c3068 100644 --- a/docs/audit/theming/callout.md +++ b/docs/audit/theming/callout.md @@ -5,24 +5,16 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **27%** — 4 de 15 knobs por token público -- **Knobs de apariencia**: 15 — público 4 · privado 3 · global 7 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ -- **Contrato hoy** (`lib/recipes/base.ts`): 28 pública(s) — `gap`, `padding`, `accent-width`, `radius`, `primary-track`, `primary-text`, `primary-solid`, `secondary-track`, `secondary-text`, `secondary-solid`, `neutral-track`, `neutral-text`, `neutral-solid`, `affirm-track`, `affirm-text`, `affirm-solid`, `fulfill-track`, `fulfill-text`, `fulfill-solid`, `risk-track`, `risk-text`, `risk-solid`, `threat-track`, `threat-text`, `threat-solid`, `loss-track`, `loss-text`, `loss-solid` · 3 privada(s) forward — `_palette-track`, `_palette-text`, `_palette-solid` +- **Medido**: 2026-08-23 · **Alcance**: **79%** — 11 de 14 knobs por token público +- **Knobs de apariencia**: 14 — público 11 · privado 3 · global 0 · literal 0 · sistema 0 · excepción 1 _(los dos últimos, fuera del ratio)_ +- **Contrato hoy** (`lib/recipes/base.ts`): 34 pública(s) — `gap`, `padding`, `accent-width`, `radius`, `row-gap`, `font-size`, `line-height`, `fg`, `icon-size`, `title-font-weight`, `primary-track`, `primary-text`, `primary-solid`, `secondary-track`, `secondary-text`, `secondary-solid`, `neutral-track`, `neutral-text`, `neutral-solid`, `affirm-track`, `affirm-text`, `affirm-solid`, `fulfill-track`, `fulfill-text`, `fulfill-solid`, `risk-track`, `risk-text`, `risk-solid`, `threat-track`, `threat-text`, `threat-solid`, `loss-track`, `loss-text`, `loss-solid` · 3 privada(s) forward — `_palette-track`, `_palette-text`, `_palette-solid` - **Eje `size`**: no · **ficheros**: `callout.css` ## 1. Knobs fuera de alcance -### 1.1 Directo a primitivo global (7) +### 1.1 Directo a primitivo global (0) -| # | fichero:línea | selector | propiedad | valor | -| ---: | --- | --- | --- | --- | -| 1 | `callout.css:17` | `[data-callout]` | `row-gap` | `var(--space-1)` | -| 2 | `callout.css:23` | `[data-callout]` | `font-size` | `var(--size-md-font-size)` | -| 3 | `callout.css:24` | `[data-callout]` | `line-height` | `var(--font-line-height-md, 1.5)` | -| 4 | `callout.css:25` | `[data-callout]` | `color` | `var(--color-content-primary)` | -| 5 | `callout.css:36` | `[data-callout-icon]` | `font-size` | `var(--size-md-icon-size)` | -| 6 | `callout.css:40` | `[data-callout-icon]` | `min-block-size` | `calc(var(--size-md-font-size) * var(--font-line-height-md, 1.5))` | -| 7 | `callout.css:48` | `[data-callout-title]` | `font-weight` | `var(--font-weight-semibold)` | +_Ninguno._ ### 1.2 A través de un privado (3) @@ -30,22 +22,22 @@ | ---: | --- | --- | --- | --- | | 1 | `callout.css:20` | `[data-callout]` | `background` | `var(--_callout-palette-track)` | | 2 | `callout.css:38` | `[data-callout-icon]` | `color` | `var(--_callout-palette-solid)` | -| 3 | `callout.css:49` | `[data-callout-title]` | `color` | `var(--_callout-palette-text)` | +| 3 | `callout.css:51` | `[data-callout-title]` | `color` | `var(--_callout-palette-text)` | -### 1.3 Literales (1) +### 1.3 Literales (0) -| # | fichero:línea | selector | propiedad | valor | -| ---: | --- | --- | --- | --- | -| 1 | `callout.css:37` | `[data-callout-icon]` | `line-height` | `1` | +_Ninguno._ -### 1.4 Excepciones firmadas (0) — fuera del ratio +### 1.4 Excepciones firmadas (1) — fuera del ratio Literales que llevan su anotación `/* literal: */` en la propia declaración: la válvula de recipe-contract §3, la misma que honra `component-audit`. **Una desviación firmada no es deuda** — se listan para que la razón se lea, no para acuñarlas. -_Ninguno._ +| # | fichero:línea | selector | propiedad | valor | +| ---: | --- | --- | --- | --- | +| 1 | `callout.css:37` | `[data-callout-icon]` | `line-height` | `1` | ## 2. Sistema transversal (0) — informativo, fuera del ratio Un tema los alcanza **a nivel de sistema**, por diseño (recipe-contract §2). @@ -60,7 +52,7 @@ Consumidos y **no declarados en el CSS** (vienen de `base.ts` o de un estilo inl ## 4. Propuesta de corrección -### 4.1 Tokens a declarar en `lib/recipes/base.ts` (7) +### 4.1 Tokens a declarar en `lib/recipes/base.ts` (0) Valor **verbatim** del CSS de hoy: el default no se mueve, sólo cambia quién puede moverlo. Nombres derivados de recipe-contract §1 (ejes lógicos, talla @@ -70,23 +62,12 @@ no distingue lo que debería — se marca `⚠`. | token (`--callout-…`) | scope TSC | valor propuesto | usos | | --- | --- | --- | ---: | -| `row-gap` | `root` | `var(--space-1)` | 1 | -| `font-size` | `root` | `var(--size-md-font-size)` | 1 | -| `line-height` | `root` | `var(--font-line-height-md, 1.5)` | 1 | -| `fg` | `root` | `var(--color-content-primary)` | 1 | -| `icon-font-size` | `root` | `var(--size-md-icon-size)` | 1 | -| `icon-height` | `root` | `calc(var(--size-md-font-size) * var(--font-line-height-md, 1.5))` | 1 | -| `title-font-weight` | `root` | `var(--font-weight-semibold)` | 1 | ### 4.2 Sin nombre mecánico (4) - **⚠ decisión: el privado que alimenta este knob no se declara en el CSS (viene de `base.ts` o de un estilo inline) — hay que resolverlo antes de nombrarlo** — 3: `background`, `color`. - **⚠ decisión: `1` es un valor identidad o geometría de layout, no un knob de tema — el perímetro de «knob» es D-TH.2, sin firmar** — 1: `line-height`. -### 4.3 Avisos sobre los tokens propuestos (1) - -- **⚠ decisión: el valor es una expresión — el token puede llevar la expresión entera o sólo su término variable** — `--callout-icon-height` - ### 4.4 Lo que hay que comprobar a mano (PLAN-theming §1.3 · §7.4) - [ ] **Privado que no deriva de un público** — §3 lo marca; el privado debe leer el público o desaparecer. @@ -99,6 +80,36 @@ no distingue lo que debería — se marca `⚠`. -_(pendiente — lo escribe el autor; se conserva al regenerar)_ +**EJECUTADO 2026-08-23 — 27 % → 79 %**, 7 claves nuevas (28 → 35) y un literal +anotado. El 21 % que falta es el **puente de paleta** (`_palette-track/text/solid`, +THM-2), que no es deuda: es la vía por la que `data-color` resuelve los 8 roles +y las 33 escalas donantes sin una línea de CSS extra. + +Cosido lo que la receta consumía a pelo: el hueco de fila, la tipografía del +cuerpo (`font-size` + `line-height`, que es como se lee una admonición), la +tinta del cuerpo, el tamaño del icono y el peso del título. Los pasos leen el +BUNDLE (`--size-md-font-size`, `--size-md-font-line-height`, +`--size-md-icon-size`), no el primitivo suelto. + +**La línea base óptica del icono deja de repetir las métricas del sistema**: era +`calc(var(--size-md-font-size) * var(--font-line-height-md, 1.5))` y ahora es +`calc(var(--callout-font-size) * var(--callout-line-height))` — la MISMA +derivación, sobre los tokens del propio callout, así que un tema que agrande la +copia mueve la caja del glifo con ella. + +**Tres respaldos muertos retirados**: `var(--callout-gap, var(--space-3))`, +`var(--callout-padding, …)`, `var(--callout-accent-width, 3px)` y +`var(--callout-radius, …)` llevaban un respaldo que no puede ocurrir —las cuatro +claves están en el contrato— y el `, 1.5` de `--font-line-height-md` tampoco (el +token existe y vale 1.45; el respaldo mentía por 0,05). + +**Los 24 rojos del guard son los tonos, y NO son de este componente**: es la +supersesión de la cascada de paleta que `button` destapó el mismo día (el bloque +genérico va el último y gana por orden). Adjudicados con el PATRÓN compartido. + +Verificación: **diff de computed = 0** sobre 896 valores en 7 estados · +centinela **10/34** con los 24 tonos adjudicados por patrón · censo 79 % · +`component:audit` PASS · suite eidos con el rojo conocido ajeno · `rtl:check` 0 · +`docs:check` 0 · `check` sin errores propios · captura de cuatro tonos. diff --git a/docs/audit/theming/card-group.md b/docs/audit/theming/card-group.md index d24d6e88f..a5d071569 100644 --- a/docs/audit/theming/card-group.md +++ b/docs/audit/theming/card-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **90%** — 18 de 20 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **90%** — 18 de 20 knobs por token público - **Knobs de apariencia**: 22 — público 18 · privado 0 · global 0 · literal 2 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `padding-sm`, `padding-md`, `padding-lg`, `grid-gap-sm`, `grid-gap-md`, `grid-gap-lg`, `padding`, `grid-gap`, `card-radius`, `title-font-weight`, `title-fg`, `title-font-family`, `title-font-size`, `title-line-height`, `title-padding-block-end`, `chevron-size`, `chevron-width`, `description-fg`, `description-font-size`, `description-padding-block-end` - **Eje `size`**: no · **ficheros**: `card-group.css` diff --git a/docs/audit/theming/card.md b/docs/audit/theming/card.md index 9942c86c1..f72efce09 100644 --- a/docs/audit/theming/card.md +++ b/docs/audit/theming/card.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **80%** — 28 de 35 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **80%** — 28 de 35 knobs por token público - **Knobs de apariencia**: 36 — público 28 · privado 7 · global 0 · literal 0 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 97 pública(s) — `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-inline-xl`, `padding-block-xs`, `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `padding-block-xl`, `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `font-family`, `line-height`, `title-font-family`, `title-font-size-xs`, `title-font-size-sm`, `title-font-size-md`, `title-font-size-lg`, `title-font-size-xl`, `title-font-weight`, `title-line-height`, `title-letter-spacing`, `description-font-family`, `description-font-size-xs`, `description-font-size-sm`, `description-font-size-md`, `description-font-size-lg`, `description-font-size-xl`, `description-line-height`, `description-fg`, `body-font-size-xs`, `body-font-size-sm`, `body-font-size-md`, `body-font-size-lg`, `body-font-size-xl`, `body-line-height`, `border-width`, `radius-sm`, `radius-md`, `radius-lg`, `header-gap`, `footer-gap`, `footer-padding-start`, `footer-border-fg`, `emerge-duration`, `emerge-ease`, `emerge-distance`, `hover-lift`, `hover-shadow`, `press-scale`, `press-duration`, `selected-ring-width`, `disabled-opacity`, `primary-solid`, `primary-text`, `primary-contrast`, `secondary-solid`, `secondary-text`, `secondary-contrast`, `neutral-solid`, `neutral-text`, `neutral-contrast`, `affirm-solid`, `affirm-text`, `affirm-contrast`, `fulfill-track`, `fulfill-border`, `fulfill-solid`, `fulfill-text`, `fulfill-contrast`, `risk-solid`, `risk-text`, `risk-contrast`, `threat-solid`, `threat-text`, `threat-contrast`, `loss-track`, `loss-border`, `loss-solid`, `loss-text`, `loss-contrast`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border`, `risk-track`, `risk-border`, `threat-track`, `threat-border` · 5 privada(s) forward — `_palette-track`, `_palette-border`, `_palette-solid`, `_palette-text`, `_palette-contrast` - **Eje `size`**: sí · **ficheros**: `card.css` diff --git a/docs/audit/theming/carousel.md b/docs/audit/theming/carousel.md index 27d1435f5..b5918d556 100644 --- a/docs/audit/theming/carousel.md +++ b/docs/audit/theming/carousel.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **77%** — 23 de 30 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **77%** — 23 de 30 knobs por token público - **Knobs de apariencia**: 35 — público 23 · privado 2 · global 0 · literal 5 · sistema 5 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 27 pública(s) — `indicator-size-xs`, `indicator-size-sm`, `indicator-size-md`, `indicator-size-lg`, `indicator-size-xl`, `indicator-gap-xs`, `indicator-gap-sm`, `indicator-gap-md`, `indicator-gap-lg`, `indicator-gap-xl`, `indicator-size`, `indicator-gap`, `gap`, `radius`, `font-family`, `fg`, `inner-radius-inset`, `trigger-offset`, `frame-padding`, `border-width`, `border`, `surface-bg`, `vertical-block-size`, `indicator-group-padding-block`, `indicator-bg`, `indicator-radius`, `active-indicator-scale` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `carousel.css` diff --git a/docs/audit/theming/cascade.md b/docs/audit/theming/cascade.md index df98afcf6..640599b3c 100644 --- a/docs/audit/theming/cascade.md +++ b/docs/audit/theming/cascade.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 1 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 1 knobs por token público - **Knobs de apariencia**: 1 — público 0 · privado 0 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `cascade.css` diff --git a/docs/audit/theming/chart.md b/docs/audit/theming/chart.md index 22bff3d46..92a5259bc 100644 --- a/docs/audit/theming/chart.md +++ b/docs/audit/theming/chart.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **89%** — 81 de 91 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **89%** — 81 de 91 knobs por token público - **Knobs de apariencia**: 95 — público 81 · privado 0 · global 0 · literal 10 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 45 pública(s) — `line-width`, `axis-width`, `grid-width`, `bar-radius`, `point-radius`, `area-opacity`, `slice-stroke-width`, `transition-duration`, `transition-ease`, `tooltip-bg`, `tooltip-border`, `tooltip-radius`, `tooltip-shadow`, `tooltip-padding`, `tooltip-gap`, `crosshair-fg`, `crosshair-width`, `caption-font-size`, `caption-fg`, `label-font-size`, `label-fg`, `label-font-weight`, `gauge-label-font-size`, `axis-fg`, `grid-fg`, `separator-fg`, `smith-boundary-fg`, `track-bg`, `track-height`, `track-radius`, `gap`, `legend-row-gap`, `legend-column-gap`, `legend-item-gap`, `swatch-size`, `swatch-radius`, `tooltip-swatch-size`, `bar-list-row-gap`, `bar-list-column-gap`, `bar-segment-gap`, `bar-segment-track-gap`, `bar-segment-track-radius`, `bar-segment-fill-min-inline-size`, `bar-segment-legend-row-gap`, `bar-segment-legend-column-gap` - **Eje `size`**: no · **ficheros**: `chart.css` diff --git a/docs/audit/theming/chat-composer.md b/docs/audit/theming/chat-composer.md index 03ac2a83c..4034cb496 100644 --- a/docs/audit/theming/chat-composer.md +++ b/docs/audit/theming/chat-composer.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **79%** — 31 de 39 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **79%** — 31 de 39 knobs por token público - **Knobs de apariencia**: 44 — público 31 · privado 0 · global 3 · literal 5 · sistema 5 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 31 pública(s) — `gap`, `bg`, `border`, `border-width`, `focus-border`, `radius`, `padding-inline`, `padding-block`, `input-font-size`, `input-line-height`, `input-fg`, `input-placeholder-fg`, `input-padding-inline`, `input-padding-block`, `context-bg`, `context-accent`, `context-accent-size`, `context-font-size`, `context-fg`, `context-radius`, `context-padding-inline`, `context-padding-block`, `context-gap`, `attachments-gap`, `send-size`, `send-bg`, `send-fg`, `send-radius`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: no · **ficheros**: `chat-composer.css` diff --git a/docs/audit/theming/chat-list.md b/docs/audit/theming/chat-list.md index 7d9d17ada..00dd284bf 100644 --- a/docs/audit/theming/chat-list.md +++ b/docs/audit/theming/chat-list.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 18 de 18 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 18 de 18 knobs por token público - **Knobs de apariencia**: 18 — público 18 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 18 pública(s) — `bg`, `padding-inline`, `padding-block`, `item-gap`, `item-padding-inline`, `item-padding-block`, `item-radius`, `item-row-gap`, `title-font-size`, `title-font-weight`, `title-fg`, `title-unread-weight`, `preview-font-size`, `preview-fg`, `preview-unread-fg`, `meta-gap`, `meta-font-size`, `meta-fg` - **Eje `size`**: no · **ficheros**: `chat-list.css` diff --git a/docs/audit/theming/chat-log.md b/docs/audit/theming/chat-log.md index 872e69e58..3412ac468 100644 --- a/docs/audit/theming/chat-log.md +++ b/docs/audit/theming/chat-log.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **77%** — 30 de 39 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **77%** — 30 de 39 knobs por token público - **Knobs de apariencia**: 42 — público 30 · privado 0 · global 4 · literal 5 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 31 pública(s) — `bg`, `padding-inline`, `padding-block`, `separator-gap`, `separator-font-size`, `separator-fg`, `separator-bg`, `separator-padding-inline`, `separator-padding-block`, `separator-radius`, `divider-fg`, `divider-line`, `divider-font-size`, `divider-gap`, `event-font-size`, `event-fg`, `event-padding-block`, `pill-bg`, `pill-fg`, `pill-font-size`, `pill-padding-inline`, `pill-height`, `pill-radius`, `pill-shadow`, `pill-offset`, `to-latest-size`, `to-latest-bg`, `to-latest-fg`, `to-latest-border`, `to-latest-shadow`, `to-latest-offset` - **Eje `size`**: no · **ficheros**: `chat-log.css` diff --git a/docs/audit/theming/chat-message.md b/docs/audit/theming/chat-message.md index 37bad8c9f..2a1c6d627 100644 --- a/docs/audit/theming/chat-message.md +++ b/docs/audit/theming/chat-message.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **84%** — 65 de 77 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **84%** — 65 de 77 knobs por token público - **Knobs de apariencia**: 84 — público 65 · privado 0 · global 6 · literal 6 · sistema 7 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 75 pública(s) — `gap`, `row-gap-run`, `row-gap-group`, `gutter-inline-size`, `bubble-padding-inline-sm`, `bubble-padding-inline-md`, `bubble-padding-inline-lg`, `bubble-padding-block-sm`, `bubble-padding-block-md`, `bubble-padding-block-lg`, `bubble-radius`, `bubble-radius-run`, `bubble-tail-radius`, `bubble-max-inline-size`, `bubble-font-size-sm`, `bubble-font-size-md`, `bubble-font-size-lg`, `bubble-line-height`, `bubble-bg-in`, `bubble-fg-in`, `bubble-bg-out`, `bubble-fg-out`, `bubble-shadow`, `header-gap`, `header-font-size`, `header-font-weight`, `header-fg`, `meta-gap`, `meta-font-size`, `meta-fg`, `status-size`, `status-fg`, `read-status-fg`, `failed-status-fg`, `read-by-gap`, `read-by-font-size`, `read-by-fg`, `read-by-margin`, `emphasize-bg`, `emphasize-radius`, `emphasize-duration`, `reply-padding-inline`, `reply-padding-block`, `reply-accent-size`, `reply-radius`, `reply-bg`, `reply-accent`, `reply-font-size`, `reaction-gap`, `reaction-height`, `reaction-padding-inline`, `reaction-radius`, `reaction-font-size`, `reaction-bg`, `reaction-border`, `reaction-shadow`, `reaction-overlap`, `reaction-pressed-bg`, `reaction-pressed-border`, `reaction-pressed-fg`, `quick-react-gap`, `quick-react-pad`, `quick-react-size`, `quick-react-emoji-size`, `quick-react-hover-bg`, `quick-react-hover-scale`, `actions-bg`, `actions-border`, `actions-shadow`, `actions-radius`, `actions-padding`, `mentioned-bg`, `mentioned-accent`, `actions-gap`, `actions-offset` - **Eje `size`**: sí · **ficheros**: `chat-message.css` diff --git a/docs/audit/theming/chat-typing.md b/docs/audit/theming/chat-typing.md index 7a2ad2d66..07143aad0 100644 --- a/docs/audit/theming/chat-typing.md +++ b/docs/audit/theming/chat-typing.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **89%** — 8 de 9 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **89%** — 8 de 9 knobs por token público - **Knobs de apariencia**: 9 — público 8 · privado 0 · global 1 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 7 pública(s) — `gap`, `font-size`, `fg`, `min-block-size`, `dot-size`, `dot-gap`, `dot-fg` - **Eje `size`**: no · **ficheros**: `chat-typing.css` diff --git a/docs/audit/theming/checkbox.md b/docs/audit/theming/checkbox.md index 16a67e613..cabe01936 100644 --- a/docs/audit/theming/checkbox.md +++ b/docs/audit/theming/checkbox.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **59%** — 19 de 32 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **59%** — 19 de 32 knobs por token público - **Knobs de apariencia**: 33 — público 19 · privado 8 · global 2 · literal 3 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 44 pública(s) — `size-xs-box-size`, `size-xs-indicator-size`, `size-xs-indicator-stroke`, `size-sm-box-size`, `size-sm-indicator-size`, `size-sm-indicator-stroke`, `size-md-box-size`, `size-md-indicator-size`, `size-md-indicator-stroke`, `size-lg-box-size`, `size-lg-indicator-size`, `size-lg-indicator-stroke`, `size-xl-box-size`, `size-xl-indicator-size`, `size-xl-indicator-stroke`, `radius`, `border-width`, `transition-duration`, `transition-ease`, `stroke-duration`, `stroke-ease`, `bg-off`, `border-off`, `hover-border-off`, `disabled-bg`, `disabled-border`, `disabled-opacity`, `indicator-fg`, `disabled-indicator-fg`, `primary-solid`, `primary-solid-hover`, `neutral-solid`, `neutral-solid-hover`, `secondary-solid`, `secondary-solid-hover`, `affirm-solid`, `affirm-solid-hover`, `group-gap`, `group-label-font-family`, `group-label-font-size`, `group-label-font-weight`, `group-label-line-height`, `group-label-fg`, `disabled-group-label-fg` · 3 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `checkbox.css` diff --git a/docs/audit/theming/chronos.md b/docs/audit/theming/chronos.md index b15478985..bffa554db 100644 --- a/docs/audit/theming/chronos.md +++ b/docs/audit/theming/chronos.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **1%** — 3 de 237 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **1%** — 3 de 237 knobs por token público - **Knobs de apariencia**: 244 — público 3 · privado 21 · global 202 · literal 11 · sistema 7 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 9 pública(s) — `cell-min-block-sm`, `cell-min-block-md`, `cell-min-block-lg`, `num-row`, `lane-height-sm`, `lane-height-md`, `lane-height-lg`, `timegrid-block-size`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `chronos.css` diff --git a/docs/audit/theming/clipboard.md b/docs/audit/theming/clipboard.md index a65e49d88..eabf4650d 100644 --- a/docs/audit/theming/clipboard.md +++ b/docs/audit/theming/clipboard.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **63%** — 5 de 8 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **63%** — 5 de 8 knobs por token público - **Knobs de apariencia**: 8 — público 5 · privado 2 · global 1 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 6 pública(s) — `indicator-gap`, `indicator-padding-block`, `indicator-padding-inline`, `indicator-radius`, `indicator-font-size`, `indicator-font-weight` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `clipboard.css` diff --git a/docs/audit/theming/code-block.md b/docs/audit/theming/code-block.md index 3dcde242e..7ec710da2 100644 --- a/docs/audit/theming/code-block.md +++ b/docs/audit/theming/code-block.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **81%** — 21 de 26 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **81%** — 21 de 26 knobs por token público - **Knobs de apariencia**: 26 — público 21 · privado 2 · global 3 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `radius`, `fg`, `border-width`, `border`, `surface-bg`, `header-gap`, `header-padding-inline`, `header-padding-block`, `header-bg`, `title-font-family`, `title-font-size`, `title-fg`, `lang-font-family`, `lang-font-size`, `lang-fg`, `lang-letter-spacing`, `copy-gap`, `copy-font-size`, `copy-fg`, `pre-padding` - **Eje `size`**: no · **ficheros**: `code-block.css` diff --git a/docs/audit/theming/code.md b/docs/audit/theming/code.md index bca84516e..9539deefe 100644 --- a/docs/audit/theming/code.md +++ b/docs/audit/theming/code.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 7 de 7 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 7 de 7 knobs por token público - **Knobs de apariencia**: 13 — público 7 · privado 0 · global 0 · literal 0 · sistema 6 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 6 pública(s) — `radius`, `soft-bg`, `border-width`, `border`, `padding-inline`, `padding-block` · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `code.css` diff --git a/docs/audit/theming/collapsible.md b/docs/audit/theming/collapsible.md index 67450f686..a1db347ae 100644 --- a/docs/audit/theming/collapsible.md +++ b/docs/audit/theming/collapsible.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **90%** — 9 de 10 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **90%** — 9 de 10 knobs por token público - **Knobs de apariencia**: 12 — público 9 · privado 0 · global 1 · literal 0 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 11 pública(s) — `trigger-font-family`, `trigger-font-size`, `trigger-font-weight`, `trigger-fg`, `hover-trigger-fg`, `trigger-radius`, `trigger-padding`, `content-padding`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: no · **ficheros**: `collapsible.css` diff --git a/docs/audit/theming/color-field.md b/docs/audit/theming/color-field.md index 818ce8a99..7e610a2da 100644 --- a/docs/audit/theming/color-field.md +++ b/docs/audit/theming/color-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **56%** — 9 de 16 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **56%** — 9 de 16 knobs por token público - **Knobs de apariencia**: 16 — público 9 · privado 0 · global 2 · literal 5 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 22 pública(s) — `segment-padding-inline-xs`, `segment-padding-inline-sm`, `segment-padding-inline-md`, `segment-padding-inline-lg`, `segment-padding-inline-xl`, `placeholder-fg`, `literal-fg`, `segment-radius`, `segment-fg`, `segment-invalid-fg`, `segment-readonly-bg`, `segment-readonly-fg`, `segment-readonly-decoration`, `swatch-size-xs`, `swatch-size-sm`, `swatch-size-md`, `swatch-size-lg`, `swatch-size-xl`, `format-select-fg`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `color-field.css` diff --git a/docs/audit/theming/color-picker.md b/docs/audit/theming/color-picker.md index c556a730e..ad2ded845 100644 --- a/docs/audit/theming/color-picker.md +++ b/docs/audit/theming/color-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **75%** — 59 de 79 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **75%** — 59 de 79 knobs por token público - **Knobs de apariencia**: 82 — público 59 · privado 7 · global 2 · literal 11 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 71 pública(s) — `gap`, `control-gap`, `label-fg`, `trigger-font-family`, `trigger-line-height`, `value-font-family`, `value-font-weight`, `value-fg`, `value-line-height`, `swatch-border-width`, `channel-track-border-width`, `channel-track-border`, `channel-thumb-border-width`, `channel-thumb-border`, `channel-thumb-shadow`, `swatch-ring-gap`, `eye-dropper-border-width`, `content-width-sm`, `content-width-md`, `content-width-lg`, `trigger-height-sm`, `trigger-height-md`, `trigger-height-lg`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `trigger-gap`, `trigger-radius`, `trigger-border-width`, `trigger-border`, `trigger-bg`, `trigger-fg`, `trigger-hover-border`, `trigger-swatch-size-sm`, `trigger-swatch-size-md`, `trigger-swatch-size-lg`, `trigger-swatch-radius`, `area-height`, `area-radius`, `area-border-width`, `area-border`, `area-thumb-size`, `area-thumb-radius`, `area-thumb-border-width`, `area-thumb-border`, `area-thumb-shadow`, `transparency-cell`, `transparency-cell-alt`, `swatch-size-sm`, `swatch-size-md`, `swatch-size-lg`, `swatch-radius`, `swatch-border`, `swatch-checked-ring`, `swatch-gap`, `eye-dropper-size`, `eye-dropper-radius`, `eye-dropper-bg`, `eye-dropper-fg`, `eye-dropper-hover-fg`, `hue-0`, `hue-60`, `hue-120`, `hue-180`, `hue-240`, `hue-300`, `hue-360`, `saturation-floor`, `transition-duration`, `transition-ease`, `disabled-opacity` · 1 privada(s) forward — `_palette-border` - **Eje `size`**: sí · **ficheros**: `color-picker-spectrum.css`, `color-picker.css` diff --git a/docs/audit/theming/color-swatch.md b/docs/audit/theming/color-swatch.md index 87a8137b9..35ca5bcdf 100644 --- a/docs/audit/theming/color-swatch.md +++ b/docs/audit/theming/color-swatch.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **70%** — 7 de 10 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **70%** — 7 de 10 knobs por token público - **Knobs de apariencia**: 10 — público 7 · privado 0 · global 3 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 12 pública(s) — `size-xs`, `size-sm`, `size-md`, `size-lg`, `size-xl`, `radius`, `border-width`, `border-fg`, `fill`, `checker-cell`, `checker-bg`, `checker-square` - **Eje `size`**: sí · **ficheros**: `color-swatch.css` diff --git a/docs/audit/theming/combobox.md b/docs/audit/theming/combobox.md index 63b7a94fa..f5e0d0149 100644 --- a/docs/audit/theming/combobox.md +++ b/docs/audit/theming/combobox.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **85%** — 76 de 89 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **85%** — 76 de 89 knobs por token público - **Knobs de apariencia**: 97 — público 76 · privado 4 · global 3 · literal 6 · sistema 8 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 106 pública(s) — `content-z`, `control-height-xs`, `control-height-sm`, `control-height-md`, `control-height-lg`, `control-height-xl`, `control-font-size-xs`, `control-font-size-sm`, `control-font-size-md`, `control-font-size-lg`, `control-font-size-xl`, `control-gap-xs`, `control-gap-sm`, `control-gap-md`, `control-gap-lg`, `control-gap-xl`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `control-padding-inline-xl`, `content-padding-block-xs`, `content-padding-block-sm`, `content-padding-block-md`, `content-padding-block-lg`, `content-padding-block-xl`, `content-padding-inline-xs`, `content-padding-inline-sm`, `content-padding-inline-md`, `content-padding-inline-lg`, `content-padding-inline-xl`, `content-font-size-xs`, `content-font-size-sm`, `content-font-size-md`, `content-font-size-lg`, `content-font-size-xl`, `control-height`, `control-font-size`, `control-gap`, `control-padding-inline`, `content-padding-block`, `content-padding-inline`, `content-font-size`, `gap`, `font-family`, `fg`, `border-width`, `control-radius`, `control-bg`, `control-border`, `control-shadow`, `control-fg`, `control-line-height`, `disabled-control-bg`, `disabled-control-border`, `disabled-control-fg`, `placeholder-fg`, `disabled-input-fg`, `trigger-size`, `trigger-radius`, `trigger-fg`, `indicator-size`, `content-min-width`, `content-max-width`, `content-max-height`, `content-radius`, `content-fg`, `content-font-family`, `content-line-height`, `viewport-gap`, `viewport-padding-block-end`, `scrollbar-inset`, `group-gap`, `group-padding-block`, `group-heading-padding-block`, `group-heading-padding-inline`, `group-heading-bg`, `group-heading-fg`, `group-heading-font-family`, `group-heading-font-size`, `group-heading-font-weight`, `group-heading-line-height`, `group-heading-letter-spacing`, `separator-thickness`, `separator-margin-block`, `separator-bg`, `item-gap`, `item-padding-inline`, `item-fg`, `disabled-item-fg`, `item-indicator-size`, `selected-tags-gap`, `selected-tags-margin-block-end`, `selected-tag-gap`, `selected-tag-padding-inline-start`, `selected-tag-padding-inline-end`, `selected-tag-inset`, `selected-tag-radius`, `selected-tag-bg`, `selected-tag-border`, `selected-tag-fg`, `selected-tag-line-height`, `selected-tag-font-size-offset`, `selected-tag-remove-size`, `selected-tag-remove-margin-inline-start`, `selected-tag-remove-radius` · 3 privada(s) forward — `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: no · **ficheros**: `combobox.css` diff --git a/docs/audit/theming/command.md b/docs/audit/theming/command.md index 5ecdbd204..7aba0c8f0 100644 --- a/docs/audit/theming/command.md +++ b/docs/audit/theming/command.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **98%** — 49 de 50 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **98%** — 49 de 50 knobs por token público - **Knobs de apariencia**: 52 — público 49 · privado 0 · global 0 · literal 1 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 57 pública(s) — `input-padding-inline-sm`, `input-padding-inline-md`, `input-padding-inline-lg`, `input-font-size-sm`, `input-font-size-md`, `input-font-size-lg`, `item-padding-inline-sm`, `item-padding-inline-md`, `item-padding-inline-lg`, `item-font-size-sm`, `item-font-size-md`, `item-font-size-lg`, `input-padding-inline`, `input-font-size`, `item-padding-inline`, `item-font-size`, `radius`, `font-family`, `line-height`, `fg`, `input-padding-block`, `input-margin`, `input-border-width`, `input-border`, `input-radius`, `input-bg`, `input-fg`, `input-placeholder-fg`, `focus-input-border`, `loading-height`, `loading-fg`, `viewport-max-block`, `viewport-gap`, `viewport-padding-inline`, `viewport-padding-block-end`, `scrollbar-inset`, `viewport-padding`, `group-gap`, `group-heading-padding-block`, `group-heading-fg`, `group-heading-font-size`, `group-heading-font-weight`, `group-heading-tracking`, `group-items-gap`, `item-gap`, `item-fg`, `item-icon-size`, `item-icon-fg`, `item-shortcut-gap`, `item-shortcut-fg`, `item-shortcut-font-size`, `selected-item-sub-fg`, `empty-padding-block`, `empty-fg`, `separator-height`, `separator-margin-block`, `separator-bg` - **Eje `size`**: no · **ficheros**: `command.css` diff --git a/docs/audit/theming/container.md b/docs/audit/theming/container.md index e51f0b878..9ed150706 100644 --- a/docs/audit/theming/container.md +++ b/docs/audit/theming/container.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `max-width` - **Eje `size`**: no · **ficheros**: `container.css` diff --git a/docs/audit/theming/context-menu.md b/docs/audit/theming/context-menu.md index 9321cac0b..39277d264 100644 --- a/docs/audit/theming/context-menu.md +++ b/docs/audit/theming/context-menu.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **90%** — 27 de 30 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **90%** — 27 de 30 knobs por token público - **Knobs de apariencia**: 33 — público 27 · privado 0 · global 0 · literal 3 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 29 pública(s) — `content-font-family`, `content-fg`, `item-fg`, `item-line-height`, `chevron-stroke`, `heading-fg`, `heading-font-weight`, `heading-letter-spacing`, `open-trigger-outline-width`, `open-trigger-outline`, `open-trigger-radius`, `content-min-width`, `content-max-height`, `content-padding`, `content-radius`, `content-font-size`, `item-gap`, `item-height`, `item-padding-inline`, `item-padding-block`, `item-radius`, `hover-item-bg`, `hover-item-fg`, `item-disabled-opacity`, `heading-padding-inline`, `heading-padding-block`, `heading-font-size`, `separator-bg`, `separator-margin-block` - **Eje `size`**: no · **ficheros**: `context-menu.css` diff --git a/docs/audit/theming/count-up.md b/docs/audit/theming/count-up.md index 9204d1046..f96404375 100644 --- a/docs/audit/theming/count-up.md +++ b/docs/audit/theming/count-up.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `count-up.svelte`, `index.ts`, `README.md`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/cropper.md b/docs/audit/theming/cropper.md index 2dee3e6c8..dca13b5f7 100644 --- a/docs/audit/theming/cropper.md +++ b/docs/audit/theming/cropper.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **60%** — 15 de 25 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **60%** — 15 de 25 knobs por token público - **Knobs de apariencia**: 27 — público 15 · privado 0 · global 3 · literal 7 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 15 pública(s) — `viewport-bg`, `viewport-radius`, `mask-bg`, `grid-line`, `selection-border`, `selection-border-width`, `handle-size`, `handle-bg`, `handle-border`, `handle-border-width`, `zoom-gap`, `zoom-btn-size`, `zoom-btn-bg`, `zoom-btn-fg`, `zoom-btn-border` - **Eje `size`**: no · **ficheros**: `cropper.css` diff --git a/docs/audit/theming/css-field.md b/docs/audit/theming/css-field.md index d2b344bd7..38a4ba862 100644 --- a/docs/audit/theming/css-field.md +++ b/docs/audit/theming/css-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `css-field.css` diff --git a/docs/audit/theming/date-field.md b/docs/audit/theming/date-field.md index 49d0613b1..1eeda7367 100644 --- a/docs/audit/theming/date-field.md +++ b/docs/audit/theming/date-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 11 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 11 de 11 knobs por token público - **Knobs de apariencia**: 11 — público 11 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 21 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `segment-padding-inline-xs`, `segment-padding-inline-sm`, `segment-padding-inline-md`, `segment-padding-inline-lg`, `segment-padding-inline-xl`, `placeholder-fg`, `literal-fg`, `segment-radius`, `segment-fg`, `segment-invalid-fg`, `segment-readonly-bg`, `segment-readonly-fg`, `segment-readonly-decoration`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `date-field.css` diff --git a/docs/audit/theming/date-picker.md b/docs/audit/theming/date-picker.md index 8ff71aee7..9356970f2 100644 --- a/docs/audit/theming/date-picker.md +++ b/docs/audit/theming/date-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 0 · privado 0 · global 0 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `date-picker.css` diff --git a/docs/audit/theming/date-range-field.md b/docs/audit/theming/date-range-field.md index 9bd01b6c1..102b76263 100644 --- a/docs/audit/theming/date-range-field.md +++ b/docs/audit/theming/date-range-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **29%** — 2 de 7 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **29%** — 2 de 7 knobs por token público - **Knobs de apariencia**: 8 — público 2 · privado 0 · global 4 · literal 1 · sistema 1 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `row-gap`, `separator-fg`, `separator-glyph` - **Eje `size`**: no · **ficheros**: `date-range-field.css` diff --git a/docs/audit/theming/date-range-picker.md b/docs/audit/theming/date-range-picker.md index 46e3f400b..e3860fc42 100644 --- a/docs/audit/theming/date-range-picker.md +++ b/docs/audit/theming/date-range-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **40%** — 20 de 50 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **40%** — 20 de 50 knobs por token público - **Knobs de apariencia**: 53 — público 20 · privado 9 · global 19 · literal 2 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 22 pública(s) — `accent-border`, `accent-track`, `accent-text`, `overview-gap`, `overview-width`, `overview-header-gap`, `overview-heading-fg`, `overview-heading-font-weight`, `overview-nav-size`, `overview-nav-radius`, `overview-nav-fg`, `overview-nav-font-size`, `overview-grid-gap`, `overview-cell-height`, `overview-cell-radius`, `overview-cell-fg`, `overview-cell-font-size`, `in-range-overview-cell-bg`, `in-range-overview-cell-fg`, `endpoint-overview-cell-bg`, `endpoint-overview-cell-fg`, `endpoint-overview-cell-border` - **Eje `size`**: sí · **ficheros**: `date-range-picker-time.css`, `date-range-picker.css` diff --git a/docs/audit/theming/dialog.md b/docs/audit/theming/dialog.md index 6d0854c76..55623a697 100644 --- a/docs/audit/theming/dialog.md +++ b/docs/audit/theming/dialog.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **73%** — 24 de 33 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **73%** — 24 de 33 knobs por token público - **Knobs de apariencia**: 33 — público 24 · privado 4 · global 4 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 37 pública(s) — `overlay-bg`, `overlay-opacity`, `overlay-blur`, `overlay-z`, `content-z`, `content-fg`, `content-radius`, `content-max-height`, `content-max-height-sheet`, `content-width-sm`, `content-width-md`, `content-width-lg`, `content-width-xl`, `content-width-inset`, `content-full-inset`, `content-full-radius`, `content-position-inset`, `content-padding-sm`, `content-padding-md`, `content-padding-lg`, `content-padding-full`, `stack-gap`, `header-gap`, `footer-gap`, `footer-margin-top`, `title-font-family`, `title-font-size`, `title-font-weight`, `title-line-height`, `title-letter-spacing`, `title-fg`, `description-font-family`, `description-font-size`, `description-line-height`, `description-fg`, `close-size`, `close-inset` - **Eje `size`**: sí · **ficheros**: `dialog.css` diff --git a/docs/audit/theming/display.md b/docs/audit/theming/display.md index 77af07377..894c890e1 100644 --- a/docs/audit/theming/display.md +++ b/docs/audit/theming/display.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 6 — público 0 · privado 0 · global 0 · literal 0 · sistema 6 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `display.css` diff --git a/docs/audit/theming/drag-drop.md b/docs/audit/theming/drag-drop.md index 33f8247f0..07bda8681 100644 --- a/docs/audit/theming/drag-drop.md +++ b/docs/audit/theming/drag-drop.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **89%** — 8 de 9 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **89%** — 8 de 9 knobs por token público - **Knobs de apariencia**: 16 — público 8 · privado 1 · global 0 · literal 0 · sistema 7 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 9 pública(s) — `preview-padding-block`, `preview-padding-inline`, `preview-radius`, `preview-border-width`, `preview-bg`, `preview-fg`, `preview-font-family`, `preview-font-size`, `preview-shadow` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `drag-drop.css` diff --git a/docs/audit/theming/drawer.md b/docs/audit/theming/drawer.md index 7b7ebc899..e83ea85b1 100644 --- a/docs/audit/theming/drawer.md +++ b/docs/audit/theming/drawer.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **72%** — 43 de 60 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **72%** — 43 de 60 knobs por token público - **Knobs de apariencia**: 62 — público 43 · privado 8 · global 4 · literal 5 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 54 pública(s) — `trigger-gap`, `trigger-min-block-size`, `trigger-padding-inline`, `trigger-border-width`, `trigger-border`, `trigger-radius`, `trigger-bg`, `trigger-fg`, `trigger-font-weight`, `hover-trigger-bg`, `overlay-bg`, `overlay-blur`, `overlay-opacity`, `overlay-z`, `content-z`, `inline-z`, `handle-bg`, `active-handle-bg`, `handle-radius`, `handle-length`, `handle-thickness`, `handle-active-scale`, `handle-transition-duration`, `handle-transition-ease`, `content-fg`, `content-radius`, `content-shadow-dragging`, `content-ring-dragging-width`, `content-ring-dragging-fg`, `content-ring-dragging-offset`, `content-inset`, `content-width-sm`, `content-width-md`, `content-width-lg`, `content-height-sm`, `content-height-md`, `content-height-lg`, `content-padding-sm`, `content-padding-md`, `content-padding-lg`, `content-padding-full`, `stack-gap`, `header-gap`, `footer-gap`, `footer-margin-top`, `title-font-family`, `title-font-size`, `title-font-weight`, `title-line-height`, `title-fg`, `description-font-family`, `description-font-size`, `description-line-height`, `description-fg` - **Eje `size`**: sí · **ficheros**: `drawer.css` diff --git a/docs/audit/theming/dropdown-menu.md b/docs/audit/theming/dropdown-menu.md index 30933d0da..cd2d8c919 100644 --- a/docs/audit/theming/dropdown-menu.md +++ b/docs/audit/theming/dropdown-menu.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **57%** — 16 de 28 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **57%** — 16 de 28 knobs por token público - **Knobs de apariencia**: 30 — público 16 · privado 0 · global 9 · literal 3 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 19 pública(s) — `content-z`, `content-min-width`, `content-max-height`, `content-padding`, `content-radius`, `content-font-size`, `item-gap`, `item-height`, `item-padding-inline`, `item-padding-block`, `item-radius`, `hover-item-bg`, `hover-item-fg`, `item-disabled-opacity`, `heading-padding-inline`, `heading-padding-block`, `heading-font-size`, `separator-bg`, `separator-margin-block` - **Eje `size`**: no · **ficheros**: `dropdown-menu.css` diff --git a/docs/audit/theming/editable.md b/docs/audit/theming/editable.md index 1b48a0bfa..3f715534b 100644 --- a/docs/audit/theming/editable.md +++ b/docs/audit/theming/editable.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **75%** — 30 de 40 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **75%** — 30 de 40 knobs por token público - **Knobs de apariencia**: 44 — público 30 · privado 7 · global 1 · literal 2 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 56 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `control-height-xs`, `control-height-sm`, `control-height-md`, `control-height-lg`, `control-height-xl`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `control-padding-inline-xl`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `line-height`, `fg`, `area-min-inline-size`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `control-bg`, `control-shadow`, `placeholder-fg`, `trigger-gap`, `trigger-padding-inline`, `trigger-radius`, `trigger-border-width`, `trigger-border`, `hover-trigger-border`, `trigger-bg`, `trigger-fg`, `hover-trigger-fg`, `submit-fg`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-solid`, `secondary-solid`, `neutral-solid`, `affirm-solid`, `risk-solid`, `threat-solid`, `primary-border`, `secondary-border`, `neutral-border`, `affirm-border`, `risk-border`, `threat-border` · 3 privada(s) forward — `_palette-solid`, `_palette-border`, `_palette-solid-hover` - **Eje `size`**: sí · **ficheros**: `editable.css` diff --git a/docs/audit/theming/emoji-picker.md b/docs/audit/theming/emoji-picker.md index d23547dc5..1ffb672d2 100644 --- a/docs/audit/theming/emoji-picker.md +++ b/docs/audit/theming/emoji-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **61%** — 17 de 28 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **61%** — 17 de 28 knobs por token público - **Knobs de apariencia**: 32 — público 17 · privado 0 · global 8 · literal 3 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 17 pública(s) — `trigger-size`, `trigger-radius`, `trigger-font-size`, `panel-width`, `panel-gap`, `header-gap`, `grid-gap`, `grid-max-block-size`, `option-radius`, `option-font-size`, `footer-gap`, `footer-border-fg`, `preview-gap`, `preview-glyph-size`, `preview-name-font-size`, `preview-name-fg`, `preview-min-block-size` - **Eje `size`**: no · **ficheros**: `emoji-picker.css` diff --git a/docs/audit/theming/empty-state.md b/docs/audit/theming/empty-state.md index 22e9fddb0..a24f40907 100644 --- a/docs/audit/theming/empty-state.md +++ b/docs/audit/theming/empty-state.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **29%** — 5 de 17 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **29%** — 5 de 17 knobs por token público - **Knobs de apariencia**: 17 — público 5 · privado 7 · global 5 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 6 pública(s) — `gap`, `actions-gap`, `media-bg`, `media-fg`, `media-radius`, `description-measure` - **Eje `size`**: sí · **ficheros**: `empty-state.css` diff --git a/docs/audit/theming/fab.md b/docs/audit/theming/fab.md index 0108bc510..04e293c45 100644 --- a/docs/audit/theming/fab.md +++ b/docs/audit/theming/fab.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 14 de 16 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 14 de 16 knobs por token público - **Knobs de apariencia**: 16 — público 14 · privado 0 · global 2 · literal 0 · sistema 0 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 10 pública(s) — `size-xs`, `size-sm`, `size-md`, `size-lg`, `icon-xs`, `icon-sm`, `icon-md`, `icon-lg`, `shadow`, `lift` - **Eje `size`**: no · **ficheros**: `fab.css` diff --git a/docs/audit/theming/feed.md b/docs/audit/theming/feed.md index 2f6ace1e7..596d8b769 100644 --- a/docs/audit/theming/feed.md +++ b/docs/audit/theming/feed.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **94%** — 30 de 32 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **94%** — 30 de 32 knobs por token público - **Knobs de apariencia**: 33 — público 30 · privado 0 · global 1 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 50 pública(s) — `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `article-padding-block-xs`, `article-padding-block-sm`, `article-padding-block-md`, `article-padding-block-lg`, `article-padding-block-xl`, `article-padding-inline-xs`, `article-padding-inline-sm`, `article-padding-inline-md`, `article-padding-inline-lg`, `article-padding-inline-xl`, `thread-indent-xs`, `thread-indent-sm`, `thread-indent-md`, `thread-indent-lg`, `thread-indent-xl`, `font-size`, `article-padding-block`, `article-padding-inline`, `thread-indent`, `radius`, `font-family`, `line-height`, `fg`, `border-width`, `divider`, `gap`, `surface-bg`, `article-gap`, `article-title-fg`, `article-title-font-weight`, `article-title-font-size-3`, `article-title-font-size-4`, `article-title-font-size-5`, `article-title-font-size-6`, `article-description-fg`, `thread-margin-block-start`, `thread-rail-width`, `sentinel-min-block-size`, `sentinel-fg`, `sentinel-font-size`, `sentinel-spinner-size`, `sentinel-spinner-width`, `sentinel-spinner-gap`, `sentinel-spinner-duration`, `sentinel-spinner-reduced-duration` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `feed.css` diff --git a/docs/audit/theming/field-langs.md b/docs/audit/theming/field-langs.md index 73a68415e..1fb848854 100644 --- a/docs/audit/theming/field-langs.md +++ b/docs/audit/theming/field-langs.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 37 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 37 knobs por token público - **Knobs de apariencia**: 39 — público 0 · privado 0 · global 31 · literal 6 · sistema 2 · excepción 2 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `field-langs.css` diff --git a/docs/audit/theming/field.md b/docs/audit/theming/field.md index c1d044529..7d21fb262 100644 --- a/docs/audit/theming/field.md +++ b/docs/audit/theming/field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **98%** — 58 de 59 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **98%** — 58 de 59 knobs por token público - **Knobs de apariencia**: 64 — público 58 · privado 1 · global 0 · literal 0 · sistema 5 · excepción 9 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 68 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `font-family`, `label-gap`, `label-font-weight`, `label-line-height`, `label-fg`, `invalid-label-fg`, `disabled-label-fg`, `floating-label-top`, `floating-label-padding-inline`, `layout-column-gap`, `required-fg`, `optional-fg`, `optional-font-weight`, `control-height-xs`, `control-height-sm`, `control-height-md`, `control-height-lg`, `control-height-xl`, `segment-height`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `control-padding-inline-xl`, `control-gap-xs`, `control-gap-sm`, `control-gap-md`, `control-gap-lg`, `control-gap-xl`, `control-font-size-xs`, `control-font-size-sm`, `control-font-size-md`, `control-font-size-lg`, `control-font-size-xl`, `control-line-height`, `control-font-weight`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `focus-control-border`, `invalid-control-border`, `control-bg`, `control-ghost-border`, `control-ghost-bg`, `control-bg-readonly`, `disabled-control-bg`, `control-fg`, `control-placeholder-fg`, `affix-fg`, `control-trigger-size`, `control-trigger-radius`, `control-trigger-fg`, `hover-control-trigger-fg`, `focus-control-trigger-fg`, `segment-active-bg`, `segment-active-text`, `message-line-height`, `helper-fg`, `error-fg`, `transition-duration`, `transition-ease`, `disabled-opacity` · 1 privada(s) forward — `_palette-text` - **Eje `size`**: sí · **ficheros**: `field-control-trigger.css`, `field-segment-state.css`, `field.css` diff --git a/docs/audit/theming/file-upload.md b/docs/audit/theming/file-upload.md index e0203d39a..185aac91e 100644 --- a/docs/audit/theming/file-upload.md +++ b/docs/audit/theming/file-upload.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **76%** — 45 de 59 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **76%** — 45 de 59 knobs por token público - **Knobs de apariencia**: 61 — público 45 · privado 9 · global 1 · literal 4 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 98 pública(s) — `gap-sm`, `gap-md`, `gap-lg`, `padding-sm`, `padding-md`, `padding-lg`, `control-height-sm`, `control-height-md`, `control-height-lg`, `font-size-sm`, `font-size-md`, `font-size-lg`, `preview-size-sm`, `preview-size-md`, `preview-size-lg`, `font-family`, `line-height`, `fg`, `label-fg`, `label-font-weight`, `dropzone-gap`, `dropzone-min-height`, `dropzone-border-width`, `dropzone-border`, `dropzone-radius`, `dropzone-bg`, `dropzone-fg`, `button-gap`, `button-padding-inline`, `button-border-width`, `button-border`, `hover-button-border`, `button-radius`, `button-bg`, `button-fg`, `hover-button-fg`, `button-solid-fg`, `list-gap`, `item-gap`, `item-padding`, `item-border-width`, `item-border`, `item-radius`, `item-bg`, `item-shadow`, `preview-radius`, `preview-bg`, `preview-fg`, `item-name-fg`, `item-name-font-weight`, `item-size-fg`, `item-size-font-size`, `progress-height`, `progress-radius`, `progress-track-bg`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-solid`, `primary-solid-hover`, `primary-text`, `secondary-solid`, `secondary-solid-hover`, `secondary-text`, `neutral-solid`, `neutral-solid-hover`, `neutral-text`, `affirm-solid`, `affirm-solid-hover`, `affirm-text`, `fulfill-solid`, `fulfill-solid-hover`, `fulfill-track`, `fulfill-border`, `fulfill-text`, `risk-solid`, `risk-solid-hover`, `risk-text`, `threat-solid`, `threat-solid-hover`, `threat-text`, `loss-solid`, `loss-solid-hover`, `loss-track`, `loss-border`, `loss-text`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border`, `risk-track`, `risk-border`, `threat-track`, `threat-border` · 5 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `file-upload.css` diff --git a/docs/audit/theming/flex.md b/docs/audit/theming/flex.md index c1f7debd1..0e8980160 100644 --- a/docs/audit/theming/flex.md +++ b/docs/audit/theming/flex.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 2 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 2 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 2 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 7 pública(s) — `direction`, `align`, `justify`, `wrap`, `align-content`, `row-gap`, `column-gap` - **Eje `size`**: no · **ficheros**: `flex.css` diff --git a/docs/audit/theming/float-panel.md b/docs/audit/theming/float-panel.md index 3dd0ec4ce..b6f3181ee 100644 --- a/docs/audit/theming/float-panel.md +++ b/docs/audit/theming/float-panel.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **84%** — 41 de 49 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **84%** — 41 de 49 knobs por token público - **Knobs de apariencia**: 53 — público 41 · privado 3 · global 0 · literal 5 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 40 pública(s) — `outline-bg`, `outline-border`, `ghost-bg`, `ghost-border`, `ghost-shadow`, `action-radius`, `action-fg`, `action-font-size`, `hover-action-bg`, `hover-action-fg`, `resize-grip-fg`, `resize-grip-radius`, `bg`, `border`, `border-width`, `radius`, `shadow`, `shadow-topmost`, `active-shadow`, `fg`, `font-family`, `font-size`, `line-height`, `header-bg`, `header-padding-inline`, `header-padding-block`, `header-gap`, `controls-gap`, `title-font-size`, `title-font-weight`, `title-fg`, `body-padding-inline`, `body-padding-block`, `resize-size`, `resize-edge`, `button-size`, `grip-size`, `accent`, `transition-duration`, `transition-ease` · 1 privada(s) forward — `_palette-border` - **Eje `size`**: no · **ficheros**: `float-panel.css` diff --git a/docs/audit/theming/float.md b/docs/audit/theming/float.md index 81cb174c2..32e76a4c9 100644 --- a/docs/audit/theming/float.md +++ b/docs/audit/theming/float.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `gap` - **Eje `size`**: no · **ficheros**: `float.css` diff --git a/docs/audit/theming/form.md b/docs/audit/theming/form.md index 8bb2259c9..d46dbd8b4 100644 --- a/docs/audit/theming/form.md +++ b/docs/audit/theming/form.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **71%** — 36 de 51 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **71%** — 36 de 51 knobs por token público - **Knobs de apariencia**: 52 — público 36 · privado 8 · global 5 · literal 2 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 54 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `font-family`, `fg`, `radius`, `border-width`, `panel-padding`, `panel-border`, `panel-bg`, `panel-shadow`, `grid-min`, `grid-column-gap`, `action-height-xs`, `action-height-sm`, `action-height-md`, `action-height-lg`, `action-height-xl`, `action-padding-inline-xs`, `action-padding-inline-sm`, `action-padding-inline-md`, `action-padding-inline-lg`, `action-padding-inline-xl`, `action-font-size-xs`, `action-font-size-sm`, `action-font-size-md`, `action-font-size-lg`, `action-font-size-xl`, `action-font-weight`, `action-line-height`, `action-gap`, `action-radius`, `action-border-width`, `error-summary-padding`, `error-summary-border-width`, `error-summary-radius`, `error-summary-font-size`, `error-summary-line-height`, `error-summary-list-indent`, `link-underline-offset`, `auto-fields-gap`, `auto-fields-array-padding`, `auto-fields-border-width`, `auto-fields-radius`, `auto-fields-item-gap`, `auto-fields-item-padding`, `widget-padding-inline`, `widget-radius`, `widget-border-width`, `transition-duration`, `transition-ease`, `disabled-opacity` · 4 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-border`, `_palette-contrast` - **Eje `size`**: sí · **ficheros**: `form.css` diff --git a/docs/audit/theming/format-date.md b/docs/audit/theming/format-date.md index 1c9b11add..b38068bb5 100644 --- a/docs/audit/theming/format-date.md +++ b/docs/audit/theming/format-date.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `format-date.svelte`, `index.ts`, `README.md`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/format-number.md b/docs/audit/theming/format-number.md index 4393f61d7..3fa733a8f 100644 --- a/docs/audit/theming/format-number.md +++ b/docs/audit/theming/format-number.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `format-number.svelte`, `index.ts`, `README.md`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/gradient-builder.md b/docs/audit/theming/gradient-builder.md index f4886ffac..b503ee7df 100644 --- a/docs/audit/theming/gradient-builder.md +++ b/docs/audit/theming/gradient-builder.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **93%** — 52 de 56 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **93%** — 52 de 56 knobs por token público - **Knobs de apariencia**: 60 — público 52 · privado 0 · global 1 · literal 3 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 72 pública(s) — `preview-height-sm`, `preview-height-md`, `preview-height-lg`, `track-height-sm`, `track-height-md`, `track-height-lg`, `stop-size-sm`, `stop-size-md`, `stop-size-lg`, `gap-sm`, `gap-md`, `gap-lg`, `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `preview-height`, `track-height`, `stop-size`, `gap`, `padding-block`, `padding-inline`, `radius`, `bg`, `border`, `border-width`, `preview-radius`, `preview-bg`, `preview-border`, `track-radius`, `track-border`, `checker-fg`, `checker-cell`, `stop-radius`, `stop-bg`, `stop-ring`, `stop-ring-width`, `stop-shadow`, `selected-stop-shadow`, `stop-actions-gap`, `angle-dial-gap`, `angle-dial-head-gap`, `label-font-size`, `label-fg`, `value-font-size`, `value-fg`, `stop-color-title-font-size`, `stop-color-title-font-weight`, `stop-color-title-fg`, `stop-color-sliders-gap`, `stop-list-gap`, `stop-list-row-gap`, `stop-list-value-gap`, `stop-list-value-padding-block`, `stop-list-value-padding-inline`, `stop-list-value-radius`, `stop-list-value-bg`, `stop-list-value-fg`, `stop-list-value-border`, `stop-list-value-font-size`, `selected-stop-list-value-border`, `stop-list-pos-fg`, `presets-gap`, `preset-grid-gap`, `preset-height`, `preset-radius`, `preset-border`, `hover-preset-border`, `selected-preset-border`, `selected-preset-outline` - **Eje `size`**: no · **ficheros**: `gradient-builder.css` diff --git a/docs/audit/theming/gradient-picker.md b/docs/audit/theming/gradient-picker.md index f5f866282..192db3af4 100644 --- a/docs/audit/theming/gradient-picker.md +++ b/docs/audit/theming/gradient-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 23 de 26 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 23 de 26 knobs por token público - **Knobs de apariencia**: 27 — público 23 · privado 0 · global 2 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 25 pública(s) — `chip-size-sm`, `chip-size-md`, `chip-size-lg`, `chip-size`, `gap`, `trigger-gap`, `border-width`, `chip-radius`, `chip-border`, `content-width-sm`, `content-width-md`, `content-width-lg`, `stoplist-max-block`, `stoplist-scrollbar-size`, `stoplist-scrollbar-inset`, `presets-panel-width`, `presets-gap`, `presets-min-column`, `preset-height`, `preset-radius`, `preset-border`, `hover-preset-border`, `selected-preset-border`, `selected-preset-outline-offset`, `actions-gap` - **Eje `size`**: no · **ficheros**: `gradient-picker.css` diff --git a/docs/audit/theming/grid-list.md b/docs/audit/theming/grid-list.md index 0b40d4745..b5a027fd3 100644 --- a/docs/audit/theming/grid-list.md +++ b/docs/audit/theming/grid-list.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **85%** — 22 de 26 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **85%** — 22 de 26 knobs por token público - **Knobs de apariencia**: 31 — público 22 · privado 2 · global 1 · literal 1 · sistema 5 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 38 pública(s) — `row-height-xs`, `row-height-sm`, `row-height-md`, `row-height-lg`, `row-height-xl`, `row-padding-inline-xs`, `row-padding-inline-sm`, `row-padding-inline-md`, `row-padding-inline-lg`, `row-padding-inline-xl`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `row-height`, `row-padding-inline`, `font-size`, `gap`, `padding`, `border-width`, `border`, `radius`, `bg`, `fg`, `font-family`, `line-height`, `max-block`, `invalid-border`, `row-gap`, `row-padding-block`, `row-radius`, `row-fg`, `disabled-row-fg`, `selection-checkbox-size`, `selection-checkbox-border`, `selection-checkbox-radius`, `checked-selection-checkbox-fg` · 1 privada(s) forward — `_palette-solid` - **Eje `size`**: no · **ficheros**: `grid-list.css` diff --git a/docs/audit/theming/grid.md b/docs/audit/theming/grid.md index 0bf77be04..72a12397b 100644 --- a/docs/audit/theming/grid.md +++ b/docs/audit/theming/grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 2 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 2 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 2 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 13 pública(s) — `template-columns`, `template-rows`, `auto-columns`, `auto-rows`, `auto-flow`, `align`, `justify`, `align-content`, `place-items`, `place-content`, `gap`, `row-gap`, `column-gap` - **Eje `size`**: no · **ficheros**: `grid.css` diff --git a/docs/audit/theming/group.md b/docs/audit/theming/group.md index 403b96e80..7848b2e05 100644 --- a/docs/audit/theming/group.md +++ b/docs/audit/theming/group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `attached-overlap` - **Eje `size`**: no · **ficheros**: `group.css` diff --git a/docs/audit/theming/heading.md b/docs/audit/theming/heading.md index 86c0d8d93..5448a212f 100644 --- a/docs/audit/theming/heading.md +++ b/docs/audit/theming/heading.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 36 — público 0 · privado 0 · global 0 · literal 0 · sistema 36 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `heading.css` diff --git a/docs/audit/theming/highlight.md b/docs/audit/theming/highlight.md index 5c834adcf..c0e0ce572 100644 --- a/docs/audit/theming/highlight.md +++ b/docs/audit/theming/highlight.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `highlight.css` diff --git a/docs/audit/theming/icon-button.md b/docs/audit/theming/icon-button.md index c36df41c1..92138fa4f 100644 --- a/docs/audit/theming/icon-button.md +++ b/docs/audit/theming/icon-button.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `icon-button.svelte`, `index.ts`, `README.md`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/icon.md b/docs/audit/theming/icon.md index 977959ac6..9ee0f5282 100644 --- a/docs/audit/theming/icon.md +++ b/docs/audit/theming/icon.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 2 pública(s) — `size`, `stroke-width` - **Eje `size`**: no · **ficheros**: `icon.css` diff --git a/docs/audit/theming/image-adjustments.md b/docs/audit/theming/image-adjustments.md index 90e2052ce..b4726856c 100644 --- a/docs/audit/theming/image-adjustments.md +++ b/docs/audit/theming/image-adjustments.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **67%** — 10 de 15 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **67%** — 10 de 15 knobs por token público - **Knobs de apariencia**: 18 — público 10 · privado 0 · global 4 · literal 1 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 12 pública(s) — `gap`, `row-gap`, `label-fg`, `label-font-size`, `label-font-weight`, `value-fg`, `value-font-size`, `value-font-family`, `reset-gap`, `reset-fg`, `reset-font-size`, `hue-track` - **Eje `size`**: no · **ficheros**: `image-adjustments.css` diff --git a/docs/audit/theming/image-picker.md b/docs/audit/theming/image-picker.md index cc309557b..2cb170bbc 100644 --- a/docs/audit/theming/image-picker.md +++ b/docs/audit/theming/image-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **71%** — 12 de 17 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **71%** — 12 de 17 knobs por token público - **Knobs de apariencia**: 20 — público 12 · privado 0 · global 1 · literal 4 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 13 pública(s) — `gap`, `preview-radius`, `preview-bg`, `preview-border`, `preview-aspect`, `toolbar-gap`, `toolbar-inset`, `button-size`, `button-bg`, `button-fg`, `button-border`, `button-radius`, `button-font-size` - **Eje `size`**: no · **ficheros**: `image-picker.css` diff --git a/docs/audit/theming/image.md b/docs/audit/theming/image.md index 6100932a9..1d5e4e9d1 100644 --- a/docs/audit/theming/image.md +++ b/docs/audit/theming/image.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **60%** — 21 de 35 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **60%** — 21 de 35 knobs por token público - **Knobs de apariencia**: 35 — público 21 · privado 1 · global 1 · literal 12 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 22 pública(s) — `size-xs`, `size-sm`, `size-md`, `size-lg`, `size-xl`, `radius-none`, `radius-sm`, `radius-md`, `radius-lg`, `radius-full`, `fade-duration`, `fade-ease`, `placeholder-base`, `shimmer-duration`, `font-family`, `fallback-fg`, `fallback-font-size`, `fallback-line-height`, `error-bg`, `error-fg`, `error-font-size`, `error-line-height` · 1 privada(s) forward — `_palette-track` - **Eje `size`**: sí · **ficheros**: `image.css` diff --git a/docs/audit/theming/kbd.md b/docs/audit/theming/kbd.md index 2206eab5a..5d60991a1 100644 --- a/docs/audit/theming/kbd.md +++ b/docs/audit/theming/kbd.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **86%** — 12 de 14 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **86%** — 12 de 14 knobs por token público - **Knobs de apariencia**: 14 — público 12 · privado 0 · global 1 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 13 pública(s) — `font-size`, `font-weight`, `letter-spacing`, `fg`, `radius`, `padding-inline`, `padding-block`, `min-width`, `border-width`, `border`, `surface-bg`, `surface-border-block-end-width`, `surface-shadow` - **Eje `size`**: no · **ficheros**: `kbd.css` diff --git a/docs/audit/theming/knob.md b/docs/audit/theming/knob.md index 1d470106e..f423d71a3 100644 --- a/docs/audit/theming/knob.md +++ b/docs/audit/theming/knob.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **78%** — 18 de 23 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **78%** — 18 de 23 knobs por token público - **Knobs de apariencia**: 26 — público 18 · privado 1 · global 1 · literal 3 · sistema 3 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 33 pública(s) — `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `diameter-sm`, `diameter-md`, `diameter-lg`, `diameter-xl`, `label-font-size-sm`, `label-font-size-md`, `label-font-size-lg`, `label-font-size-xl`, `value-font-size-sm`, `value-font-size-md`, `value-font-size-lg`, `value-font-size-xl`, `gap`, `diameter`, `label-font-size`, `value-font-size`, `radius`, `shadow`, `dragging-shadow`, `track-bg`, `face-bg`, `arc-width`, `pointer-inset`, `pointer-width`, `pointer-bg`, `indicator-radius`, `value-fg`, `label-fg`, `label-line-height` - **Eje `size`**: no · **ficheros**: `knob.css` diff --git a/docs/audit/theming/label.md b/docs/audit/theming/label.md index 616a164fd..23780b21c 100644 --- a/docs/audit/theming/label.md +++ b/docs/audit/theming/label.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 2 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 2 de 2 knobs por token público - **Knobs de apariencia**: 8 — público 2 · privado 0 · global 0 · literal 0 · sistema 6 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 2 pública(s) — `gap`, `disabled-fg` · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `label.css` diff --git a/docs/audit/theming/link-preview.md b/docs/audit/theming/link-preview.md index a71df3455..029102ed5 100644 --- a/docs/audit/theming/link-preview.md +++ b/docs/audit/theming/link-preview.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 14 de 14 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 14 de 14 knobs por token público - **Knobs de apariencia**: 17 — público 14 · privado 0 · global 0 · literal 0 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 35 pública(s) — `padding-block-xs`, `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `padding-block-xl`, `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-inline-xl`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `min-width-xs`, `min-width-sm`, `min-width-md`, `min-width-lg`, `min-width-xl`, `padding-block`, `padding-inline`, `font-size`, `min-width`, `max-width`, `gap`, `radius`, `fg`, `font-weight`, `font-family`, `line-height`, `trigger-radius`, `trigger-fg`, `hover-trigger-fg`, `trigger-underline` - **Eje `size`**: no · **ficheros**: `link-preview.css` diff --git a/docs/audit/theming/link.md b/docs/audit/theming/link.md index 2253d44bb..28e604149 100644 --- a/docs/audit/theming/link.md +++ b/docs/audit/theming/link.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **36%** — 4 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **36%** — 4 de 11 knobs por token público - **Knobs de apariencia**: 14 — público 4 · privado 4 · global 1 · literal 2 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 5 pública(s) — `radius`, `gap`, `external-icon-size`, `underline-width`, `underline-offset` · 2 privada(s) forward — `_palette-text`, `_palette-solid-hover` - **Eje `size`**: no · **ficheros**: `link.css` diff --git a/docs/audit/theming/listbox.md b/docs/audit/theming/listbox.md index f7e5d8db9..d827a815b 100644 --- a/docs/audit/theming/listbox.md +++ b/docs/audit/theming/listbox.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **68%** — 23 de 34 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **68%** — 23 de 34 knobs por token público - **Knobs de apariencia**: 37 — público 23 · privado 9 · global 1 · literal 1 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 21 pública(s) — `gap`, `padding`, `radius`, `border-width`, `border`, `bg`, `fg`, `font-family`, `line-height`, `max-block-size`, `invalid-border`, `item-radius`, `item-fg`, `disabled-item-fg`, `item-indicator-size`, `group-gap`, `group-label-padding-block`, `group-label-fg`, `group-label-font-size`, `group-label-font-weight`, `group-label-tracking` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `listbox.css` diff --git a/docs/audit/theming/mark.md b/docs/audit/theming/mark.md index 3285724d5..eb4677313 100644 --- a/docs/audit/theming/mark.md +++ b/docs/audit/theming/mark.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **60%** — 3 de 5 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **60%** — 3 de 5 knobs por token público - **Knobs de apariencia**: 5 — público 3 · privado 2 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `padding-inline`, `padding-block`, `radius` · 2 privada(s) forward — `_palette-element`, `_palette-text` - **Eje `size`**: no · **ficheros**: `mark.css` diff --git a/docs/audit/theming/mask-field.md b/docs/audit/theming/mask-field.md index e58963137..27b4c8f19 100644 --- a/docs/audit/theming/mask-field.md +++ b/docs/audit/theming/mask-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `mask-field.css` diff --git a/docs/audit/theming/media-player.md b/docs/audit/theming/media-player.md index 6c12a3e80..9c657d33f 100644 --- a/docs/audit/theming/media-player.md +++ b/docs/audit/theming/media-player.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 43 de 49 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 43 de 49 knobs por token público - **Knobs de apariencia**: 49 — público 43 · privado 0 · global 0 · literal 6 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 61 pública(s) — `accent`, `accent-strong`, `bg`, `radius`, `fg`, `fg-muted`, `glass`, `border`, `scrim`, `scrim-height`, `track`, `buffered-bg`, `captions-bg`, `captions-fg`, `captions-radius`, `captions-gap`, `captions-padding-block`, `captions-padding-inline`, `title-font-size`, `title-font-weight`, `title-padding-block`, `title-padding-inline`, `buffering-size`, `buffering-border-width`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `padding-block-xl`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-inline-xl`, `time-font-size-sm`, `time-font-size-md`, `time-font-size-lg`, `time-font-size-xl`, `control-height-sm`, `control-height-md`, `control-height-lg`, `control-height-xl`, `gap`, `padding-block`, `padding-inline`, `time-font-size`, `control-height`, `volume-width`, `volume-vertical-length`, `time-slider-min-width`, `rate-button-min-width`, `buffering-radius`, `captions-line-height`, `time-font-family`, `time-padding-inline`, `audio-title-padding-block`, `audio-title-padding-inline`, `volume-float-padding-block`, `volume-float-padding-inline` - **Eje `size`**: no · **ficheros**: `media-player.css` diff --git a/docs/audit/theming/menu-dial.md b/docs/audit/theming/menu-dial.md index 6fef96ce7..095158889 100644 --- a/docs/audit/theming/menu-dial.md +++ b/docs/audit/theming/menu-dial.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **38%** — 3 de 8 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **38%** — 3 de 8 knobs por token público - **Knobs de apariencia**: 8 — público 3 · privado 0 · global 1 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `gap`, `stagger-step`, `backdrop-bg` - **Eje `size`**: sí · **ficheros**: `menu-dial.css` diff --git a/docs/audit/theming/menubar.md b/docs/audit/theming/menubar.md index 335168681..060ef04b0 100644 --- a/docs/audit/theming/menubar.md +++ b/docs/audit/theming/menubar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 23 de 26 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 23 de 26 knobs por token público - **Knobs de apariencia**: 27 — público 23 · privado 0 · global 3 · literal 0 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 35 pública(s) — `bg`, `border-fg`, `border-width`, `radius`, `gap-sm`, `gap-md`, `gap-lg`, `padding-sm`, `padding-md`, `padding-lg`, `height-sm`, `height-md`, `height-lg`, `trigger-fg`, `trigger-font-family`, `trigger-font-weight`, `trigger-line-height`, `trigger-font-size-sm`, `trigger-font-size-md`, `trigger-font-size-lg`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `open-trigger-bg`, `open-trigger-fg`, `disabled-trigger-fg`, `panel-z`, `panel-min-width`, `panel-max-height`, `panel-padding`, `panel-radius`, `panel-fg`, `panel-font-size-sm`, `panel-font-size-md`, `panel-font-size-lg` - **Eje `size`**: sí · **ficheros**: `menubar.css` diff --git a/docs/audit/theming/meter.md b/docs/audit/theming/meter.md index 8ab65ce32..b432b82a0 100644 --- a/docs/audit/theming/meter.md +++ b/docs/audit/theming/meter.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **64%** — 9 de 14 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **64%** — 9 de 14 knobs por token público - **Knobs de apariencia**: 14 — público 9 · privado 1 · global 2 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 28 pública(s) — `height-xs`, `height-sm`, `height-md`, `height-lg`, `height-xl`, `radius-xs`, `radius-sm`, `radius-md`, `radius-lg`, `radius-xl`, `ring-size-xs`, `ring-size-sm`, `ring-size-md`, `ring-size-lg`, `ring-size-xl`, `ring-thickness-xs`, `ring-thickness-sm`, `ring-thickness-md`, `ring-thickness-lg`, `ring-thickness-xl`, `track-bg`, `ring-track-bg`, `ring-center-bg`, `indicator-bg-below`, `indicator-bg-optimum`, `indicator-bg-above`, `transition-duration`, `transition-ease` - **Eje `size`**: sí · **ficheros**: `meter.css` diff --git a/docs/audit/theming/metrics.md b/docs/audit/theming/metrics.md index 776727e33..586b730b3 100644 --- a/docs/audit/theming/metrics.md +++ b/docs/audit/theming/metrics.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **82%** — 41 de 50 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **82%** — 41 de 50 knobs por token público - **Knobs de apariencia**: 50 — público 41 · privado 5 · global 0 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 72 pública(s) — `trend-gap`, `icon-circle-radius`, `icon-rounded-radius`, `icon-square-radius`, `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `gap-xxl`, `icon-gap-xs`, `icon-gap-sm`, `icon-gap-md`, `icon-gap-lg`, `icon-gap-xl`, `icon-gap-xxl`, `icon-box-xs`, `icon-box-sm`, `icon-box-md`, `icon-box-lg`, `icon-box-xl`, `icon-box-xxl`, `icon-border-width`, `icon-bg`, `icon-fg`, `label-font-family`, `label-font-size-xs`, `label-font-size-sm`, `label-font-size-md`, `label-font-size-lg`, `label-font-size-xl`, `label-font-size-xxl`, `label-font-weight`, `label-fg`, `label-line-height`, `label-letter-spacing`, `value-font-family`, `value-font-size-xs`, `value-font-size-sm`, `value-font-size-md`, `value-font-size-lg`, `value-font-size-xl`, `value-font-size-xxl`, `value-font-weight`, `value-fg`, `value-line-height`, `value-letter-spacing`, `value-font-feature`, `description-font-family`, `description-font-size-xs`, `description-font-size-sm`, `description-font-size-md`, `description-font-size-lg`, `description-font-size-xl`, `description-font-size-xxl`, `description-fg`, `description-line-height`, `chart-margin-block-start`, `chart-right-width`, `progress-margin-block-start`, `progress-gap`, `gauge-value-font-size`, `gauge-value-font-weight`, `gauge-value-fg`, `actions-gap`, `actions-margin-block-start`, `actions-padding-block-start`, `actions-border-fg`, `flash-duration`, `flash-ease`, `flash-radius`, `flash-inset` · 5 privada(s) forward — `_palette-track`, `_palette-solid`, `_palette-text`, `_palette-contrast`, `_palette-border` - **Eje `size`**: sí · **ficheros**: `metrics.css` diff --git a/docs/audit/theming/mockup.md b/docs/audit/theming/mockup.md index 3777af58c..f5dc3e286 100644 --- a/docs/audit/theming/mockup.md +++ b/docs/audit/theming/mockup.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **38%** — 11 de 29 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **38%** — 11 de 29 knobs por token público - **Knobs de apariencia**: 29 — público 11 · privado 0 · global 13 · literal 5 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `mockup.css` diff --git a/docs/audit/theming/month-grid.md b/docs/audit/theming/month-grid.md index 7b4b7ffbb..c877b7862 100644 --- a/docs/audit/theming/month-grid.md +++ b/docs/audit/theming/month-grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 12 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 12 knobs por token público - **Knobs de apariencia**: 61 — público 0 · privado 7 · global 0 · literal 5 · sistema 49 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 5 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: no · **ficheros**: `month-grid.css` diff --git a/docs/audit/theming/motion.md b/docs/audit/theming/motion.md index 725c6da3c..0005f3fd8 100644 --- a/docs/audit/theming/motion.md +++ b/docs/audit/theming/motion.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 1 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 1 knobs por token público - **Knobs de apariencia**: 1 — público 0 · privado 0 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `motion.css` diff --git a/docs/audit/theming/natural-time-picker.md b/docs/audit/theming/natural-time-picker.md index 2c76d5580..3593f87ca 100644 --- a/docs/audit/theming/natural-time-picker.md +++ b/docs/audit/theming/natural-time-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **74%** — 56 de 76 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **74%** — 56 de 76 knobs por token público - **Knobs de apariencia**: 77 — público 56 · privado 0 · global 14 · literal 6 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 62 pública(s) — `band-height-sm`, `band-height-md`, `band-height-lg`, `knob-size-sm`, `knob-size-md`, `knob-size-lg`, `band-height`, `knob-size`, `panel-gap-sm`, `panel-gap-md`, `panel-gap-lg`, `panel-gap`, `band-radius`, `band-border`, `band-border-width`, `line-width`, `line-radius`, `knob-radius`, `knob-shadow`, `knob-focus-ring`, `knob-focus-ring-offset`, `ticks-inset-inline`, `ticks-inset-block-end`, `tick-font-size`, `tick-font-family`, `display-gap`, `time-font-family`, `time-font-size`, `time-font-weight`, `time-letter-spacing`, `meridiem-margin-inline-start`, `meridiem-font-size`, `meridiem-font-weight`, `meridiem-fg`, `period-gap`, `period-font-size`, `period-font-weight`, `period-fg`, `steppers-gap`, `stepper-group-gap`, `stepper-label-font-size`, `stepper-label-font-weight`, `stepper-label-fg`, `stepper-label-letter-spacing`, `periods-gap`, `periods-margin-block`, `chip-font-size`, `trigger-gap`, `trigger-min-width`, `trigger-padding-block`, `trigger-padding-inline`, `trigger-bg`, `trigger-fg`, `trigger-border`, `trigger-border-width`, `trigger-radius`, `trigger-font-size`, `hover-trigger-border`, `open-trigger-border`, `open-trigger-ring`, `trigger-value-empty-fg`, `trigger-icon-fg` - **Eje `size`**: sí · **ficheros**: `natural-time-picker.css` diff --git a/docs/audit/theming/nav-tree.md b/docs/audit/theming/nav-tree.md index 94a1351c4..58b0e4688 100644 --- a/docs/audit/theming/nav-tree.md +++ b/docs/audit/theming/nav-tree.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **96%** — 22 de 23 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **96%** — 22 de 23 knobs por token público - **Knobs de apariencia**: 24 — público 22 · privado 0 · global 0 · literal 1 · sistema 1 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 18 pública(s) — `indent`, `font-size`, `line-height`, `row-gap`, `row-padding-block`, `row-padding-inline-end`, `row-radius`, `row-fg`, `hover-row-fg`, `active-row-fg`, `active-row-font-weight`, `disabled-row-fg`, `trail-row-fg`, `trigger-min-inline-size`, `trigger-padding-inline`, `badge-padding-inline-start`, `chevron-size`, `chevron-stroke` - **Eje `size`**: no · **ficheros**: `nav-tree.css` diff --git a/docs/audit/theming/navigation-menu.md b/docs/audit/theming/navigation-menu.md index 1994db691..fb001116e 100644 --- a/docs/audit/theming/navigation-menu.md +++ b/docs/audit/theming/navigation-menu.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **44%** — 15 de 34 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **44%** — 15 de 34 knobs por token público - **Knobs de apariencia**: 38 — público 15 · privado 1 · global 13 · literal 5 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 26 pública(s) — `content-z`, `indicator-w`, `indicator-x`, `trigger-height-sm`, `trigger-height-md`, `trigger-height-lg`, `trigger-font-size-sm`, `trigger-font-size-md`, `trigger-font-size-lg`, `trigger-line-height-sm`, `trigger-line-height-md`, `trigger-line-height-lg`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `trigger-radius-sm`, `trigger-radius-md`, `trigger-radius-lg`, `trigger-height`, `trigger-font-size`, `trigger-line-height`, `trigger-padding-inline`, `trigger-radius`, `trigger-fg`, `active-trigger-fg`, `active-trigger-bg` - **Eje `size`**: sí · **ficheros**: `navigation-menu.css` diff --git a/docs/audit/theming/number-field.md b/docs/audit/theming/number-field.md index 1d1988b09..ef633e2b3 100644 --- a/docs/audit/theming/number-field.md +++ b/docs/audit/theming/number-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `number-field.css` diff --git a/docs/audit/theming/onion-menu.md b/docs/audit/theming/onion-menu.md index 6d3a8f471..9055d0f9f 100644 --- a/docs/audit/theming/onion-menu.md +++ b/docs/audit/theming/onion-menu.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **84%** — 16 de 19 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **84%** — 16 de 19 knobs por token público - **Knobs de apariencia**: 22 — público 16 · privado 0 · global 1 · literal 2 · sistema 3 · excepción 5 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 19 pública(s) — `trigger-lift`, `trigger-shadow`, `trigger-radius`, `trigger-fg`, `sector-shadow`, `sector-ring-fg`, `sector-ring-width`, `sector-hover-ring-width`, `label-font-family`, `label-font-weight`, `glyph-size`, `glyph-bar-thickness`, `glyph-bar-radius`, `muted-opacity`, `hover-ring-opacity`, `rim-width`, `rim-glow-width`, `rim-glow-opacity`, `rim-glow-blur` - **Eje `size`**: no · **ficheros**: `onion-menu.css` diff --git a/docs/audit/theming/pagination.md b/docs/audit/theming/pagination.md index 58cec0462..36f250577 100644 --- a/docs/audit/theming/pagination.md +++ b/docs/audit/theming/pagination.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 24 de 24 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 24 de 24 knobs por token público - **Knobs de apariencia**: 26 — público 24 · privado 0 · global 0 · literal 0 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 34 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `control-size-xs`, `control-size-sm`, `control-size-md`, `control-size-lg`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `control-bg`, `control-fg`, `hover-control-fg`, `selected-border`, `hover-selected-border`, `selected-bg`, `hover-selected-bg`, `selected-fg`, `ellipsis-fg`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `pagination.css` diff --git a/docs/audit/theming/palabras.md b/docs/audit/theming/palabras.md index e543cf340..069a12cdd 100644 --- a/docs/audit/theming/palabras.md +++ b/docs/audit/theming/palabras.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **22%** — 103 de 463 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **22%** — 103 de 463 knobs por token público - **Knobs de apariencia**: 468 — público 103 · privado 1 · global 272 · literal 87 · sistema 5 · excepción 3 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `palabras-chrome.css`, `palabras.css` diff --git a/docs/audit/theming/password-field.md b/docs/audit/theming/password-field.md index caeb9d9d7..0c0c2cf30 100644 --- a/docs/audit/theming/password-field.md +++ b/docs/audit/theming/password-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **62%** — 21 de 34 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **62%** — 21 de 34 knobs por token público - **Knobs de apariencia**: 35 — público 21 · privado 2 · global 2 · literal 9 · sistema 1 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 30 pública(s) — `input-letter-spacing`, `caps-radius`, `caps-font-weight`, `strength-1-bg`, `strength-2-bg`, `strength-3-bg`, `strength-4-bg`, `placeholder-fg`, `trigger-radius`, `trigger-bg`, `trigger-fg`, `icon-size-xs`, `icon-size-sm`, `icon-size-md`, `icon-size-lg`, `icon-size-xl`, `caps-fg`, `caps-bg`, `caps-font-size-xs`, `caps-font-size-sm`, `caps-font-size-md`, `caps-font-size-lg`, `caps-font-size-xl`, `strength-segment-bg`, `strength-segment-gap`, `strength-segment-height`, `strength-radius`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `password-field.css` diff --git a/docs/audit/theming/picker-shell.md b/docs/audit/theming/picker-shell.md index 6bc2be78e..dded3f628 100644 --- a/docs/audit/theming/picker-shell.md +++ b/docs/audit/theming/picker-shell.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **95%** — 20 de 21 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **95%** — 20 de 21 knobs por token público - **Knobs de apariencia**: 21 — público 20 · privado 0 · global 1 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 31 pública(s) — `section-gap-xs`, `section-gap-sm`, `section-gap-md`, `section-gap-lg`, `row-spacing-xs`, `row-spacing-sm`, `row-spacing-lg`, `footer-gap-xs`, `footer-gap-sm`, `footer-gap-lg`, `header-font-size-xs`, `header-font-size-sm`, `header-font-size-md`, `header-font-size-lg`, `border-width`, `border`, `header-gap`, `header-fg`, `header-font-weight`, `header-line-height`, `body-gap`, `time-row-gap`, `time-row-padding-block-start`, `time-row-padding-inline`, `time-row-border-width`, `time-row-border`, `time-label-fg`, `time-label-font-size-xs`, `time-label-font-size-sm`, `time-label-font-size-md`, `time-label-font-size-lg` - **Eje `size`**: sí · **ficheros**: `picker-shell.css`, `picker-time-row.css` diff --git a/docs/audit/theming/pin-input.md b/docs/audit/theming/pin-input.md index 775c52cfd..66c2163ac 100644 --- a/docs/audit/theming/pin-input.md +++ b/docs/audit/theming/pin-input.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **65%** — 11 de 17 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **65%** — 11 de 17 knobs por token público - **Knobs de apariencia**: 18 — público 11 · privado 0 · global 6 · literal 0 · sistema 1 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `gap`, `disabled-opacity`, `cell-size-sm`, `cell-size-md`, `cell-size-lg`, `cell-size-xl`, `cell-font-size-sm`, `cell-font-size-md`, `cell-font-size-lg`, `cell-font-size-xl`, `cell-font-weight`, `cell-radius`, `cell-border-width`, `cell-border-fg`, `cell-bg`, `cell-filled-bg`, `cell-filled-border`, `cell-active-border`, `cell-invalid-border`, `cell-readonly-bg` - **Eje `size`**: sí · **ficheros**: `pin-input.css` diff --git a/docs/audit/theming/popover.md b/docs/audit/theming/popover.md index 17d1e921c..806b2bddd 100644 --- a/docs/audit/theming/popover.md +++ b/docs/audit/theming/popover.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **67%** — 32 de 48 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **67%** — 32 de 48 knobs por token público - **Knobs de apariencia**: 51 — público 32 · privado 4 · global 12 · literal 0 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 46 pública(s) — `trigger-height`, `trigger-padding-inline`, `trigger-border-width`, `trigger-border`, `trigger-radius`, `trigger-bg`, `trigger-fg`, `hover-trigger-bg`, `hover-trigger-border`, `open-trigger-bg`, `open-trigger-border`, `content-z`, `overlay-z`, `overlay-bg`, `trigger-font-size`, `gap`, `max-width`, `min-width-sm`, `min-width-md`, `min-width-lg`, `min-width-xl`, `padding-block-sm`, `padding-inline-sm`, `padding-block-md`, `padding-inline-md`, `padding-block-lg`, `padding-inline-lg`, `padding-block-xl`, `padding-inline-xl`, `font-size`, `font-family`, `font-weight`, `line-height`, `title-font-family`, `title-font-size`, `title-font-weight`, `title-line-height`, `title-fg`, `description-font-family`, `description-font-size`, `description-line-height`, `description-fg`, `radius`, `fg`, `arrow-width`, `arrow-height` - **Eje `size`**: sí · **ficheros**: `popover.css` diff --git a/docs/audit/theming/progress.md b/docs/audit/theming/progress.md index b65c2ebdc..ce092a8bc 100644 --- a/docs/audit/theming/progress.md +++ b/docs/audit/theming/progress.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **69%** — 24 de 35 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **69%** — 24 de 35 knobs por token público - **Knobs de apariencia**: 35 — público 24 · privado 2 · global 3 · literal 6 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 41 pública(s) — `height-xs`, `height-sm`, `height-md`, `height-lg`, `height-xl`, `vertical-height`, `radius-xs`, `radius-sm`, `radius-md`, `radius-lg`, `radius-xl`, `ring-size-xs`, `ring-size-sm`, `ring-size-md`, `ring-size-lg`, `ring-size-xl`, `ring-thickness-xs`, `ring-thickness-sm`, `ring-thickness-md`, `ring-thickness-lg`, `ring-thickness-xl`, `label-font-family`, `label-font-size`, `label-font-weight`, `label-line-height`, `label-fg`, `value-text-font-family`, `value-text-font-size`, `value-text-font-weight`, `value-text-line-height`, `value-text-fg`, `track-bg`, `ring-track-bg`, `ring-center-bg`, `indicator-bg`, `indicator-bg-loaded`, `transition-duration`, `transition-ease`, `indeterminate-width`, `indeterminate-duration`, `indeterminate-ease` - **Eje `size`**: sí · **ficheros**: `progress.css` diff --git a/docs/audit/theming/proof-of-human.md b/docs/audit/theming/proof-of-human.md index 2f858901b..43e8ee908 100644 --- a/docs/audit/theming/proof-of-human.md +++ b/docs/audit/theming/proof-of-human.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **19%** — 14 de 75 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **19%** — 14 de 75 knobs por token público - **Knobs de apariencia**: 79 — público 14 · privado 17 · global 29 · literal 15 · sistema 4 · excepción 16 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `min-height-sm`, `min-height-md`, `min-height-lg`, `min-height`, `radius`, `bg`, `border`, `border-width`, `verified-border`, `failed-border`, `locked-opacity`, `tolerance-opacity`, `guide-opacity`, `guide-width`, `trail-width`, `goal-width`, `goal-opacity`, `token-size`, `token-radius`, `token-focus-offset` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `clock.css`, `proof-of-human.css`, `rotate-align.css` diff --git a/docs/audit/theming/prose.md b/docs/audit/theming/prose.md index 03192b523..4e3446e7c 100644 --- a/docs/audit/theming/prose.md +++ b/docs/audit/theming/prose.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **83%** — 44 de 53 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **83%** — 44 de 53 knobs por token público - **Knobs de apariencia**: 53 — público 44 · privado 0 · global 0 · literal 9 · sistema 0 · excepción 21 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 37 pública(s) — `font-size-sm`, `font-size-md`, `font-size-lg`, `fg`, `fg-muted`, `heading-fg`, `heading-font-weight`, `h1-font-weight`, `link-fg`, `link-font-weight`, `strong-font-weight`, `dt-font-weight`, `th-font-weight`, `mark-bg`, `mark-radius`, `blockquote-border`, `blockquote-border-width`, `blockquote-fg`, `code-font-family`, `code-bg`, `code-radius`, `pre-bg`, `pre-radius`, `kbd-font-family`, `kbd-bg`, `kbd-border`, `kbd-border-width`, `kbd-radius`, `kbd-shadow`, `media-radius`, `hr-border`, `hr-border-width`, `table-header-border`, `table-cell-border`, `table-border-width`, `measure`, `line-height` - **Eje `size`**: sí · **ficheros**: `prose.css` diff --git a/docs/audit/theming/qr-code.md b/docs/audit/theming/qr-code.md index a2103af80..6f8257de6 100644 --- a/docs/audit/theming/qr-code.md +++ b/docs/audit/theming/qr-code.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **43%** — 3 de 7 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **43%** — 3 de 7 knobs por token público - **Knobs de apariencia**: 7 — público 3 · privado 0 · global 0 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 10 pública(s) — `fg`, `bg`, `size-xs`, `size-sm`, `size-md`, `size-lg`, `size-xl`, `radius`, `overlay-bg`, `overlay-radius` - **Eje `size`**: no · **ficheros**: `qr-code.css` diff --git a/docs/audit/theming/radio-cards.md b/docs/audit/theming/radio-cards.md index 938f6d57d..5cd2928b1 100644 --- a/docs/audit/theming/radio-cards.md +++ b/docs/audit/theming/radio-cards.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **61%** — 43 de 70 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **61%** — 43 de 70 knobs por token público - **Knobs de apariencia**: 72 — público 43 · privado 0 · global 23 · literal 4 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 40 pública(s) — `gap`, `horizontal-basis`, `padding-xs`, `padding-sm`, `padding-md`, `padding-lg`, `padding-xl`, `radius`, `border-width`, `border`, `hover-border`, `invalid-border`, `bg`, `content-gap`, `text-gap`, `title-font-family`, `title-font-size-xs`, `title-font-size-sm`, `title-font-size-md`, `title-font-size-lg`, `title-font-size-xl`, `title-font-weight`, `title-line-height`, `title-fg`, `description-font-size-xs`, `description-font-size-sm`, `description-font-size-md`, `description-font-size-lg`, `description-font-size-xl`, `description-line-height`, `description-fg`, `icon-size-xs`, `icon-size-sm`, `icon-size-md`, `icon-size-lg`, `icon-size-xl`, `icon-fg`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `radio-cards.css` diff --git a/docs/audit/theming/radio-group.md b/docs/audit/theming/radio-group.md index 29a6262f6..6f929fd38 100644 --- a/docs/audit/theming/radio-group.md +++ b/docs/audit/theming/radio-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **77%** — 56 de 73 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **77%** — 56 de 73 knobs por token público - **Knobs de apariencia**: 75 — público 56 · privado 10 · global 7 · literal 0 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 61 pública(s) — `gap-vertical`, `gap-horizontal`, `item-size-xs`, `item-size-sm`, `item-size-md`, `item-size-lg`, `item-size-xl`, `dot-size-xs`, `dot-size-sm`, `dot-size-md`, `dot-size-lg`, `dot-size-xl`, `item-gap`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `font-weight`, `line-height`, `item-label-fg`, `disabled-item-label-fg`, `indicator-radius`, `indicator-border-width`, `indicator-bg`, `indicator-border`, `hover-indicator-border`, `disabled-indicator-bg`, `disabled-indicator-border`, `checked-disabled-indicator-bg`, `dot-fg`, `disabled-dot-fg`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-solid`, `primary-solid-hover`, `neutral-solid`, `neutral-solid-hover`, `secondary-solid`, `secondary-solid-hover`, `affirm-solid`, `affirm-solid-hover`, `label-font-family`, `label-font-size`, `label-font-weight`, `label-line-height`, `label-fg`, `segmented-track-bg`, `segmented-track-shadow`, `segmented-track-padding`, `segmented-track-radius`, `segmented-segment-padding-inline`, `segmented-segment-fg`, `hover-segmented-segment-fg`, `segmented-segment-font-weight`, `segmented-pill-shadow`, `segmented-pill-radius`, `segmented-transition-duration`, `segmented-transition-ease` · 3 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `radio-group.css` diff --git a/docs/audit/theming/range-calendar.md b/docs/audit/theming/range-calendar.md index 8f91d1013..f57f6073b 100644 --- a/docs/audit/theming/range-calendar.md +++ b/docs/audit/theming/range-calendar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 13 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 13 knobs por token público - **Knobs de apariencia**: 98 — público 0 · privado 7 · global 2 · literal 4 · sistema 85 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 5 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: no · **ficheros**: `range-calendar.css` diff --git a/docs/audit/theming/rating-group.md b/docs/audit/theming/rating-group.md index 4417279f9..01cb2e0ed 100644 --- a/docs/audit/theming/rating-group.md +++ b/docs/audit/theming/rating-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **80%** — 12 de 15 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **80%** — 12 de 15 knobs por token público - **Knobs de apariencia**: 16 — público 12 · privado 0 · global 1 · literal 2 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 25 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `item-size-xs`, `item-size-sm`, `item-size-md`, `item-size-lg`, `item-size-xl`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `line-height`, `item-fg`, `active-item-fg`, `partial-item-fg`, `item-hover-offset`, `focus-radius`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `rating-group.css` diff --git a/docs/audit/theming/relative-time.md b/docs/audit/theming/relative-time.md index 60b853433..80cb52f01 100644 --- a/docs/audit/theming/relative-time.md +++ b/docs/audit/theming/relative-time.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `index.ts`, `README.md`, `relative-time.svelte`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/result.md b/docs/audit/theming/result.md index 7c0972a26..29d329d93 100644 --- a/docs/audit/theming/result.md +++ b/docs/audit/theming/result.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **90%** — 19 de 21 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **90%** — 19 de 21 knobs por token público - **Knobs de apariencia**: 21 — público 19 · privado 0 · global 0 · literal 2 · sistema 0 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 27 pública(s) — `gap`, `padding-block`, `padding-inline`, `actions-gap`, `actions-margin-block-start`, `extra-margin-block-start`, `title-font-size`, `title-font-weight`, `title-line-height`, `title-fg`, `description-font-size`, `description-line-height`, `description-fg`, `extra-font-size`, `extra-fg`, `media-font-size`, `media-fg`, `code-font-family`, `code-font-weight`, `code-letter-spacing`, `code-fg`, `description-measure`, `extra-measure`, `success-fg`, `error-fg`, `warning-fg`, `info-fg` - **Eje `size`**: no · **ficheros**: `result.css` diff --git a/docs/audit/theming/s-text-virtual-list.md b/docs/audit/theming/s-text-virtual-list.md index 5bd3652ae..31e48d10a 100644 --- a/docs/audit/theming/s-text-virtual-list.md +++ b/docs/audit/theming/s-text-virtual-list.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **58%** — 7 de 12 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **58%** — 7 de 12 knobs por token público - **Knobs de apariencia**: 12 — público 7 · privado 0 · global 3 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 9 pública(s) — `line-height`, `fg`, `bg`, `border-width`, `border-fg`, `radius`, `row-padding-inline`, `row-border-width`, `row-border-fg` - **Eje `size`**: no · **ficheros**: `s-text-virtual-list.css` diff --git a/docs/audit/theming/s-text.md b/docs/audit/theming/s-text.md index ce3443209..65010e660 100644 --- a/docs/audit/theming/s-text.md +++ b/docs/audit/theming/s-text.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 2 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 2 de 2 knobs por token público - **Knobs de apariencia**: 30 — público 2 · privado 0 · global 0 · literal 0 · sistema 28 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `hint-fg`, `hint-opacity`, `hint-margin-top` · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `s-text.css` diff --git a/docs/audit/theming/scroll-area.md b/docs/audit/theming/scroll-area.md index fd3527e88..ff6d2add6 100644 --- a/docs/audit/theming/scroll-area.md +++ b/docs/audit/theming/scroll-area.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **94%** — 15 de 16 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **94%** — 15 de 16 knobs por token público - **Knobs de apariencia**: 17 — público 15 · privado 0 · global 0 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 13 pública(s) — `auto-max-block`, `bg`, `radius`, `scrollbar-padding`, `scrollbar-size`, `track-bg`, `hover-track-bg`, `thumb-bg`, `thumb-bg-hover`, `thumb-radius`, `thumb-min-size`, `transition-duration`, `transition-ease` - **Eje `size`**: no · **ficheros**: `scroll-area.css` diff --git a/docs/audit/theming/scroll-frames.md b/docs/audit/theming/scroll-frames.md index bd643d1d7..f13faeb93 100644 --- a/docs/audit/theming/scroll-frames.md +++ b/docs/audit/theming/scroll-frames.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **33%** — 3 de 9 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **33%** — 3 de 9 knobs por token público - **Knobs de apariencia**: 9 — público 3 · privado 1 · global 1 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 4 pública(s) — `loader-inset-block-end`, `loader-font-size`, `loader-letter-spacing`, `loader-fg` - **Eje `size`**: no · **ficheros**: `scroll-frames.css` diff --git a/docs/audit/theming/search-field.md b/docs/audit/theming/search-field.md index 11ae1f8d3..45f570834 100644 --- a/docs/audit/theming/search-field.md +++ b/docs/audit/theming/search-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **69%** — 9 de 13 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **69%** — 9 de 13 knobs por token público - **Knobs de apariencia**: 14 — público 9 · privado 0 · global 0 · literal 4 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 17 pública(s) — `clear-hidden-opacity`, `icon-size-xs`, `icon-size-sm`, `icon-size-md`, `icon-size-lg`, `icon-size-xl`, `icon-fg`, `icon-margin-inline-end`, `loading-indicator-size-xs`, `loading-indicator-size-sm`, `loading-indicator-size-md`, `loading-indicator-size-lg`, `loading-indicator-size-xl`, `loading-indicator-fg`, `loading-indicator-track`, `loading-indicator-thickness`, `loading-indicator-duration` - **Eje `size`**: sí · **ficheros**: `search-field.css` diff --git a/docs/audit/theming/section.md b/docs/audit/theming/section.md index 72aa3e5ee..98e63ff6c 100644 --- a/docs/audit/theming/section.md +++ b/docs/audit/theming/section.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 1 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 1 knobs por token público - **Knobs de apariencia**: 1 — público 0 · privado 0 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 4 pública(s) — `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `padding-block-xl` - **Eje `size`**: no · **ficheros**: `section.css` diff --git a/docs/audit/theming/select.md b/docs/audit/theming/select.md index f91d6497b..70079e9d0 100644 --- a/docs/audit/theming/select.md +++ b/docs/audit/theming/select.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **83%** — 54 de 65 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **83%** — 54 de 65 knobs por token público - **Knobs de apariencia**: 72 — público 54 · privado 5 · global 3 · literal 3 · sistema 7 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 101 pública(s) — `stack-gap`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `line-height`, `fg`, `primary-text`, `secondary-text`, `neutral-text`, `affirm-text`, `fulfill-track`, `fulfill-border`, `fulfill-text`, `risk-text`, `threat-text`, `loss-track`, `loss-border`, `loss-text`, `trigger-height-xs`, `trigger-height-sm`, `trigger-height-md`, `trigger-height-lg`, `trigger-height-xl`, `trigger-padding-inline-xs`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `trigger-padding-inline-xl`, `trigger-gap-xs`, `trigger-gap-sm`, `trigger-gap-md`, `trigger-gap-lg`, `trigger-gap-xl`, `trigger-border-width`, `trigger-border`, `hover-trigger-border`, `trigger-radius`, `trigger-bg`, `trigger-shadow`, `trigger-fg`, `trigger-indicator-fg`, `trigger-indicator-size`, `placeholder-fg`, `disabled-border`, `disabled-bg`, `disabled-fg`, `content-z`, `content-padding-block-xs`, `content-padding-block-sm`, `content-padding-block-md`, `content-padding-block-lg`, `content-padding-block-xl`, `content-padding-inline-xs`, `content-padding-inline-sm`, `content-padding-inline-md`, `content-padding-inline-lg`, `content-padding-inline-xl`, `content-min-width`, `content-max-width`, `content-max-height`, `content-radius`, `content-fg`, `open-duration`, `close-duration`, `viewport-gap`, `viewport-padding`, `group-padding-block`, `group-heading-padding-block`, `group-heading-padding-inline`, `group-heading-font-family`, `group-heading-font-size`, `group-heading-font-weight`, `group-heading-letter-spacing`, `group-heading-fg`, `separator-size`, `separator-margin-block`, `separator-bg`, `item-gap`, `item-padding-inline`, `item-fg`, `item-indicator-size`, `item-description-mt`, `item-description-fg`, `item-description-font-size`, `transition-duration`, `transition-ease`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border`, `risk-track`, `risk-border`, `threat-track`, `threat-border` · 3 privada(s) forward — `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `select.css` diff --git a/docs/audit/theming/separator.md b/docs/audit/theming/separator.md index 622d9fb25..685de9803 100644 --- a/docs/audit/theming/separator.md +++ b/docs/audit/theming/separator.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **67%** — 4 de 6 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **67%** — 4 de 6 knobs por token público - **Knobs de apariencia**: 6 — público 4 · privado 0 · global 0 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `thickness`, `fg`, `min-length` - **Eje `size`**: no · **ficheros**: `separator.css` diff --git a/docs/audit/theming/sidebar.md b/docs/audit/theming/sidebar.md index 1a8ca81eb..c4f123380 100644 --- a/docs/audit/theming/sidebar.md +++ b/docs/audit/theming/sidebar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **55%** — 23 de 42 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **55%** — 23 de 42 knobs por token público - **Knobs de apariencia**: 45 — público 23 · privado 0 · global 14 · literal 5 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 50 pública(s) — `width`, `width-icon`, `width-mobile`, `rail-width`, `gap`, `padding`, `row-height-xs`, `row-height-sm`, `row-height-md`, `row-height-lg`, `row-font-size-xs`, `row-font-size-sm`, `row-font-size-md`, `row-font-size-lg`, `row-line-height-xs`, `row-line-height-sm`, `row-line-height-md`, `row-line-height-lg`, `row-icon-size-xs`, `row-icon-size-sm`, `row-icon-size-md`, `row-icon-size-lg`, `row-padding-inline-xs`, `row-padding-inline-sm`, `row-padding-inline-md`, `row-padding-inline-lg`, `row-gap-xs`, `row-gap-sm`, `row-gap-md`, `row-gap-lg`, `row-radius-xs`, `row-radius-sm`, `row-radius-md`, `row-radius-lg`, `label-font-size-xs`, `label-font-size-sm`, `label-font-size-md`, `label-font-size-lg`, `row-height`, `row-font-size`, `row-line-height`, `row-icon-size`, `row-padding-inline`, `row-gap`, `row-radius`, `label-font-size`, `sub-indent`, `sub-z`, `bg`, `border-fg` - **Eje `size`**: no · **ficheros**: `sidebar.css` diff --git a/docs/audit/theming/skeleton.md b/docs/audit/theming/skeleton.md index fd2e29551..4cea7e53c 100644 --- a/docs/audit/theming/skeleton.md +++ b/docs/audit/theming/skeleton.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **45%** — 5 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **45%** — 5 de 11 knobs por token público - **Knobs de apariencia**: 11 — público 5 · privado 5 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 9 pública(s) — `size-xs`, `size-sm`, `size-md`, `size-lg`, `size-xl`, `size`, `radius`, `line-radius`, `duration` · 1 privada(s) forward — `_palette-track` - **Eje `size`**: no · **ficheros**: `skeleton.css` diff --git a/docs/audit/theming/skin-media-player.md b/docs/audit/theming/skin-media-player.md index ba3a25826..62483f8ea 100644 --- a/docs/audit/theming/skin-media-player.md +++ b/docs/audit/theming/skin-media-player.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **22%** — 2 de 9 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **22%** — 2 de 9 knobs por token público - **Knobs de apariencia**: 11 — público 2 · privado 0 · global 1 · literal 6 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 10 pública(s) — `base-width`, `record-base-width`, `cassette-base-width`, `deck-base-width`, `scale-sm`, `scale-md`, `scale-lg`, `scale-xl`, `lamp-opacity`, `key-radius` - **Eje `size`**: sí · **ficheros**: `skin-media-player.css` diff --git a/docs/audit/theming/skip-link.md b/docs/audit/theming/skip-link.md index a0f3b3d30..8507a65f6 100644 --- a/docs/audit/theming/skip-link.md +++ b/docs/audit/theming/skip-link.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **71%** — 5 de 7 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **71%** — 5 de 7 knobs por token público - **Knobs de apariencia**: 8 — público 5 · privado 0 · global 0 · literal 2 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 8 pública(s) — `z-index`, `offset`, `padding-block`, `padding-inline`, `radius`, `bg`, `fg`, `shadow` - **Eje `size`**: no · **ficheros**: `skip-link.css` diff --git a/docs/audit/theming/slider.md b/docs/audit/theming/slider.md index 6b977b412..668fccee0 100644 --- a/docs/audit/theming/slider.md +++ b/docs/audit/theming/slider.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **97%** — 31 de 32 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **97%** — 31 de 32 knobs por token público - **Knobs de apariencia**: 33 — público 31 · privado 0 · global 0 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 39 pública(s) — `track-size-xs`, `track-size-sm`, `track-size-md`, `track-size-lg`, `track-size-xl`, `thumb-size-xs`, `thumb-size-sm`, `thumb-size-md`, `thumb-size-lg`, `thumb-size-xl`, `hit-size-xs`, `hit-size-sm`, `hit-size-md`, `hit-size-lg`, `hit-size-xl`, `tick-size-xs`, `tick-size-sm`, `tick-size-md`, `tick-size-lg`, `tick-size-xl`, `min-inline-size`, `min-block-size`, `track-radius`, `track-bg`, `range-bg`, `secondary-bg`, `thumb-radius`, `thumb-border-width`, `thumb-border`, `thumb-bg`, `thumb-shadow`, `active-thumb-scale`, `active-thumb-shadow`, `tick-radius`, `tick-bg`, `active-tick-bg`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `slider.css` diff --git a/docs/audit/theming/spin-field.md b/docs/audit/theming/spin-field.md index 0710b9c53..5c61f1d87 100644 --- a/docs/audit/theming/spin-field.md +++ b/docs/audit/theming/spin-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **64%** — 16 de 25 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **64%** — 16 de 25 knobs por token público - **Knobs de apariencia**: 27 — público 16 · privado 0 · global 8 · literal 1 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `border`, `control-radius`, `control-border-width`, `control-border`, `control-divider`, `hover-control-border`, `active-control-border`, `control-bg`, `focus-control-bg`, `active-control-bg`, `control-fg`, `hover-control-fg`, `active-control-fg`, `control-increment-glyph`, `control-decrement-glyph`, `control-increment-glyph-stacked`, `control-decrement-glyph-stacked`, `control-disabled-opacity`, `transition-duration`, `transition-ease` - **Eje `size`**: no · **ficheros**: `spin-field.css` diff --git a/docs/audit/theming/spinner.md b/docs/audit/theming/spinner.md index 06db68d6e..d3c68652c 100644 --- a/docs/audit/theming/spinner.md +++ b/docs/audit/theming/spinner.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **70%** — 16 de 23 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **70%** — 16 de 23 knobs por token público - **Knobs de apariencia**: 23 — público 16 · privado 3 · global 0 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 18 pública(s) — `size-xs`, `size-sm`, `size-md`, `size-lg`, `size-xl`, `thickness-xs`, `thickness-sm`, `thickness-md`, `thickness-lg`, `thickness-xl`, `size`, `thickness`, `gap`, `duration`, `track-opacity`, `bar-radius`, `label-font-size`, `label-fg` · 2 privada(s) forward — `_palette-text`, `_palette-track` - **Eje `size`**: no · **ficheros**: `spinner.css` diff --git a/docs/audit/theming/split-button.md b/docs/audit/theming/split-button.md index 075e14a80..ebac33434 100644 --- a/docs/audit/theming/split-button.md +++ b/docs/audit/theming/split-button.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **50%** — 1 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **50%** — 1 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 1 · privado 0 · global 1 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `trigger-padding-inline` - **Eje `size`**: sí · **ficheros**: `split-button.css` diff --git a/docs/audit/theming/splitter.md b/docs/audit/theming/splitter.md index d0d9703fc..f344abc0b 100644 --- a/docs/audit/theming/splitter.md +++ b/docs/audit/theming/splitter.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 17 de 17 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 17 de 17 knobs por token público - **Knobs de apariencia**: 18 — público 17 · privado 0 · global 0 · literal 0 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 15 pública(s) — `bg`, `radius`, `border-width`, `border-fg`, `disabled-opacity`, `panel-bg`, `handle-size`, `handle-bg`, `active-handle-bg`, `grip-radius`, `grip-bg`, `grip-main`, `grip-cross`, `transition-duration`, `transition-ease` - **Eje `size`**: no · **ficheros**: `splitter.css` diff --git a/docs/audit/theming/stack.md b/docs/audit/theming/stack.md index ad9a04966..764eb2272 100644 --- a/docs/audit/theming/stack.md +++ b/docs/audit/theming/stack.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `stack.css` diff --git a/docs/audit/theming/stepper.md b/docs/audit/theming/stepper.md index 6aa228d17..d0233b47b 100644 --- a/docs/audit/theming/stepper.md +++ b/docs/audit/theming/stepper.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **79%** — 44 de 56 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **79%** — 44 de 56 knobs por token público - **Knobs de apariencia**: 60 — público 44 · privado 11 · global 0 · literal 1 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 69 pública(s) — `gap-sm`, `gap-md`, `gap-lg`, `indicator-size-sm`, `indicator-size-md`, `indicator-size-lg`, `font-family`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `fg`, `list-gap`, `item-gap`, `trigger-gap`, `trigger-padding-inline`, `trigger-padding-block`, `trigger-radius`, `trigger-border-width`, `trigger-fg`, `hover-trigger-fg`, `indicator-radius`, `indicator-border-width`, `indicator-border`, `indicator-bg`, `indicator-fg`, `indicator-font-weight`, `complete-fg`, `separator-min-size`, `separator-thickness`, `separator-radius`, `separator-bg`, `content-padding`, `content-radius`, `content-border-width`, `content-border`, `content-bg`, `content-shadow`, `nav-height`, `nav-padding-inline`, `nav-radius`, `nav-border-width`, `nav-border`, `nav-bg`, `nav-fg`, `nav-hover-brightness`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-solid`, `primary-text`, `secondary-solid`, `secondary-text`, `neutral-solid`, `neutral-text`, `affirm-solid`, `affirm-text`, `fulfill-solid`, `fulfill-track`, `fulfill-border`, `fulfill-text`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border` · 4 privada(s) forward — `_palette-solid`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `stepper.css` diff --git a/docs/audit/theming/sticky.md b/docs/audit/theming/sticky.md index 436c916b3..d5b79c203 100644 --- a/docs/audit/theming/sticky.md +++ b/docs/audit/theming/sticky.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 0 · privado 1 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `z-index` - **Eje `size`**: no · **ficheros**: `sticky.css` diff --git a/docs/audit/theming/surface.md b/docs/audit/theming/surface.md index 0eba94a28..8524e8ac6 100644 --- a/docs/audit/theming/surface.md +++ b/docs/audit/theming/surface.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **25%** — 1 de 4 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **25%** — 1 de 4 knobs por token público - **Knobs de apariencia**: 4 — público 1 · privado 3 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 25 pública(s) — `radius`, `neutral-track`, `neutral-solid`, `neutral-contrast`, `primary-track`, `primary-solid`, `primary-contrast`, `secondary-track`, `secondary-solid`, `secondary-contrast`, `affirm-track`, `affirm-solid`, `affirm-contrast`, `fulfill-track`, `fulfill-solid`, `fulfill-contrast`, `risk-track`, `risk-solid`, `risk-contrast`, `threat-track`, `threat-solid`, `threat-contrast`, `loss-track`, `loss-solid`, `loss-contrast` · 3 privada(s) forward — `_palette-track`, `_palette-solid`, `_palette-contrast` - **Eje `size`**: no · **ficheros**: `surface.css` diff --git a/docs/audit/theming/svg.md b/docs/audit/theming/svg.md index 906407939..b1ffaf5d5 100644 --- a/docs/audit/theming/svg.md +++ b/docs/audit/theming/svg.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `index.ts`, `README.md`, `svg-check.svelte`, `svg-chevron.svelte`, `svg-dash.svelte`, `svg-dot.svelte`, `svg-minus.svelte`, `svg-plus.svelte`, `svg-x.svelte`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/switch.md b/docs/audit/theming/switch.md index 3a08446c6..b0c52b8b4 100644 --- a/docs/audit/theming/switch.md +++ b/docs/audit/theming/switch.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **76%** — 16 de 21 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **76%** — 16 de 21 knobs por token público - **Knobs de apariencia**: 22 — público 16 · privado 4 · global 1 · literal 0 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 51 pública(s) — `size-xs-track-width`, `size-xs-track-height`, `size-xs-thumb-size`, `size-xs-thumb-translate`, `size-sm-track-width`, `size-sm-track-height`, `size-sm-thumb-size`, `size-sm-thumb-translate`, `size-md-track-width`, `size-md-track-height`, `size-md-thumb-size`, `size-md-thumb-translate`, `size-lg-track-width`, `size-lg-track-height`, `size-lg-thumb-size`, `size-lg-thumb-translate`, `size-xl-track-width`, `size-xl-track-height`, `size-xl-thumb-size`, `size-xl-thumb-translate`, `track-radius`, `track-border-width`, `thumb-inset`, `thumb-radius`, `thumb-border-width`, `thumb-shadow`, `transition-duration`, `transition-ease`, `track-bg-off`, `track-border-off`, `hover-track-border-off`, `disabled-track-bg`, `disabled-track-border`, `disabled-thumb-bg`, `disabled-thumb-border`, `disabled-opacity`, `thumb-bg`, `thumb-border`, `thumb-icon-fg`, `primary-solid`, `primary-solid-hover`, `neutral-solid`, `neutral-solid-hover`, `risk-solid`, `risk-solid-hover`, `threat-solid`, `threat-solid-hover`, `secondary-solid`, `secondary-solid-hover`, `affirm-solid`, `affirm-solid-hover` · 2 privada(s) forward — `_palette-solid`, `_palette-solid-hover` - **Eje `size`**: sí · **ficheros**: `switch.css` diff --git a/docs/audit/theming/table.md b/docs/audit/theming/table.md index 5904a8556..feeed2625 100644 --- a/docs/audit/theming/table.md +++ b/docs/audit/theming/table.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **86%** — 37 de 43 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **86%** — 37 de 43 knobs por token público - **Knobs de apariencia**: 46 — público 37 · privado 3 · global 0 · literal 3 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 45 pública(s) — `row-height-xs`, `row-height-sm`, `row-height-md`, `row-height-lg`, `row-height-xl`, `cell-padding-inline-xs`, `cell-padding-inline-sm`, `cell-padding-inline-md`, `cell-padding-inline-lg`, `cell-padding-inline-xl`, `cell-padding-block-xs`, `cell-padding-block-sm`, `cell-padding-block-md`, `cell-padding-block-lg`, `cell-padding-block-xl`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `row-height`, `cell-padding-inline`, `cell-padding-block`, `font-size`, `radius`, `font-family`, `fg`, `line-height`, `border-width`, `divider`, `surface-bg`, `row-bg`, `header-bg`, `header-fg`, `header-font-weight`, `header-z`, `striped-row-bg`, `hover-row-bg`, `row-detail-bg`, `row-detail-fg`, `row-detail-padding-block`, `sort-trigger-gap`, `sort-trigger-radius`, `sort-indicator-size`, `sort-indicator-opacity` · 2 privada(s) forward — `_palette-solid`, `_palette-element` - **Eje `size`**: no · **ficheros**: `table.css` diff --git a/docs/audit/theming/tabs.md b/docs/audit/theming/tabs.md index ed0a42bb9..c6e04a1e4 100644 --- a/docs/audit/theming/tabs.md +++ b/docs/audit/theming/tabs.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **96%** — 72 de 75 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **96%** — 72 de 75 knobs por token público - **Knobs de apariencia**: 76 — público 72 · privado 0 · global 2 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 79 pública(s) — `stack-gap`, `line-stack-gap`, `provider-radius`, `provider-border-width`, `provider-border`, `provider-bg`, `surface-provider-padding`, `surface-provider-shadow`, `list-gap`, `list-padding`, `list-radius`, `list-width`, `list-bg`, `list-border-width`, `list-border`, `line-list-padding-inline-end`, `surface-list-bg`, `pills-list-bg`, `trigger-height-xs`, `trigger-height-sm`, `trigger-height-md`, `trigger-height-lg`, `trigger-padding-inline-xs`, `trigger-padding-inline-sm`, `trigger-padding-inline-md`, `trigger-padding-inline-lg`, `trigger-gap-xs`, `trigger-gap-sm`, `trigger-gap-md`, `trigger-gap-lg`, `trigger-radius`, `trigger-border-width`, `trigger-font-family`, `trigger-font-size-xs`, `trigger-font-size-sm`, `trigger-font-size-md`, `trigger-font-size-lg`, `trigger-font-weight`, `trigger-line-height`, `trigger-letter-spacing`, `trigger-fg`, `hover-trigger-fg`, `active-trigger-fg`, `trigger-bg`, `active-trigger-bg`, `trigger-border`, `active-trigger-border`, `trigger-transition-duration`, `trigger-transition-ease`, `trigger-focus-ring-offset`, `trigger-focus-ring-width`, `trigger-focus-ring-color`, `active-surface-trigger-border`, `pills-trigger-radius`, `active-pills-trigger-border`, `active-pills-trigger-shadow`, `segmented-list-bg`, `segmented-list-radius`, `segmented-trigger-radius`, `active-segmented-trigger-bg`, `active-segmented-trigger-fg`, `active-segmented-trigger-shadow`, `content-padding-xs`, `content-padding-sm`, `content-padding-md`, `content-padding-lg`, `content-radius`, `content-bg`, `content-border-width`, `content-border`, `content-fg`, `surface-content-border`, `surface-content-bg`, `pills-content-padding-block-start`, `disabled-opacity`, `indicator-transition-duration`, `indicator-transition-ease`, `indicator-line-thickness`, `scrollable-fade` - **Eje `size`**: sí · **ficheros**: `tabs.css` diff --git a/docs/audit/theming/tag-group.md b/docs/audit/theming/tag-group.md index e19b75183..23d41f3c1 100644 --- a/docs/audit/theming/tag-group.md +++ b/docs/audit/theming/tag-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **65%** — 28 de 43 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **65%** — 28 de 43 knobs por token público - **Knobs de apariencia**: 46 — público 28 · privado 14 · global 0 · literal 1 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 91 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `item-height-xs`, `item-height-sm`, `item-height-md`, `item-height-lg`, `item-padding-inline-xs`, `item-padding-inline-sm`, `item-padding-inline-md`, `item-padding-inline-lg`, `item-gap-xs`, `item-gap-sm`, `item-gap-md`, `item-gap-lg`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `fg`, `label-fg`, `label-font-weight`, `item-radius`, `item-border-width`, `item-border`, `hover-item-border`, `item-bg`, `item-shadow`, `item-fg`, `hover-item-fg`, `solid-fg`, `remove-size`, `remove-radius`, `remove-border-width`, `remove-border`, `hover-remove-border`, `remove-bg`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-solid-bg`, `hover-primary-solid-bg`, `primary-soft-bg`, `hover-primary-soft-bg`, `primary-soft-fg`, `primary-outline-border`, `secondary-solid-bg`, `hover-secondary-solid-bg`, `secondary-soft-bg`, `hover-secondary-soft-bg`, `secondary-soft-fg`, `secondary-outline-border`, `neutral-solid-bg`, `hover-neutral-solid-bg`, `neutral-soft-bg`, `hover-neutral-soft-bg`, `neutral-soft-fg`, `neutral-outline-border`, `affirm-solid-bg`, `hover-affirm-solid-bg`, `affirm-soft-bg`, `hover-affirm-soft-bg`, `affirm-soft-fg`, `affirm-outline-border`, `fulfill-solid-bg`, `hover-fulfill-solid-bg`, `fulfill-soft-bg`, `hover-fulfill-soft-bg`, `fulfill-soft-fg`, `fulfill-outline-border`, `risk-solid-bg`, `hover-risk-solid-bg`, `risk-soft-bg`, `hover-risk-soft-bg`, `risk-soft-fg`, `risk-outline-border`, `threat-solid-bg`, `hover-threat-solid-bg`, `threat-soft-bg`, `hover-threat-soft-bg`, `threat-soft-fg`, `threat-outline-border`, `loss-solid-bg`, `hover-loss-solid-bg`, `loss-soft-bg`, `hover-loss-soft-bg`, `loss-soft-fg`, `loss-outline-border` · 6 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-surface`, `_palette-surface-hover`, `_palette-text`, `_palette-border` - **Eje `size`**: sí · **ficheros**: `tag-group.css` diff --git a/docs/audit/theming/tags-input.md b/docs/audit/theming/tags-input.md index 584f645a5..456f5809c 100644 --- a/docs/audit/theming/tags-input.md +++ b/docs/audit/theming/tags-input.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **88%** — 37 de 42 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **88%** — 37 de 42 knobs por token público - **Knobs de apariencia**: 46 — público 37 · privado 4 · global 1 · literal 0 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 90 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `control-min-height-xs`, `control-min-height-sm`, `control-min-height-md`, `control-min-height-lg`, `control-min-height-xl`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `control-padding-inline-xl`, `control-padding-block-xs`, `control-padding-block-sm`, `control-padding-block-md`, `control-padding-block-lg`, `control-padding-block-xl`, `item-height-xs`, `item-height-sm`, `item-height-md`, `item-height-lg`, `item-height-xl`, `item-padding-inline-xs`, `item-padding-inline-sm`, `item-padding-inline-md`, `item-padding-inline-lg`, `item-padding-inline-xl`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `line-height`, `fg`, `item-gap`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `control-bg`, `control-shadow`, `input-min-inline-size`, `placeholder-fg`, `item-radius`, `item-border-width`, `item-border`, `item-bg`, `item-fg`, `action-gap`, `action-padding-inline`, `action-radius`, `action-border-width`, `action-border`, `hover-action-border`, `action-bg`, `action-fg`, `hover-action-fg`, `delete-size`, `delete-radius`, `transition-duration`, `transition-ease`, `disabled-opacity`, `primary-text`, `secondary-text`, `neutral-text`, `affirm-text`, `fulfill-track`, `fulfill-border`, `fulfill-text`, `risk-text`, `threat-text`, `loss-track`, `loss-border`, `loss-text`, `primary-track`, `primary-border`, `secondary-track`, `secondary-border`, `neutral-track`, `neutral-border`, `affirm-track`, `affirm-border`, `risk-track`, `risk-border`, `threat-track`, `threat-border` · 3 privada(s) forward — `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `tags-input.css` diff --git a/docs/audit/theming/text-blur.md b/docs/audit/theming/text-blur.md index 5ea023bee..631c0bbd8 100644 --- a/docs/audit/theming/text-blur.md +++ b/docs/audit/theming/text-blur.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 2 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 2 knobs por token público - **Knobs de apariencia**: 2 — público 0 · privado 0 · global 0 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `text-blur.css` diff --git a/docs/audit/theming/text-circular.md b/docs/audit/theming/text-circular.md index 00126517a..0e92dd286 100644 --- a/docs/audit/theming/text-circular.md +++ b/docs/audit/theming/text-circular.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 6 de 6 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 6 de 6 knobs por token público - **Knobs de apariencia**: 6 — público 6 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 6 pública(s) — `size`, `radius`, `weight`, `fg`, `font-size`, `char-transition` - **Eje `size`**: no · **ficheros**: `text-circular.css` diff --git a/docs/audit/theming/text-focus.md b/docs/audit/theming/text-focus.md index 90df559b7..7fae75b59 100644 --- a/docs/audit/theming/text-focus.md +++ b/docs/audit/theming/text-focus.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 8 de 8 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 8 de 8 knobs por token público - **Knobs de apariencia**: 8 — público 8 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 8 pública(s) — `gap`, `word-weight`, `word-size`, `corner-size`, `corner-width`, `corner-radius`, `border-fg`, `glow-fg` - **Eje `size`**: no · **ficheros**: `text-focus.css` diff --git a/docs/audit/theming/text-gradient.md b/docs/audit/theming/text-gradient.md index 1e976c444..e1a657a55 100644 --- a/docs/audit/theming/text-gradient.md +++ b/docs/audit/theming/text-gradient.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 10 de 10 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 10 de 10 knobs por token público - **Knobs de apariencia**: 10 — público 10 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 7 pública(s) — `radius`, `font-weight`, `blur`, `border-padding-block`, `border-padding-inline`, `border-width`, `border-inner-bg` - **Eje `size`**: no · **ficheros**: `text-gradient.css` diff --git a/docs/audit/theming/text-scramble.md b/docs/audit/theming/text-scramble.md index 16ba677e8..554724c9b 100644 --- a/docs/audit/theming/text-scramble.md +++ b/docs/audit/theming/text-scramble.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **50%** — 2 de 4 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **50%** — 2 de 4 knobs por token público - **Knobs de apariencia**: 4 — público 2 · privado 0 · global 0 · literal 2 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `text-scramble.css` diff --git a/docs/audit/theming/text.md b/docs/audit/theming/text.md index 5bbaea113..f5f8cb7a9 100644 --- a/docs/audit/theming/text.md +++ b/docs/audit/theming/text.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 24 — público 0 · privado 0 · global 0 · literal 0 · sistema 24 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 1 privada(s) forward — `_palette-text` - **Eje `size`**: no · **ficheros**: `text.css` diff --git a/docs/audit/theming/textarea.md b/docs/audit/theming/textarea.md index 290d5b1bc..30f22c00f 100644 --- a/docs/audit/theming/textarea.md +++ b/docs/audit/theming/textarea.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **80%** — 20 de 25 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **80%** — 20 de 25 knobs por token público - **Knobs de apariencia**: 28 — público 20 · privado 2 · global 0 · literal 3 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 37 pública(s) — `input-font-size-xs`, `input-font-size-sm`, `input-font-size-md`, `input-font-size-lg`, `input-font-size-xl`, `input-padding-inline-xs`, `input-padding-inline-sm`, `input-padding-inline-md`, `input-padding-inline-lg`, `input-padding-inline-xl`, `input-padding-block-xs`, `input-padding-block-sm`, `input-padding-block-md`, `input-padding-block-lg`, `input-padding-block-xl`, `input-font-size`, `input-padding-inline`, `input-padding-block`, `gap`, `input-radius`, `input-border-width`, `input-border`, `hover-input-border`, `focus-input-border`, `invalid-input-border`, `input-bg`, `input-fg`, `input-placeholder-fg`, `input-font-family`, `input-font-weight`, `input-line-height`, `count-font-size`, `count-gap`, `count-fg`, `count-font-family`, `overflow-count-fg`, `overflow-count-font-weight` · 1 privada(s) forward — `_palette-solid` - **Eje `size`**: no · **ficheros**: `textarea.css` diff --git a/docs/audit/theming/time-field.md b/docs/audit/theming/time-field.md index 10f4468d8..50df878fc 100644 --- a/docs/audit/theming/time-field.md +++ b/docs/audit/theming/time-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **100%** — 11 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **100%** — 11 de 11 knobs por token público - **Knobs de apariencia**: 11 — público 11 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 21 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `segment-padding-inline-xs`, `segment-padding-inline-sm`, `segment-padding-inline-md`, `segment-padding-inline-lg`, `segment-padding-inline-xl`, `placeholder-fg`, `literal-fg`, `segment-radius`, `segment-fg`, `segment-invalid-fg`, `segment-readonly-bg`, `segment-readonly-fg`, `segment-readonly-decoration`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `time-field.css` diff --git a/docs/audit/theming/time-picker.md b/docs/audit/theming/time-picker.md index 5df162fbc..47c2f6f01 100644 --- a/docs/audit/theming/time-picker.md +++ b/docs/audit/theming/time-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **18%** — 10 de 57 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **18%** — 10 de 57 knobs por token público - **Knobs de apariencia**: 59 — público 10 · privado 12 · global 24 · literal 11 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 16 pública(s) — `accent-border`, `accent-track`, `accent-text`, `gap`, `clock-gap`, `clock-width`, `clock-fg`, `clock-font-family`, `clock-font-size`, `clock-line-height`, `clock-hand-hour`, `clock-hand-minute`, `clock-hand-second`, `clock-thumb-shadow`, `clock-thumb-ring`, `trigger-radius` - **Eje `size`**: sí · **ficheros**: `time-picker.css` diff --git a/docs/audit/theming/time-range-field.md b/docs/audit/theming/time-range-field.md index 8e9dba3b9..dee0b6abc 100644 --- a/docs/audit/theming/time-range-field.md +++ b/docs/audit/theming/time-range-field.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **29%** — 2 de 7 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **29%** — 2 de 7 knobs por token público - **Knobs de apariencia**: 8 — público 2 · privado 0 · global 4 · literal 1 · sistema 1 · excepción 1 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 3 pública(s) — `row-gap`, `separator-fg`, `separator-glyph` - **Eje `size`**: no · **ficheros**: `time-range-field.css` diff --git a/docs/audit/theming/time-range-picker.md b/docs/audit/theming/time-range-picker.md index 86f9143d6..e7f176d4f 100644 --- a/docs/audit/theming/time-range-picker.md +++ b/docs/audit/theming/time-range-picker.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **20%** — 17 de 84 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **20%** — 17 de 84 knobs por token público - **Knobs de apariencia**: 88 — público 17 · privado 19 · global 33 · literal 15 · sistema 4 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 22 pública(s) — `accent-border`, `accent-track`, `accent-text`, `clock-column-gap`, `clock-width`, `clock-fg`, `clock-font-family`, `clock-font-size`, `clock-line-height`, `clock-hand-hour`, `clock-hand-minute`, `clock-hand-second`, `day-period-toggle-gap`, `day-period-toggle-radius`, `day-period-toggle-bg`, `day-period-toggle-border`, `day-period-item-min-width`, `day-period-item-padding-inline`, `day-period-item-padding-block`, `day-period-item-font-size`, `day-period-item-font-weight`, `day-period-item-fg` - **Eje `size`**: sí · **ficheros**: `time-range-picker.css` diff --git a/docs/audit/theming/timeline.md b/docs/audit/theming/timeline.md index 245cf1145..7cd1b9b8b 100644 --- a/docs/audit/theming/timeline.md +++ b/docs/audit/theming/timeline.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **77%** — 36 de 47 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **77%** — 36 de 47 knobs por token público - **Knobs de apariencia**: 47 — público 36 · privado 10 · global 0 · literal 1 · sistema 0 · excepción 2 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 45 pública(s) — `gap-sm`, `gap-md`, `gap-lg`, `item-gap-sm`, `item-gap-md`, `item-gap-lg`, `marker-size-sm`, `marker-size-md`, `marker-size-lg`, `marker-icon-size-sm`, `marker-icon-size-md`, `marker-icon-size-lg`, `font-family`, `font-size-sm`, `font-size-md`, `font-size-lg`, `time-font-size-sm`, `time-font-size-md`, `time-font-size-lg`, `line-height`, `fg`, `marker-radius`, `marker-border-width`, `marker-border`, `marker-bg`, `marker-fg`, `marker-font-weight`, `marker-ring-width`, `connector-thickness`, `connector-fg`, `connector-min-size`, `item-inline`, `alt-content-block`, `alt-time-block`, `content-gap`, `time-font-weight`, `time-fg`, `title-font-weight`, `title-fg`, `description-fg`, `reveal-duration`, `reveal-ease`, `reveal-distance`, `transition-duration`, `transition-ease` · 5 privada(s) forward — `_palette-solid`, `_palette-track`, `_palette-border`, `_palette-contrast`, `_palette-text` - **Eje `size`**: sí · **ficheros**: `timeline.css` diff --git a/docs/audit/theming/toast.md b/docs/audit/theming/toast.md index 770da6ece..dff2c1a79 100644 --- a/docs/audit/theming/toast.md +++ b/docs/audit/theming/toast.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **98%** — 41 de 42 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **98%** — 41 de 42 knobs por token público - **Knobs de apariencia**: 42 — público 41 · privado 0 · global 0 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 85 pública(s) — `toaster-z`, `toaster-inset`, `toaster-gap`, `toaster-width`, `provider-min-width`, `provider-max-width`, `provider-gap`, `provider-stack-gap`, `provider-padding-inline`, `provider-padding-block`, `provider-border-width`, `provider-radius`, `provider-shadow`, `accent-width`, `transition-duration`, `transition-ease`, `closed-offset`, `closed-scale`, `status-size`, `status-radius`, `title-font-family`, `title-font-size`, `title-font-weight`, `title-line-height`, `title-fg`, `message-fg`, `description-font-family`, `description-font-size`, `description-line-height`, `description-fg`, `action-gap`, `action-padding-inline`, `action-padding-block`, `action-margin-top`, `action-border-width`, `action-radius`, `action-font-family`, `action-font-size`, `action-font-weight`, `action-line-height`, `action-focus-ring-offset`, `action-focus-ring-width`, `action-focus-ring-color`, `default-surface`, `default-border`, `default-accent`, `default-status-bg`, `default-status-fg`, `default-action-fg`, `default-action-hover-bg`, `affirm-surface`, `affirm-border`, `affirm-accent`, `affirm-status-bg`, `affirm-status-fg`, `affirm-action-fg`, `affirm-action-hover-bg`, `fulfill-surface`, `fulfill-border`, `fulfill-accent`, `fulfill-status-bg`, `fulfill-status-fg`, `fulfill-action-fg`, `fulfill-action-hover-bg`, `risk-surface`, `risk-border`, `risk-accent`, `risk-status-bg`, `risk-status-fg`, `risk-action-fg`, `risk-action-hover-bg`, `threat-surface`, `threat-border`, `threat-accent`, `threat-status-bg`, `threat-status-fg`, `threat-action-fg`, `threat-action-hover-bg`, `loss-surface`, `loss-border`, `loss-accent`, `loss-status-bg`, `loss-status-fg`, `loss-action-fg`, `loss-action-hover-bg` - **Eje `size`**: no · **ficheros**: `toast.css` diff --git a/docs/audit/theming/toggle-group.md b/docs/audit/theming/toggle-group.md index ca69e2908..6b49f506e 100644 --- a/docs/audit/theming/toggle-group.md +++ b/docs/audit/theming/toggle-group.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **33%** — 1 de 3 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **33%** — 1 de 3 knobs por token público - **Knobs de apariencia**: 3 — público 1 · privado 0 · global 1 · literal 1 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 1 pública(s) — `gap` - **Eje `size`**: no · **ficheros**: `toggle-group.css` diff --git a/docs/audit/theming/toggle.md b/docs/audit/theming/toggle.md index 2c86da26a..f31b9b57b 100644 --- a/docs/audit/theming/toggle.md +++ b/docs/audit/theming/toggle.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **81%** — 22 de 27 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **81%** — 22 de 27 knobs por token público - **Knobs de apariencia**: 28 — público 22 · privado 1 · global 1 · literal 3 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 119 pública(s) — `height-xs`, `height-sm`, `height-md`, `height-lg`, `height-xl`, `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-inline-xl`, `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `gap-xl`, `font-family`, `line-height`, `letter-spacing`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `font-weight-xs`, `font-weight-sm`, `font-weight-md`, `font-weight-lg`, `font-weight-xl`, `border-width`, `shadow`, `transition-duration`, `transition-ease`, `primary-track`, `primary-element`, `primary-hover`, `primary-border`, `primary-solid`, `primary-solid-hover`, `primary-text`, `primary-contrast`, `neutral-track`, `neutral-element`, `neutral-hover`, `neutral-border`, `neutral-solid`, `neutral-solid-hover`, `neutral-text`, `neutral-contrast`, `risk-track`, `risk-element`, `risk-hover`, `risk-border`, `risk-solid`, `risk-solid-hover`, `risk-text`, `risk-contrast`, `threat-track`, `threat-element`, `threat-hover`, `threat-border`, `threat-solid`, `threat-solid-hover`, `threat-text`, `threat-contrast`, `secondary-track`, `secondary-element`, `secondary-hover`, `secondary-border`, `secondary-solid`, `secondary-solid-hover`, `secondary-text`, `secondary-contrast`, `affirm-track`, `affirm-element`, `affirm-hover`, `affirm-border`, `affirm-solid`, `affirm-solid-hover`, `affirm-text`, `affirm-contrast`, `palette-track`, `palette-element`, `palette-hover`, `palette-border`, `palette-solid`, `palette-solid-hover`, `palette-text`, `palette-contrast`, `solid-bg`, `solid-fg`, `solid-border`, `solid-hover-bg`, `solid-hover-border`, `solid-on-bg`, `solid-on-fg`, `solid-on-border`, `solid-on-hover-bg`, `solid-on-hover-border`, `outline-bg`, `outline-fg`, `outline-border`, `outline-hover-bg`, `outline-hover-border`, `outline-on-bg`, `outline-on-fg`, `outline-on-border`, `outline-on-hover-bg`, `outline-on-hover-border`, `ghost-bg`, `ghost-fg`, `ghost-border`, `ghost-hover-bg`, `ghost-hover-border`, `ghost-on-bg`, `ghost-on-fg`, `ghost-on-border`, `ghost-on-hover-bg`, `ghost-on-hover-border`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `toggle.css` diff --git a/docs/audit/theming/toolbar.md b/docs/audit/theming/toolbar.md index 596a3d1b9..d20406d8d 100644 --- a/docs/audit/theming/toolbar.md +++ b/docs/audit/theming/toolbar.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **91%** — 30 de 33 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **91%** — 30 de 33 knobs por token público - **Knobs de apariencia**: 35 — público 30 · privado 2 · global 0 · literal 1 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 54 pública(s) — `gap-xs`, `gap-sm`, `gap-md`, `gap-lg`, `padding-inline-xs`, `padding-inline-sm`, `padding-inline-md`, `padding-inline-lg`, `padding-block-xs`, `padding-block-sm`, `padding-block-md`, `padding-block-lg`, `control-height-xs`, `control-height-sm`, `control-height-md`, `control-height-lg`, `control-padding-inline-xs`, `control-padding-inline-sm`, `control-padding-inline-md`, `control-padding-inline-lg`, `control-gap-xs`, `control-gap-sm`, `control-gap-md`, `control-gap-lg`, `font-family`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `line-height`, `radius`, `bg`, `border`, `border-width`, `shadow`, `fg`, `group-gap`, `control-radius`, `control-border-width`, `control-border`, `hover-control-border`, `active-control-border`, `control-bg`, `active-control-bg`, `control-fg`, `hover-control-fg`, `active-control-fg`, `separator-bg`, `separator-thickness`, `separator-length`, `separator-radius`, `transition-duration`, `transition-ease`, `disabled-opacity` - **Eje `size`**: sí · **ficheros**: `toolbar.css` diff --git a/docs/audit/theming/tooltip.md b/docs/audit/theming/tooltip.md index 313e136dc..d51d061b1 100644 --- a/docs/audit/theming/tooltip.md +++ b/docs/audit/theming/tooltip.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **52%** — 11 de 21 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **52%** — 11 de 21 knobs por token público - **Knobs de apariencia**: 22 — público 11 · privado 6 · global 3 · literal 1 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 20 pública(s) — `content-z`, `max-width`, `padding-block-sm`, `padding-inline-sm`, `padding-block-md`, `padding-inline-md`, `padding-block-lg`, `padding-inline-lg`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-family`, `font-weight`, `line-height`, `radius`, `border-width`, `bg`, `fg`, `border`, `shadow` - **Eje `size`**: sí · **ficheros**: `tooltip.css` diff --git a/docs/audit/theming/trans.md b/docs/audit/theming/trans.md index ca32d6a6c..4b8ac1c2f 100644 --- a/docs/audit/theming/trans.md +++ b/docs/audit/theming/trans.md @@ -4,7 +4,7 @@ > Vista de conjunto: [README](./README.md) · método: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1. -- **Medido**: 2026-08-22 · **Alcance**: **—** (no hay knobs que medir) +- **Medido**: 2026-08-23 · **Alcance**: **—** (no hay knobs que medir) - **Ficheros del componente**: `index.ts`, `README.md`, `trans.svelte`, `types.ts` — **ningún `.css`** - **Contrato en `lib/recipes/base.ts`**: sin entrada diff --git a/docs/audit/theming/tree-grid.md b/docs/audit/theming/tree-grid.md index 0e53fc3a3..217388da9 100644 --- a/docs/audit/theming/tree-grid.md +++ b/docs/audit/theming/tree-grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **95%** — 37 de 39 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **95%** — 37 de 39 knobs por token público - **Knobs de apariencia**: 42 — público 37 · privado 1 · global 0 · literal 1 · sistema 3 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 47 pública(s) — `row-height-xs`, `row-height-sm`, `row-height-md`, `row-height-lg`, `row-height-xl`, `row-padding-block-xs`, `row-padding-block-sm`, `row-padding-block-md`, `row-padding-block-lg`, `row-padding-block-xl`, `row-padding-inline-xs`, `row-padding-inline-sm`, `row-padding-inline-md`, `row-padding-inline-lg`, `row-padding-inline-xl`, `indent-xs`, `indent-sm`, `indent-md`, `indent-lg`, `indent-xl`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `row-height`, `row-padding-block`, `row-padding-inline`, `indent`, `font-size`, `radius`, `font-family`, `line-height`, `fg`, `border-width`, `divider`, `surface-bg`, `row-bg`, `header-bg`, `header-font-weight`, `header-z`, `striped-row-bg`, `hover-row-bg`, `disabled-row-fg`, `guide-fg`, `guide-width`, `branch-placeholder-size` · 1 privada(s) forward — `_palette-element` - **Eje `size`**: no · **ficheros**: `tree-grid.css` diff --git a/docs/audit/theming/tree-view.md b/docs/audit/theming/tree-view.md index bc7d85d6f..604671659 100644 --- a/docs/audit/theming/tree-view.md +++ b/docs/audit/theming/tree-view.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **92%** — 24 de 26 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **92%** — 24 de 26 knobs por token público - **Knobs de apariencia**: 28 — público 24 · privado 1 · global 0 · literal 1 · sistema 2 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 46 pública(s) — `row-height-xs`, `row-height-sm`, `row-height-md`, `row-height-lg`, `row-height-xl`, `row-padding-block-xs`, `row-padding-block-sm`, `row-padding-block-md`, `row-padding-block-lg`, `row-padding-block-xl`, `row-padding-inline-xs`, `row-padding-inline-sm`, `row-padding-inline-md`, `row-padding-inline-lg`, `row-padding-inline-xl`, `indent-xs`, `indent-sm`, `indent-md`, `indent-lg`, `indent-xl`, `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `row-height`, `row-padding-block`, `row-padding-inline`, `indent`, `font-size`, `radius`, `font-family`, `line-height`, `fg`, `border-width`, `border`, `surface-bg`, `padding`, `row-gap`, `row-radius`, `hover-row-bg`, `disabled-row-fg`, `branch-indicator-size`, `branch-indicator-fg`, `guide-width`, `guide-fg` · 1 privada(s) forward — `_palette-element` - **Eje `size`**: no · **ficheros**: `tree-view.css` diff --git a/docs/audit/theming/virtual-grid.md b/docs/audit/theming/virtual-grid.md index 7db37936a..f41cbb3ca 100644 --- a/docs/audit/theming/virtual-grid.md +++ b/docs/audit/theming/virtual-grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **73%** — 8 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **73%** — 8 de 11 knobs por token público - **Knobs de apariencia**: 12 — público 8 · privado 0 · global 0 · literal 3 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 12 pública(s) — `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `font-size`, `radius`, `font-family`, `fg`, `border-width`, `border`, `surface-bg` - **Eje `size`**: no · **ficheros**: `virtual-grid.css` diff --git a/docs/audit/theming/virtual-list.md b/docs/audit/theming/virtual-list.md index e2298bf66..3804b75cd 100644 --- a/docs/audit/theming/virtual-list.md +++ b/docs/audit/theming/virtual-list.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **67%** — 8 de 12 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **67%** — 8 de 12 knobs por token público - **Knobs de apariencia**: 13 — público 8 · privado 0 · global 0 · literal 4 · sistema 1 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 12 pública(s) — `font-size-xs`, `font-size-sm`, `font-size-md`, `font-size-lg`, `font-size-xl`, `font-size`, `radius`, `font-family`, `fg`, `border-width`, `border`, `surface-bg` - **Eje `size`**: no · **ficheros**: `virtual-list.css` diff --git a/docs/audit/theming/waveform.md b/docs/audit/theming/waveform.md index dfd8bddc5..198aa95fa 100644 --- a/docs/audit/theming/waveform.md +++ b/docs/audit/theming/waveform.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **55%** — 6 de 11 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **55%** — 6 de 11 knobs por token público - **Knobs de apariencia**: 11 — público 6 · privado 0 · global 1 · literal 4 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 10 pública(s) — `height-xs`, `height-sm`, `height-md`, `height-lg`, `height-xl`, `bar-width`, `fg`, `played-fg`, `buffered-fg`, `playhead-width` - **Eje `size`**: sí · **ficheros**: `waveform.css` diff --git a/docs/audit/theming/wrap.md b/docs/audit/theming/wrap.md index d03e85d74..f61c440b6 100644 --- a/docs/audit/theming/wrap.md +++ b/docs/audit/theming/wrap.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **—** — 0 de 0 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **—** — 0 de 0 knobs por token público - **Knobs de apariencia**: 0 — público 0 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): **sin entrada en `base.ts`** - **Eje `size`**: no · **ficheros**: `wrap.css` diff --git a/docs/audit/theming/year-grid.md b/docs/audit/theming/year-grid.md index c110e435b..ca6b01c49 100644 --- a/docs/audit/theming/year-grid.md +++ b/docs/audit/theming/year-grid.md @@ -5,7 +5,7 @@ > Vista de conjunto: [README](./README.md) · método y protocolo: > [`PLAN-theming.md`](../../process/PLAN-theming.md) §1, §2, §7. -- **Medido**: 2026-08-22 · **Alcance**: **0%** — 0 de 12 knobs por token público +- **Medido**: 2026-08-23 · **Alcance**: **0%** — 0 de 12 knobs por token público - **Knobs de apariencia**: 61 — público 0 · privado 7 · global 0 · literal 5 · sistema 49 · excepción 0 _(los dos últimos, fuera del ratio)_ - **Contrato hoy** (`lib/recipes/base.ts`): 0 pública(s) · 5 privada(s) forward — `_palette-solid`, `_palette-solid-hover`, `_palette-track`, `_palette-border`, `_palette-text` - **Eje `size`**: no · **ficheros**: `year-grid.css` diff --git a/docs/process/PLAN-theming.md b/docs/process/PLAN-theming.md index d468cd6bf..7c941c438 100644 --- a/docs/process/PLAN-theming.md +++ b/docs/process/PLAN-theming.md @@ -455,6 +455,27 @@ de commit. Sin artefacto, el paso no se ha hecho. ## 8. Registro +- 2026-08-23 — **`callout` 27 % → 79 %** (7 claves, un literal anotado). Global + **63 % → 64 %**. El 21 % restante es el PUENTE DE PALETA (THM-2), que no es + deuda. + + Cosidos el hueco de fila, la tipografía del cuerpo, la tinta, el tamaño del + icono y el peso del título, todos leyendo el BUNDLE. **La línea base óptica + del icono deja de repetir las métricas del sistema**: la misma derivación, + ahora sobre los tokens del propio callout, así que un tema que agrande la + copia mueve la caja del glifo con ella. + + **Cinco respaldos muertos retirados** (`var(--callout-gap, var(--space-3))` y + compañía: las claves están en el contrato) incluido el `, 1.5` de + `--font-line-height-md`, que además mentía — el token existe y vale 1.45. + + Los 24 rojos del guard son los TONOS: la supersesión que `button` destapó el + mismo día, adjudicada con el patrón compartido. + + Gates: sonda 0 diffs en 896 valores × 7 estados · centinela 10/34 · censo + 79 % · audit PASS · suite con el rojo conocido ajeno · rtl 0 · docs 0 · + captura de cuatro tonos. + - 2026-08-23 — **`button` 55 % → 91 %** (1 clave, 17 declaraciones anotadas) **y el hallazgo más gordo del eje: la cascada de paleta ANULA los tonos del componente — 419 claves en el catálogo.** Global 63 %. diff --git a/scripts/theming-sentinel-exceptions.ts b/scripts/theming-sentinel-exceptions.ts index 5bffdc43d..3493fb810 100644 --- a/scripts/theming-sentinel-exceptions.ts +++ b/scripts/theming-sentinel-exceptions.ts @@ -654,6 +654,22 @@ export const SENTINEL_EXCEPTIONS: Record> = { } }; +/** + * The one architectural fact behind every tone key that reads dead. Measured + * 2026-08-23 on button, badge and callout: the palette forward emits a block per + * tone AND, LAST, a generic `[data-{c}][data-color]` that resolves the palette + * slots from the GLOBAL `--palette-*` (which `[data-color={tone}]` fills from + * `--color-{tone}-*`). Equal specificity (0,2,0), so the last one wins: with any + * tone attribute present the per-tone keys are bypassed. On data-color=risk, + * `--{c}-risk-solid` moves nothing at :root NOR on the node, while + * `--palette-solid` and `--color-risk-solid` on the node repaint. The primary-* + * keys are that rule's FALLBACK and do act on an instance with no data-color. + * 49 recipes emit the generic block and the contract holds 419 tone keys — + * registered in next-features §13, where the fix (emission order) is proposed. + */ +const PALETTE_SUPERSEDED = + 'SUPERSEDED, not missing: the generic [data-{c}][data-color] block of the palette forward is emitted LAST and wins by source order at equal specificity, so the tone keys are bypassed and the paint comes from the global --palette-* (see next-features 13, measured on button, badge and callout 2026-08-23)'; + /** * The same adjudication, written ONCE for a whole family of keys. Born with * button: 56 of its 106 keys are the eight tones x seven slots, and the reason @@ -672,7 +688,11 @@ export const SENTINEL_PATTERN_EXCEPTIONS: Array<{ component: 'button', pattern: /^(secondary|neutral|affirm|fulfill|risk|threat|loss)-(track|element|border|solid|solid-hover|text|contrast)$/, - reason: - 'SUPERSEDED, not missing: the last rule of the palette forward, [data-button][data-color], resolves --button-palette-* from the GLOBAL --palette-* (which [data-color={tone}] sets from --color-{tone}-*), and it beats the per-tone [data-button][data-color={tone}] rules by source order at equal specificity. Measured on data-color=risk 2026-08-23: --button-risk-solid moves nothing at :root NOR on the node, while --palette-solid and --color-risk-solid on the node both repaint it. The seven primary-* keys are the FALLBACK of that same rule and do act on an instance with no data-color. Registered in next-features 13 - the fix is the emission order, and it is architecture' + reason: PALETTE_SUPERSEDED + ' — the seven primary-* keys carry their own entry above' + }, + { + component: 'callout', + pattern: /^(primary|secondary|neutral|affirm|fulfill|risk|threat|loss)-(track|text|solid)$/, + reason: PALETTE_SUPERSEDED } ]; diff --git a/src/uix/eidos/components/callout/callout.css b/src/uix/eidos/components/callout/callout.css index d9ad99d2d..c952287e4 100644 --- a/src/uix/eidos/components/callout/callout.css +++ b/src/uix/eidos/components/callout/callout.css @@ -13,16 +13,16 @@ [data-callout] { display: grid; grid-template-columns: auto minmax(0, 1fr); - column-gap: var(--callout-gap, var(--space-3)); - row-gap: var(--space-1); + column-gap: var(--callout-gap); + row-gap: var(--callout-row-gap); align-items: start; - padding: var(--callout-padding, var(--space-4)); + padding: var(--callout-padding); background: var(--_callout-palette-track); - border-inline-start: var(--callout-accent-width, 3px) solid var(--_callout-palette-solid); - border-radius: var(--callout-radius, var(--radius-md)); - font-size: var(--size-md-font-size); - line-height: var(--font-line-height-md, 1.5); - color: var(--color-content-primary); + border-inline-start: var(--callout-accent-width) solid var(--_callout-palette-solid); + border-radius: var(--callout-radius); + font-size: var(--callout-font-size); + line-height: var(--callout-line-height); + color: var(--callout-fg); min-inline-size: 0; box-sizing: border-box; } @@ -33,11 +33,13 @@ grid-column: 1; display: flex; align-items: center; - font-size: var(--size-md-icon-size); - line-height: 1; + font-size: var(--callout-icon-size); + line-height: 1; /* literal: a lone glyph owns no leading — identity, not a knob */ color: var(--_callout-palette-solid); - /* literal: optical baseline — centers the glyph on the label's first line */ - min-block-size: calc(var(--size-md-font-size) * var(--font-line-height-md, 1.5)); + /* Optical baseline — centers the glyph on the label's first line. Derived from + the callout's OWN type metrics, so a theme that resizes the copy moves the + glyph box with it. */ + min-block-size: calc(var(--callout-font-size) * var(--callout-line-height)); } /* ── Title ─────────────────────────────────────────────────────────── */ @@ -45,7 +47,7 @@ [data-callout-title] { grid-column: 2; margin: 0; - font-weight: var(--font-weight-semibold); + font-weight: var(--callout-title-font-weight); color: var(--_callout-palette-text); } diff --git a/src/uix/eidos/generated/base.css b/src/uix/eidos/generated/base.css index 2f12aa51b..530927eaf 100644 --- a/src/uix/eidos/generated/base.css +++ b/src/uix/eidos/generated/base.css @@ -4114,6 +4114,12 @@ --callout-padding: var(--space-4); --callout-accent-width: 3px; --callout-radius: var(--radius-md); + --callout-row-gap: var(--space-1); + --callout-font-size: var(--size-md-font-size); + --callout-line-height: var(--size-md-font-line-height); + --callout-fg: var(--color-content-primary); + --callout-icon-size: var(--size-md-icon-size); + --callout-title-font-weight: var(--font-weight-semibold); --callout-primary-track: var(--color-primary-track); --callout-primary-text: var(--color-primary-text); --callout-primary-solid: var(--color-primary-solid); diff --git a/src/uix/eidos/lib/recipes/base.ts b/src/uix/eidos/lib/recipes/base.ts index cae3f5d56..ec0264c78 100644 --- a/src/uix/eidos/lib/recipes/base.ts +++ b/src/uix/eidos/lib/recipes/base.ts @@ -6559,6 +6559,14 @@ export const THEME_BASE_RECIPE_TOKENS = defineRecipes({ padding: 'var(--space-4)', 'accent-width': '3px', radius: 'var(--radius-md)', + 'row-gap': 'var(--space-1)', + // Typography of the admonition: it reads like body copy, so the value is + // the size bundle's and the knob is the callout's. + 'font-size': 'var(--size-md-font-size)', + 'line-height': 'var(--size-md-font-line-height)', + fg: 'var(--color-content-primary)', + 'icon-size': 'var(--size-md-icon-size)', + 'title-font-weight': 'var(--font-weight-semibold)', 'primary-track': 'var(--color-primary-track)', 'primary-text': 'var(--color-primary-text)', 'primary-solid': 'var(--color-primary-solid)',