vueless 0.0.524 → 0.0.526

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.524",
3
+ "version": "0.0.526",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless UI Component Library, powered by Tailwind CSS.",
6
6
  "keywords": [
package/utils/theme.ts CHANGED
@@ -38,23 +38,12 @@ type DefaultColors = typeof tailwindColors;
38
38
  export function themeInit() {
39
39
  if (isSSR) return;
40
40
 
41
- const themeSettings = {
42
- colorMode: vuelessConfig.colorMode,
43
- ringOffsetColorLight: vuelessConfig.ringOffsetColorLight,
44
- ringOffsetColorDark: vuelessConfig.ringOffsetColorDark,
45
- ringOffset: vuelessConfig.ringOffset,
46
- ring: vuelessConfig.ring,
47
- gray: vuelessConfig.gray,
48
- brand: vuelessConfig.brand,
49
- rounding: vuelessConfig.rounding,
50
- } as Config;
51
-
52
- setTheme(themeSettings);
41
+ setTheme();
53
42
 
54
43
  const prefersColorSchemeDark = window.matchMedia("(prefers-color-scheme: dark)");
55
44
 
56
45
  prefersColorSchemeDark.addEventListener("change", (event) =>
57
- setTheme({ ...themeSettings, colorMode: event.matches ? ColorMode.Dark : ColorMode.Light }),
46
+ setTheme({ colorMode: event.matches ? ColorMode.Dark : ColorMode.Light }),
58
47
  );
59
48
  }
60
49
 
@@ -73,6 +62,10 @@ export function setColorMode(colorMode: `${ColorMode}`) {
73
62
  newColorMode = isSystemDark ? ColorMode.Dark : ColorMode.Light;
74
63
  }
75
64
 
65
+ if (cashedColorMode !== null) {
66
+ newColorMode = cashedColorMode;
67
+ }
68
+
76
69
  if (isLight) {
77
70
  newColorMode = ColorMode.Light;
78
71
  }
@@ -81,9 +74,11 @@ export function setColorMode(colorMode: `${ColorMode}`) {
81
74
  newColorMode = ColorMode.Dark;
82
75
  }
83
76
 
84
- if (cashedColorMode !== null) {
85
- newColorMode = cashedColorMode;
86
- }
77
+ const darkModeChangeEvent = new CustomEvent("darkModeChange", {
78
+ detail: newColorMode === ColorMode.Dark,
79
+ });
80
+
81
+ if (isSSR) return;
87
82
 
88
83
  if (newColorMode === ColorMode.Dark) {
89
84
  document.documentElement.classList.remove(LIGHT_MODE_SELECTOR);
@@ -93,13 +88,15 @@ export function setColorMode(colorMode: `${ColorMode}`) {
93
88
  document.documentElement.classList.add(LIGHT_MODE_SELECTOR);
94
89
  }
95
90
 
96
- isAuto
97
- ? localStorage.removeItem(COLOR_MODE_KEY)
98
- : localStorage.setItem(COLOR_MODE_KEY, newColorMode);
91
+ window.dispatchEvent(darkModeChangeEvent);
92
+
93
+ if (!isAuto) {
94
+ localStorage.setItem(COLOR_MODE_KEY, newColorMode);
95
+ }
99
96
  }
100
97
 
101
98
  export function setTheme(config: Config = {}) {
102
- setColorMode(config.colorMode || ColorMode.Auto);
99
+ setColorMode(config?.colorMode || vuelessConfig?.colorMode || ColorMode.Auto);
103
100
 
104
101
  const rounding = config?.rounding ?? vuelessConfig.rounding ?? DEFAULT_ROUNDING;
105
102
  const isDarkMode = document.documentElement.classList.contains(DARK_MODE_SELECTOR);
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "vue",
3
3
  "name": "vueless",
4
- "version": "0.0.524",
4
+ "version": "0.0.526",
5
5
  "contributions": {
6
6
  "html": {
7
7
  "description-markup": "markdown",