@opencosmos/ui 1.3.4 → 1.3.5

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/index.d.mts CHANGED
@@ -2441,8 +2441,10 @@ interface AppSidebarProviderProps {
2441
2441
  children: React__default.ReactNode;
2442
2442
  /** Initial open state used on server and first render @default true */
2443
2443
  defaultOpen?: boolean;
2444
+ /** localStorage key for persisting open state. Use unique keys per page to avoid cross-page state bleed. @default 'appsidebar:state' */
2445
+ storageKey?: string;
2444
2446
  }
2445
- declare function AppSidebarProvider({ children, defaultOpen }: AppSidebarProviderProps): react_jsx_runtime.JSX.Element;
2447
+ declare function AppSidebarProvider({ children, defaultOpen, storageKey }: AppSidebarProviderProps): react_jsx_runtime.JSX.Element;
2446
2448
  declare function AppSidebarInset({ children, className, }: {
2447
2449
  children: React__default.ReactNode;
2448
2450
  className?: string;
package/dist/index.d.ts CHANGED
@@ -2441,8 +2441,10 @@ interface AppSidebarProviderProps {
2441
2441
  children: React__default.ReactNode;
2442
2442
  /** Initial open state used on server and first render @default true */
2443
2443
  defaultOpen?: boolean;
2444
+ /** localStorage key for persisting open state. Use unique keys per page to avoid cross-page state bleed. @default 'appsidebar:state' */
2445
+ storageKey?: string;
2444
2446
  }
2445
- declare function AppSidebarProvider({ children, defaultOpen }: AppSidebarProviderProps): react_jsx_runtime.JSX.Element;
2447
+ declare function AppSidebarProvider({ children, defaultOpen, storageKey }: AppSidebarProviderProps): react_jsx_runtime.JSX.Element;
2446
2448
  declare function AppSidebarInset({ children, className, }: {
2447
2449
  children: React__default.ReactNode;
2448
2450
  className?: string;
package/dist/index.js CHANGED
@@ -11073,13 +11073,13 @@ var DEFAULT_CONTEXT = {
11073
11073
  function useAppSidebar() {
11074
11074
  return (0, import_react19.useContext)(AppSidebarContext) ?? DEFAULT_CONTEXT;
11075
11075
  }
11076
- function AppSidebarProvider({ children, defaultOpen = true }) {
11076
+ function AppSidebarProvider({ children, defaultOpen = true, storageKey = STORAGE_KEY }) {
11077
11077
  const [isOpen, setIsOpen] = (0, import_react19.useState)(defaultOpen);
11078
11078
  (0, import_react19.useEffect)(() => {
11079
- const stored = localStorage.getItem(STORAGE_KEY);
11079
+ const stored = localStorage.getItem(storageKey);
11080
11080
  if (stored !== null) setIsOpen(stored === "true");
11081
- }, []);
11082
- const persist3 = (value) => localStorage.setItem(STORAGE_KEY, String(value));
11081
+ }, [storageKey]);
11082
+ const persist3 = (value) => localStorage.setItem(storageKey, String(value));
11083
11083
  const toggle = () => setIsOpen((prev) => {
11084
11084
  const next = !prev;
11085
11085
  persist3(next);