@xyo-network/react-shared 2.25.62 → 2.25.63

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.
Files changed (64) hide show
  1. package/dist/cjs/WebAppNavigationType.d.ts +1 -0
  2. package/dist/cjs/WebAppNavigationType.js +3 -0
  3. package/dist/cjs/WebAppNavigationType.js.map +1 -0
  4. package/dist/cjs/components/TableCell/EllipsisTableCell.js +6 -5
  5. package/dist/cjs/components/TableCell/EllipsisTableCell.js.map +1 -1
  6. package/dist/cjs/components/TableCell/getSmallestParentWidth.js +3 -3
  7. package/dist/cjs/components/TableCell/getSmallestParentWidth.js.map +1 -1
  8. package/dist/cjs/components/index.d.ts +0 -1
  9. package/dist/cjs/components/index.js +0 -1
  10. package/dist/cjs/components/index.js.map +1 -1
  11. package/dist/cjs/contexts/AppSettings/Context.d.ts +3 -0
  12. package/dist/cjs/contexts/AppSettings/Context.js.map +1 -1
  13. package/dist/cjs/contexts/AppSettings/Provider.d.ts +1 -1
  14. package/dist/cjs/contexts/AppSettings/Provider.js +9 -2
  15. package/dist/cjs/contexts/AppSettings/Provider.js.map +1 -1
  16. package/dist/cjs/contexts/AppSettings/Slug.d.ts +2 -1
  17. package/dist/cjs/contexts/AppSettings/Slug.js +1 -0
  18. package/dist/cjs/contexts/AppSettings/Slug.js.map +1 -1
  19. package/dist/cjs/contexts/AppSettings/Storage.d.ts +3 -0
  20. package/dist/cjs/contexts/AppSettings/Storage.js +6 -0
  21. package/dist/cjs/contexts/AppSettings/Storage.js.map +1 -1
  22. package/dist/cjs/contexts/AppSettings/appSettingDefault.js +1 -0
  23. package/dist/cjs/contexts/AppSettings/appSettingDefault.js.map +1 -1
  24. package/dist/cjs/contexts/index.d.ts +0 -1
  25. package/dist/cjs/contexts/index.js +0 -1
  26. package/dist/cjs/contexts/index.js.map +1 -1
  27. package/dist/cjs/hooks/GradientStyles/GradientStyles.js.map +1 -1
  28. package/dist/esm/WebAppNavigationType.d.ts +1 -0
  29. package/dist/esm/WebAppNavigationType.js +2 -0
  30. package/dist/esm/WebAppNavigationType.js.map +1 -0
  31. package/dist/esm/components/index.d.ts +0 -1
  32. package/dist/esm/components/index.js +0 -1
  33. package/dist/esm/components/index.js.map +1 -1
  34. package/dist/esm/contexts/AppSettings/Context.d.ts +3 -0
  35. package/dist/esm/contexts/AppSettings/Context.js.map +1 -1
  36. package/dist/esm/contexts/AppSettings/Provider.d.ts +1 -1
  37. package/dist/esm/contexts/AppSettings/Provider.js +7 -0
  38. package/dist/esm/contexts/AppSettings/Provider.js.map +1 -1
  39. package/dist/esm/contexts/AppSettings/Slug.d.ts +2 -1
  40. package/dist/esm/contexts/AppSettings/Slug.js +1 -0
  41. package/dist/esm/contexts/AppSettings/Slug.js.map +1 -1
  42. package/dist/esm/contexts/AppSettings/Storage.d.ts +3 -0
  43. package/dist/esm/contexts/AppSettings/Storage.js +6 -0
  44. package/dist/esm/contexts/AppSettings/Storage.js.map +1 -1
  45. package/dist/esm/contexts/AppSettings/WebAppNavigationType.d.ts +1 -0
  46. package/dist/esm/contexts/AppSettings/WebAppNavigationType.js +2 -0
  47. package/dist/esm/contexts/AppSettings/WebAppNavigationType.js.map +1 -0
  48. package/dist/esm/contexts/AppSettings/appSettingDefault.js +1 -0
  49. package/dist/esm/contexts/AppSettings/appSettingDefault.js.map +1 -1
  50. package/dist/esm/contexts/index.d.ts +0 -1
  51. package/dist/esm/contexts/index.js +0 -1
  52. package/dist/esm/contexts/index.js.map +1 -1
  53. package/package.json +10 -10
  54. package/src/components/index.ts +0 -1
  55. package/src/contexts/index.ts +0 -1
  56. package/src/components/DarkModeIconButton.tsx +0 -19
  57. package/src/contexts/AppSettings/Context.ts +0 -12
  58. package/src/contexts/AppSettings/Provider.tsx +0 -40
  59. package/src/contexts/AppSettings/Slug.ts +0 -4
  60. package/src/contexts/AppSettings/Storage.ts +0 -25
  61. package/src/contexts/AppSettings/StorageBase.ts +0 -86
  62. package/src/contexts/AppSettings/appSettingDefault.ts +0 -8
  63. package/src/contexts/AppSettings/index.ts +0 -6
  64. package/src/contexts/AppSettings/useAppSettings.ts +0 -7
