enes

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.

#0078d4

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

NameTypeDefaultDescription
channelLabelsPartial< Record<'hue' | 'saturation' | 'brightness' | 'opacity' | 'red' | 'green' | 'blue' | 'hex', string> >Nombres accesibles de los canales que sustituyen los valores en inglés.
value bindablestringColor CSS que envía el campo. Las ediciones producen colores hexadecimales.
defaultValuestring'#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 bindablebooleanOculta los campos de canales hasta que el usuario los expanda.
format bindable'rgb' | 'hsv''rgb'Campos de canales que muestra el editor.
alphabooleanHabilita el deslizador de opacidad y el canal alfa.
labelstring'Color picker'Nombre accesible del selector.
formatLabelstring'Color format'Nombre accesible del selector de formato de canales.
moreLabelstring'More'Etiqueta del control para expandir.
lessLabelstring'Less'Etiqueta del control para contraer.
validationMessagestringMensaje para un color CSS no válido.
onColorChange(value: string) => voidComunica una edición del color realizada por el usuario.
ref bindableHTMLInputElement | nullReferencia al campo nativo del formulario.
wrapperRef bindableHTMLDivElement | nullReferencia al selector visible.
wrapperAttributesHTMLAttributes<HTMLDivElement>Atributos del selector visible.
NativeFieldAttributes<HTMLInputAttributes> without value, defaultValue, type, size, children, on:
Editar este documento Ver como Markdown