Feedback

Chip

Elemento compatto per rappresentare tag, filtri attivi o selezioni. Supporta immagine, icona, label e rimozione interattiva.

Import

import { Chip } from '@pzeta/vue-components'
// oppure tramite plugin:
import { FeedbackPlugin } from '@pzeta/vue-components'
app.use(FeedbackPlugin)

Esempio Base

Props

PropTipoDefaultDescrizione
labelstring''Testo del chip
imagestring''URL dell'immagine avatar
imageAltstring'chip image'Alt text per l'immagine
iconstring''Classe CSS dell'icona (es. 'pi pi-tag')
removablebooleanfalseMostra il pulsante di rimozione
removeIconstring''Icona custom per il pulsante di rimozione
severity'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'contrast' | 'help''primary'Severity che determina il colore
variant'solid' | 'soft' | 'outline''soft'Variante visiva
size'small' | 'medium' | 'large''medium'Dimensione del chip
indicatorbooleanfalseMostra un indicatore di stato colorato a sinistra

Emits

EventoPayloadDescrizione
removeMouseEvent | KeyboardEventEmesso al click o Enter/Space sul pulsante di rimozione

Slot

SlotScopeDescrizione
defaultContenuto completamente custom (sostituisce label/icon/image)
removeicon{ removeCallback, keydownCallback }Icona di rimozione custom con accesso ai callback

Esempi

Con icona

Filtri rimovibili

Con indicator di stato

Icona di rimozione custom via slot

Accessibilità

  • Il pulsante di rimozione ha aria-label localizzato e supporta Enter/Space da tastiera.
  • Lo slot removeicon espone keydownCallback per mantenere la navigazione da tastiera su icone custom.

TypeScript

import type { ChipProps, ChipEmits, ChipSlots } from '@pzeta/vue-components'
import type { ChipVariant } from '@pzeta/vue-components'

// ChipVariant = 'solid' | 'soft' | 'outline'