Getting Started

Introduzione

Panoramica di @pzeta/vue-components, libreria Vue 3 con 115+ componenti, composables e sistema temi.

Cos'è @pzeta/vue-components

@pzeta/vue-components è una libreria di componenti Vue 3 progettata per il portale PZeta. Offre oltre 115 componenti UI pronti all'uso, costruiti con Tailwind CSS 4 e TypeScript strict, con supporto nativo per la localizzazione multilingua, un sistema di icone configurabile e dark mode.

La libreria segue un approccio zero-dipendenze pesanti: nessun framework UI di terze parti. Ogni componente è scritto da zero con Tailwind utility-first, garantendo bundle minimo tramite tree-shaking.


Feature principali

Componenti per categoria

CategoriaComponentiEsempi
Buttons6Button, ButtonGroup, SplitButton, ToggleButton, SelectButton, SpeedDial
Forms31InputText, Select, DatePicker, FileUpload, SignatureInput, IntervalInput, AutoComplete...
Layout21Card, Panel, Accordion, Tabs, Stepper, Splitter, Fieldset, Toolbar...
Overlays6Dialog, ConfirmDialog, ConfirmPopup, Drawer, Popover, Sidebar
Feedback12Badge, Toast, Message, Avatar, ProgressBar, Skeleton, Chip, Tag...
Navigation12Menu, Breadcrumb, MegaMenu, MobileNav, PanelMenu, Menubar, ContextMenu...
Data16DataTable, TreeTable, Chart, EventCalendar, Paginator, Carousel, Galleria...
Widgets5ClockWidget, WeatherCard, ToolCard, RestaurantCard, MovieCard

Composables

La libreria esporta composables pronti all'uso:

  • useToast — notifiche toast (info, success, warn, error)
  • useConfirm / useConfirmPopup — dialog e popup di conferma
  • useThemeColors — gestione dinamica colori tema con preset
  • useIcons / useConfig — accesso alla configurazione icone e locale
  • useTableCore e famiglia — sort, filter, pagination, selection, editing, expansion, grouping, state persistence
  • useDropdownPosition / usePopoverPosition — posizionamento intelligente con auto-flip
  • useListNavigation — navigazione tastiera nelle liste
  • useSelectionManager — selezione singola/multipla con dataKey

Sistema temi e icone

Il sistema di icone è completamente sostituibile tramite ConfigPlugin. Sono inclusi tre preset pronti:

  • defaultIcons — PrimeIcons (default)
  • lucideIcons — Lucide Icons (icon-* con lucide-static)
  • fontAwesomeIcons — FontAwesome 7 (fa-solid fa-*)

Il tema colori è basato su CSS custom properties Tailwind 4, con variabili semantiche (--color-primary-*, --color-surface, --color-text) e dark mode tramite classe .dark.

Localizzazione

Supporto built-in per 5 lingue tramite @pzeta/vue-i18n:

  • Italiano (it) — precaricato
  • Inglese (en), Francese (fr), Spagnolo (es), Tedesco (de) — lazy-loaded

Supporto MCP

Il sito di documentazione espone un server MCP all'endpoint /mcp, compatibile con Claude Code e Cursor. Questo permette di interrogare la documentazione dei componenti direttamente dall'assistente AI durante lo sviluppo.


Stack richiesto

DipendenzaVersione minimaNote
Node.js22 LTSRichiesto per build e sviluppo
Vue3.5+Peer dependency
Tailwind CSS4.xIntegrazione via @tailwindcss/vite
TypeScript5.x+Strict mode consigliato
@pzeta/vue-i18n^1.0.2Peer dependency per localizzazione
chart.js^4.0.0Peer dependency opzionale (solo se si usa Chart)

Sezioni della documentazione