hanap-labs 6.4.2 → 6.5.0

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.
@@ -374,10 +374,16 @@ function M(e, t) {
374
374
  }
375
375
  function ne(e) {
376
376
  if (typeof window > "u") return null;
377
- let { storageKey: t = y, cookieKey: n = b } = e, r = O(n);
378
- if (r && S.includes(r)) return r;
379
- let i = typeof localStorage < "u" ? localStorage.getItem(t) : null;
380
- return i && S.includes(i) ? i : null;
377
+ let { storageKey: t = y, cookieKey: n = b, storage: r = "both" } = e;
378
+ if (r === "cookie" || r === "both") {
379
+ let e = O(n);
380
+ if (e && S.includes(e)) return e;
381
+ }
382
+ if (r === "localStorage" || r === "both") {
383
+ let e = typeof localStorage < "u" ? localStorage.getItem(t) : null;
384
+ if (e && S.includes(e)) return e;
385
+ }
386
+ return null;
381
387
  }
382
388
  function re(e = {}) {
383
389
  D || (D = !0, o(T, () => {
@@ -385,11 +391,11 @@ function re(e = {}) {
385
391
  }));
386
392
  }
387
393
  function ie(e = {}) {
388
- let { defaultMode: r = x, preset: i, storageKey: a = y, cookieKey: o = b, cookieOptions: s, target: c } = e;
389
- if (C.value = ne(e) ?? r, te(C.value, e), re(e), i && (w.value = i, M(i, c)), typeof MutationObserver < "u") {
394
+ let { defaultMode: r = x, preset: i, storageKey: a = y, cookieKey: o = b, cookieOptions: s, storage: c = "both", target: l } = e;
395
+ if (C.value = ne(e) ?? r, te(C.value, e), re(e), i && (w.value = i, M(i, l)), typeof MutationObserver < "u") {
390
396
  let t = new MutationObserver((t) => {
391
397
  for (let n of t) for (let t of n.addedNodes) if (t instanceof HTMLElement && (t.classList.contains("hanap-labs-theme") || t.querySelector(".hanap-labs-theme"))) {
392
- te(C.value, e), w.value && M(w.value, c);
398
+ te(C.value, e), w.value && M(w.value, l);
393
399
  return;
394
400
  }
395
401
  }), r = document.body ?? document.documentElement;
@@ -398,22 +404,22 @@ function ie(e = {}) {
398
404
  subtree: !0
399
405
  }), n(() => t.disconnect());
400
406
  }
401
- let l = t(() => C.value === "system" ? A() : C.value), u = (e) => {
402
- C.value = e, typeof localStorage < "u" && localStorage.setItem(a, e), k(o, e, s);
407
+ let u = t(() => C.value === "system" ? A() : C.value), d = (e) => {
408
+ C.value = e, (c === "localStorage" || c === "both") && typeof localStorage < "u" && localStorage.setItem(a, e), (c === "cookie" || c === "both") && k(o, e, s);
403
409
  };
404
410
  return {
405
411
  mode: C,
406
412
  isDark: T,
407
413
  isLight: E,
408
414
  toggle: () => {
409
- C.value === "light" ? u("dark") : C.value === "dark" ? u("light") : u(A() === "light" ? "dark" : "light");
415
+ C.value === "light" ? d("dark") : C.value === "dark" ? d("light") : d(A() === "light" ? "dark" : "light");
410
416
  },
411
- setMode: u,
417
+ setMode: d,
412
418
  preset: w,
413
419
  setPreset: (e) => {
414
- w.value = e, M(e, c);
420
+ w.value = e, M(e, l);
415
421
  },
416
- activeTheme: l,
422
+ activeTheme: u,
417
423
  getThemeClasses: () => {
418
424
  let { applyMethod: t = "class", classPrefix: n = "" } = e;
419
425
  return t !== "class" && t !== "both" ? [] : [`${n}${C.value === "system" ? A() : C.value}`];
@@ -1,3 +1,3 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../chunks/composables-DsmIRwZo.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../chunks/composables-Dfe_Im7E.js";
2
2
  import { n as c, r as l, t as u } from "../chunks/usePopup-DgM99GbC.js";
3
3
  export { n as createQueryPlugin, r as createUseMutation, e as createUseQuery, t as themePresets, l as useFloat, s as useForm, a as useMutation, c as useNotify, u as usePopup, i as useQuery, o as useTheme };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./chunks/composables-DsmIRwZo.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./chunks/composables-Dfe_Im7E.js";
2
2
  import { A as l, C as u, D as d, E as f, O as ee, S as te, T as ne, _ as re, a as ie, b as ae, c as oe, d as se, f as ce, g as le, h as ue, i as de, k as fe, l as pe, m as me, n as he, o as ge, p as _e, r as ve, s as ye, t as be, u as xe, v as Se, w as Ce, x as we, y as Te } from "./chunks/components-BQCtIQwt.js";
3
3
  import { n as Ee, r as De, t as Oe } from "./chunks/usePopup-DgM99GbC.js";
4
4
  import { t as ke } from "./chunks/helpers-BjMDD0mP.js";
@@ -3,6 +3,7 @@ import { type ThemePreset } from "./themePresets";
3
3
  type ThemeMode = "light" | "dark" | "system";
4
4
  type ThemePresetName = ThemePreset["name"];
5
5
  type ThemeApplyMethod = "class" | "attribute" | "both";
6
+ type ThemeStorageMethod = "localStorage" | "cookie" | "both";
6
7
  interface UseThemeOptions {
7
8
  defaultMode?: ThemeMode;
8
9
  preset?: ThemePresetName;
@@ -15,6 +16,7 @@ interface UseThemeOptions {
15
16
  sameSite?: "strict" | "lax" | "none";
16
17
  maxAge?: number;
17
18
  };
19
+ storage?: ThemeStorageMethod;
18
20
  applyMethod?: ThemeApplyMethod;
19
21
  classPrefix?: string;
20
22
  attributeName?: string;
@@ -34,4 +36,4 @@ interface UseThemeReturn {
34
36
  getThemeAttributes: () => Record<string, string>;
35
37
  }
36
38
  export declare function useTheme(useThemeOptions?: UseThemeOptions): UseThemeReturn;
37
- export type { UseThemeOptions, UseThemeReturn, ThemeMode, ThemePresetName, ThemeApplyMethod, };
39
+ export type { UseThemeOptions, UseThemeReturn, ThemeMode, ThemePresetName, ThemeApplyMethod, ThemeStorageMethod, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hanap-labs",
3
- "version": "6.4.2",
3
+ "version": "6.5.0",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "vue",