{ "version": 3, "sources": ["../../../../src/lib/ui/hooks/useLocalStorageState.ts"], "sourcesContent": ["import React from 'react'\n\n/** @public */\nexport function useLocalStorageState(key: string, defaultValue: T) {\n\tconst [state, setState] = React.useState(defaultValue)\n\n\tReact.useLayoutEffect(() => {\n\t\tconst value = localStorage.getItem(key)\n\t\tif (value) {\n\t\t\ttry {\n\t\t\t\tsetState(JSON.parse(value))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(`Could not restore value ${key} from local storage.`)\n\t\t\t}\n\t\t}\n\t}, [key])\n\n\tconst updateValue = React.useCallback(\n\t\t(setter: T | ((value: T) => T)) => {\n\t\t\tsetState((s) => {\n\t\t\t\tconst value = typeof setter === 'function' ? (setter as any)(s) : setter\n\t\t\t\tlocalStorage.setItem(key, JSON.stringify(value))\n\t\t\t\treturn value\n\t\t\t})\n\t\t},\n\t\t[key]\n\t)\n\n\treturn [state, updateValue] as const\n}\n"], "mappings": "AAAA,OAAO,WAAW;AAGX,SAAS,qBAA8B,KAAa,cAAiB;AAC3E,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,YAAY;AAErD,QAAM,gBAAgB,MAAM;AAC3B,UAAM,QAAQ,aAAa,QAAQ,GAAG;AACtC,QAAI,OAAO;AACV,UAAI;AACH,iBAAS,KAAK,MAAM,KAAK,CAAC;AAAA,MAC3B,SAAS,GAAG;AACX,gBAAQ,MAAM,2BAA2B,GAAG,sBAAsB;AAAA,MACnE;AAAA,IACD;AAAA,EACD,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,cAAc,MAAM;AAAA,IACzB,CAAC,WAAkC;AAClC,eAAS,CAAC,MAAM;AACf,cAAM,QAAQ,OAAO,WAAW,aAAc,OAAe,CAAC,IAAI;AAClE,qBAAa,QAAQ,KAAK,KAAK,UAAU,KAAK,CAAC;AAC/C,eAAO;AAAA,MACR,CAAC;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACL;AAEA,SAAO,CAAC,OAAO,WAAW;AAC3B;", "names": [] }