@@ -0,0 +1 @@
1
+ export declare type WebAppNavigationType = 'menu' | 'sidebar';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WebAppNavigationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../src/WebAppNavigationType.ts"],"names":[],"mappings":""}
@@ -15,10 +15,11 @@ const TableCellValue = (_a) => {
15
15
  };
16
16
  const EllipsisTableCell = (_a) => {
17
17
  var { value, to, href } = _a, props = tslib_1.__rest(_a, ["value", "to", "href"]);
18
- const [hashCellWidth, setHashCellWidth] = (0, react_1.useState)(0);
18
+ const [calcCellWidth, setCalcCellWidth] = (0, react_1.useState)(0);
19
19
  const hashDivRef = (0, react_1.useRef)(null);
20
20
  const theme = (0, material_1.useTheme)();
21
- const spacing = parseInt(theme.spacing(2).substring(-2));
21
+ // We calulate the spacing since we know that table rows use padding.
22
+ const spacing = parseInt(theme.spacing(4).substring(-2));
22
23
  (0, react_1.useEffect)(() => {
23
24
  var _a;
24
25
  const currentElement = (_a = hashDivRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;
@@ -28,7 +29,7 @@ const EllipsisTableCell = (_a) => {
28
29
  const smallestParentWidth = (0, getSmallestParentWidth_1.getSmallestParentWidth)(cell);
29
30
  if (smallestParentWidth && row) {
30
31
  const remainderWidth = smallestParentWidth - (0, getRemainingRowWidth_1.getRemainingRowWidth)(row) - spacing;
31
- setHashCellWidth(remainderWidth);
32
+ setCalcCellWidth(remainderWidth);
32
33
  }
33
34
  };
34
35
  const onResize = () => {
@@ -46,11 +47,11 @@ const EllipsisTableCell = (_a) => {
46
47
  }, [hashDivRef, spacing]);
47
48
  return ((0, jsx_runtime_1.jsx)(material_1.TableCell, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ ref: hashDivRef, style: {
48
49
  display: 'block',
49
- maxWidth: hashCellWidth,
50
+ maxWidth: calcCellWidth,
50
51
  overflow: 'hidden',
51
52
  textOverflow: 'ellipsis',
52
53
  whiteSpace: 'nowrap',
53
- } }, { children: href || to ? ((0, jsx_runtime_1.jsx)(react_common_1.LinkEx, Object.assign({ to: to, href: href, target: href ? '_blank' : undefined }, { children: (0, jsx_runtime_1.jsx)(TableCellValue, { value: value, hashCellWidth: hashCellWidth }) }))) : ((0, jsx_runtime_1.jsx)(TableCellValue, { value: value, hashCellWidth: hashCellWidth })) })) })));
54
+ } }, { children: href || to ? ((0, jsx_runtime_1.jsx)(react_common_1.LinkEx, Object.assign({ to: to, href: href, target: href ? '_blank' : undefined }, { children: (0, jsx_runtime_1.jsx)(TableCellValue, { value: value, hashCellWidth: calcCellWidth }) }))) : ((0, jsx_runtime_1.jsx)(TableCellValue, { value: value, hashCellWidth: calcCellWidth })) })) })));
54
55
  };
55
56
  exports.EllipsisTableCell = EllipsisTableCell;
56
57
  //# sourceMappingURL=EllipsisTableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EllipsisTableCell.js","sourceRoot":"","sources":["../../../../src/components/TableCell/EllipsisTableCell.tsx"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSmallestParentWidth = void 0;
