@xyo-network/react-app-settings 7.0.0 → 7.0.2

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.
@@ -1,10 +1,6 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/components/DarkModeIconButton.tsx
5
2
  import { DarkModeRounded as DarkModeRoundedIcon, LightModeRounded as LightModeRoundedIcon } from "@mui/icons-material";
6
3
  import { IconButton } from "@mui/material";
7
- import React2 from "react";
8
4
 
9
5
  // src/contexts/AppSettings/Context.ts
10
6
  import { createContext } from "react";
@@ -21,7 +17,7 @@ var AppSettingSlug = Enum({
21
17
  });
22
18
 
23
19
  // src/contexts/AppSettings/appSettingDefault.ts
24
- var appSettingDefault = /* @__PURE__ */ __name(() => {
20
+ var appSettingDefault = () => {
25
21
  return {
26
22
  [AppSettingSlug.DarkMode]: false,
27
23
  [AppSettingSlug.Developer]: false,
@@ -30,20 +26,17 @@ var appSettingDefault = /* @__PURE__ */ __name(() => {
30
26
  [AppSettingSlug.SeedPhrase]: "",
31
27
  [AppSettingSlug.MaxAccounts]: 1
32
28
  };
33
- }, "appSettingDefault");
29
+ };
34
30
 
35
31
  // src/contexts/AppSettings/Context.ts
36
32
  var AppSettingsContext = createContext(appSettingDefault());
37
33
 
38
34
  // src/contexts/AppSettings/Provider.tsx
39
- import React, { useMemo, useState } from "react";
35
+ import { useMemo, useState } from "react";
40
36
 
41
37
  // src/contexts/AppSettings/StorageBase.ts
42
38
  import { assertDefinedEx, assertEx } from "@xylabs/assert";
43
39
  var AppSettingsStorageBase = class {
44
- static {
45
- __name(this, "AppSettingsStorageBase");
46
- }
47
40
  defaults;
48
41
  prefix;
49
42
  constructor(prefix = "AppSettings", defaults) {
@@ -118,14 +111,8 @@ var AppSettingsStorageBase = class {
118
111
 
119
112
  // src/contexts/AppSettings/Storage.ts
120
113
  var AppSettingsStorage = class extends AppSettingsStorageBase {
121
- static {
122
- __name(this, "AppSettingsStorage");
123
- }
124
114
  constructor(prefix = "AppSettings", defaults) {
125
- super(prefix, {
126
- ...appSettingDefault(),
127
- ...defaults
128
- });
115
+ super(prefix, { ...appSettingDefault(), ...defaults });
129
116
  }
130
117
  get darkMode() {
131
118
  return this.getBoolean(AppSettingSlug.DarkMode);
@@ -166,84 +153,89 @@ var AppSettingsStorage = class extends AppSettingsStorageBase {
166
153
  };
167
154
 
168
155
  // src/contexts/AppSettings/Provider.tsx
169
- var AppSettingsProvider = /* @__PURE__ */ __name(({ storage, value, children, ...props }) => {
170
- const storageMemo = useMemo(() => storage ?? new AppSettingsStorage(), [
171
- storage
172
- ]);
156
+ import { jsx } from "react/jsx-runtime";
157
+ var AppSettingsProvider = ({
158
+ storage,
159
+ value,
160
+ children,
161
+ ...props
162
+ }) => {
163
+ const storageMemo = useMemo(() => storage ?? new AppSettingsStorage(), [storage]);
173
164
  const [developerMode, setDeveloperMode] = useState(storageMemo.developerMode);
174
165
  const [darkMode, setDarkMode] = useState(storageMemo.darkMode);
175
166
  const [navigationType, setNavigationType] = useState(storageMemo.navigationType);
176
167
  const [navigationCollapsed, setNavigationCollapsed] = useState(storageMemo.navigationCollapsed);
177
168
  const [seedPhrase, setSeedPhrase] = useState(storageMemo.seedPhrase);
178
169
  const [maxAccounts, setMaxAccounts] = useState(storageMemo.maxAccounts);
179
- const enableDeveloperMode = /* @__PURE__ */ __name((value2) => {
170
+ const enableDeveloperMode = (value2) => {
180
171
  storageMemo.developerMode = value2;
181
172
  setDeveloperMode(storageMemo.developerMode);
182
- }, "enableDeveloperMode");
183
- const enableDarkMode = /* @__PURE__ */ __name((value2) => {
173
+ };
174
+ const enableDarkMode = (value2) => {
184
175
  storageMemo.darkMode = value2;
185
176
  setDarkMode(storageMemo.darkMode);
186
- }, "enableDarkMode");
187
- const changeNavigationType = /* @__PURE__ */ __name((value2) => {
177
+ };
178
+ const changeNavigationType = (value2) => {
188
179
  storageMemo.navigationType = value2;
189
180
  setNavigationType(value2);
190
- }, "changeNavigationType");
191
- const changeNavigationCollapsed = /* @__PURE__ */ __name((value2) => {
181
+ };
182
+ const changeNavigationCollapsed = (value2) => {
192
183
  storageMemo.navigationCollapsed = value2;
193
184
  setNavigationCollapsed(value2);
194
- }, "changeNavigationCollapsed");
195
- const changeSeedPhrase = /* @__PURE__ */ __name((value2) => {
185
+ };
186
+ const changeSeedPhrase = (value2) => {
196
187
  storageMemo.seedPhrase = value2;
197
188
  setSeedPhrase(value2);
198
- }, "changeSeedPhrase");
199
- const changeMaxAccounts = /* @__PURE__ */ __name((value2) => {
189
+ };
190
+ const changeMaxAccounts = (value2) => {
200
191
  storageMemo.maxAccounts = value2;
201
192
  setMaxAccounts(value2);
202
- }, "changeMaxAccounts");
203
- return /* @__PURE__ */ React.createElement(AppSettingsContext, {
204
- // eslint-disable-next-line @eslint-react/no-unstable-context-value
205
- value: {
206
- changeMaxAccounts,
207
- changeNavigationCollapsed,
208
- changeNavigationType,
209
- changeSeedPhrase,
210
- darkMode,
211
- developerMode,
212
- enableDarkMode,
213
- enableDeveloperMode,
214
- maxAccounts,
215
- navigationCollapsed,
216
- navigationType,
217
- seedPhrase,
218
- ...value
219
- },
220
- ...props
221
- }, children);
222
- }, "AppSettingsProvider");
193
+ };
194
+ return /* @__PURE__ */ jsx(
195
+ AppSettingsContext,
196
+ {
197
+ value: {
198
+ changeMaxAccounts,
199
+ changeNavigationCollapsed,
200
+ changeNavigationType,
201
+ changeSeedPhrase,
202
+ darkMode,
203
+ developerMode,
204
+ enableDarkMode,
205
+ enableDeveloperMode,
206
+ maxAccounts,
207
+ navigationCollapsed,
208
+ navigationType,
209
+ seedPhrase,
210
+ ...value
211
+ },
212
+ ...props,
213
+ children
214
+ }
215
+ );
216
+ };
223
217
 
224
218
  // src/contexts/AppSettings/useAppSettings.ts
225
219
  import { use } from "react";
226
- var useAppSettings = /* @__PURE__ */ __name(() => {
220
+ var useAppSettings = () => {
227
221
  return use(AppSettingsContext);
228
- }, "useAppSettings");
222
+ };
229
223
 
230
224
  // src/components/DarkModeIconButton.tsx
231
- var DarkModeIconButton = /* @__PURE__ */ __name((props) => {
225
+ import { jsx as jsx2 } from "react/jsx-runtime";
226
+ var DarkModeIconButton = (props) => {
232
227
  const { darkMode, enableDarkMode } = useAppSettings();
233
- const handleDarkModeChange = /* @__PURE__ */ __name(() => {
228
+ const handleDarkModeChange = () => {
234
229
  enableDarkMode?.(!darkMode);
235
- }, "handleDarkModeChange");
236
- return /* @__PURE__ */ React2.createElement(IconButton, {
237
- onClick: handleDarkModeChange,
238
- ...props
239
- }, darkMode ? /* @__PURE__ */ React2.createElement(DarkModeRoundedIcon, null) : /* @__PURE__ */ React2.createElement(LightModeRoundedIcon, null));
240
- }, "DarkModeIconButton");
230
+ };
231
+ return /* @__PURE__ */ jsx2(IconButton, { onClick: handleDarkModeChange, ...props, children: darkMode ? /* @__PURE__ */ jsx2(DarkModeRoundedIcon, {}) : /* @__PURE__ */ jsx2(LightModeRoundedIcon, {}) });
232
+ };
241
233
 
242
234
  // src/components/Developer.tsx
243
- var Developer = /* @__PURE__ */ __name(({ children = null }) => {
235
+ var Developer = ({ children = null }) => {
244
236
  const { developerMode } = useAppSettings();
245
237
  return developerMode ? children : null;
246
- }, "Developer");
238
+ };
247
239
  export {
248
240
  AppSettingSlug,
249
241
  AppSettingsContext,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/DarkModeIconButton.tsx","../../src/contexts/AppSettings/Context.ts","../../src/contexts/AppSettings/Slug.ts","../../src/contexts/AppSettings/appSettingDefault.ts","../../src/contexts/AppSettings/Provider.tsx","../../src/contexts/AppSettings/StorageBase.ts","../../src/contexts/AppSettings/Storage.ts","../../src/contexts/AppSettings/useAppSettings.ts","../../src/components/Developer.tsx"],"sourcesContent":["import { DarkModeRounded as DarkModeRoundedIcon, LightModeRounded as LightModeRoundedIcon } from '@mui/icons-material'\nimport type { IconButtonProps } from '@mui/material'\nimport { IconButton } from '@mui/material'\nimport React from 'react'\n\nimport { useAppSettings } from '../contexts/index.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const DarkModeIconButton: React.FC<IconButtonProps> = (props) => {\n const { darkMode, enableDarkMode } = useAppSettings()\n\n const handleDarkModeChange = () => {\n enableDarkMode?.(!darkMode)\n }\n\n return (\n <IconButton onClick={handleDarkModeChange} {...props}>\n {darkMode\n ? <DarkModeRoundedIcon />\n : <LightModeRoundedIcon />}\n </IconButton>\n )\n}\n","import { createContext } from 'react'\n\nimport type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport { appSettingDefault } from './appSettingDefault.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport interface AppSettingsContextProps {\n changeMaxAccounts?: (value: number) => void\n changeNavigationCollapsed?: (value: boolean) => void\n changeNavigationType?: (value: WebAppNavigationType) => void\n changeSeedPhrase?: (value: string) => void\n darkMode?: boolean\n developerMode?: boolean\n enableDarkMode?: (value: boolean) => void\n enableDeveloperMode?: (value: boolean) => void\n maxAccounts?: number\n navigationCollapsed?: boolean\n navigationType?: WebAppNavigationType\n seedPhrase?: string\n}\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingsContext = createContext<AppSettingsContextProps>(appSettingDefault())\n","import type { EnumValue } from '@xylabs/enum'\nimport { Enum } from '@xylabs/enum'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingSlug = Enum({\n DarkMode: 'darkmode',\n Developer: 'developer',\n NavigationType: 'navigationType',\n NavigationCollapsed: 'navigationCollapsed',\n SeedPhrase: 'seedPhrase',\n MaxAccounts: 'maxAccounts',\n})\n\nexport type AppSettingSlug = EnumValue<typeof AppSettingSlug>\n","import { AppSettingSlug } from './Slug.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const appSettingDefault = (): Record<string, unknown> => {\n return {\n [AppSettingSlug.DarkMode]: false,\n [AppSettingSlug.Developer]: false,\n [AppSettingSlug.NavigationType]: 'menu',\n [AppSettingSlug.NavigationCollapsed]: false,\n [AppSettingSlug.SeedPhrase]: '',\n [AppSettingSlug.MaxAccounts]: 1,\n }\n}\n","import type { PropsWithChildren, ProviderProps } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport type { AppSettingsContextProps } from './Context.ts'\nimport { AppSettingsContext } from './Context.ts'\nimport { AppSettingsStorage } from './Storage.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {\n storage?: AppSettingsStorage\n}\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingsProvider: React.FC<PropsWithChildren<AppSettingsProviderProps>> = ({\n storage,\n value,\n children,\n ...props\n}) => {\n const storageMemo = useMemo(() => storage ?? new AppSettingsStorage(), [storage])\n const [developerMode, setDeveloperMode] = useState(storageMemo.developerMode)\n const [darkMode, setDarkMode] = useState(storageMemo.darkMode)\n const [navigationType, setNavigationType] = useState(storageMemo.navigationType)\n const [navigationCollapsed, setNavigationCollapsed] = useState(storageMemo.navigationCollapsed)\n const [seedPhrase, setSeedPhrase] = useState(storageMemo.seedPhrase)\n const [maxAccounts, setMaxAccounts] = useState(storageMemo.maxAccounts)\n\n const enableDeveloperMode = (value: boolean) => {\n storageMemo.developerMode = value\n setDeveloperMode(storageMemo.developerMode)\n }\n\n const enableDarkMode = (value: boolean) => {\n storageMemo.darkMode = value\n setDarkMode(storageMemo.darkMode)\n }\n\n const changeNavigationType = (value: WebAppNavigationType) => {\n storageMemo.navigationType = value\n setNavigationType(value)\n }\n\n const changeNavigationCollapsed = (value: boolean) => {\n storageMemo.navigationCollapsed = value\n setNavigationCollapsed(value)\n }\n\n const changeSeedPhrase = (value: string) => {\n storageMemo.seedPhrase = value\n setSeedPhrase(value)\n }\n\n const changeMaxAccounts = (value: number) => {\n storageMemo.maxAccounts = value\n setMaxAccounts(value)\n }\n\n return (\n <AppSettingsContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n changeMaxAccounts,\n changeNavigationCollapsed,\n changeNavigationType,\n changeSeedPhrase,\n darkMode,\n developerMode,\n enableDarkMode,\n enableDeveloperMode,\n maxAccounts,\n navigationCollapsed,\n navigationType,\n seedPhrase,\n\n ...value,\n }}\n {...props}\n >\n {children}\n </AppSettingsContext>\n )\n}\n","import { assertDefinedEx, assertEx } from '@xylabs/assert'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport class AppSettingsStorageBase {\n private defaults: Record<string, unknown>\n private prefix: string\n constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {\n this.prefix = prefix\n this.defaults = defaults ?? {}\n }\n\n getBoolean(name: string): boolean {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertEx(typeof this.defaults[name] === 'boolean', () => 'Default value is not boolean')\n const defaultValue = this.defaults[name] as boolean\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue !== 'false'\n }\n\n getNumber(name: string): number {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertEx(typeof this.defaults[name] === 'number', () => 'Default value is not a number')\n const defaultValue = this.defaults[name] as number\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return Number.parseFloat(storedValue)\n }\n\n getObject<T>(name: string): T {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null\n if (!parsedStoredValue) {\n assertEx(typeof this.defaults[name] === 'object', () => 'Default value is not object')\n return assertEx(this.defaults[name] as T, () => `Missing Default for ${name}`)\n }\n return parsedStoredValue as T\n }\n\n getString(name: string) {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertDefinedEx(typeof this.defaults[name] === 'string', () => 'Default value is not string')\n const defaultValue = this.defaults[name] as string\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue\n }\n\n getStringArray(name: string) {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)?.split(',')\n if (!storedValue) {\n assertDefinedEx(Array.isArray(this.defaults[name]), () => 'Default value is not array')\n const defaultValue = this.defaults[name] as string[]\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue\n }\n\n setBoolean(name: string, value: boolean) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setNumber(name: string, value: number) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setObject<T>(name: string, value: T) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setString(name: string, value: string) {\n localStorage.setItem(`${this.prefix}|${name}`, value)\n }\n\n setStringArray(name: string, value: string[]) {\n localStorage.setItem(`${this.prefix}|${name}`, value.join(','))\n }\n}\n","import type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport { appSettingDefault } from './appSettingDefault.ts'\nimport { AppSettingSlug } from './Slug.ts'\nimport { AppSettingsStorageBase } from './StorageBase.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport class AppSettingsStorage extends AppSettingsStorageBase {\n constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {\n super(prefix, { ...appSettingDefault(), ...defaults })\n }\n\n get darkMode() {\n return this.getBoolean(AppSettingSlug.DarkMode)\n }\n\n set darkMode(value: boolean) {\n this.setBoolean(AppSettingSlug.DarkMode, value)\n }\n\n get developerMode() {\n return this.getBoolean(AppSettingSlug.Developer)\n }\n\n set developerMode(value: boolean) {\n this.setBoolean(AppSettingSlug.Developer, value)\n }\n\n get maxAccounts() {\n return this.getNumber(AppSettingSlug.MaxAccounts)\n }\n\n set maxAccounts(value: number) {\n this.setNumber(AppSettingSlug.MaxAccounts, value)\n }\n\n get navigationCollapsed() {\n return this.getBoolean(AppSettingSlug.NavigationCollapsed)\n }\n\n set navigationCollapsed(value: boolean) {\n this.setBoolean(AppSettingSlug.NavigationCollapsed, value)\n }\n\n get navigationType() {\n return this.getString(AppSettingSlug.NavigationType) as WebAppNavigationType\n }\n\n set navigationType(value: WebAppNavigationType) {\n this.setString(AppSettingSlug.NavigationType, value)\n }\n\n get seedPhrase() {\n return this.getString(AppSettingSlug.SeedPhrase)\n }\n\n set seedPhrase(value: string) {\n this.setString(AppSettingSlug.SeedPhrase, value)\n }\n}\n","import { use } from 'react'\n\nimport { AppSettingsContext } from './Context.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const useAppSettings = () => {\n return use(AppSettingsContext)\n}\n","import type { ReactElement } from 'react'\n\nimport { useAppSettings } from '../contexts/index.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const Developer: React.FC<{ children: ReactElement }> = ({ children = null }) => {\n const { developerMode } = useAppSettings()\n\n return developerMode ? children : null\n}\n"],"mappings":"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","names":["DarkModeRounded","DarkModeRoundedIcon","LightModeRounded","LightModeRoundedIcon","IconButton","React","createContext","Enum","AppSettingSlug","DarkMode","Developer","NavigationType","NavigationCollapsed","SeedPhrase","MaxAccounts","appSettingDefault","AppSettingSlug","DarkMode","Developer","NavigationType","NavigationCollapsed","SeedPhrase","MaxAccounts","AppSettingsContext","createContext","appSettingDefault","React","useMemo","useState","assertDefinedEx","assertEx","AppSettingsStorageBase","defaults","prefix","getBoolean","name","storedValue","localStorage","getItem","assertEx","defaultValue","undefined","getNumber","Number","parseFloat","getObject","parsedStoredValue","JSON","parse","getString","assertDefinedEx","getStringArray","split","Array","isArray","setBoolean","value","setItem","stringify","setNumber","setObject","setString","setStringArray","join","AppSettingsStorage","AppSettingsStorageBase","prefix","defaults","appSettingDefault","darkMode","getBoolean","AppSettingSlug","DarkMode","value","setBoolean","developerMode","Developer","maxAccounts","getNumber","MaxAccounts","setNumber","navigationCollapsed","NavigationCollapsed","navigationType","getString","NavigationType","setString","seedPhrase","SeedPhrase","AppSettingsProvider","storage","value","children","props","storageMemo","useMemo","AppSettingsStorage","developerMode","setDeveloperMode","useState","darkMode","setDarkMode","navigationType","setNavigationType","navigationCollapsed","setNavigationCollapsed","seedPhrase","setSeedPhrase","maxAccounts","setMaxAccounts","enableDeveloperMode","enableDarkMode","changeNavigationType","changeNavigationCollapsed","changeSeedPhrase","changeMaxAccounts","AppSettingsContext","use","useAppSettings","use","AppSettingsContext","DarkModeIconButton","props","darkMode","enableDarkMode","useAppSettings","handleDarkModeChange","React","IconButton","onClick","DarkModeRoundedIcon","LightModeRoundedIcon","Developer","children","developerMode","useAppSettings"]}
1
+ {"version":3,"sources":["../../src/components/DarkModeIconButton.tsx","../../src/contexts/AppSettings/Context.ts","../../src/contexts/AppSettings/Slug.ts","../../src/contexts/AppSettings/appSettingDefault.ts","../../src/contexts/AppSettings/Provider.tsx","../../src/contexts/AppSettings/StorageBase.ts","../../src/contexts/AppSettings/Storage.ts","../../src/contexts/AppSettings/useAppSettings.ts","../../src/components/Developer.tsx"],"sourcesContent":["import { DarkModeRounded as DarkModeRoundedIcon, LightModeRounded as LightModeRoundedIcon } from '@mui/icons-material'\nimport type { IconButtonProps } from '@mui/material'\nimport { IconButton } from '@mui/material'\nimport React from 'react'\n\nimport { useAppSettings } from '../contexts/index.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const DarkModeIconButton: React.FC<IconButtonProps> = (props) => {\n const { darkMode, enableDarkMode } = useAppSettings()\n\n const handleDarkModeChange = () => {\n enableDarkMode?.(!darkMode)\n }\n\n return (\n <IconButton onClick={handleDarkModeChange} {...props}>\n {darkMode\n ? <DarkModeRoundedIcon />\n : <LightModeRoundedIcon />}\n </IconButton>\n )\n}\n","import { createContext } from 'react'\n\nimport type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport { appSettingDefault } from './appSettingDefault.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport interface AppSettingsContextProps {\n changeMaxAccounts?: (value: number) => void\n changeNavigationCollapsed?: (value: boolean) => void\n changeNavigationType?: (value: WebAppNavigationType) => void\n changeSeedPhrase?: (value: string) => void\n darkMode?: boolean\n developerMode?: boolean\n enableDarkMode?: (value: boolean) => void\n enableDeveloperMode?: (value: boolean) => void\n maxAccounts?: number\n navigationCollapsed?: boolean\n navigationType?: WebAppNavigationType\n seedPhrase?: string\n}\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingsContext = createContext<AppSettingsContextProps>(appSettingDefault())\n","import type { EnumValue } from '@xylabs/enum'\nimport { Enum } from '@xylabs/enum'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingSlug = Enum({\n DarkMode: 'darkmode',\n Developer: 'developer',\n NavigationType: 'navigationType',\n NavigationCollapsed: 'navigationCollapsed',\n SeedPhrase: 'seedPhrase',\n MaxAccounts: 'maxAccounts',\n})\n\nexport type AppSettingSlug = EnumValue<typeof AppSettingSlug>\n","import { AppSettingSlug } from './Slug.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const appSettingDefault = (): Record<string, unknown> => {\n return {\n [AppSettingSlug.DarkMode]: false,\n [AppSettingSlug.Developer]: false,\n [AppSettingSlug.NavigationType]: 'menu',\n [AppSettingSlug.NavigationCollapsed]: false,\n [AppSettingSlug.SeedPhrase]: '',\n [AppSettingSlug.MaxAccounts]: 1,\n }\n}\n","import type { PropsWithChildren, ProviderProps } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport type { AppSettingsContextProps } from './Context.ts'\nimport { AppSettingsContext } from './Context.ts'\nimport { AppSettingsStorage } from './Storage.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {\n storage?: AppSettingsStorage\n}\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const AppSettingsProvider: React.FC<PropsWithChildren<AppSettingsProviderProps>> = ({\n storage,\n value,\n children,\n ...props\n}) => {\n const storageMemo = useMemo(() => storage ?? new AppSettingsStorage(), [storage])\n const [developerMode, setDeveloperMode] = useState(storageMemo.developerMode)\n const [darkMode, setDarkMode] = useState(storageMemo.darkMode)\n const [navigationType, setNavigationType] = useState(storageMemo.navigationType)\n const [navigationCollapsed, setNavigationCollapsed] = useState(storageMemo.navigationCollapsed)\n const [seedPhrase, setSeedPhrase] = useState(storageMemo.seedPhrase)\n const [maxAccounts, setMaxAccounts] = useState(storageMemo.maxAccounts)\n\n const enableDeveloperMode = (value: boolean) => {\n storageMemo.developerMode = value\n setDeveloperMode(storageMemo.developerMode)\n }\n\n const enableDarkMode = (value: boolean) => {\n storageMemo.darkMode = value\n setDarkMode(storageMemo.darkMode)\n }\n\n const changeNavigationType = (value: WebAppNavigationType) => {\n storageMemo.navigationType = value\n setNavigationType(value)\n }\n\n const changeNavigationCollapsed = (value: boolean) => {\n storageMemo.navigationCollapsed = value\n setNavigationCollapsed(value)\n }\n\n const changeSeedPhrase = (value: string) => {\n storageMemo.seedPhrase = value\n setSeedPhrase(value)\n }\n\n const changeMaxAccounts = (value: number) => {\n storageMemo.maxAccounts = value\n setMaxAccounts(value)\n }\n\n return (\n <AppSettingsContext\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n value={{\n changeMaxAccounts,\n changeNavigationCollapsed,\n changeNavigationType,\n changeSeedPhrase,\n darkMode,\n developerMode,\n enableDarkMode,\n enableDeveloperMode,\n maxAccounts,\n navigationCollapsed,\n navigationType,\n seedPhrase,\n\n ...value,\n }}\n {...props}\n >\n {children}\n </AppSettingsContext>\n )\n}\n","import { assertDefinedEx, assertEx } from '@xylabs/assert'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport class AppSettingsStorageBase {\n private defaults: Record<string, unknown>\n private prefix: string\n constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {\n this.prefix = prefix\n this.defaults = defaults ?? {}\n }\n\n getBoolean(name: string): boolean {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertEx(typeof this.defaults[name] === 'boolean', () => 'Default value is not boolean')\n const defaultValue = this.defaults[name] as boolean\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue !== 'false'\n }\n\n getNumber(name: string): number {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertEx(typeof this.defaults[name] === 'number', () => 'Default value is not a number')\n const defaultValue = this.defaults[name] as number\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return Number.parseFloat(storedValue)\n }\n\n getObject<T>(name: string): T {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null\n if (!parsedStoredValue) {\n assertEx(typeof this.defaults[name] === 'object', () => 'Default value is not object')\n return assertEx(this.defaults[name] as T, () => `Missing Default for ${name}`)\n }\n return parsedStoredValue as T\n }\n\n getString(name: string) {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)\n if (!storedValue) {\n assertDefinedEx(typeof this.defaults[name] === 'string', () => 'Default value is not string')\n const defaultValue = this.defaults[name] as string\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue\n }\n\n getStringArray(name: string) {\n const storedValue = localStorage.getItem(`${this.prefix}|${name}`)?.split(',')\n if (!storedValue) {\n assertDefinedEx(Array.isArray(this.defaults[name]), () => 'Default value is not array')\n const defaultValue = this.defaults[name] as string[]\n assertEx(defaultValue !== undefined, () => `Missing Default for ${name}`)\n return defaultValue\n }\n return storedValue\n }\n\n setBoolean(name: string, value: boolean) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setNumber(name: string, value: number) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setObject<T>(name: string, value: T) {\n localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))\n }\n\n setString(name: string, value: string) {\n localStorage.setItem(`${this.prefix}|${name}`, value)\n }\n\n setStringArray(name: string, value: string[]) {\n localStorage.setItem(`${this.prefix}|${name}`, value.join(','))\n }\n}\n","import type { WebAppNavigationType } from '../../WebAppNavigationType.ts'\nimport { appSettingDefault } from './appSettingDefault.ts'\nimport { AppSettingSlug } from './Slug.ts'\nimport { AppSettingsStorageBase } from './StorageBase.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport class AppSettingsStorage extends AppSettingsStorageBase {\n constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {\n super(prefix, { ...appSettingDefault(), ...defaults })\n }\n\n get darkMode() {\n return this.getBoolean(AppSettingSlug.DarkMode)\n }\n\n set darkMode(value: boolean) {\n this.setBoolean(AppSettingSlug.DarkMode, value)\n }\n\n get developerMode() {\n return this.getBoolean(AppSettingSlug.Developer)\n }\n\n set developerMode(value: boolean) {\n this.setBoolean(AppSettingSlug.Developer, value)\n }\n\n get maxAccounts() {\n return this.getNumber(AppSettingSlug.MaxAccounts)\n }\n\n set maxAccounts(value: number) {\n this.setNumber(AppSettingSlug.MaxAccounts, value)\n }\n\n get navigationCollapsed() {\n return this.getBoolean(AppSettingSlug.NavigationCollapsed)\n }\n\n set navigationCollapsed(value: boolean) {\n this.setBoolean(AppSettingSlug.NavigationCollapsed, value)\n }\n\n get navigationType() {\n return this.getString(AppSettingSlug.NavigationType) as WebAppNavigationType\n }\n\n set navigationType(value: WebAppNavigationType) {\n this.setString(AppSettingSlug.NavigationType, value)\n }\n\n get seedPhrase() {\n return this.getString(AppSettingSlug.SeedPhrase)\n }\n\n set seedPhrase(value: string) {\n this.setString(AppSettingSlug.SeedPhrase, value)\n }\n}\n","import { use } from 'react'\n\nimport { AppSettingsContext } from './Context.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const useAppSettings = () => {\n return use(AppSettingsContext)\n}\n","import type { ReactElement } from 'react'\n\nimport { useAppSettings } from '../contexts/index.ts'\n\n/** @deprecated import from @xylabs/react-app-settings instead */\nexport const Developer: React.FC<{ children: ReactElement }> = ({ children = null }) => {\n const { developerMode } = useAppSettings()\n\n return developerMode ? children : null\n}\n"],"mappings":"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","names":["value","jsx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-app-settings",
3
- "version": "7.0.0",
3
+ "version": "7.0.2",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,23 +43,23 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@xylabs/assert": "^5.0.0",
47
- "@xylabs/enum": "^5.0.0"
46
+ "@xylabs/assert": "~5.0.11",
47
+ "@xylabs/enum": "~5.0.11"
48
48
  },
49
49
  "devDependencies": {
50
- "@mui/icons-material": "^7.2.0",
51
- "@mui/material": "^7.2.0",
52
- "@types/react": "^19.1.9",
53
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
54
- "react": "^19.1.1",
55
- "react-dom": "^19.1.1",
56
- "typescript": "^5.8.3"
50
+ "@mui/icons-material": "~7.3.1",
51
+ "@mui/material": "~7.3.1",
52
+ "@types/react": "~19.1.11",
53
+ "@xylabs/ts-scripts-yarn3": "~7.1.7",
54
+ "react": "~19.1.1",
55
+ "react-dom": "~19.1.1",
56
+ "typescript": "~5.9.2"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@mui/icons-material": ">=6 <8",
60
60
  "@mui/material": ">=6 <8",
61
- "react": "^19",
62
- "react-dom": "^19"
61
+ "react": "~19",
62
+ "react-dom": "~19"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"