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 CHANGED
@@ -26,33 +26,30 @@
26
26
 
27
27
  ## 🚀 Features
28
28
 
29
- - 📖 [**Documentation & guides**](https://nuxt.vuetifyjs.com/)
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
- - 🔌 **Extensible**: expose the ability to customize the Vuetify configuration via [Nuxt Runtime Hooks](https://nuxt.com/docs/guide/going-further/hooks#usage-with-plugins)
32
- - **Fully Tree Shakable**: by default, only the needed Vuetify components are imported
33
- - 🛠️ **Versatile**: custom Vuetify [directives](https://vuetifyjs.com/en/getting-started/installation/#manual-steps) and [labs components](https://vuetifyjs.com/en/labs/introduction/) registration
34
- - **Configurable Styles**: configure your variables using [Vuetify SASS Variables](https://vuetifyjs.com/en/features/sass-variables/)
35
- - 💥 **SSR**: automatic SSR detection and configuration including [HTTP Client hints](https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints)
36
- - 🔩 **Nuxt Layers and Module Hooks**: load your Vuetify configuration using [Nuxt Layers](https://nuxt.com/docs/getting-started/layers#layers) or using a custom module via `vuetify:registerModule` [Nuxt Module Hook](https://nuxt.com/docs/guide/going-further/hooks#nuxt-hooks-build-time)
37
- - 📥 **Vuetify Configuration File**: configure your Vuetify options using a custom `vuetify.config` file, no dev server restart needed
38
- - 🔥 **Pure CSS Icons**: no more font/js icons, use the new `unocss-mdi` icon set or build your own with UnoCSS Preset Icons
39
- - 😃 **Icon Fonts**: configure the [icon font](https://vuetifyjs.com/en/features/icon-fonts/) you want to use, the module will automatically import it for you using CDN or local dependencies
40
- - 🎭 **SVG Icons**: ready to use [@mdi/js](https://www.npmjs.com/package/@mdi/js) and [@fortawesome/vue-fontawesome](https://www.npmjs.com/package/@fortawesome/vue-fontawesome) SVG icons packs
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
- npx nuxi@latest module add vuetify-nuxt-module
51
+ npm install -D vuetify
52
+ npx nuxt module add vuetify-nuxt-module
56
53
  ```
57
54
 
58
55
  [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/userquin/vuetify-nuxt-module)
@@ -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, 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
  };
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.15.0"
6
6
  },
7
- "version": "1.0.0-beta.1",
7
+ "version": "1.0.0-beta.11",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"