@xylabs/sdk-react 2.9.19 → 2.9.23

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 (55) hide show
  1. package/dist/cjs5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  2. package/dist/cjs5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  3. package/dist/cjs5/components/InvertableThemeProvider/index.d.ts +2 -4
  4. package/dist/cjs5/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  5. package/dist/cjs5/index.js +39 -4
  6. package/dist/cjs5/index.js.map +1 -1
  7. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  8. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js +20 -4
  9. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js.map +1 -1
  10. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js +1 -1
  11. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js.map +1 -1
  12. package/dist/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  13. package/dist/components/InvertableThemeProvider/index.d.ts +2 -4
  14. package/dist/components/InvertableThemeProvider/index.js +2 -2
  15. package/dist/components/InvertableThemeProvider/index.js.map +1 -1
  16. package/dist/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  17. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  18. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  19. package/dist/esm2015/components/InvertableThemeProvider/index.d.ts +2 -4
  20. package/dist/esm2015/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  21. package/dist/esm2015/index.js +38 -5
  22. package/dist/esm2015/index.js.map +1 -1
  23. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  24. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  25. package/dist/esm2017/components/InvertableThemeProvider/index.d.ts +2 -4
  26. package/dist/esm2017/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  27. package/dist/esm2017/index.js +38 -5
  28. package/dist/esm2017/index.js.map +1 -1
  29. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  30. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  31. package/dist/esm5/components/InvertableThemeProvider/index.d.ts +2 -4
  32. package/dist/esm5/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  33. package/dist/esm5/index.js +38 -5
  34. package/dist/esm5/index.js.map +1 -1
  35. package/dist/hooks/useLocalStorage.js +17 -1
  36. package/dist/hooks/useLocalStorage.js.map +1 -1
  37. package/dist/node/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  38. package/dist/node/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  39. package/dist/node/components/InvertableThemeProvider/index.d.ts +2 -4
  40. package/dist/node/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  41. package/dist/node/index.js +39 -4
  42. package/dist/node/index.js.map +1 -1
  43. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +3 -2
  44. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  45. package/dist/node-esm/components/InvertableThemeProvider/index.d.ts +2 -4
  46. package/dist/node-esm/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  47. package/dist/node-esm/index.js +38 -5
  48. package/dist/node-esm/index.js.map +1 -1
  49. package/package.json +34 -32
  50. package/src/components/InvertableThemeProvider/InvertableThemeProvider.stories.tsx +9 -7
  51. package/src/components/InvertableThemeProvider/InvertableThemeProvider.tsx +23 -6
  52. package/src/components/InvertableThemeProvider/InvertableThemeProviderProps.ts +1 -0
  53. package/src/components/InvertableThemeProvider/index.ts +2 -5
  54. package/src/hooks/useLocalStorage.ts +13 -1
  55. package/xylabs-sdk-react-v2.8.2.tgz +0 -0
@@ -2,10 +2,24 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { responsiveFontSizes, ScopedCssBaseline, ThemeProvider } from '@mui/material';
3
3
  import { createTheme } from '@mui/material/styles';
4
4
  import clone from 'lodash/clone';
5
+ import merge from 'lodash/merge';
5
6
  import { useContext } from 'react';
6
7
  import { InvertableThemeContext } from './InvertableThemeContext';
