Layout

Fieldset

Wrapper HTML fieldset con legenda personalizzabile, funzionalità di toggle collassabile (v-model) e slot per icona toggle personalizzata.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
legendstring''Testo della legenda del fieldset
toggleablebooleanfalseAbilita la funzionalità di collasso/espansione
collapsedbooleanfalseStato iniziale collassato (usare con v-model:collapsed)
size'small' | 'medium' | 'large''medium'Dimensione del componente
disabledbooleanfalseDisabilita il fieldset e il toggle
borderbooleantrueMostra il bordo
shadowbooleanfalseMostra l'ombra esterna
roundedbooleantrueBordi arrotondati

Emits

EventoPayloadDescrizione
update:collapsedbooleanEmesso quando cambia lo stato collapsed (per v-model)
toggle{ originalEvent: Event; value: boolean }Emesso al click sul toggle con l'evento originale e il nuovo stato

Slot

SlotScopeDescrizione
defaultContenuto del fieldset
legend{ collapsed: boolean; toggleable: boolean; toggle: () => void }Sovrascrive completamente la legenda
toggleIcon{ collapsed: boolean }Sovrascrive solo l'icona del pulsante toggle (chevron di default)

Esempi

Fieldset collassabile con v-model

Fieldset con legenda personalizzata

Fieldset con icona toggle personalizzata

Fieldset disabilitato e varianti

Accessibilità

Usa il tag HTML semantico <fieldset> con <legend> nativo. Quando toggleable è attivo, la legenda contiene un <button> con aria-expanded implicito nel comportamento nativo. La prop disabled viene propagata all'elemento fieldset HTML, disabilitando tutti i campi interni.

TypeScript

import type {
  FieldsetProps,
  FieldsetEmits,
  FieldsetSlots,
  FieldsetLegendSlotProps,
  FieldsetToggleIconSlotProps,
  FieldsetToggleEvent,
} from '@pzeta/vue-components'