@maz-ui/nuxt 5.0.0-beta.45 → 5.0.0-beta.47

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/dist/module.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "maz-ui",
3
3
  "configKey": "mazUi",
4
4
  "compatibility": {
5
- "nuxt": ">=3.0.0"
5
+ "nuxt": ">=3.4.0 <5.0.0"
6
6
  },
7
- "version": "5.0.0-beta.45",
7
+ "version": "5.0.0-beta.47",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.3",
10
10
  "unbuild": "unknown"
package/dist/module.mjs CHANGED
@@ -170,7 +170,7 @@ const module$1 = defineNuxtModule({
170
170
  name: "maz-ui",
171
171
  configKey: "mazUi",
172
172
  compatibility: {
173
- nuxt: ">=3.0.0"
173
+ nuxt: ">=3.4.0 <5.0.0"
174
174
  }
175
175
  },
176
176
  defaults,
@@ -17,11 +17,11 @@ function getSavedResolvedColorMode() {
17
17
  return void 0;
18
18
  }
19
19
  function getInitialColorMode() {
20
- const resolvedColorMode = getSavedResolvedColorMode();
21
- if (resolvedColorMode) {
22
- return resolvedColorMode;
23
- }
24
20
  if (import.meta.server) {
21
+ const resolvedColorMode = getSavedResolvedColorMode();
22
+ if (resolvedColorMode) {
23
+ return resolvedColorMode;
24
+ }
25
25
  const headers = useRequestHeaders();
26
26
  if (headers["sec-ch-prefers-color-scheme"] === "dark") {
27
27
  return "dark";
@@ -30,13 +30,9 @@ function getInitialColorMode() {
30
30
  if (userAgent?.includes("dark")) {
31
31
  return "dark";
32
32
  }
33
- } else {
34
- const systemColorMode = getSystemColorMode();
35
- if (systemColorMode === "dark") {
36
- return "dark";
37
- }
33
+ return "auto";
38
34
  }
39
- return "auto";
35
+ return getSystemColorMode();
40
36
  }
41
37
  function getColorModeBlockingScript(config) {
42
38
  const darkClass = config.darkClass;
@@ -60,26 +56,40 @@ function injectThemeCSS(config) {
60
56
  }]
61
57
  });
62
58
  }
59
+ function parseSavedPreset(raw) {
60
+ if (!raw) {
61
+ return null;
62
+ }
63
+ const separatorIndex = raw.indexOf(":");
64
+ if (separatorIndex === -1) {
65
+ return null;
66
+ }
67
+ const base = raw.slice(0, separatorIndex);
68
+ const active = raw.slice(separatorIndex + 1);
69
+ return base && active ? { base, active } : null;
70
+ }
63
71
  async function resolvePreset(options, persistPreset) {
64
- const presetCookie = useCookie("maz-preset");
65
- const savedName = persistPreset ? presetCookie.value : void 0;
66
72
  const presetObject = options?.preset && typeof options.preset !== "string" ? options.preset : void 0;
67
- if (savedName && presetObject && savedName === presetObject.name) {
68
- return presetObject;
73
+ const basePreset = presetObject ?? await getPreset(options?.preset);
74
+ const baseName = basePreset.name;
75
+ if (!persistPreset) {
76
+ return { preset: basePreset, baseName };
69
77
  }
70
- if (savedName) {
78
+ const presetCookie = useCookie("maz-preset");
79
+ const saved = parseSavedPreset(presetCookie.value);
80
+ if (saved && saved.base === baseName && saved.active !== baseName) {
71
81
  try {
72
- return await getPreset(savedName);
82
+ return { preset: await getPreset(saved.active), baseName };
73
83
  } catch {
74
- presetCookie.value = null;
75
84
  }
76
85
  }
77
- return getPreset(options?.preset);
86
+ return { preset: basePreset, baseName };
78
87
  }
79
88
  export default defineNuxtPlugin(async ({ vueApp, $config }) => {
80
89
  const options = $config.public.mazUi.theme;
81
90
  const persistPreset = options?.persistPreset !== false;
82
- let preset = await resolvePreset(options, persistPreset);
91
+ const resolved = await resolvePreset(options, persistPreset);
92
+ let preset = resolved.preset;
83
93
  if (options?.overrides) {
84
94
  preset = mergePresets(preset, options.overrides);
85
95
  }
@@ -89,8 +99,9 @@ export default defineNuxtPlugin(async ({ vueApp, $config }) => {
89
99
  sameSite: "lax",
90
100
  path: "/"
91
101
  });
92
- if (presetCookie.value !== preset.name) {
93
- presetCookie.value = preset.name;
102
+ const value = `${resolved.baseName}:${preset.name}`;
103
+ if (presetCookie.value !== value) {
104
+ presetCookie.value = value;
94
105
  }
95
106
  }
96
107
  const config = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maz-ui/nuxt",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.45",
4
+ "version": "5.0.0-beta.47",
5
5
  "description": "Nuxt module for Maz-UI",
6
6
  "author": "Louis Mazel <me@loicmazuel.com>",
7
7
  "license": "MIT",
@@ -48,20 +48,20 @@
48
48
  "nuxt": ">=3.4.0 <5.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@maz-ui/themes": "5.0.0-beta.44",
52
- "@maz-ui/translations": "5.0.0-beta.44",
53
- "@maz-ui/utils": "5.0.0-beta.44",
54
- "@nuxt/devtools-kit": "^4.0.0-beta.2",
51
+ "@maz-ui/themes": "5.0.0-beta.46",
52
+ "@maz-ui/translations": "5.0.0-beta.46",
53
+ "@maz-ui/utils": "5.0.0-beta.46",
54
+ "@nuxt/devtools-kit": "^3.2.3",
55
55
  "@nuxt/kit": "^4.5.2",
56
56
  "defu": "^6.1.7",
57
- "maz-ui": "5.0.0-beta.44"
57
+ "maz-ui": "5.0.0-beta.47"
58
58
  },
59
59
  "devDependencies": {
60
- "@maz-ui/eslint-config": "5.0.0-beta.44",
61
- "@nuxt/devtools": "^4.0.0-beta.2",
60
+ "@maz-ui/eslint-config": "5.0.0-beta.47",
61
+ "@nuxt/devtools": "^3.2.3",
62
62
  "@nuxt/module-builder": "^1.0.3",
63
63
  "@nuxt/schema": "^4.5.2",
64
- "@nuxt/test-utils": "^4.3.2",
64
+ "@nuxt/test-utils": "^4.3.3",
65
65
  "nuxt": "^4.5.2"
66
66
  },
67
67
  "lint-staged": {