7
- const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
8
+ export const resolveThemeColors = (theme, options) => {
8
9
  var _a, _b;
10
+ const newTheme = createTheme(options, {
11
+ palette: {
12
+ text: {
13
+ primary: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.getContrastText(theme.palette.primary.main),
14
+ secondary: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.getContrastText(theme.palette.secondary.main),
15
+ },
16
+ },
17
+ });
18
+ return newTheme;
19
+ };
20
+ export const InvertableThemeProvider = ({ options, children, dark, resolve = false, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
21
+ var _a, _b;
22
+ let internalDarkTheme = {};
9
23
  const contextInvertableTheme = useContext(InvertableThemeContext);
10
24
  const clonedOptions = clone((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
11
25
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
@@ -16,13 +30,15 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
16
30
  clonedOptions.palette.mode = dark ? 'dark' : 'light';
17
31
  }
18
32
  if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
19
- clonedOptions.palette = darkTheme.palette;
33
+ internalDarkTheme = darkTheme;
34
+ }
35
+ let theme = createTheme(clonedOptions, internalDarkTheme);
36
+ if (resolve) {
37
+ theme = resolveThemeColors(theme, merge({}, clonedOptions, internalDarkTheme));
20
38
  }
21
- let theme = createTheme(clonedOptions);
22
39
  if (!noResponsiveFonts) {
23
40
  theme = responsiveFontSizes(theme);
24
41
  }
25
42
  return scoped ? (_jsx(ScopedCssBaseline, { children: _jsx(InvertableThemeContext.Provider, Object.assign({ value: { options: clonedOptions } }, { children: _jsx(ThemeProvider, Object.assign({ theme: theme }, { children: children }), void 0) }), void 0) }, void 0)) : (_jsx(InvertableThemeContext.Provider, Object.assign({ value: { options: clonedOptions } }, { children: _jsx(ThemeProvider, Object.assign({ theme: theme }, { children: children }), void 0) }), void 0));
26
43
  };
27
- export { InvertableThemeProvider };
28
44
  //# sourceMappingURL=InvertableThemeProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InvertableThemeProvider.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/InvertableThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,MAAM,uBAAuB,GAA2C,CAAC,EACvE,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,KAAK,EACd,iBAAiB,EACjB,SAAS,GACV,EAAE,EAAE;;IACH,MAAM,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAA,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,sBAAsB,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAA;IAE5E,aAAa,CAAC,OAAO,GAAG,MAAA,aAAa,CAAC,OAAO,mCAAI,EAAE,CAAA;IAEnD,IAAI,MAAM,EAAE;QACV,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;KACtF;IAED,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;KACrD;IAED,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;QAC/D,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;KAC1C;IAED,IAAI,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;IAEtC,IAAI,CAAC,iBAAiB,EAAE;QACtB,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;KACnC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CACd,KAAC,iBAAiB,cAChB,KAAC,sBAAsB,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,gBAChE,KAAC,aAAa,kBAAC,KAAK,EAAE,KAAK,gBAAG,QAAQ,YAAiB,YACvB,WAChB,CACrB,CAAC,CAAC,CAAC,CACF,KAAC,sBAAsB,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,gBAChE,KAAC,aAAa,kBAAC,KAAK,EAAE,KAAK,gBAAG,QAAQ,YAAiB,YACvB,CACnC,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"InvertableThemeProvider.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/InvertableThemeProvider.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const StorybookEntry = {
14
14
  const Template = (args) => (_jsx(InvertableThemeProvider, Object.assign({}, args), void 0));
15
15
  const ThemeEnabledComponent = () => {
16
16
  const theme = useTheme();
17
- return (_jsxs(_Fragment, { children: [_jsx(CssBaseline, {}, void 0), _jsxs(Box, Object.assign({ sx: { backgroundColor: theme.palette.background.default } }, { children: [_jsxs(Typography, Object.assign({ variant: "h3" }, { children: ["marginBottom of ", theme.spacing(4)] }), void 0), _jsxs(Typography, Object.assign({ variant: "h4", color: theme.palette.primary.main }, { children: ["Color: ", theme.palette.primary.main] }), void 0), _jsxs(Typography, Object.assign({ variant: "h4", color: theme.palette.secondary.main }, { children: ["Color: ", theme.palette.secondary.main] }), void 0)] }), void 0)] }, void 0));
17
+ return (_jsxs(_Fragment, { children: [_jsx(CssBaseline, {}, void 0), _jsx(Box, Object.assign({ sx: { backgroundColor: theme.palette.background.default } }, { children: _jsxs(Box, Object.assign({ padding: 3, border: `1px dotted ${theme.palette.divider}` }, { children: [_jsxs(Typography, Object.assign({ variant: "h3" }, { children: ["marginBottom of ", theme.spacing(4)] }), void 0), _jsxs(Typography, Object.assign({ variant: "h4", color: theme.palette.primary.main }, { children: ["Color: ", theme.palette.primary.main] }), void 0), _jsxs(Typography, Object.assign({ variant: "h4", color: theme.palette.secondary.main }, { children: ["Color: ", theme.palette.secondary.main] }), void 0)] }), void 0) }), void 0)] }, void 0));
18
18
  };
19
19
  const Default = Template.bind({});
20
20
  Default.args = {
@@ -1 +1 @@
1
- {"version":3,"file":"InvertableThemeProvider.stories.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/InvertableThemeProvider.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;KACF;IACD,KAAK,EAAE,oCAAoC;CACK,CAAA;AAElD,MAAM,QAAQ,GAAmD,CAAC,IAAI,EAAE,EAAE,CAAC,CACzE,KAAC,uBAAuB,oBAAK,IAAI,UAA4B,CAC9D,CAAA;AAED,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,8BACE,KAAC,WAAW,aAAG,EACf,MAAC,GAAG,kBAAC,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,iBAC5D,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,qCAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAc,EACxE,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,4BAChD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aACvB,EACb,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,4BAClD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,aACzB,aACT,YACL,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjC,OAAO,CAAC,IAAI,GAAG;IACb,QAAQ,EAAE,KAAC,qBAAqB,aAAG;CACpC,CAAA;AAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,gBAAgB,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,KAAC,qBAAqB,aAAG;IACnC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE;QACT,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,SAAS;aACjB;YACD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;aAChB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,SAAS;aACnB;SACF;KACF;CACF,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAA;AAEpC,oDAAoD;AACpD,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"InvertableThemeProvider.stories.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/InvertableThemeProvider.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;KACF;IACD,KAAK,EAAE,oCAAoC;CACK,CAAA;AAElD,MAAM,QAAQ,GAAmD,CAAC,IAAI,EAAE,EAAE,CAAC,CACzE,KAAC,uBAAuB,oBAAK,IAAI,UAA4B,CAC9D,CAAA;AAED,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,8BACE,KAAC,WAAW,aAAG,EACf,KAAC,GAAG,kBAAC,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,gBAC5D,MAAC,GAAG,kBAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,iBAC5D,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,qCAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAc,EACxE,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,4BAChD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aACvB,EACb,MAAC,UAAU,kBAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,4BAClD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,aACzB,aACT,YACF,YACL,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjC,OAAO,CAAC,IAAI,GAAG;IACb,QAAQ,EAAE,KAAC,qBAAqB,aAAG;CACpC,CAAA;AAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,gBAAgB,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,KAAC,qBAAqB,aAAG;IACnC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE;QACT,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,SAAS;aACjB;YACD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;aAChB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,SAAS;aACnB;SACF;KACF;CACF,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAA;AAEpC,oDAAoD;AACpD,eAAe,cAAc,CAAA"}
@@ -6,5 +6,6 @@ interface InvertableThemeProviderProps {
6
6
  noResponsiveFonts?: boolean;
7
7
  options?: ThemeOptions;
8
8
  darkTheme?: ThemeOptions;
9
+ resolve?: boolean;
9
10
  }
10
11
  export type { InvertableThemeProviderProps };
@@ -1,4 +1,2 @@
1
- import { InvertableThemeProvider } from './InvertableThemeProvider';
2
- import { InvertableThemeProviderProps } from './InvertableThemeProviderProps';
3
- export { InvertableThemeProvider };
4
- export type { InvertableThemeProviderProps };
1
+ export * from './InvertableThemeProvider';
2
+ export * from './InvertableThemeProviderProps';
@@ -1,3 +1,3 @@
1
- import { InvertableThemeProvider } from './InvertableThemeProvider';
2
- export { InvertableThemeProvider };
1
+ export * from './InvertableThemeProvider';
2
+ export * from './InvertableThemeProviderProps';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/InvertableThemeProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA"}
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BigNumber } from '@xylabs/sdk-js';
3
2
  import { MouseEventHandler } from 'react';
4
3
  import { ButtonExProps } from '../ButtonEx';
@@ -1,4 +1,5 @@
1
+ import { Theme, ThemeOptions } from '@mui/material/styles';
1
2
  import React from 'react';
2
3
  import { InvertableThemeProviderProps } from './InvertableThemeProviderProps';
3
- declare const InvertableThemeProvider: React.FC<InvertableThemeProviderProps>;
4
- export { InvertableThemeProvider };
4
+ export declare const resolveThemeColors: (theme: Theme, options: ThemeOptions) => Theme;
5
+ export declare const InvertableThemeProvider: React.FC<InvertableThemeProviderProps>;
@@ -6,5 +6,6 @@ interface InvertableThemeProviderProps {
6
6
  noResponsiveFonts?: boolean;
7
7
  options?: ThemeOptions;
8
8
  darkTheme?: ThemeOptions;
9
+ resolve?: boolean;
9
10
  }
10
11
  export type { InvertableThemeProviderProps };
@@ -1,4 +1,2 @@
1
- import { InvertableThemeProvider } from './InvertableThemeProvider';
2
- import { InvertableThemeProviderProps } from './InvertableThemeProviderProps';
3
- export { InvertableThemeProvider };
4
- export type { InvertableThemeProviderProps };
1
+ export * from './InvertableThemeProvider';
2
+ export * from './InvertableThemeProviderProps';
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BigNumber } from '@xylabs/sdk-js';
3
2
  import { MouseEventHandler } from 'react';
4
3
  import { ButtonExProps } from '../ButtonEx';
@@ -14,6 +14,7 @@ import { UserEventHandler, XyPixel } from '@xylabs/pixel';
14
14
  import { parse, stringify } from 'query-string';
15
15
  import { createTheme } from '@mui/material/styles';
16
16
  import clone from 'lodash/clone';
17
+ import merge from 'lodash/merge';
17
18
  import numeral from 'numeral';
18
19
  import { createPortal } from 'react-dom';
19
20
 
@@ -1659,8 +1660,21 @@ const InvertableThemeContext = createContext({
1659
1660
  options: {},
1660
1661
  });
1661
1662
 
1662
- const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1663
+ const resolveThemeColors = (theme, options) => {
1663
1664
  var _a, _b;
1665
+ const newTheme = createTheme(options, {
1666
+ palette: {
1667
+ text: {
1668
+ primary: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.getContrastText(theme.palette.primary.main),
1669
+ secondary: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.getContrastText(theme.palette.secondary.main),
1670
+ },
1671
+ },
1672
+ });
1673
+ return newTheme;
1674
+ };
1675
+ const InvertableThemeProvider = ({ options, children, dark, resolve = false, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1676
+ var _a, _b;
1677
+ let internalDarkTheme = {};
1664
1678
  const contextInvertableTheme = useContext(InvertableThemeContext);
1665
1679
  const clonedOptions = clone((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1666
1680
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
@@ -1671,9 +1685,12 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
1671
1685
  clonedOptions.palette.mode = dark ? 'dark' : 'light';
1672
1686
  }
1673
1687
  if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
1674
- clonedOptions.palette = darkTheme.palette;
1688
+ internalDarkTheme = darkTheme;
1689
+ }
1690
+ let theme = createTheme(clonedOptions, internalDarkTheme);
1691
+ if (resolve) {
1692
+ theme = resolveThemeColors(theme, merge({}, clonedOptions, internalDarkTheme));
1675
1693
  }
1676
- let theme = createTheme(clonedOptions);
1677
1694
  if (!noResponsiveFonts) {
1678
1695
  theme = responsiveFontSizes(theme);
1679
1696
  }
@@ -1777,7 +1794,23 @@ const useLocalStorage = (key, defaultValue) => {
1777
1794
  const [storedValue, setStoredValue] = useState(() => {
1778
1795
  try {
1779
1796
  const item = getLocalStorageObject(key);
1780
- return item || defaultValue;
1797
+ if (typeof defaultValue === 'boolean') {
1798
+ if (typeof item === 'boolean') {
1799
+ return item;
1800
+ }
1801
+ else {
1802
+ return defaultValue;
1803
+ }
1804
+ }
1805
+ else if (Array.isArray(item)) {
1806
+ return item;
1807
+ }
1808
+ else if (Object.keys(item).length) {
1809
+ return item;
1810
+ }
1811
+ else {
1812
+ return defaultValue;
1813
+ }
1781
1814
  }
1782
1815
  catch (ex) {
1783
1816
  //Error is already logged
@@ -2195,5 +2228,5 @@ const TokenAmount = (_a) => {
2195
2228
  return (jsx(ButtonEx, Object.assign({ style: Object.assign({ backgroundColor: statusColor }, style), variant: "outlined", onClick: onButtonClick }, props, { children: jsxs(FlexRow, Object.assign({ justifyContent: "space-between", width: "100%", busy: amount === undefined, busySize: 16 }, { children: [jsxs(FlexRow, { children: [logo ? jsx("img", { src: img, height: 24 }, void 0) : null, label ? (jsx(Typography, Object.assign({ marginRight: 1, marginLeft: logo ? 1 : 0, noWrap: true, fontFamily: textFontFamily, variant: "caption" }, { children: label }), void 0)) : null] }, void 0), jsx(Typography, Object.assign({ color: textColor, noWrap: true, fontFamily: textFontFamily, variant: "body1", style: { textTransform: 'none' } }, { children: amountString }), void 0)] }), void 0) }), void 0));
2196
2229
  };
2197
2230
 
2198
- export { ActionStatusType, AppBarEx, Background, BasePage, BreadcrumbsEx, BusyBox, ButtonEx, ContactPointOption, CookieConsent, CookieConsentBody, CookieConsentContext, CookieConsentLoader, CoverProgress, DebugUserEventsContext, DripCustomEvent, DripStandardEvents, ErrorDialog, EthAccount, EthersContext, EthersLoader, Experiment, Experiments, ExperimentsDebugger, FacebookCustomEvent, FacebookStandardEvents, Fbq, FlexCol, FlexGrowCol, FlexGrowRow, FlexRow, GoogleBaseEvent, GoogleCustomEvent, GoogleStandardEvents, GoogleUserEventHandler, Gtag, Gtm, HoverScale, Identicon, InvertableThemeProvider, ItemAvailability, LinkToEx, MapCategoryType, MessageDialog, NetworkSettingsContext, NetworkSettingsLoader, NumberStatus, PixelDebugger, PixelDebuggerProvider, PixelDebuggerToggle, Portal, QuickTipButton, Rdt, RedditCustomEvent, RedditStandardEvents, RedirectWithQuery, Referrer, RichResult, ScrollToTop, ScrollToTopButton, SnapTr, SnapchatStandardEvents, TiktokCustomEvent, TiktokStandardEvents, TokenAmount, Ttq, UserEventsContext, UserEventsLoader, XyBaseEvent, XyCustomEvent, XyUserEventHandler, XyoUserEventHandler, enableProfileLogging, getApiStage, getLocalStorageObject, getSessionStorageObject, isLocalhost, profileBlock, profileResults, setLocalStorageObject, setSessionStorageObject, useAsyncEffect, useBreakpoint, useCookieConsent, useLocalStorage, useMounted, useNavigateToEthAddress, useSpacing, useUserEvents, useWebP, useWindowSize };
2231
+ export { ActionStatusType, AppBarEx, Background, BasePage, BreadcrumbsEx, BusyBox, ButtonEx, ContactPointOption, CookieConsent, CookieConsentBody, CookieConsentContext, CookieConsentLoader, CoverProgress, DebugUserEventsContext, DripCustomEvent, DripStandardEvents, ErrorDialog, EthAccount, EthersContext, EthersLoader, Experiment, Experiments, ExperimentsDebugger, FacebookCustomEvent, FacebookStandardEvents, Fbq, FlexCol, FlexGrowCol, FlexGrowRow, FlexRow, GoogleBaseEvent, GoogleCustomEvent, GoogleStandardEvents, GoogleUserEventHandler, Gtag, Gtm, HoverScale, Identicon, InvertableThemeProvider, ItemAvailability, LinkToEx, MapCategoryType, MessageDialog, NetworkSettingsContext, NetworkSettingsLoader, NumberStatus, PixelDebugger, PixelDebuggerProvider, PixelDebuggerToggle, Portal, QuickTipButton, Rdt, RedditCustomEvent, RedditStandardEvents, RedirectWithQuery, Referrer, RichResult, ScrollToTop, ScrollToTopButton, SnapTr, SnapchatStandardEvents, TiktokCustomEvent, TiktokStandardEvents, TokenAmount, Ttq, UserEventsContext, UserEventsLoader, XyBaseEvent, XyCustomEvent, XyUserEventHandler, XyoUserEventHandler, enableProfileLogging, getApiStage, getLocalStorageObject, getSessionStorageObject, isLocalhost, profileBlock, profileResults, resolveThemeColors, setLocalStorageObject, setSessionStorageObject, useAsyncEffect, useBreakpoint, useCookieConsent, useLocalStorage, useMounted, useNavigateToEthAddress, useSpacing, useUserEvents, useWebP, useWindowSize };
2199
2232
  //# sourceMappingURL=index.js.map