vuetify-nuxt-module 1.0.0-beta.1 → 1.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -19
- package/configuration.d.ts +3 -0
- package/dist/module.d.mts +55 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +320 -379
- package/dist/runtime/plugins/first-request-reload-guard.d.ts +13 -0
- package/dist/runtime/plugins/first-request-reload-guard.js +11 -0
- package/dist/runtime/plugins/i18n.js +6 -1
- package/dist/runtime/plugins/vuetify-client-hints.client.js +21 -7
- package/dist/runtime/plugins/vuetify-client-hints.server.js +14 -2
- package/package.json +16 -14
package/README.md
CHANGED
|
@@ -26,33 +26,30 @@
|
|
|
26
26
|
|
|
27
27
|
## 🚀 Features
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
> 📖 Full [**documentation & guides**](https://nuxt.vuetifyjs.com/)
|
|
30
|
+
|
|
30
31
|
- 👌 **Zero-Config**: sensible built-in default [Vuetify](https://vuetifyjs.com/) configuration for common use cases
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- 📦 **Multiple Icon Sets**: register [multiple icon sets](https://vuetifyjs.com/en/features/icon-fonts/#multiple-icon-sets)
|
|
42
|
-
- 🌍 **I18n Ready**: install [@nuxtjs/i18n](https://i18n.nuxtjs.org/) Nuxt module, and you're ready to use Vuetify [internationalization](https://vuetifyjs.com/en/features/internationalization/) features
|
|
43
|
-
- 📆 **Date Components**: use Vuetify components [that require date functionality](https://vuetifyjs.com/en/features/dates/) installing and configuring one of the [@date-io](https://github.com/dmtrKovalenko/date-io#projects) adapters
|
|
44
|
-
- 💬 **Auto-Import Vuetify Locale Messages**: add [Vuetify Locale Messages](https://vuetifyjs.com/en/features/internationalization/#getting-started) adding just the locales you want to use, no more imports needed
|
|
45
|
-
- ⚙️ **Auto-Import Vuetify Composables**: you don't need to import Vuetify composables manually, they are automatically imported for you
|
|
46
|
-
- 🎨 **Vuetify Blueprints**: use [Vuetify Blueprints](https://vuetifyjs.com/en/features/blueprints/) to quickly scaffold components
|
|
47
|
-
- 👀 **Nuxt DevTools**: ready to inspect your Vuetify styles with the [Nuxt DevTools](https://github.com/nuxt/devtools) inspector
|
|
32
|
+
- ⚡ **Fully Tree Shakable**: by default, only the Vuetify components you use are imported
|
|
33
|
+
- 🪄 **Auto-Import**: Vuetify components and composables are auto-imported — no manual imports needed
|
|
34
|
+
- 🔌 **Extensible**: customize the Vuetify configuration via [Nuxt Runtime Hooks](https://nuxt.com/docs/guide/going-further/hooks#usage-with-plugins), [Nuxt Layers](https://nuxt.com/docs/getting-started/layers#layers), the `vuetify:registerModule` [module hook](https://nuxt.com/docs/guide/going-further/hooks#nuxt-hooks-build-time), or a dedicated `vuetify.config` file
|
|
35
|
+
- 💥 **SSR**: automatic SSR detection and configuration, including [HTTP Client Hints](https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints)
|
|
36
|
+
- ✨ **Configurable Styles**: configure your variables using [Vuetify SASS Variables](https://vuetifyjs.com/en/features/sass-variables/)
|
|
37
|
+
- 🛠️ **Directives & Labs**: optional [directives](https://vuetifyjs.com/en/getting-started/installation/#manual-steps) and [labs components](https://vuetifyjs.com/en/labs/introduction/) registration
|
|
38
|
+
- 🎭 **Icons**: pure-CSS icons (UnoCSS), [icon fonts](https://vuetifyjs.com/en/features/icon-fonts/) (CDN or local), SVG packs ([@mdi/js](https://www.npmjs.com/package/@mdi/js), [FontAwesome](https://www.npmjs.com/package/@fortawesome/vue-fontawesome)), and [multiple icon sets](https://vuetifyjs.com/en/features/icon-fonts/#multiple-icon-sets)
|
|
39
|
+
- 🌍 **I18n**: integrate [@nuxtjs/i18n](https://i18n.nuxtjs.org/) for Vuetify [internationalization](https://vuetifyjs.com/en/features/internationalization/), with auto-imported Vuetify locale messages
|
|
40
|
+
- 📆 **Date Components**: use Vuetify [date components](https://vuetifyjs.com/en/features/dates/) via the [@date-io](https://github.com/dmtrKovalenko/date-io#projects) adapters
|
|
41
|
+
- 🎨 **Blueprints**: scaffold quickly with [Vuetify Blueprints](https://vuetifyjs.com/en/features/blueprints/)
|
|
48
42
|
- 🦾 **Type Strong**: written in [TypeScript](https://www.typescriptlang.org/)
|
|
49
43
|
|
|
50
44
|
## 📦 Install
|
|
51
45
|
|
|
52
46
|
> Requires Vite, will not work with Webpack
|
|
53
47
|
|
|
48
|
+
`vuetify` is a peer dependency (Vuetify 3 or 4) — install it alongside the module:
|
|
49
|
+
|
|
54
50
|
```bash
|
|
55
|
-
|
|
51
|
+
npm install -D vuetify
|
|
52
|
+
npx nuxt module add vuetify-nuxt-module
|
|
56
53
|
```
|
|
57
54
|
|
|
58
55
|
[](https://stackblitz.com/github/userquin/vuetify-nuxt-module)
|
package/configuration.d.ts
CHANGED
|
@@ -36,6 +36,9 @@ declare module 'virtual:vuetify-ssr-client-hints-configuration' {
|
|
|
36
36
|
defaultTheme: string
|
|
37
37
|
themeNames: string[]
|
|
38
38
|
cookieName: string
|
|
39
|
+
cookieDomain?: string
|
|
40
|
+
cookieSecure?: boolean
|
|
41
|
+
cookieSameSite: 'lax' | 'strict' | 'none'
|
|
39
42
|
darkThemeName: string
|
|
40
43
|
lightThemeName: string
|
|
41
44
|
useBrowserThemeOnly: boolean
|
package/dist/module.d.mts
CHANGED
|
@@ -26,8 +26,13 @@ interface DateOptions {
|
|
|
26
26
|
adapter?: DateAdapter;
|
|
27
27
|
/**
|
|
28
28
|
* Formats.
|
|
29
|
+
*
|
|
30
|
+
* Only serializable `Intl.DateTimeFormatOptions` values are supported here:
|
|
31
|
+
* the date configuration is statically serialized to a virtual module, so
|
|
32
|
+
* function-valued formats cannot be expressed (see #313, #331). Use a custom
|
|
33
|
+
* date adapter if you need function formats.
|
|
29
34
|
*/
|
|
30
|
-
formats?: Record<string,
|
|
35
|
+
formats?: Record<string, Intl.DateTimeFormatOptions>;
|
|
31
36
|
/**
|
|
32
37
|
* Locales.
|
|
33
38
|
*
|
|
@@ -251,6 +256,18 @@ interface MOptions {
|
|
|
251
256
|
* Path to the custom Vuetify SASS configuration file.
|
|
252
257
|
*/
|
|
253
258
|
configFile: string;
|
|
259
|
+
/**
|
|
260
|
+
* Caching options forwarded to `@vuetify/unplugin-styles`.
|
|
261
|
+
*
|
|
262
|
+
* @default true
|
|
263
|
+
*/
|
|
264
|
+
cache?: boolean | {
|
|
265
|
+
path?: string;
|
|
266
|
+
sassOptions?: Record<string, unknown>;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* @deprecated Use `styles.cache` instead.
|
|
270
|
+
*/
|
|
254
271
|
experimental?: {
|
|
255
272
|
cache?: boolean;
|
|
256
273
|
};
|
|
@@ -350,9 +367,43 @@ interface MOptions {
|
|
|
350
367
|
/**
|
|
351
368
|
* The name for the cookie.
|
|
352
369
|
*
|
|
370
|
+
* @deprecated Use `cookie.name` instead.
|
|
353
371
|
* @default 'color-scheme'
|
|
354
372
|
*/
|
|
355
373
|
cookieName?: string;
|
|
374
|
+
/**
|
|
375
|
+
* Cookie attributes for the color scheme cookie.
|
|
376
|
+
*/
|
|
377
|
+
cookie?: {
|
|
378
|
+
/**
|
|
379
|
+
* The name for the cookie.
|
|
380
|
+
*
|
|
381
|
+
* @default 'color-scheme'
|
|
382
|
+
*/
|
|
383
|
+
name?: string;
|
|
384
|
+
/**
|
|
385
|
+
* The domain for the color scheme cookie.
|
|
386
|
+
*
|
|
387
|
+
* Useful to share the cookie across subdomains, e.g. `.example.com`.
|
|
388
|
+
*
|
|
389
|
+
* @default undefined
|
|
390
|
+
*/
|
|
391
|
+
domain?: string;
|
|
392
|
+
/**
|
|
393
|
+
* Mark the cookie as `Secure`.
|
|
394
|
+
*
|
|
395
|
+
* Forced to `true` when `sameSite` is `'none'`.
|
|
396
|
+
*
|
|
397
|
+
* @default undefined
|
|
398
|
+
*/
|
|
399
|
+
secure?: boolean;
|
|
400
|
+
/**
|
|
401
|
+
* The `SameSite` attribute for the cookie.
|
|
402
|
+
*
|
|
403
|
+
* @default 'lax'
|
|
404
|
+
*/
|
|
405
|
+
sameSite?: 'lax' | 'strict' | 'none';
|
|
406
|
+
};
|
|
356
407
|
/**
|
|
357
408
|
* The name for the dark theme.
|
|
358
409
|
*
|
|
@@ -447,6 +498,9 @@ interface SSRClientHintsConfiguration {
|
|
|
447
498
|
defaultTheme: string;
|
|
448
499
|
themeNames: string[];
|
|
449
500
|
cookieName: string;
|
|
501
|
+
cookieDomain?: string;
|
|
502
|
+
cookieSecure?: boolean;
|
|
503
|
+
cookieSameSite: 'lax' | 'strict' | 'none';
|
|
450
504
|
darkThemeName: string;
|
|
451
505
|
lightThemeName: string;
|
|
452
506
|
};
|