npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vuetify-inertia-link

v3.0.0

Published

Vue 3 plugin to use Inertiajs links within Vuetify components.

Readme

vuetify-inertia-link

Use Vuetify components with Inertia navigation.

This plugin registers a RouterLink compatibility component so Vuetify's to prop works in Inertia apps without Vue Router.

Compatibility

  • vue: ^3.0.0
  • @inertiajs/vue3: ^3.0.0
  • vuetify: ^3.5.14 || ^4.0.0

Version 3 of this package targets Inertia v3 only. Use version 2 when your app still needs Inertia v2 support.

Installation

npm install vuetify-inertia-link

If needed, install peer dependencies:

npm install vue @inertiajs/vue3 vuetify

Setup

Register the plugin once when you bootstrap your Inertia app.

import { createApp, h } from 'vue'
import { createInertiaApp } from '@inertiajs/vue3'
import { createVuetify } from 'vuetify'
import VuetifyInertiaLink from 'vuetify-inertia-link'

const vuetify = createVuetify()

createInertiaApp({
  setup({ el, App, props, plugin }) {
    return createApp({ render: () => h(App, props) })
      .use(plugin)
      .use(vuetify)
      .use(VuetifyInertiaLink)
      .mount(el)
  },
})

Usage

Use to as you normally would with Vuetify links.

<template>
  <v-btn :to="route('dashboard')">Dashboard</v-btn>
  <v-btn to="/settings">Settings</v-btn>
</template>
<template>
  <v-list nav>
    <v-list-item :to="route('dashboard')" title="Dashboard" />
    <v-list-item :to="route('users.index')" title="Users" />
    <v-list-item :to="route('about')" title="About" />
  </v-list>
</template>

Inertia Link Options

For Inertia v3 link options, pass an object to Vuetify's to prop. The object must contain href plus any Inertia link options you need.

<template>
  <v-btn
    :to="{
      href: '/users',
      data: { active: true },
      only: ['users'],
      preserveScroll: true,
    }"
  >
    Active users
  </v-btn>
</template>

Non-GET requests are supported. Like Inertia's official <Link>, non-GET visits preserve state by default.

<template>
  <v-btn
    :to="{
      href: '/logout',
      method: 'post',
      data: { source: 'menu' },
    }"
  >
    Logout
  </v-btn>
</template>

Supported descriptor fields:

  • href, method, data, replace, preserveScroll, preserveState, preserveUrl
  • only, except, headers, queryStringArrayFormat, async, viewTransition
  • component, instant, pageProps
  • prefetch, cacheFor, cacheTags
  • onBefore, onStart, onProgress, onFinish, onCancel, onSuccess, onError, onCancelToken, onPrefetching, onPrefetched

Wayfinder

Inertia v3 Wayfinder objects can be passed directly as a simple to value or as a descriptor href.

<script setup>
import { show } from 'App/Http/Controllers/UserController'
</script>

<template>
  <v-btn :to="show(1)">View user</v-btn>

  <v-btn
    :to="{
      href: show(1),
      preserveScroll: true,
    }"
  >
    View user without scrolling
  </v-btn>
</template>

Instant Visits

Instant visits are supported through Inertia v3's component and pageProps visit options.

<template>
  <v-btn
    :to="{
      href: '/posts/1',
      instant: true,
      component: 'Posts/Show',
      pageProps: { post: { id: 1 } },
    }"
  >
    Open post
  </v-btn>
</template>

When href is a Wayfinder object and instant is true, this package uses the component name from the Wayfinder route definition. An explicit component value takes priority.

Prefetching

mount and click prefetch modes are supported through Vuetify's to prop.

<template>
  <v-list-item
    :to="{
      href: '/reports',
      prefetch: 'mount',
      cacheFor: '1m',
      cacheTags: ['reports'],
    }"
    title="Reports"
  />
</template>

Vuetify's RouterLink compatibility API does not pass hover events from Vuetify components back to this adapter. Because of that, prefetch: true and prefetch: 'hover' cannot behave like Inertia's official <Link> when used through Vuetify's to prop. Use prefetch: 'mount', prefetch: 'click', or Inertia's official <Link> directly when hover prefetching is required.

Notes

  • This package focuses on navigation via Vuetify's to prop.
  • route() in the examples comes from Ziggy in Laravel projects.
  • The official Inertia <Link> component is still the best choice when you need exact DOM-level Inertia link behavior outside a Vuetify component.