ColorPicker
Selecciona colores mediante un espectro, un control de brillo y campos de canales, con opacidad opcional.
Uso
<script>
import { ColorPicker } from 'fluentui-svelte';
</script>
<ColorPicker defaultValue="#0078d4" /> Formas
Usa shape con las opciones compartidas de Shapes: rounded (predeterminada), square o circular. Todas ofrecen los mismos controles de teclado.
Orientación horizontal
Configura orientation="horizontal" para colocar los campos junto al espectro y usar deslizadores verticales.
Opacidad
Activa alpha para editar la opacidad. La vista previa muestra el color sobre un damero y junto a su equivalente opaco. Las ediciones incluyen el canal alfa en el valor hexadecimal.
Campos RGB y HSV
Usa format="hsv" para comenzar con campos de tono, saturación y brillo. Cambiar entre RGB y HSV conserva el color seleccionado.
Contraído
Usa collapsed para ocultar los campos inicialmente. El botón de expansión comunica su estado con aria-expanded; bind:collapsed permite controlarlo desde la aplicación.
Valor controlado
Usa bind:value para leer y actualizar el color. Los colores CSS externos sincronizan el espectro, la vista previa y los campos. Las ediciones producen cadenas hexadecimales.
Uso con Label
Envuelve el selector en Label para nombrar el grupo. Para una etiqueta separada, usa aria-labelledby; también puedes proporcionar aria-label o label.
Formularios y restablecimiento
El campo envía un único color bajo name. La validación nativa admite required y pattern. Restablecer recupera defaultValue; los campos deshabilitados se excluyen del envío.
Deshabilitado
Usa disabled para desactivar la interacción y el envío. Usa readonly para conservar el envío e impedir ediciones.
Teclado y nombres accesibles
Tab recorre los rangos de tono y saturación, los deslizadores de brillo y opacidad y los campos de canales. En el espectro, Izquierda y Derecha mueven el indicador horizontalmente; Arriba y Abajo lo mueven verticalmente. Se anuncian ambas coordenadas. Inicio y Fin seleccionan los límites del rango enfocado. Adapta channelLabels, label, formatLabel, moreLabel, lessLabel y validationMessage a tu idioma. Los eventos nativos oninput y onchange comunican las ediciones mediante el campo del formulario; ref expone ese campo y wrapperAttributes permite estilizar el grupo visible.
Restricciones de los campos
Los canales RGB admiten enteros de 0 a 255; el tono de 0 a 360, y la saturación, el brillo y la opacidad de 0 a 100. Los valores fuera del rango se ajustan al límite. Los canales vacíos recuperan su valor seleccionado al perder el foco. Hex admite 3 o 6 dígitos, y 4 u 8 con alpha. El prefijo # es opcional. Las ediciones hexadecimales no válidas o incompletas restauran el color seleccionado.
Propiedades del componente
| Name | Type | Default | Description |
|---|---|---|---|
channelLabels | Partial< Record<'hue' | 'saturation' | 'brightness' | 'opacity' | 'red' | 'green' | 'blue' | 'hex', string> > | Nombres accesibles de los canales que sustituyen los valores en inglés. | |
value bindable | string | Color CSS que envía el campo. Las ediciones producen colores hexadecimales. | |
defaultValue | string | '#ffffff' | Color inicial y valor que restaura el restablecimiento nativo del formulario. |
shape | 'circular' | 'rounded' | 'square' | 'rounded' | Forma del espectro de tono y saturación. |
orientation | 'vertical' | 'horizontal' | 'vertical' | Disposición del espectro, los deslizadores y los campos. |
collapsed bindable | boolean | Oculta los campos de canales hasta que el usuario los expanda. | |
format bindable | 'rgb' | 'hsv' | 'rgb' | Campos de canales que muestra el editor. |
alpha | boolean | Habilita el deslizador de opacidad y el canal alfa. | |
label | string | 'Color picker' | Nombre accesible del selector. |
formatLabel | string | 'Color format' | Nombre accesible del selector de formato de canales. |
moreLabel | string | 'More' | Etiqueta del control para expandir. |
lessLabel | string | 'Less' | Etiqueta del control para contraer. |
validationMessage | string | Mensaje para un color CSS no válido. | |
onColorChange | (value: string) => void | Comunica una edición del color realizada por el usuario. | |
ref bindable | HTMLInputElement | null | Referencia al campo nativo del formulario. | |
wrapperRef bindable | HTMLDivElement | null | Referencia al selector visible. | |
wrapperAttributes | HTMLAttributes<HTMLDivElement> | Atributos del selector visible. | |
NativeFieldAttributes<HTMLInputAttributes> without value, defaultValue, type, size, children, on: |

