@xyo-network/react-app-settings 2.26.14 → 2.26.17
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/cjs/WebAppNavigationType.d.ts +1 -0
- package/dist/cjs/WebAppNavigationType.js +3 -0
- package/dist/cjs/WebAppNavigationType.js.map +1 -0
- package/dist/cjs/components/DarkModeIconButton.d.ts +3 -0
- package/dist/cjs/components/DarkModeIconButton.js +18 -0
- package/dist/cjs/components/DarkModeIconButton.js.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +5 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/Context.d.ts +11 -0
- package/dist/cjs/contexts/AppSettings/Context.js +7 -0
- package/dist/cjs/contexts/AppSettings/Context.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/Provider.d.ts +8 -0
- package/dist/cjs/contexts/AppSettings/Provider.js +34 -0
- package/dist/cjs/contexts/AppSettings/Provider.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/Slug.d.ts +5 -0
- package/dist/cjs/contexts/AppSettings/Slug.js +10 -0
- package/dist/cjs/contexts/AppSettings/Slug.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/Storage.d.ts +11 -0
- package/dist/cjs/contexts/AppSettings/Storage.js +31 -0
- package/dist/cjs/contexts/AppSettings/Storage.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/StorageBase.d.ts +15 -0
- package/dist/cjs/contexts/AppSettings/StorageBase.js +78 -0
- package/dist/cjs/contexts/AppSettings/StorageBase.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/appSettingDefault.d.ts +1 -0
- package/dist/cjs/contexts/AppSettings/appSettingDefault.js +13 -0
- package/dist/cjs/contexts/AppSettings/appSettingDefault.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/index.d.ts +6 -0
- package/dist/cjs/contexts/AppSettings/index.js +10 -0
- package/dist/cjs/contexts/AppSettings/index.js.map +1 -0
- package/dist/cjs/contexts/AppSettings/useAppSettings.d.ts +1 -0
- package/dist/cjs/contexts/AppSettings/useAppSettings.js +10 -0
- package/dist/cjs/contexts/AppSettings/useAppSettings.js.map +1 -0
- package/dist/cjs/contexts/index.d.ts +1 -0
- package/dist/cjs/contexts/index.js +5 -0
- package/dist/cjs/contexts/index.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/index.js.map +1 -0
- package/package.json +3 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type WebAppNavigationType = 'menu' | 'sidebar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../src/WebAppNavigationType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DarkModeIconButton = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const DarkModeRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/DarkModeRounded"));
|
|
7
|
+
const LightModeRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/LightModeRounded"));
|
|
8
|
+
const material_1 = require("@mui/material");
|
|
9
|
+
const contexts_1 = require("../contexts");
|
|
10
|
+
const DarkModeIconButton = (props) => {
|
|
11
|
+
const { darkMode, enableDarkMode } = (0, contexts_1.useAppSettings)();
|
|
12
|
+
const handleDarkModeChange = () => {
|
|
13
|
+
enableDarkMode === null || enableDarkMode === void 0 ? void 0 : enableDarkMode(!darkMode);
|
|
14
|
+
};
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleDarkModeChange }, props, { children: darkMode ? (0, jsx_runtime_1.jsx)(DarkModeRounded_1.default, {}) : (0, jsx_runtime_1.jsx)(LightModeRounded_1.default, {}) })));
|
|
16
|
+
};
|
|
17
|
+
exports.DarkModeIconButton = DarkModeIconButton;
|
|
18
|
+
//# sourceMappingURL=DarkModeIconButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DarkModeIconButton.js","sourceRoot":"","sources":["../../../src/components/DarkModeIconButton.tsx"],"names":[],"mappings":";;;;;AAAA,kGAAqE;AACrE,oGAAuE;AACvE,4CAA2D;AAE3D,0CAA4C;AAErC,MAAM,kBAAkB,GAA8B,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAA,yBAAc,GAAE,CAAA;IAErD,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,qBAAU,kBAAC,OAAO,EAAE,oBAAoB,IAAM,KAAK,cACjD,QAAQ,CAAC,CAAC,CAAC,uBAAC,yBAAmB,KAAG,CAAC,CAAC,CAAC,uBAAC,0BAAoB,KAAG,IACnD,CACd,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,kBAAkB,sBAY9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DarkModeIconButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WebAppNavigationType } from '../../WebAppNavigationType';
|
|
3
|
+
export interface AppSettingsContextProps {
|
|
4
|
+
darkMode?: boolean;
|
|
5
|
+
developerMode?: boolean;
|
|
6
|
+
enableDarkMode?: (value: boolean) => void;
|
|
7
|
+
enableDeveloperMode?: (value: boolean) => void;
|
|
8
|
+
changeNavigationType?: (value: WebAppNavigationType) => void;
|
|
9
|
+
navigationType?: WebAppNavigationType;
|
|
10
|
+
}
|
|
11
|
+
export declare const AppSettingsContext: import("react").Context<AppSettingsContextProps>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppSettingsContext = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const appSettingDefault_1 = require("./appSettingDefault");
|
|
6
|
+
exports.AppSettingsContext = (0, react_1.createContext)((0, appSettingDefault_1.appSettingDefault)());
|
|
7
|
+
//# sourceMappingURL=Context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAGrC,2DAAuD;AAW1C,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAA0B,IAAA,qCAAiB,GAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
2
|
+
import { ProviderProps } from 'react';
|
|
3
|
+
import { AppSettingsContextProps } from './Context';
|
|
4
|
+
import { AppSettingsStorage } from './Storage';
|
|
5
|
+
export interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {
|
|
6
|
+
storage?: AppSettingsStorage;
|
|
7
|
+
}
|
|
8
|
+
export declare const AppSettingsProvider: React.FC<WithChildren<AppSettingsProviderProps>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppSettingsProvider = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const Context_1 = require("./Context");
|
|
8
|
+
const Storage_1 = require("./Storage");
|
|
9
|
+
const AppSettingsProvider = (_a) => {
|
|
10
|
+
var { storage = new Storage_1.AppSettingsStorage(), value, children } = _a, props = tslib_1.__rest(_a, ["storage", "value", "children"]);
|
|
11
|
+
const [developerMode, setDeveloperMode] = (0, react_1.useState)(storage.developerMode);
|
|
12
|
+
const [darkMode, setDarkMode] = (0, react_1.useState)(storage.darkMode);
|
|
13
|
+
const [navigationType, setNaviagtionType] = (0, react_1.useState)(storage.navigationType);
|
|
14
|
+
const enableDeveloperMode = (value) => {
|
|
15
|
+
storage.developerMode = value;
|
|
16
|
+
setDeveloperMode(storage.developerMode);
|
|
17
|
+
};
|
|
18
|
+
const enableDarkMode = (value) => {
|
|
19
|
+
storage.darkMode = value;
|
|
20
|
+
setDarkMode(storage.darkMode);
|
|
21
|
+
};
|
|
22
|
+
const changeNavigationType = (value) => {
|
|
23
|
+
storage.navigationType = value;
|
|
24
|
+
setNaviagtionType(value);
|
|
25
|
+
};
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)(Context_1.AppSettingsContext.Provider, Object.assign({ value: Object.assign({ changeNavigationType,
|
|
27
|
+
darkMode,
|
|
28
|
+
developerMode,
|
|
29
|
+
enableDarkMode,
|
|
30
|
+
enableDeveloperMode,
|
|
31
|
+
navigationType }, value) }, props, { children: children })));
|
|
32
|
+
};
|
|
33
|
+
exports.AppSettingsProvider = AppSettingsProvider;
|
|
34
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Provider.tsx"],"names":[],"mappings":";;;;;AACA,iCAA+C;AAG/C,uCAAuE;AACvE,uCAA8C;AAMvC,MAAM,mBAAmB,GAAqD,CAAC,EAAiE,EAAE,EAAE;QAArE,EAAE,OAAO,GAAG,IAAI,4BAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAA/D,gCAAiE,CAAF;IACnJ,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAE5E,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAE;QAC7C,OAAO,CAAC,aAAa,GAAG,KAAK,CAAA;QAC7B,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE;QACxC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAA;QACxB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,KAA2B,EAAE,EAAE;QAC3D,OAAO,CAAC,cAAc,GAAG,KAAK,CAAA;QAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,4BAAkB,CAAC,QAAQ,kBAC1B,KAAK,kBACH,oBAAoB;YACpB,QAAQ;YACR,aAAa;YACb,cAAc;YACd,mBAAmB;YACnB,cAAc,IAEX,KAAK,KAEN,KAAK,cAER,QAAQ,IACmB,CAC/B,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,mBAAmB,uBAqC/B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppSettingSlug = void 0;
|
|
4
|
+
var AppSettingSlug;
|
|
5
|
+
(function (AppSettingSlug) {
|
|
6
|
+
AppSettingSlug["DarkMode"] = "darkmode";
|
|
7
|
+
AppSettingSlug["Developer"] = "developer";
|
|
8
|
+
AppSettingSlug["NavigationType"] = "navgiationType";
|
|
9
|
+
})(AppSettingSlug = exports.AppSettingSlug || (exports.AppSettingSlug = {}));
|
|
10
|
+
//# sourceMappingURL=Slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slug.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Slug.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,mDAAiC,CAAA;AACnC,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WebAppNavigationType } from '../../WebAppNavigationType';
|
|
2
|
+
import { AppSettingsStorageBase } from './StorageBase';
|
|
3
|
+
export declare class AppSettingsStorage extends AppSettingsStorageBase {
|
|
4
|
+
constructor(prefix?: string, defaults?: Record<string, unknown>);
|
|
5
|
+
get darkMode(): boolean;
|
|
6
|
+
set darkMode(value: boolean);
|
|
7
|
+
get developerMode(): boolean;
|
|
8
|
+
set developerMode(value: boolean);
|
|
9
|
+
get navigationType(): WebAppNavigationType;
|
|
10
|
+
set navigationType(value: WebAppNavigationType);
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppSettingsStorage = void 0;
|
|
4
|
+
const appSettingDefault_1 = require("./appSettingDefault");
|
|
5
|
+
const Slug_1 = require("./Slug");
|
|
6
|
+
const StorageBase_1 = require("./StorageBase");
|
|
7
|
+
class AppSettingsStorage extends StorageBase_1.AppSettingsStorageBase {
|
|
8
|
+
constructor(prefix = 'AppSettings', defaults) {
|
|
9
|
+
super(prefix, Object.assign(Object.assign({}, (0, appSettingDefault_1.appSettingDefault)()), defaults));
|
|
10
|
+
}
|
|
11
|
+
get darkMode() {
|
|
12
|
+
return this.getBoolean(Slug_1.AppSettingSlug.DarkMode);
|
|
13
|
+
}
|
|
14
|
+
set darkMode(value) {
|
|
15
|
+
this.setBoolean(Slug_1.AppSettingSlug.DarkMode, value);
|
|
16
|
+
}
|
|
17
|
+
get developerMode() {
|
|
18
|
+
return this.getBoolean(Slug_1.AppSettingSlug.Developer);
|
|
19
|
+
}
|
|
20
|
+
set developerMode(value) {
|
|
21
|
+
this.setBoolean(Slug_1.AppSettingSlug.Developer, value);
|
|
22
|
+
}
|
|
23
|
+
get navigationType() {
|
|
24
|
+
return this.getString(Slug_1.AppSettingSlug.NavigationType);
|
|
25
|
+
}
|
|
26
|
+
set navigationType(value) {
|
|
27
|
+
this.setString(Slug_1.AppSettingSlug.NavigationType, value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.AppSettingsStorage = AppSettingsStorage;
|
|
31
|
+
//# sourceMappingURL=Storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,iCAAuC;AACvC,+CAAsD;AAEtD,MAAa,kBAAmB,SAAQ,oCAAsB;IAC5D,YAAY,MAAM,GAAG,aAAa,EAAE,QAAkC;QACpE,KAAK,CAAC,MAAM,kCAAO,IAAA,qCAAiB,GAAE,GAAK,QAAQ,EAAG,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAc,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,CAAC,qBAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAc,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,CAAC,UAAU,CAAC,qBAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAc,CAAC,cAAc,CAAyB,CAAA;IAC9E,CAAC;IAED,IAAI,cAAc,CAAC,KAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,qBAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AA5BD,gDA4BC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class AppSettingsStorageBase {
|
|
2
|
+
private prefix;
|
|
3
|
+
private defaults;
|
|
4
|
+
constructor(prefix?: string, defaults?: Record<string, unknown>);
|
|
5
|
+
getBoolean(name: string): boolean;
|
|
6
|
+
setBoolean(name: string, value: boolean): void;
|
|
7
|
+
setNumber(name: string, value: number): void;
|
|
8
|
+
getNumber(name: string): number;
|
|
9
|
+
getString(name: string): string;
|
|
10
|
+
setString(name: string, value: string): void;
|
|
11
|
+
getStringArray(name: string): string[];
|
|
12
|
+
setStringArray(name: string, value: string[]): void;
|
|
13
|
+
getObject<T>(name: string): T;
|
|
14
|
+
setObject<T>(name: string, value: T): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppSettingsStorageBase = void 0;
|
|
4
|
+
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
5
|
+
const react_shared_1 = require("@xyo-network/react-shared");
|
|
6
|
+
class AppSettingsStorageBase {
|
|
7
|
+
constructor(prefix = 'AppSettings', defaults) {
|
|
8
|
+
this.prefix = prefix;
|
|
9
|
+
this.defaults = defaults !== null && defaults !== void 0 ? defaults : {};
|
|
10
|
+
}
|
|
11
|
+
getBoolean(name) {
|
|
12
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
13
|
+
if (!storedValue) {
|
|
14
|
+
(0, sdk_js_1.assertEx)(typeof this.defaults[name] === 'boolean', 'Default value is not boolean');
|
|
15
|
+
const defaultValue = this.defaults[name];
|
|
16
|
+
(0, sdk_js_1.assertEx)(defaultValue !== undefined, `Missing Default for ${name}`);
|
|
17
|
+
return defaultValue;
|
|
18
|
+
}
|
|
19
|
+
return storedValue !== 'false';
|
|
20
|
+
}
|
|
21
|
+
setBoolean(name, value) {
|
|
22
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
23
|
+
}
|
|
24
|
+
setNumber(name, value) {
|
|
25
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
26
|
+
}
|
|
27
|
+
getNumber(name) {
|
|
28
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
29
|
+
if (!storedValue) {
|
|
30
|
+
(0, sdk_js_1.assertEx)(typeof this.defaults[name] === 'boolean', 'Default value is not boolean');
|
|
31
|
+
const defaultValue = this.defaults[name];
|
|
32
|
+
(0, sdk_js_1.assertEx)(defaultValue !== undefined, `Missing Default for ${name}`);
|
|
33
|
+
return defaultValue;
|
|
34
|
+
}
|
|
35
|
+
return parseFloat(storedValue);
|
|
36
|
+
}
|
|
37
|
+
getString(name) {
|
|
38
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
39
|
+
if (!storedValue) {
|
|
40
|
+
(0, react_shared_1.assertDefinedEx)(typeof this.defaults[name] === 'string', 'Default value is not string');
|
|
41
|
+
const defaultValue = this.defaults[name];
|
|
42
|
+
(0, sdk_js_1.assertEx)(defaultValue !== undefined, `Missing Default for ${name}`);
|
|
43
|
+
return defaultValue;
|
|
44
|
+
}
|
|
45
|
+
return storedValue;
|
|
46
|
+
}
|
|
47
|
+
setString(name, value) {
|
|
48
|
+
localStorage.setItem(`${this.prefix}|${name}`, value);
|
|
49
|
+
}
|
|
50
|
+
getStringArray(name) {
|
|
51
|
+
var _a;
|
|
52
|
+
const storedValue = (_a = localStorage.getItem(`${this.prefix}|${name}`)) === null || _a === void 0 ? void 0 : _a.split(',');
|
|
53
|
+
if (!storedValue) {
|
|
54
|
+
(0, react_shared_1.assertDefinedEx)(Array.isArray(this.defaults[name]), 'Default value is not array');
|
|
55
|
+
const defaultValue = this.defaults[name];
|
|
56
|
+
(0, sdk_js_1.assertEx)(defaultValue !== undefined, `Missing Default for ${name}`);
|
|
57
|
+
return defaultValue;
|
|
58
|
+
}
|
|
59
|
+
return storedValue;
|
|
60
|
+
}
|
|
61
|
+
setStringArray(name, value) {
|
|
62
|
+
localStorage.setItem(`${this.prefix}|${name}`, value.join(','));
|
|
63
|
+
}
|
|
64
|
+
getObject(name) {
|
|
65
|
+
const storedValue = localStorage.getItem(`${this.prefix}|${name}`);
|
|
66
|
+
const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null;
|
|
67
|
+
if (!parsedStoredValue) {
|
|
68
|
+
(0, sdk_js_1.assertEx)(typeof this.defaults[name] === 'object', 'Default value is not object');
|
|
69
|
+
return (0, sdk_js_1.assertEx)(this.defaults[name], `Missing Default for ${name}`);
|
|
70
|
+
}
|
|
71
|
+
return parsedStoredValue;
|
|
72
|
+
}
|
|
73
|
+
setObject(name, value) {
|
|
74
|
+
localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.AppSettingsStorageBase = AppSettingsStorageBase;
|
|
78
|
+
//# sourceMappingURL=StorageBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageBase.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/StorageBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const appSettingDefault: () => Record<string, unknown>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appSettingDefault = void 0;
|
|
4
|
+
const Slug_1 = require("./Slug");
|
|
5
|
+
const appSettingDefault = () => {
|
|
6
|
+
return {
|
|
7
|
+
[Slug_1.AppSettingSlug.DarkMode]: false,
|
|
8
|
+
[Slug_1.AppSettingSlug.Developer]: false,
|
|
9
|
+
[Slug_1.AppSettingSlug.NavigationType]: 'menu',
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
exports.appSettingDefault = appSettingDefault;
|
|
13
|
+
//# sourceMappingURL=appSettingDefault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appSettingDefault.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/appSettingDefault.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAEhC,MAAM,iBAAiB,GAAG,GAA4B,EAAE;IAC7D,OAAO;QACL,CAAC,qBAAc,CAAC,QAAQ,CAAC,EAAE,KAAK;QAChC,CAAC,qBAAc,CAAC,SAAS,CAAC,EAAE,KAAK;QACjC,CAAC,qBAAc,CAAC,cAAc,CAAC,EAAE,MAAM;KACxC,CAAA;AACH,CAAC,CAAA;AANY,QAAA,iBAAiB,qBAM7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./Context"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./Provider"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./Slug"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./Storage"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./StorageBase"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./useAppSettings"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,iDAAsB;AACtB,oDAAyB;AACzB,wDAA6B;AAC7B,2DAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useAppSettings: () => import("./Context").AppSettingsContextProps;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAppSettings = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const Context_1 = require("./Context");
|
|
6
|
+
const useAppSettings = () => {
|
|
7
|
+
return (0, react_1.useContext)(Context_1.AppSettingsContext);
|
|
8
|
+
};
|
|
9
|
+
exports.useAppSettings = useAppSettings;
|
|
10
|
+
//# sourceMappingURL=useAppSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppSettings.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/useAppSettings.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAElC,uCAA8C;AAEvC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,IAAA,kBAAU,EAAC,4BAAkB,CAAC,CAAA;AACvC,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppSettings';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./components"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./contexts"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./WebAppNavigationType"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,qDAA0B;AAC1B,iEAAsC"}
|
package/package.json
CHANGED
|
@@ -14,25 +14,17 @@
|
|
|
14
14
|
"@emotion/styled": "^11.9.3",
|
|
15
15
|
"@mui/icons-material": "^5.8.4",
|
|
16
16
|
"@mui/material": "^5.9.0",
|
|
17
|
-
"@xylabs/react-button": "^2.14.6",
|
|
18
|
-
"@xylabs/react-flexbox": "^2.14.6",
|
|
19
|
-
"@xylabs/react-pixel": "^2.14.6",
|
|
20
17
|
"@xylabs/react-shared": "^2.14.6",
|
|
21
18
|
"@xylabs/sdk-js": "^2.5.9",
|
|
22
|
-
"@xyo-network/react-shared": "^2.26.
|
|
19
|
+
"@xyo-network/react-shared": "^2.26.17",
|
|
23
20
|
"react": "^18.2.0",
|
|
24
|
-
"react-dom": "^18.2.0",
|
|
25
|
-
"react-helmet": "^6.1.0",
|
|
26
|
-
"react-router-dom": "^6.3.0",
|
|
27
21
|
"tslib": "^2.4.0"
|
|
28
22
|
},
|
|
29
23
|
"description": "Common React library for all XYO projects that use React",
|
|
30
24
|
"devDependencies": {
|
|
31
25
|
"@babel/core": "^7.18.6",
|
|
32
26
|
"@babel/preset-env": "^7.18.6",
|
|
33
|
-
"@xylabs/tsconfig": "^1.0.14"
|
|
34
|
-
"@xyo-network/react-appbar": "^2.26.14",
|
|
35
|
-
"@xyo-network/react-footer": "^2.26.14"
|
|
27
|
+
"@xylabs/tsconfig": "^1.0.14"
|
|
36
28
|
},
|
|
37
29
|
"browser": "dist/esm/index.js",
|
|
38
30
|
"docs": "dist/docs.json",
|
|
@@ -83,6 +75,6 @@
|
|
|
83
75
|
},
|
|
84
76
|
"sideEffects": false,
|
|
85
77
|
"types": "dist/esm/index.d.ts",
|
|
86
|
-
"version": "2.26.
|
|
78
|
+
"version": "2.26.17",
|
|
87
79
|
"packageManager": "yarn@3.1.1"
|
|
88
80
|
}
|