Tamaños, bordes y opacidad
BetaLos altos de control, tamaños de icono, áreas táctiles, anchos de borde y opacidades que comparten todos los componentes.
Estos tokens son el esqueleto compartido de los componentes. Que un Button
md y un Input md midan lo mismo no es casualidad: los dos leen
control/md. Gracias a eso se pueden poner lado a lado en un formulario y
alinean sin ajustes.
Alto de controles
| Figma | CSS | Valor | Uso |
|---|---|---|---|
| control/sm | --ds-control-sm | 32px | Controles compactos: tablas, toolbars, filtros. |
| control/md | --ds-control-md | 40px | Por defecto: Button, Input, Select. |
| control/lg | --ds-control-lg | 48px | Formularios principales y mobile. |
| control/xl | --ds-control-xl | 64px | CTAs de marketing y heros. |
- Misma fila, mismo tamaño. Nunca mezcles un Input
mdcon un Buttonlg. mdes el default de producto;lgpara formularios protagonistas y mobile;smsolo en UI densa (tablas, filtros);xlsolo marketing.
Iconos
| Figma | CSS | Valor | Uso |
|---|---|---|---|
| icon/sm | --ds-icon-sm | 16px | Controles sm y texto xs/sm. |
| icon/md | --ds-icon-md | 20px | Controles md. Tamaño por defecto. |
| icon/lg | --ds-icon-lg | 24px | Controles lg/xl y uso suelto. Grilla nativa del set. |
El tamaño del icono lo decide el tamaño del control, no el gusto: sm → 16,
md → 20, lg/xl → 24. Ver Iconografía.
Área interactiva
| Figma | CSS | Valor | Uso |
|---|---|---|---|
| target/min | --ds-target-min | 24px | Área interactiva mínima (WCAG 2.2 AA, 2.5.8). |
| target/touch | --ds-target-touch | 44px | Área táctil recomendada en mobile. |
Un control puede verse más chico que su área clickeable: un checkbox de 16 px lleva un área de 24. En mobile, apuntá a 44.
Ancho de borde
| Figma | CSS | Valor | Uso |
|---|---|---|---|
| border-none | --ds-border-none | 0px | Sin borde. |
| border-sm | --ds-border-sm | 1px | Borde estándar: cards, inputs, divisores. |
| border-md | --ds-border-md | 1.5px | Borde con presencia: Button stroke, controles seleccionados. |
| border-lg | --ds-border-lg | 2px | Focus ring y acentos (tabs activas, marcadores). |
Opacidad
| Figma | CSS | Valor | Uso |
|---|---|---|---|
| opacity-disabled | --ds-opacity-disabled | 38% | Componentes deshabilitados. |
| opacity-scrim | --ds-opacity-scrim | 60% | Velo detrás de modales y drawers. |
| opacity-duo | --ds-opacity-duo | 40% | Capa secundaria de los iconos Duocolor. |
disabled se aplica al componente entero, no color por color: así un
botón deshabilitado se ve igual en cualquier variante y tema. Un elemento
deshabilitado está exento de contraste WCAG, pero explicá cerca por qué no está
disponible.
En código
.field {
height: var(--ds-control-md);
border: var(--ds-border-sm) solid var(--border);
}
.field:disabled {
opacity: var(--ds-opacity-disabled);
}