Vuetify UI Library for Vue.js

repository·master·Indexed 12 days ago

https://github.com/vuetifyjs/vuetify

A comprehensive UI library for Vue.js providing a massive set of handcrafted, responsive, and highly customizable components. Features include the useHotkey composable, VNumberInput, and VSnackbarQueue (promoted in v3.8), as well as support for professional-grade application development.

Tokens
218.7K
Snippets
734
Records
1.3K
Agent score
92%

What's inside Vuetify

  1. What is Vuetify?

    master

    Vuetify is a Vue Component Framework that provides a collection of pre-made UI components based on Google's Material Design specification. It is designed to help developers build rich, engaging user experiences with consistent styling and high customizability.

    Key features include:

    • Dynamic Themes: Easily customize the look and feel of your application.
    • Global Defaults: Configure component settings globally.
    • Application Layouts: Tools for building responsive application structures.
    • Customization: Extensive use of props, slots, and components to control component behavior and appearance.
  2. Use the Stepper component (v-stepper)

    master

    The v-stepper component provides a linear progression process for gathering and displaying information to a user, similar to a form wizard. It displays progress through numbered steps.

    Anatomy

    The recommended structure for a stepper is:

    1. v-stepper-header: Placed on top; contains v-stepper-item components.
    2. v-stepper-window: Placed below the header; contains v-stepper-window-item components.
    3. v-stepper-actions: (Optional) Placed after the window; typically contains v-btn components for navigation.
    <v-stepper>
      <v-stepper-header>
        <v-stepper-item value="1">Step 1</v-stepper-item>
        <v-stepper-item value="2">Step 2</v-stepper-item>
      </v-stepper-header>
    
      <v-stepper-window>
        <v-stepper-window-item value="1">Content 1</v-stepper-window-item>
        <v-stepper-window-item value="2">Content 2</v-stepper-window-item>
      </v-stepper-window>
    
      <v-stepper-actions>
        <v-btn text="Previous">Previous</v-btn>
        <v-btn text="Next">Next</v-btn>
      </v-stepper-actions>
    </v-stepper>
  3. Use the VToolbar component

    master

    The v-toolbar component provides a container for labeling and additional actions, typically used for site navigation. It sits above the content it affects.

    Commonly used sub-components include:

    • v-toolbar-title: Displays the title of the toolbar.
    • v-toolbar-items: Used to modify the styling of v-btn components within the toolbar (e.g., allowing them to extend to full height).
    • v-btn: Frequently used inside toolbars for actions.
    <v-toolbar>
      <v-toolbar-title>Title</v-toolbar-title>
      <v-toolbar-items>
        <v-btn>Action</v-btn>
      </v-toolbar-items>
    </v-toolbar>
  4. Browse Vuetify Navigation components

    master

    Navigation components facilitate movement between different views or pages within your application.

    Available navigation components include:

    • App bars: Top-level navigation and page actions.
    • FABs (Floating Action Buttons): Promoted actions.
    • Navigation drawers: Primary application navigation links.
    • Pagination: Separating long data sets.
    • Bottom navigation: Navigation links optimized for mobile.
    • Breadcrumbs: Navigational helpers for router pages.
    • Footer: Simple navigation area with site links.
    • Speed dials: Floating buttons that reveal additional actions.
    • System bar: Shows application info (iconography, time, etc.).
    • Tabs: Organizing content into independent sections.
  5. Vuetify 4.1 (Ascendant) Release Overview

    master

    Vuetify 4.1 is the first minor release of the v4 line. It focuses on expanding the core component library by promoting several components from Labs to core and introducing entirely new components. Key highlights include:

    • Labs Promotions: Seven components are now part of the stable core.
    • New Components: Four brand-new components were added.
    • Feature Expansion: Significant updates to data tables, pickers, overlays, and the theme system.
    • Accessibility: Dedicated improvements to data table accessibility were included in the v4.1.x release cycle.
  6. Use the VBanner component

    master

    The v-banner component is used to display important, concise messages to users, often including one or two actions. It supports two variations: single-line and multi-line (which is determined implicitly based on content). Banners can include icons, avatars, and action buttons to provide visual context and user interaction.

    <v-banner>
      <!-- Content goes here -->
    </v-banner>
  7. Use Feedback components

    master

    Vuetify provides several components to communicate status, progress, or information to the user:

    • Alerts: Convey important information.
    • Badges: Superscript or subscript an icon or text onto content.
    • Banners: Communicate important information to the user.
    • Empty state: Indicate that a page or area has no content.
    • Skeleton loaders: Display placeholder content to enhance perceived performance during data fetching.
    • Snackbars: Display hovering messages over existing content.
    • Ratings: Collect user feedback.
    • Timelines: Display events in chronological order.
    • Hover: A wrapper component to react to hover events.
    • Progress circular: Visual indicator of numerical data in a circle.
    • Progress linear: Visual indicator of numerical data in a horizontal line.
  8. Browse Vuetify Data and display components

    master

    These components are used to present data and information effectively.

    Available data and display components include:

    • Confirm edit: Confirming changes to data.
    • Data iterator: Interface for paginating and sorting data.
    • Data table: Displaying large amounts of data in small spaces.
    • Infinite scroll: Container that loads more items on scroll.
    • Server-side table: Data tables intended for server-side data sources.
    • Sparkline: Simple graphs for displaying numerical data.
    • Virtual Data table: Displaying very large subsets of data.
    • Table: Barebones table for manual data display.
    • Virtual scroll: Rendering large amounts of data without sacrificing performance.