4
4
  const getSmallestParentWidth = (element, maxDepth = 4) => {
5
- var _a, _b, _c;
5
+ var _a;
6
6
  let currentElement = element === null || element === void 0 ? void 0 : element.parentElement;
7
7
  let width = (_a = currentElement === null || currentElement === void 0 ? void 0 : currentElement.clientWidth) !== null && _a !== void 0 ? _a : screen.width;
8
8
  let maxDepthCounter = maxDepth;
9
9
  while (currentElement && maxDepthCounter > 0) {
10
- if (width > ((_b = currentElement.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b['width'])) {
11
- width = (_c = currentElement.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c['width'];
10
+ if (width > currentElement.clientWidth) {
11
+ width = currentElement.clientWidth;
12
12
  }
13
13
  currentElement = currentElement.parentElement;
14
14
  maxDepthCounter--;
@@ -1 +1 @@
1
- {"version":3,"file":"getSmallestParentWidth.js","sourceRoot":"","sources":["../../../../src/components/TableCell/getSmallestParentWidth.ts"],"names":[],"mappings":";;;AAAO,MAAM,sBAAsB,GAAG,CAAC,OAAoB,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE;;IAC3E,IAAI,cAAc,GAAuB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;IAC/D,IAAI,KAAK,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,MAAM,CAAC,KAAK,CAAA;IACvD,IAAI,eAAe,GAAG,QAAQ,CAAA;IAC9B,OAAO,cAAc,IAAI,eAAe,GAAG,CAAC,EAAE;QAC5C,IAAI,KAAK,IAAG,MAAA,cAAc,CAAC,qBAAqB,EAAE,0CAAG,OAAO,CAAC,CAAA,EAAE;YAC7D,KAAK,GAAG,MAAA,cAAc,CAAC,qBAAqB,EAAE,0CAAG,OAAO,CAAC,CAAA;SAC1D;QACD,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;QAC7C,eAAe,EAAE,CAAA;KAClB;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAZY,QAAA,sBAAsB,0BAYlC"}
1
+ {"version":3,"file":"getSmallestParentWidth.js","sourceRoot":"","sources":["../../../../src/components/TableCell/getSmallestParentWidth.ts"],"names":[],"mappings":";;;AAAO,MAAM,sBAAsB,GAAG,CAAC,OAAoB,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE;;IAC3E,IAAI,cAAc,GAAuB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;IAC/D,IAAI,KAAK,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,MAAM,CAAC,KAAK,CAAA;IACvD,IAAI,eAAe,GAAG,QAAQ,CAAA;IAC9B,OAAO,cAAc,IAAI,eAAe,GAAG,CAAC,EAAE;QAC5C,IAAI,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE;YACtC,KAAK,GAAG,cAAc,CAAC,WAAW,CAAA;SACnC;QACD,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;QAC7C,eAAe,EAAE,CAAA;KAClB;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAZY,QAAA,sBAAsB,0BAYlC"}
@@ -1,6 +1,5 @@
1
1
  export * from './Ampersand';
2
2
  export * from './BasicHero';
3
- export * from './DarkModeIconButton';
4
3
  export * from './ErrorBoundry';
5
4
  export * from './FullWidthCard';
6
5
  export * from './JsonRouteWrapper';
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./Ampersand"), exports);
5
5
  tslib_1.__exportStar(require("./BasicHero"), exports);
6
- tslib_1.__exportStar(require("./DarkModeIconButton"), exports);
7
6
  tslib_1.__exportStar(require("./ErrorBoundry"), exports);
8
7
  tslib_1.__exportStar(require("./FullWidthCard"), exports);
9
8
  tslib_1.__exportStar(require("./JsonRouteWrapper"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,sDAA2B;AAC3B,+DAAoC;AACpC,yDAA8B;AAC9B,0DAA+B;AAC/B,6DAAkC;AAClC,6DAAkC;AAClC,iDAAsB;AACtB,4DAAiC;AACjC,8DAAmC;AACnC,uDAA4B;AAC5B,sDAA2B;AAC3B,yDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,sDAA2B;AAC3B,yDAA8B;AAC9B,0DAA+B;AAC/B,6DAAkC;AAClC,6DAAkC;AAClC,iDAAsB;AACtB,4DAAiC;AACjC,8DAAmC;AACnC,uDAA4B;AAC5B,sDAA2B;AAC3B,yDAA8B"}
@@ -1,8 +1,11 @@
1
1
  /// <reference types="react" />
2
+ import { WebAppNavigationType } from '../../WebAppNavigationType';
2
3
  export interface AppSettingsContextProps {
3
4
  darkMode?: boolean;
4
5
  developerMode?: boolean;
5
6
  enableDarkMode?: (value: boolean) => void;
6
7
  enableDeveloperMode?: (value: boolean) => void;
8
+ changeNavigationType?: (value: WebAppNavigationType) => void;
9
+ navigationType?: WebAppNavigationType;
7
10
  }
8
11
  export declare const AppSettingsContext: import("react").Context<AppSettingsContextProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAErC,2DAAuD;AAS1C,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAA0B,IAAA,qCAAiB,GAAE,CAAC,CAAA"}
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"}
@@ -1,5 +1,5 @@
1
1
  import { WithChildren } from '@xylabs/react-shared';
2
- import React, { ProviderProps } from 'react';
2
+ import { ProviderProps } from 'react';
3
3
  import { AppSettingsContextProps } from './Context';
4
4
  import { AppSettingsStorage } from './Storage';
5
5
  export interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {
@@ -10,6 +10,7 @@ const AppSettingsProvider = (_a) => {
10
10
  var { storage = new Storage_1.AppSettingsStorage(), value, children } = _a, props = tslib_1.__rest(_a, ["storage", "value", "children"]);
11
11
  const [developerMode, setDeveloperMode] = (0, react_1.useState)(storage.developerMode);
12
12
  const [darkMode, setDarkMode] = (0, react_1.useState)(storage.darkMode);
13
+ const [navigationType, setNaviagtionType] = (0, react_1.useState)(storage.navigationType);
13
14
  const enableDeveloperMode = (value) => {
14
15
  storage.developerMode = value;
15
16
  setDeveloperMode(storage.developerMode);
@@ -18,10 +19,16 @@ const AppSettingsProvider = (_a) => {
18
19
  storage.darkMode = value;
19
20
  setDarkMode(storage.darkMode);
20
21
  };
21
- return ((0, jsx_runtime_1.jsx)(Context_1.AppSettingsContext.Provider, Object.assign({ value: Object.assign({ darkMode,
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,
22
28
  developerMode,
23
29
  enableDarkMode,
24
- enableDeveloperMode }, value) }, props, { children: children })));
30
+ enableDeveloperMode,
31
+ navigationType }, value) }, props, { children: children })));
25
32
  };
26
33
  exports.AppSettingsProvider = AppSettingsProvider;
27
34
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Provider.tsx"],"names":[],"mappings":";;;;;AACA,iCAAsD;AAEtD,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;IAE1D,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,OAAO,CACL,uBAAC,4BAAkB,CAAC,QAAQ,kBAC1B,KAAK,kBACH,QAAQ;YACR,aAAa;YACb,cAAc;YACd,mBAAmB,IAEhB,KAAK,KAEN,KAAK,cAER,QAAQ,IACmB,CAC/B,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,mBAAmB,uBA6B/B"}
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"}
@@ -1,4 +1,5 @@
1
1
  export declare enum AppSettingSlug {
2
2
  DarkMode = "darkmode",
3
- Developer = "developer"
3
+ Developer = "developer",
4
+ NavigationType = "navgiationType"
4
5
  }
@@ -5,5 +5,6 @@ var AppSettingSlug;
5
5
  (function (AppSettingSlug) {
6
6
  AppSettingSlug["DarkMode"] = "darkmode";
7
7
  AppSettingSlug["Developer"] = "developer";
8
+ AppSettingSlug["NavigationType"] = "navgiationType";
8
9
  })(AppSettingSlug = exports.AppSettingSlug || (exports.AppSettingSlug = {}));
9
10
  //# sourceMappingURL=Slug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slug.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Slug.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;AACzB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB"}
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"}
@@ -1,3 +1,4 @@
1
+ import { WebAppNavigationType } from '../../WebAppNavigationType';
1
2
  import { AppSettingsStorageBase } from './StorageBase';
2
3
  export declare class AppSettingsStorage extends AppSettingsStorageBase {
3
4
  constructor(prefix?: string, defaults?: Record<string, unknown>);
@@ -5,4 +6,6 @@ export declare class AppSettingsStorage extends AppSettingsStorageBase {
5
6
  set darkMode(value: boolean);
6
7
  get developerMode(): boolean;
7
8
  set developerMode(value: boolean);
9
+ get navigationType(): WebAppNavigationType;
10
+ set navigationType(value: WebAppNavigationType);
8
11
  }
@@ -20,6 +20,12 @@ class AppSettingsStorage extends StorageBase_1.AppSettingsStorageBase {
20
20
  set developerMode(value) {
21
21
  this.setBoolean(Slug_1.AppSettingSlug.Developer, value);
22
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
+ }
23
29
  }
24
30
  exports.AppSettingsStorage = AppSettingsStorage;
25
31
  //# sourceMappingURL=Storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":";;;AAAA,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;CACF;AApBD,gDAoBC"}
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"}
@@ -6,6 +6,7 @@ const appSettingDefault = () => {
6
6
  return {
7
7
  [Slug_1.AppSettingSlug.DarkMode]: false,
8
8
  [Slug_1.AppSettingSlug.Developer]: false,
9
+ [Slug_1.AppSettingSlug.NavigationType]: 'menu',
9
10
  };
10
11
  };
11
12
  exports.appSettingDefault = appSettingDefault;
@@ -1 +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;KAClC,CAAA;AACH,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B"}
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"}
@@ -1,3 +1,2 @@
1
- export * from './AppSettings';
2
1
  export * from './contextEx';
3
2
  export * from './Pixel';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./AppSettings"), exports);
5
4
  tslib_1.__exportStar(require("./contextEx"), exports);
6
5
  tslib_1.__exportStar(require("./Pixel"), exports);
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B;AAC7B,sDAA2B;AAC3B,kDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,kDAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GradientStyles.js","sourceRoot":"","sources":["../../../../src/hooks/GradientStyles/GradientStyles.tsx"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,wCAAsD;AAS/C,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,OAAO;QACL,UAAU,EAAE;YACV,eAAe,EAAE,qEAAqE;SACvF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qEAAqE;YAClF,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,qEAAqE;YACxF,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE;YACP,oBAAoB,EAAE,MAAM;YAC5B,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,qEAAqE;YACjF,OAAO,EAAE,cAAc;SACxB;KACF,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,yBAAyB,6BAoBrC;AAEM,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,UAAU,EAAE;YACV,eAAe,EAAE,qEAAqE;SACvF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qEAAqE;YAClF,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,qEAAqE;YACxF,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE;YACP,oBAAoB,EAAE,MAAM;YAC5B,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,qEAAqE;YACjF,OAAO,EAAE,cAAc;SACxB;KACF,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,wBAAwB,4BAoBpC;AAEM,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,gCAAwB,GAAE,CAAC,CAAC,CAAC,IAAA,iCAAyB,GAAE,CAAA;IACvG,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAA;IAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B"}
1
+ {"version":3,"file":"GradientStyles.js","sourceRoot":"","sources":["../../../../src/hooks/GradientStyles/GradientStyles.tsx"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,wCAAwC;AASjC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,OAAO;QACL,UAAU,EAAE;YACV,eAAe,EAAE,qEAAqE;SACvF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qEAAqE;YAClF,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,qEAAqE;YACxF,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE;YACP,oBAAoB,EAAE,MAAM;YAC5B,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,qEAAqE;YACjF,OAAO,EAAE,cAAc;SACxB;KACF,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,yBAAyB,6BAoBrC;AAEM,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,UAAU,EAAE;YACV,eAAe,EAAE,qEAAqE;SACvF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qEAAqE;YAClF,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,qEAAqE;YACxF,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE;YACP,oBAAoB,EAAE,MAAM;YAC5B,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,qEAAqE;YACjF,OAAO,EAAE,cAAc;SACxB;KACF,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,wBAAwB,4BAoBpC;AAEM,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,gCAAwB,GAAE,CAAC,CAAC,CAAC,IAAA,iCAAyB,GAAE,CAAA;IACvG,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAA;IAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC,CAAA;AALY,QAAA,iBAAiB,qBAK7B"}
@@ -0,0 +1 @@
1
+ export declare type WebAppNavigationType = 'menu' | 'sidebar';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebAppNavigationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../src/WebAppNavigationType.ts"],"names":[],"mappings":""}
@@ -1,6 +1,5 @@
1
1
  export * from './Ampersand';
2
2
  export * from './BasicHero';
3
- export * from './DarkModeIconButton';
4
3
  export * from './ErrorBoundry';
5
4
  export * from './FullWidthCard';
6
5
  export * from './JsonRouteWrapper';
@@ -1,6 +1,5 @@
1
1
  export * from './Ampersand';
2
2
  export * from './BasicHero';
3
- export * from './DarkModeIconButton';
4
3
  export * from './ErrorBoundry';
5
4
  export * from './FullWidthCard';
6
5
  export * from './JsonRouteWrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -1,8 +1,11 @@
1
1
  /// <reference types="react" />
2
+ import { WebAppNavigationType } from '../../WebAppNavigationType';
2
3
  export interface AppSettingsContextProps {
3
4
  darkMode?: boolean;
4
5
  developerMode?: boolean;
5
6
  enableDarkMode?: (value: boolean) => void;
6
7
  enableDeveloperMode?: (value: boolean) => void;
8
+ changeNavigationType?: (value: WebAppNavigationType) => void;
9
+ navigationType?: WebAppNavigationType;
7
10
  }
8
11
  export declare const AppSettingsContext: import("react").Context<AppSettingsContextProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AASvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAA0B,iBAAiB,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAA0B,iBAAiB,EAAE,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { WithChildren } from '@xylabs/react-shared';
2
- import React, { ProviderProps } from 'react';
2
+ import { ProviderProps } from 'react';
3
3
  import { AppSettingsContextProps } from './Context';
4
4
  import { AppSettingsStorage } from './Storage';
5
5
  export interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {
@@ -5,6 +5,7 @@ import { AppSettingsStorage } from './Storage';
5
5
  export const AppSettingsProvider = ({ storage = new AppSettingsStorage(), value, children, ...props }) => {
6
6
  const [developerMode, setDeveloperMode] = useState(storage.developerMode);
7
7
  const [darkMode, setDarkMode] = useState(storage.darkMode);
8
+ const [navigationType, setNaviagtionType] = useState(storage.navigationType);
8
9
  const enableDeveloperMode = (value) => {
9
10
  storage.developerMode = value;
10
11
  setDeveloperMode(storage.developerMode);
@@ -13,11 +14,17 @@ export const AppSettingsProvider = ({ storage = new AppSettingsStorage(), value,
13
14
  storage.darkMode = value;
14
15
  setDarkMode(storage.darkMode);
15
16
  };
17
+ const changeNavigationType = (value) => {
18
+ storage.navigationType = value;
19
+ setNaviagtionType(value);
20
+ };
16
21
  return (_jsx(AppSettingsContext.Provider, { value: {
22
+ changeNavigationType,
17
23
  darkMode,
18
24
  developerMode,
19
25
  enableDarkMode,
20
26
  enableDeveloperMode,
27
+ navigationType,
21
28
  ...value,
22
29
  }, ...props, children: children }));
23
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Provider.tsx"],"names":[],"mappings":";AACA,OAAc,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAM9C,MAAM,CAAC,MAAM,mBAAmB,GAAqD,CAAC,EAAE,OAAO,GAAG,IAAI,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACzJ,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE1D,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,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACL,QAAQ;YACR,aAAa;YACb,cAAc;YACd,mBAAmB;YAEnB,GAAG,KAAK;SACT,KACG,KAAK,YAER,QAAQ,GACmB,CAC/B,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG/C,OAAO,EAAE,kBAAkB,EAA2B,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAM9C,MAAM,CAAC,MAAM,mBAAmB,GAAqD,CAAC,EAAE,OAAO,GAAG,IAAI,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACzJ,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,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,KAAC,kBAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACL,oBAAoB;YACpB,QAAQ;YACR,aAAa;YACb,cAAc;YACd,mBAAmB;YACnB,cAAc;YAEd,GAAG,KAAK;SACT,KACG,KAAK,YAER,QAAQ,GACmB,CAC/B,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export declare enum AppSettingSlug {
2
2
  DarkMode = "darkmode",
3
- Developer = "developer"
3
+ Developer = "developer",
4
+ NavigationType = "navgiationType"
4
5
  }
@@ -2,5 +2,6 @@ export var AppSettingSlug;
2
2
  (function (AppSettingSlug) {
3
3
  AppSettingSlug["DarkMode"] = "darkmode";
4
4
  AppSettingSlug["Developer"] = "developer";
5
+ AppSettingSlug["NavigationType"] = "navgiationType";
5
6
  })(AppSettingSlug || (AppSettingSlug = {}));
6
7
  //# sourceMappingURL=Slug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slug.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Slug.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;AACzB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
1
+ {"version":3,"file":"Slug.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Slug.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,mDAAiC,CAAA;AACnC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -1,3 +1,4 @@
1
+ import { WebAppNavigationType } from '../../WebAppNavigationType';
1
2
  import { AppSettingsStorageBase } from './StorageBase';
2
3
  export declare class AppSettingsStorage extends AppSettingsStorageBase {
3
4
  constructor(prefix?: string, defaults?: Record<string, unknown>);
@@ -5,4 +6,6 @@ export declare class AppSettingsStorage extends AppSettingsStorageBase {
5
6
  set darkMode(value: boolean);
6
7
  get developerMode(): boolean;
7
8
  set developerMode(value: boolean);
9
+ get navigationType(): WebAppNavigationType;
10
+ set navigationType(value: WebAppNavigationType);
8
11
  }
@@ -17,5 +17,11 @@ export class AppSettingsStorage extends AppSettingsStorageBase {
17
17
  set developerMode(value) {
18
18
  this.setBoolean(AppSettingSlug.Developer, value);
19
19
  }
20
+ get navigationType() {
21
+ return this.getString(AppSettingSlug.NavigationType);
22
+ }
23
+ set navigationType(value) {
24
+ this.setString(AppSettingSlug.NavigationType, value);
25
+ }
20
26
  }
21
27
  //# sourceMappingURL=Storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAC5D,YAAY,MAAM,GAAG,aAAa,EAAE,QAAkC;QACpE,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/Storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAC5D,YAAY,MAAM,GAAG,aAAa,EAAE,QAAkC;QACpE,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAyB,CAAA;IAC9E,CAAC;IAED,IAAI,cAAc,CAAC,KAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export declare type WebAppNavigationType = 'menu' | 'sidebar';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebAppNavigationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAppNavigationType.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/WebAppNavigationType.ts"],"names":[],"mappings":""}
@@ -3,6 +3,7 @@ export const appSettingDefault = () => {
3
3
  return {
4
4
  [AppSettingSlug.DarkMode]: false,
5
5
  [AppSettingSlug.Developer]: false,
6
+ [AppSettingSlug.NavigationType]: 'menu',
6
7
  };
7
8
  };
8
9
  //# sourceMappingURL=appSettingDefault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appSettingDefault.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/appSettingDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAA4B,EAAE;IAC7D,OAAO;QACL,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK;QAChC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK;KAClC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"appSettingDefault.js","sourceRoot":"","sources":["../../../../src/contexts/AppSettings/appSettingDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAA4B,EAAE;IAC7D,OAAO;QACL,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK;QAChC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK;QACjC,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM;KACxC,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- export * from './AppSettings';
2
1
  export * from './contextEx';
3
2
  export * from './Pixel';
@@ -1,4 +1,3 @@
1
- export * from './AppSettings';
2
1
  export * from './contextEx';
3
2
  export * from './Pixel';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -12,20 +12,20 @@
12
12
  "dependencies": {
13
13
  "@emotion/react": "^11.9.3",
14
14
  "@emotion/styled": "^11.9.3",
15
- "@mui/icons-material": "^5.8.3",
16
- "@mui/material": "^5.8.3",
17
- "@mui/styles": "^5.8.3",
15
+ "@mui/icons-material": "^5.8.4",
16
+ "@mui/material": "^5.8.4",
17
+ "@mui/styles": "^5.8.4",
18
18
  "@xylabs/pixel": "^1.3.9",
19
- "@xylabs/react-button": "^2.12.24",
20
- "@xylabs/react-common": "^2.12.24",
21
- "@xylabs/react-flexbox": "^2.12.24",
22
- "@xylabs/react-shared": "^2.12.24",
19
+ "@xylabs/react-button": "^2.12.25",
20
+ "@xylabs/react-common": "^2.12.25",
21
+ "@xylabs/react-flexbox": "^2.12.25",
22
+ "@xylabs/react-shared": "^2.12.25",
23
23
  "@xylabs/sdk-js": "^2.5.7",
24
24
  "@xyo-network/api": "^2.20.45",
25
25
  "@xyo-network/network": "^2.20.45",
26
26
  "axios": "^0.27.2",
27
- "react": "^18.1.0",
28
- "react-dom": "^18.1.0",
27
+ "react": "^18.2.0",
28
+ "react-dom": "^18.2.0",
29
29
  "react-json-view": "^1.21.3",
30
30
  "react-router-dom": "^6.3.0",
31
31
  "tslib": "^2.4.0"
@@ -88,6 +88,6 @@
88
88
  },
89
89
  "sideEffects": false,
90
90
  "types": "dist/esm/index.d.ts",
91
- "version": "2.25.62",
91
+ "version": "2.25.63",
92
92
  "packageManager": "yarn@3.1.1"
93
93
  }
@@ -1,6 +1,5 @@
1
1
  export * from './Ampersand'
2
2
  export * from './BasicHero'
3
- export * from './DarkModeIconButton'
4
3
  export * from './ErrorBoundry'
5
4
  export * from './FullWidthCard'
6
5
  export * from './JsonRouteWrapper'
@@ -1,3 +1,2 @@
1
- export * from './AppSettings'
2
1
  export * from './contextEx'
3
2
  export * from './Pixel'
@@ -1,19 +0,0 @@
1
- import DarkModeRoundedIcon from '@mui/icons-material/DarkModeRounded'
2
- import LightModeRoundedIcon from '@mui/icons-material/LightModeRounded'
3
- import { IconButton, IconButtonProps } from '@mui/material'
4
-
5
- import { useAppSettings } from '../contexts'
6
-
7
- export const DarkModeIconButton: React.FC<IconButtonProps> = (props) => {
8
- const { darkMode, enableDarkMode } = useAppSettings()
9
-
10
- const handleDarkModeChange = () => {
11
- enableDarkMode?.(!darkMode)
12
- }
13
-
14
- return (
15
- <IconButton onClick={handleDarkModeChange} {...props}>
16
- {darkMode ? <DarkModeRoundedIcon /> : <LightModeRoundedIcon />}
17
- </IconButton>
18
- )
19
- }
@@ -1,12 +0,0 @@
1
- import { createContext } from 'react'
2
-
3
- import { appSettingDefault } from './appSettingDefault'
4
-
5
- export interface AppSettingsContextProps {
6
- darkMode?: boolean
7
- developerMode?: boolean
8
- enableDarkMode?: (value: boolean) => void
9
- enableDeveloperMode?: (value: boolean) => void
10
- }
11
-
12
- export const AppSettingsContext = createContext<AppSettingsContextProps>(appSettingDefault())
@@ -1,40 +0,0 @@
1
- import { WithChildren } from '@xylabs/react-shared'
2
- import React, { ProviderProps, useState } from 'react'
3
-
4
- import { AppSettingsContext, AppSettingsContextProps } from './Context'
5
- import { AppSettingsStorage } from './Storage'
6
-
7
- export interface AppSettingsProviderProps<T extends AppSettingsContextProps = AppSettingsContextProps> extends ProviderProps<T> {
8
- storage?: AppSettingsStorage
9
- }
10
-
11
- export const AppSettingsProvider: React.FC<WithChildren<AppSettingsProviderProps>> = ({ storage = new AppSettingsStorage(), value, children, ...props }) => {
12
- const [developerMode, setDeveloperMode] = useState(storage.developerMode)
13
- const [darkMode, setDarkMode] = useState(storage.darkMode)
14
-
15
- const enableDeveloperMode = (value: boolean) => {
16
- storage.developerMode = value
17
- setDeveloperMode(storage.developerMode)
18
- }
19
-
20
- const enableDarkMode = (value: boolean) => {
21
- storage.darkMode = value
22
- setDarkMode(storage.darkMode)
23
- }
24
-
25
- return (
26
- <AppSettingsContext.Provider
27
- value={{
28
- darkMode,
29
- developerMode,
30
- enableDarkMode,
31
- enableDeveloperMode,
32
-
33
- ...value,
34
- }}
35
- {...props}
36
- >
37
- {children}
38
- </AppSettingsContext.Provider>
39
- )
40
- }
@@ -1,4 +0,0 @@
1
- export enum AppSettingSlug {
2
- DarkMode = 'darkmode',
3
- Developer = 'developer',
4
- }
@@ -1,25 +0,0 @@
1
- import { appSettingDefault } from './appSettingDefault'
2
- import { AppSettingSlug } from './Slug'
3
- import { AppSettingsStorageBase } from './StorageBase'
4
-
5
- export class AppSettingsStorage extends AppSettingsStorageBase {
6
- constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {
7
- super(prefix, { ...appSettingDefault(), ...defaults })
8
- }
9
-
10
- get darkMode() {
11
- return this.getBoolean(AppSettingSlug.DarkMode)
12
- }
13
-
14
- set darkMode(value: boolean) {
15
- this.setBoolean(AppSettingSlug.DarkMode, value)
16
- }
17
-
18
- get developerMode() {
19
- return this.getBoolean(AppSettingSlug.Developer)
20
- }
21
-
22
- set developerMode(value: boolean) {
23
- this.setBoolean(AppSettingSlug.Developer, value)
24
- }
25
- }
@@ -1,86 +0,0 @@
1
- import { assertEx } from '@xylabs/sdk-js'
2
-
3
- import { assertDefinedEx } from '../../lib'
4
-
5
- export class AppSettingsStorageBase {
6
- private prefix: string
7
- private defaults: Record<string, unknown>
8
- constructor(prefix = 'AppSettings', defaults?: Record<string, unknown>) {
9
- this.prefix = prefix
10
- this.defaults = defaults ?? {}
11
- }
12
-
13
- public getBoolean(name: string): boolean {
14
- const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
15
- if (!storedValue) {
16
- assertEx(typeof this.defaults[name] === 'boolean', 'Default value is not boolean')
17
- const defaultValue = this.defaults[name] as boolean
18
- assertEx(defaultValue !== undefined, `Missing Default for ${name}`)
19
- return defaultValue
20
- }
21
- return storedValue !== 'false'
22
- }
23
-
24
- public setBoolean(name: string, value: boolean) {
25
- localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
26
- }
27
-
28
- public setNumber(name: string, value: number) {
29
- localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
30
- }
31
-
32
- public getNumber(name: string): number {
33
- const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
34
- if (!storedValue) {
35
- assertEx(typeof this.defaults[name] === 'boolean', 'Default value is not boolean')
36
- const defaultValue = this.defaults[name] as number
37
- assertEx(defaultValue !== undefined, `Missing Default for ${name}`)
38
- return defaultValue
39
- }
40
- return parseFloat(storedValue)
41
- }
42
-
43
- public getString(name: string) {
44
- const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
45
- if (!storedValue) {
46
- assertDefinedEx(typeof this.defaults[name] === 'string', 'Default value is not string')
47
- const defaultValue = this.defaults[name] as string
48
- assertEx(defaultValue !== undefined, `Missing Default for ${name}`)
49
- return defaultValue
50
- }
51
- return storedValue
52
- }
53
-
54
- public setString(name: string, value: string) {
55
- localStorage.setItem(`${this.prefix}|${name}`, value)
56
- }
57
-
58
- public getStringArray(name: string) {
59
- const storedValue = localStorage.getItem(`${this.prefix}|${name}`)?.split(',')
60
- if (!storedValue) {
61
- assertDefinedEx(Array.isArray(this.defaults[name]), 'Default value is not array')
62
- const defaultValue = this.defaults[name] as string[]
63
- assertEx(defaultValue !== undefined, `Missing Default for ${name}`)
64
- return defaultValue
65
- }
66
- return storedValue
67
- }
68
-
69
- public setStringArray(name: string, value: string[]) {
70
- localStorage.setItem(`${this.prefix}|${name}`, value.join(','))
71
- }
72
-
73
- public getObject<T>(name: string): T {
74
- const storedValue = localStorage.getItem(`${this.prefix}|${name}`)
75
- const parsedStoredValue = storedValue ? JSON.parse(storedValue) : null
76
- if (!parsedStoredValue) {
77
- assertEx(typeof this.defaults[name] === 'object', 'Default value is not object')
78
- return assertEx(this.defaults[name] as T, `Missing Default for ${name}`)
79
- }
80
- return parsedStoredValue as T
81
- }
82
-
83
- public setObject<T>(name: string, value: T) {
84
- localStorage.setItem(`${this.prefix}|${name}`, JSON.stringify(value))
85
- }
86
- }
@@ -1,8 +0,0 @@
1
- import { AppSettingSlug } from './Slug'
2
-
3
- export const appSettingDefault = (): Record<string, unknown> => {
4
- return {
5
- [AppSettingSlug.DarkMode]: false,
6
- [AppSettingSlug.Developer]: false,
7
- }
8
- }
@@ -1,6 +0,0 @@
1
- export * from './Context'
2
- export * from './Provider'
3
- export * from './Slug'
4
- export * from './Storage'
5
- export * from './StorageBase'
6
- export * from './useAppSettings'
@@ -1,7 +0,0 @@
1
- import { useContext } from 'react'
2
-
3
- import { AppSettingsContext } from './Context'
4
-
5
- export const useAppSettings = () => {
6
- return useContext(AppSettingsContext)
7
- }