@etsoo/toolpad
Version:
Dashboard framework extention based on Toolpad Core
18 lines (17 loc) • 794 B
JavaScript
"use client";
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLocalStorageState = void 0;
const persistence_1 = require("../persistence");
/**
* Sync state to local storage so that it persists through a page refresh. Usage is
* similar to useState except we pass in a storage key so that we can default
* to that value on page load instead of the specified initial value.
*
* Since the storage API isn't available in server-rendering environments, we
* return null during SSR and hydration.
*/
const useLocalStorageStateBrowser = (...args) => (0, persistence_1.useStorageState)(window.localStorage, ...args);
exports.useLocalStorageState = typeof window === "undefined"
? persistence_1.useStorageStateServer
: useLocalStorageStateBrowser;