@maz-ui/themes 4.0.0-beta.0 → 4.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.
@@ -1,21 +1,21 @@
1
- import { ref as m, computed as a, watchEffect as p, inject as v, getCurrentInstance as c } from "vue";
2
- import { setCookie as g } from "../utils/cookie-storage.js";
3
- import { generateCriticalCSS as k, generateFullCSS as M, injectCSS as s } from "../utils/css-generator.js";
4
- import { getColorMode as y, getSystemPrefersDark as S } from "../utils/get-color-mode.js";
5
- import { getPreset as P } from "../utils/get-preset.js";
6
- import { mergePresets as h } from "../utils/preset-merger.js";
7
- function w() {
8
- return typeof document > "u" || typeof window > "u";
1
+ import { ref as n, computed as a, watchEffect as g, inject as p, getCurrentInstance as c } from "vue";
2
+ import { setCookie as v } from "../utils/cookie-storage.js";
3
+ import { generateCriticalCSS as k, generateFullCSS as M, injectCSS as l } from "../utils/css-generator.js";
4
+ import { getColorMode as h, getSystemPrefersDark as y } from "../utils/get-color-mode.js";
5
+ import { getPreset as S } from "../utils/get-preset.js";
6
+ import { mergePresets as P } from "../utils/preset-merger.js";
7
+ function T() {
8
+ return typeof document > "u" || typeof globalThis.window > "u";
9
9
  }
10
- const r = m();
11
- function l() {
10
+ const r = n();
11
+ function d() {
12
12
  typeof document > "u" || !r.value || r.value.darkModeStrategy === "media" || (r.value.isDark ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark"));
13
13
  }
14
14
  function C() {
15
15
  const e = c()?.appContext.app;
16
16
  e && r.value && (e.config.globalProperties.$mazThemeState = r.value);
17
17
  }
18
- function z(e) {
18
+ function b(e) {
19
19
  if (e.currentPreset && e.colorMode !== void 0) {
20
20
  u({
21
21
  currentPreset: e.currentPreset,
@@ -26,7 +26,7 @@ function z(e) {
26
26
  });
27
27
  return;
28
28
  }
29
- const t = y(e.colorMode), o = t === "auto" ? S() === "dark" : t === "dark";
29
+ const t = h(e.colorMode), o = t === "auto" ? y() === "dark" : t === "dark";
30
30
  u({
31
31
  currentPreset: e.currentPreset,
32
32
  colorMode: t,
@@ -36,58 +36,66 @@ function z(e) {
36
36
  });
37
37
  }
38
38
  function u(e) {
39
- if (r.value = e, typeof window < "u" && r.value.colorMode === "auto") {
40
- const t = window.matchMedia("(prefers-color-scheme: dark)"), o = () => {
39
+ if (r.value = e, typeof globalThis.window < "u" && r.value.colorMode === "auto") {
40
+ const t = globalThis.matchMedia("(prefers-color-scheme: dark)"), o = () => {
41
41
  r.value && r.value.colorMode === "auto" && (r.value.isDark = t.matches);
42
42
  };
43
43
  t.addEventListener("change", o), o();
44
44
  }
45
- p(() => {
46
- r.value && (l(), C());
45
+ g(() => {
46
+ r.value && (d(), C());
47
47
  });
48
48
  }
49
- const T = a(() => r.value?.currentPreset), b = a({
49
+ const z = a(() => r.value?.currentPreset), w = a({
50
50
  get: () => r.value?.colorMode,
51
- set: (e) => n(e)
52
- }), D = a(() => r.value?.isDark ?? !1), E = a(() => r.value?.strategy);
53
- async function x(e) {
51
+ set: (e) => i(e)
52
+ }), D = a(() => r.value?.isDark ?? !1), x = a(() => r.value?.strategy);
53
+ async function E(e) {
54
54
  if (!r.value)
55
55
  return;
56
- const t = typeof e == "string" ? await P(e) : e, o = "name" in t && t.name !== r.value.currentPreset.name ? t : h(r.value.currentPreset, t);
56
+ const t = typeof e == "string" ? await S(e) : e, o = "name" in t && t.name !== r.value.currentPreset.name ? t : P(r.value.currentPreset, t);
57
57
  if (r.value.currentPreset = o, r.value.strategy === "runtime" || r.value.strategy === "hybrid") {
58
- const i = {
59
- mode: "both",
58
+ const s = {
59
+ mode: r.value.colorMode === "auto" ? "both" : r.value.colorMode,
60
60
  prefix: "maz"
61
- }, d = k(o, i), f = M(o, i);
62
- s(d, "maz-theme-critical"), s(f, "maz-theme-full");
61
+ }, f = k(o, s), m = M(o, s);
62
+ l(f, "maz-theme-critical"), l(m, "maz-theme-full");
63
63
  }
64
64
  }
65
- function n(e) {
66
- r.value && (r.value.colorMode = e, e === "auto" ? r.value.isDark = typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches : r.value.isDark = e === "dark", l(), g("maz-color-mode", e));
65
+ function i(e) {
66
+ r.value && (r.value.colorMode = e, e === "auto" ? r.value.isDark = typeof globalThis.window < "u" && globalThis.matchMedia("(prefers-color-scheme: dark)").matches : r.value.isDark = e === "dark", d(), v("maz-color-mode", e));
67
67
  }
68
68
  function F() {
69
- r.value && n(r.value.isDark ? "light" : "dark");
69
+ r.value && i(r.value.isDark ? "light" : "dark");
70
70
  }
71
71
  function O() {
72
72
  let e;
73
73
  try {
74
- if (e = v("mazThemeState", void 0), !e)
74
+ if (e = p("mazThemeState", void 0), !e)
75
75
  throw new Error("mazThemeState not found");
76
76
  } catch {
77
77
  const t = c();
78
78
  t?.appContext?.app?.config?.globalProperties && (e = t.appContext.app.config.globalProperties.$mazThemeState);
79
79
  }
80
- if (e && (r.value ? w() && (r.value.colorMode = e.colorMode, r.value.isDark = e.isDark, r.value.currentPreset = e.currentPreset) : z(e)), !r.value)
81
- throw new Error("You must install the MazUi or MazUiTheme plugin before using useTheme composable");
82
- return {
83
- currentPreset: T,
84
- colorMode: b,
80
+ return e && (r.value ? T() && (r.value.colorMode = e.colorMode, r.value.isDark = e.isDark, r.value.currentPreset = e.currentPreset) : b(e)), r.value ? {
81
+ currentPreset: z,
82
+ colorMode: w,
85
83
  isDark: D,
86
- strategy: E,
87
- updateTheme: x,
88
- setColorMode: n,
84
+ strategy: x,
85
+ updateTheme: E,
86
+ setColorMode: i,
89
87
  toggleDarkMode: F
90
- };
88
+ } : (console.error("[@maz-ui/themes] You must install the MazUi or MazUiTheme plugin before using useTheme composable"), {
89
+ currentPreset: n({}),
90
+ colorMode: n("light"),
91
+ isDark: a(() => !1),
92
+ strategy: a(() => "hybrid"),
93
+ updateTheme: () => Promise.resolve(),
94
+ setColorMode: () => {
95
+ },
96
+ toggleDarkMode: () => {
97
+ }
98
+ });
91
99
  }
92
100
  export {
93
101
  u as initThemeState,
package/dist/plugin.js CHANGED
@@ -9,12 +9,11 @@ function k(r, t) {
9
9
  if (typeof document > "u")
10
10
  return;
11
11
  const e = {
12
- mode: "both",
13
- prefix: t.prefix
12
+ mode: t.colorMode === "auto" ? "both" : t.colorMode
14
13
  };
15
14
  if (t.injectCriticalCSS) {
16
- const a = d(r, e);
17
- n(a, "maz-theme-critical");
15
+ const i = d(r, e);
16
+ n(i, "maz-theme-critical");
18
17
  }
19
18
  if (!t.injectFullCSS)
20
19
  return;
@@ -23,43 +22,42 @@ function k(r, t) {
23
22
  n(o, "maz-theme-full");
24
23
  }, { timeout: 100 });
25
24
  }
26
- function p(r, t) {
25
+ function y(r, t) {
27
26
  r.provide("mazThemeState", t), r.config.globalProperties.$mazThemeState = t;
28
27
  }
29
- const z = {
28
+ const j = {
30
29
  async install(r, t = {}) {
31
30
  const e = {
32
31
  preset: "maz-ui",
33
32
  strategy: "runtime",
34
33
  darkModeStrategy: "class",
35
34
  colorMode: "auto",
36
- prefix: "maz",
37
35
  injectCriticalCSS: !0,
38
36
  injectFullCSS: !0,
39
37
  ...t
40
- }, o = u(e.colorMode), a = o === "auto" ? S() === "dark" : o === "dark", s = l({
38
+ }, o = u(e.colorMode), i = o === "auto" ? S() === "dark" : o === "dark", s = l({
41
39
  // @ts-expect-error - empty currentPreset to avoid error
42
40
  currentPreset: {},
43
41
  colorMode: o,
44
- isDark: a,
42
+ isDark: i,
45
43
  strategy: e.strategy,
46
44
  darkModeStrategy: e.darkModeStrategy
47
45
  });
48
- g(e.darkModeStrategy, s.isDark), p(r, s);
49
- const i = await f(e.preset), c = e.overrides ? {
50
- ...i,
46
+ g(e.darkModeStrategy, s.isDark), y(r, s);
47
+ const a = await f(e.preset), c = e.overrides ? {
48
+ ...a,
51
49
  foundation: {
52
- ...i.foundation,
50
+ ...a.foundation,
53
51
  ...e.overrides.foundation
54
52
  },
55
53
  colors: {
56
- light: { ...i.colors.light, ...e.overrides.colors?.light },
57
- dark: { ...i.colors.dark, ...e.overrides.colors?.dark }
54
+ light: { ...a.colors.light, ...e.overrides.colors?.light },
55
+ dark: { ...a.colors.dark, ...e.overrides.colors?.dark }
58
56
  }
59
- } : i;
57
+ } : a;
60
58
  s.currentPreset = c, e.strategy !== "buildtime" && k(c, e);
61
59
  }
62
60
  };
63
61
  export {
64
- z as MazUiTheme
62
+ j as MazUiTheme
65
63
  };
@@ -4,6 +4,14 @@ declare function updateTheme(preset: ThemePreset | ThemePresetOverrides | ThemeP
4
4
  declare function setColorMode(mode: ColorMode): void;
5
5
  declare function toggleDarkMode(): void;
6
6
  export declare function useTheme(): {
7
+ currentPreset: import('vue').Ref<{}, {}>;
8
+ colorMode: import('vue').Ref<string, string>;
9
+ isDark: import('vue').ComputedRef<boolean>;
10
+ strategy: import('vue').ComputedRef<string>;
11
+ updateTheme: () => Promise<void>;
12
+ setColorMode: () => void;
13
+ toggleDarkMode: () => void;
14
+ } | {
7
15
  currentPreset: import('vue').ComputedRef<ThemePreset>;
8
16
  colorMode: import('vue').WritableComputedRef<ColorMode, ColorMode>;
9
17
  isDark: import('vue').ComputedRef<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/composables/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AA0DnH,wBAAgB,cAAc,CAAC,YAAY,EAAE,UAAU,QAsBtD;AAYD,iBAAe,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,eAAe,iBAyBtF;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,SAAS,QAgBpC;AAED,iBAAS,cAAc,SAKtB;AAED,wBAAgB,QAAQ;;;;;;;;EAyCvB"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../src/composables/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AA0DnH,wBAAgB,cAAc,CAAC,YAAY,EAAE,UAAU,QAsBtD;AAYD,iBAAe,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,eAAe,iBAyBtF;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,SAAS,QAgBpC;AAED,iBAAS,cAAc,SAKtB;AAED,wBAAgB,QAAQ;;;;;;;;;;;;;;;;EAmDvB"}
@@ -1,13 +1,6 @@
1
1
  import { ThemeConfig, ThemeState } from './types';
2
2
  import { App } from 'vue';
3
- export interface MazUiThemeOptions extends ThemeConfig {
4
- /**
5
- * CSS variables prefix
6
- * @description Prefix for CSS variables
7
- * @default 'maz'
8
- * @private
9
- */
10
- prefix?: string;
3
+ export interface MazUiThemeOptions extends Omit<ThemeConfig, 'prefix'> {
11
4
  /**
12
5
  * Inject critical CSS
13
6
  * @description Inject critical CSS to prevent FOUC
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAe,UAAU,EAAE,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,KAAK,CAAA;AASxC,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAkDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU;iBACF,GAAG,YAAW,iBAAiB;CAuDnD,CAAA;AAED,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,yBAAyB;QACjC;;;;;;;;;;;;;;WAcG;QACH,cAAc,EAAE,UAAU,CAAA;KAC3B;CACF"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAe,UAAU,EAAE,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,KAAK,CAAA;AASxC,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpE;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAiDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU;iBACF,GAAG,YAAW,iBAAiB;CAsDnD,CAAA;AAED,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,yBAAyB;QACjC;;;;;;;;;;;;;;WAcG;QACH,cAAc,EAAE,UAAU,CAAA;KAC3B;CACF"}
@@ -66,6 +66,13 @@ export type ColorMode = 'light' | 'dark' | 'auto';
66
66
  export type DarkModeStrategy = 'class' | 'media';
67
67
  export type Strategy = 'runtime' | 'buildtime' | 'hybrid';
68
68
  export interface ThemeConfig {
69
+ /**
70
+ * CSS variables prefix
71
+ * @description Prefix for CSS variables
72
+ * @default 'maz'
73
+ * @private
74
+ */
75
+ prefix?: string;
69
76
  /**
70
77
  * Theme preset to use
71
78
  * @description Can be a predefined preset name or a custom preset object
@@ -81,7 +88,7 @@ export interface ThemeConfig {
81
88
  /**
82
89
  * CSS generation strategy
83
90
  * @description
84
- * - `runtime`: CSS generated and injected dynamically on client-side
91
+ * - `runtime`: CSS generated (critical and full) injected immediately
85
92
  * - `buildtime`: CSS generated at build time and included in bundle
86
93
  * - `hybrid`: Critical CSS injected inline, full CSS loaded asynchronously (recommended)
87
94
  * @default 'hybrid'
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { getCookie as t } from "./cookie-storage.js";
2
- function o(e) {
2
+ function a(e) {
3
3
  if (e && ["light", "dark"].includes(e))
4
4
  return e;
5
5
  const r = t("maz-color-mode");
6
6
  return r && ["light", "dark"].includes(r) ? r : i();
7
7
  }
8
8
  function i() {
9
- return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
9
+ return typeof globalThis.window < "u" && typeof globalThis.matchMedia == "function" && globalThis.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
10
10
  }
11
11
  export {
12
- o as getColorMode,
12
+ a as getColorMode,
13
13
  i as getSystemPrefersDark
14
14
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maz-ui/themes",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.0",
4
+ "version": "4.0.0-beta.11",
5
5
  "description": "Theme system for Maz-UI with TypeScript support and CSS variables",
6
6
  "author": "Louis Mazel <me@loicmazuel.com>",
7
7
  "license": "MIT",
@@ -82,7 +82,7 @@
82
82
  "lint:fix": "eslint . --fix",
83
83
  "pre-commit": "lint-staged",
84
84
  "test": "vitest",
85
- "test:unit": "vitest",
85
+ "test:unit": "vitest run",
86
86
  "test:unit:watch": "vitest watch",
87
87
  "test:unit:coverage": "vitest run --coverage",
88
88
  "test:unit:coverage:watch": "vitest watch --coverage",
@@ -92,13 +92,13 @@
92
92
  "vue": "^3.5.0"
93
93
  },
94
94
  "devDependencies": {
95
- "glob": "catalog:",
95
+ "glob": "^11.0.3",
96
96
  "typescript": "^5.8.3",
97
- "vue": "catalog:",
97
+ "vue": "^3.5.17",
98
98
  "vue-tsc": "^2.2.10"
99
99
  },
100
100
  "lint-staged": {
101
- "*.{js,ts,vue,mjs,mts,cjs,md}": "cross-env NODE_ENV=production eslint --fix"
101
+ "*.{js,ts,vue,mjs,mts,cjs,md,yml,json}": "cross-env NODE_ENV=production eslint --fix"
102
102
  },
103
- "gitHead": "9ef7beb4feeee0b0cb44e7df8af7115d5d5ef334"
103
+ "gitHead": "604f754078f4e50e3db39793c28709e1dc1020c7"
104
104
  }