Forms

ColorPicker

Selettore colore nativo con formato hex, visualizzazione del valore, label, stati di errore e loading.

Import

import { ColorPicker } from '@pzeta/vue-components'

Esempio Base

Props

PropTipoDefaultDescrizione
modelValuestring'#2563eb'Valore del colore in formato hex (v-model).
format'hex' | 'rgb' | 'hsl''hex'Formato del colore. Attualmente supportato solo hex con input nativo.
labelstringundefinedEtichetta del color picker.
showValuebooleanfalseMostra il valore hex come testo accanto al picker.
helperTextstring | nullnullTesto di aiuto visualizzato sotto il componente.
errorstring | nullnullMessaggio di errore visualizzato sotto il componente.
disabledbooleanfalseDisabilita il componente.
invalidbooleanfalseMarca il picker come non valido (stile di errore visivo sull'input).
requiredbooleanfalseMarca il campo come obbligatorio.
loadingbooleanfalseMostra il loading spinner e blocca l'interazione.
loadingIconstringDa configIcona personalizzata per il loading.
namestringundefinedAttributo name del campo (per form HTML).
inputIdstringundefinedID dell'input color (per associazione a label).
classstring''Classe CSS aggiuntiva sul wrapper del componente.

Emits

EventoPayloadDescrizione
update:modelValuestringEmesso al cambio colore (per v-model). Valore in formato hex.
change{ originalEvent: Event; value: string }Emesso al cambio con l'evento originale e il nuovo valore hex.

Slot

Il componente ColorPicker non espone slot personalizzabili.

Esempi

Con Valore Visibile

Con Helper Text

Stato Disabilitato

Stato Loading

Stato di Errore

Picker Multipli con Palette Preset

Accessibilità

  • Il <input type="color"> nativo è accessibile agli screen reader con il prop label come title.
  • inputId associa l'input a un elemento <label> esterno.
  • Quando loading è true, aria-busy="true" è impostato sull'input.
  • In stato disabled o loading l'input è inattivo (disabled).
  • Il prop required attiva la marcatura visiva obbligatoria tramite FormLabel.

TypeScript

import type { ColorPickerProps, ColorPickerEmits, ColorFormat } from '@pzeta/vue-components'