Layout

ScrollPanel

Area scrollabile con scrollbar personalizzata (colore, larghezza, posizione). Supporta scroll verticale, orizzontale o entrambi, auto-hide, modalità native e metodi programmatici.

Import

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

Esempio Base

Props

PropTipoDefaultDescrizione
heightstring'200px'Altezza del pannello (valore CSS)
widthstring'100%'Larghezza del pannello (valore CSS)
orientation'vertical' | 'horizontal' | 'both''vertical'Direzione dello scroll
stepnumber5Fattore di scorrimento con i tasti freccia (moltiplicato per 10px)
barPosition'right' | 'left''right'Posizione della scrollbar verticale
barWidthstring'0.5rem'Larghezza della scrollbar
trackColorstringundefinedColore del track (sfondo) della scrollbar
thumbColorstringundefinedColore del thumb (maniglia) della scrollbar
autoHidebooleanfalseNasconde la scrollbar automaticamente dopo inattività
autoHideDelaynumber1000Ritardo in ms prima di nascondere la scrollbar (con autoHide)
nativebooleanfalseUsa la scrollbar nativa del browser
severityScrollPanelSeverityundefinedColore preimpostato della scrollbar (primary, secondary, success, etc.)
containerClassstringClasse CSS aggiuntiva per il contenitore
contentClassstringClasse CSS aggiuntiva per il contenuto
barClassstringClasse CSS aggiuntiva per la scrollbar
dt{ bar?: { background?, borderRadius? }; track?: { background?, borderRadius? } }Design token per personalizzazione avanzata della scrollbar

Emits

EventoPayloadDescrizione
scrollEventEmesso ad ogni evento di scroll
scrollEndEmesso quando lo scroll raggiunge il fondo/destra
scrollStartEmesso quando lo scroll raggiunge l'inizio/sinistra

Slot

SlotScopeDescrizione
defaultContenuto scrollabile

Metodi esposti (defineExpose)

MetodoFirmaDescrizione
scrollTo(options: ScrollToOptions) => voidScrolla alla posizione specificata
scrollToBottom() => voidScrolla al fondo del contenuto
scrollToTop() => voidScrolla all'inizio del contenuto
getScrollPosition() => { top: number; left: number }Ritorna la posizione di scroll corrente
refresh() => voidForza il ricalcolo delle dimensioni della scrollbar

Esempi

Scroll orizzontale

Scrollbar personalizzata con design tokens

Auto-hide e scroll programmatico

Severità preimpostate

Accessibilità

Il contenuto scrollabile ha tabindex="0" per essere raggiungibile da tastiera. La navigazione da tastiera supporta: ArrowUp/ArrowDown (scroll verticale), ArrowLeft/ArrowRight (scroll orizzontale), PageUp/PageDown, Home/End.

TypeScript

import type {
  ScrollPanelProps,
  ScrollPanelEmits,
  ScrollPanelExpose,
  ScrollPanelBarPosition,
  ScrollPanelOrientation,
  ScrollPanelSeverity,
} from '@pzeta/vue-components'