Todos los componentes (204)
Panel de color
Elección · ColorPanel
Qué es y cuándo usarlo
Las tripas de ColorPicker, sueltas: el área de saturación y brillo, la tira de tono, la de transparencia si se pide, el campo hexadecimal y los colores guardados. Para montarlas dentro de un panel propio, sin el botón ni el flotante del selector.
Cuándo usarlo
- Un editor con su propia columna de ajustes (el fondo de un cartel, el color de una etiqueta) donde el panel va siempre a la vista.
- Un flotante o un diálogo propio que ya tiene su disparador.
- Es CONTROLADO:
colores un color ya leído, no un texto, yonChangerecibe el nuevo. SionChangeno actualizacolor, el panel no se mueve. Para pasar de texto a color estátextColor('#a16207')(devuelvenullsi el texto no es un color), y el color vuelve a texto concolor.toString('hex')o cualquier otro formato (rgb,hsl,hsby sus versiones con alfa). samplespone los colores guardados, en cualquier formato que se entienda; los que no se entienden no salen.alphaChannelañade la tira de transparencia, y el hexadecimal pasa a llevar el cuarto par. Sin ella, la transparencia que traigacolorse conserva.size(sm,mdolg) cambia el ancho del panel, el alto del área y el tamaño del tirador y de los colores guardados.
Cuándo no
- Un campo de un formulario, con su etiqueta, su ayuda, su error y el valor como texto:
ColorPicker. - Elegir entre los colores de un producto:
VariantPicker.
Teclado: Tab pasa por el área, la tira de tono, la de transparencia, el hexadecimal y los colores guardados, una parada cada uno. En el área, izquierda y derecha mueven la saturación, arriba y abajo el brillo, de uno en uno; con Mayúsculas, de diez en diez; Re Pág y Av Pág mueven el brillo de diez en diez, e Inicio y Fin llevan la saturación a 0 y a 100. En las tiras, izquierda y derecha mueven de uno en uno (un grado de tono, un punto de transparencia) y con Mayúsculas saltan 15 grados o 10 puntos. En el hexadecimal se escribe: el color cambia en cuanto lo escrito es un color de verdad, y lo escrito a medias se queda hasta salir del campo. En los colores guardados, las flechas recorren, Inicio y Fin van a los extremos, e Intro o Espacio eligen.
Accesibilidad: el área es UN control para el lector, un «Regulador 2D» llamado «Selector de color» que dice los dos ejes y el tono en su valor («Saturación: 96 %, Brillo: 63 %, Tono: 35°, marrón»); las tiras son deslizadores con el nombre de su canal («Tono», «Transparencia») y su valor en palabras («35°, marrón»). El hexadecimal tiene su etiqueta, y cada color guardado se anuncia con su nombre en palabras, no con su hexadecimal; el que coincide con el color actual va marcado como elegido. Con el dedo, las tiras y los colores guardados miden 44 px y el área crece.
Aspecto fino: en .amset-color__panel: --amset-color-panel-width, --amset-color-area-height, --amset-color-strip-height (la barra), --amset-color-strip-touch (la zona que se pulsa), --amset-color-thumb y --amset-color-sample-side (los colores guardados).
Cómo se ve
Color elegido: #A16207
const [color, setColor] = useState(() => textColor('#a16207'))
<ColorPanel
color={color}
onChange={setColor}
samples={['#a16207', '#be123c', '#0f766e', '#4338ca']}
/>Props
Se importa con import { ColorPanel } from '@amset/ui'. Las obligatorias van marcadas.
| Prop | Tipo | Para qué sirve |
|---|---|---|
colorobligatoria | EditableColor | — |
onChangeobligatoria | (color: EditableColor) => void | — |
alphaChannel | boolean | Añade el control de transparencia (y el hexadecimal pasa a llevar el cuarto par). |
className | string | Clases CSS propias para el panel. |
samples | readonly string[] | Muestras de acceso rapido. Colores en cualquier formato que se entienda. |
size | "sm" | "md" | "lg" | El del campo hexadecimal, las muestras y el area: `sm`, `md` (por defecto) o `lg`. |
Acepta además los atributos del elemento que pinta: className, style, data-*, aria-* y sus eventos.
En el banco de pruebas
Cada estado y cada variante, para tocarlos de uno en uno, en su ficha de ui.amset.tech:
