Layout

Panel

Contenitore collassabile con header, body e footer. Supporta toggle con v-model, slot per icone aggiuntive e dimensioni configurabili.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
headerstring''Testo del titolo nell'header
toggleablebooleanfalseAbilita la funzionalità di collasso/espansione
collapsedbooleanfalseStato collassato (usare con v-model:collapsed)
toggleIconstring''Icona personalizzata per il pulsante toggle
size'small' | 'medium' | 'large''medium'Dimensione del pannello
roundedbooleantrueBordi arrotondati
shadowbooleantrueOmbra esterna
borderbooleantrueBordo visibile
disabledbooleanfalseDisabilita il toggle

Emits

EventoPayloadDescrizione
update:collapsedbooleanEmesso quando cambia lo stato collapsed (per v-model)
expandEmesso quando il pannello viene espanso
collapseEmesso quando il pannello viene collassato
toggleMouseEventEmesso al click sul pulsante toggle

Slot

SlotScopeDescrizione
defaultContenuto principale del pannello
headerHeader personalizzato (sostituisce la prop header)
iconsIcone/azioni aggiuntive nell'area destra dell'header
footerFooter del pannello

Esempi

Panel collassabile con v-model

Dimensioni disponibili

Accessibilità

Il pulsante toggle usa aria-expanded per comunicare lo stato corrente. Il pannello è navigabile da tastiera. La prop disabled inibisce l'interazione e viene propagata al pulsante nativo.

TypeScript

import type { PanelProps, PanelEmits, PanelSlots } from '@pzeta/vue-components'