🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@scalar/use-hooks

Package Overview
Dependencies
Maintainers
7
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@scalar/use-hooks - npm Package Compare versions

Comparing version
0.4.3
to
0.4.5
+12
-0
CHANGELOG.md
# @scalar/use-hooks
## 0.4.5
### Patch Changes
- [#9211](https://github.com/scalar/scalar/pull/9211): chore: remove zod
## 0.4.4
### Patch Changes
- [#8844](https://github.com/scalar/scalar/pull/8844): chore: remove zod
## 0.4.3

@@ -4,0 +16,0 @@

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"useColorMode.d.ts","sourceRoot":"","sources":["../../src/useColorMode/useColorMode.ts"],"names":[],"mappings":"AAOA,2BAA2B;AAC3B,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5C,+BAA+B;AAC/B,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAErC;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,GAAE;IACJ,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,SAAS,CAAA;CACzB;IA2FJ,yCAAyC;;IAKzC,+CAA+C;;IAE/C,yDAAyD;;IAEzD,qDAAqD;;IAErD,kDAAkD;0BArFvB,SAAS;IAuFpC,uCAAuC;mCA9EL,aAAa;EAiFlD"}
{"version":3,"file":"useColorMode.d.ts","sourceRoot":"","sources":["../../src/useColorMode/useColorMode.ts"],"names":[],"mappings":"AAOA,2BAA2B;AAC3B,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5C,+BAA+B;AAC/B,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAErC;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,GAAE;IACJ,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,SAAS,CAAA;CACzB;IA6FJ,yCAAyC;;IAKzC,+CAA+C;;IAE/C,yDAAyD;;IAEzD,qDAAqD;;IAErD,kDAAkD;0BAvFvB,SAAS;IAyFpC,uCAAuC;mCAhFL,aAAa;EAmFlD"}

@@ -0,5 +1,5 @@

import { literal, union, validate } from '@scalar/validation';
import { computed, onMounted, onUnmounted, ref, watch } from 'vue';
import { z } from 'zod';
const colorMode = ref('dark');
const colorModeSchema = z.enum(['dark', 'light', 'system']).optional().catch(undefined);
const colorModeSchema = union([literal('system'), literal('dark'), literal('light')]);
/**

@@ -63,4 +63,7 @@ * A composable hook that provides color mode (dark/light) functionality.

}
// Priority of initial values is: forceDarkModeState -> LocalStorage -> App Config -> initial / Fallback
const savedColorMode = colorModeSchema.parse(typeof window !== 'undefined' ? window?.localStorage?.getItem('colorMode') : 'system');
// Priority: overrideColorMode -> localStorage -> initialColorMode
// Without `window` (SSR/SSG), there is no storage — treat preference as `system` so we do not
// fall through to `initialColorMode` and diverge from client hydration (see useColorMode tests).
const storedValue = typeof window === 'undefined' ? 'system' : window?.localStorage?.getItem('colorMode');
const savedColorMode = validate(colorModeSchema, storedValue) ? storedValue : null;
colorMode.value = overrideColorMode ?? savedColorMode ?? initialColorMode;

@@ -67,0 +70,0 @@ // Watch for colorMode changes and update the body class

@@ -13,3 +13,3 @@ {

},
"version": "0.4.3",
"version": "0.4.5",
"engines": {

@@ -50,4 +50,4 @@ "node": ">=22"

"vue": "^3.5.30",
"zod": "^4.3.5",
"@scalar/use-toasts": "0.10.2"
"@scalar/use-toasts": "0.10.2",
"@scalar/validation": "0.5.0"
},

@@ -54,0 +54,0 @@ "devDependencies": {