@xylabs/sdk-react 2.9.20 → 2.9.24

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 (47) hide show
  1. package/dist/cjs5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -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/index.js +39 -6
  5. package/dist/cjs5/index.js.map +1 -1
  6. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  7. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js +20 -6
  8. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js.map +1 -1
  9. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js +1 -1
  10. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.stories.js.map +1 -1
  11. package/dist/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  12. package/dist/components/InvertableThemeProvider/index.d.ts +2 -4
  13. package/dist/components/InvertableThemeProvider/index.js +2 -2
  14. package/dist/components/InvertableThemeProvider/index.js.map +1 -1
  15. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  16. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  17. package/dist/esm2015/components/InvertableThemeProvider/index.d.ts +2 -4
  18. package/dist/esm2015/index.js +38 -7
  19. package/dist/esm2015/index.js.map +1 -1
  20. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  21. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  22. package/dist/esm2017/components/InvertableThemeProvider/index.d.ts +2 -4
  23. package/dist/esm2017/index.js +38 -7
  24. package/dist/esm2017/index.js.map +1 -1
  25. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  26. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  27. package/dist/esm5/components/InvertableThemeProvider/index.d.ts +2 -4
  28. package/dist/esm5/index.js +38 -7
  29. package/dist/esm5/index.js.map +1 -1
  30. package/dist/hooks/useLocalStorage.js +17 -1
  31. package/dist/hooks/useLocalStorage.js.map +1 -1
  32. package/dist/node/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  33. package/dist/node/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  34. package/dist/node/components/InvertableThemeProvider/index.d.ts +2 -4
  35. package/dist/node/index.js +39 -6
  36. package/dist/node/index.js.map +1 -1
  37. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  38. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  39. package/dist/node-esm/components/InvertableThemeProvider/index.d.ts +2 -4
  40. package/dist/node-esm/index.js +38 -7
  41. package/dist/node-esm/index.js.map +1 -1
  42. package/package.json +34 -32
  43. package/src/components/InvertableThemeProvider/InvertableThemeProvider.stories.tsx +9 -7
  44. package/src/components/InvertableThemeProvider/InvertableThemeProvider.tsx +24 -9
  45. package/src/components/InvertableThemeProvider/InvertableThemeProviderProps.ts +1 -0
  46. package/src/components/InvertableThemeProvider/index.ts +2 -5
  47. package/src/hooks/useLocalStorage.ts +13 -1
@@ -1,4 +1,12 @@
1
+ import { 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: (options: ThemeOptions) => ThemeOptions & {
5
+ palette: {
6
+ text: {
7
+ primary: string;
8
+ secondary: string;
9
+ };
10
+ };
11
+ };
12
+ export declare const InvertableThemeProvider: React.FC<InvertableThemeProviderProps>;
@@ -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 = (options) => {
8
9
  var _a, _b;
10
+ const theme = createTheme(options);
11
+ return merge({}, options, {
12
+ palette: {
13
+ text: {
14
+ primary: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.getContrastText(theme.palette.primary.main),
15
+ secondary: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.getContrastText(theme.palette.secondary.main),
16
+ },
17
+ },
18
+ });
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,13 @@ 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;
20
34
  }
21
- let theme = createTheme(clonedOptions);
22
- if (!noResponsiveFonts) {
23
- theme = responsiveFontSizes(theme);
35
+ let themeOptions = merge(clonedOptions, internalDarkTheme);
36
+ if (resolve) {
37
+ themeOptions = resolveThemeColors(themeOptions);
24
38
  }
39
+ const theme = noResponsiveFonts ? createTheme(themeOptions) : responsiveFontSizes(createTheme(themeOptions));
25
40
  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
41
  };
27
- export { InvertableThemeProvider };
28
42
  //# 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,12 @@
1
+ import { 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: (options: ThemeOptions) => ThemeOptions & {
5
+ palette: {
6
+ text: {
7
+ primary: string;
8
+ secondary: string;
9
+ };
10
+ };
11
+ };
12
+ 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';
@@ -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 = (options) => {
1663
1664
  var _a, _b;
1665
+ const theme = createTheme(options);
1666
+ return merge({}, options, {
1667
+ palette: {
1668
+ text: {
1669
+ primary: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.getContrastText(theme.palette.primary.main),
1670
+ secondary: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.getContrastText(theme.palette.secondary.main),
1671
+ },
1672
+ },
1673
+ });
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,12 +1685,13 @@ 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;
1675
1689
  }
1676
- let theme = createTheme(clonedOptions);
1677
- if (!noResponsiveFonts) {
1678
- theme = responsiveFontSizes(theme);
1690
+ let themeOptions = merge(clonedOptions, internalDarkTheme);
1691
+ if (resolve) {
1692
+ themeOptions = resolveThemeColors(themeOptions);
1679
1693
  }
1694
+ const theme = noResponsiveFonts ? createTheme(themeOptions) : responsiveFontSizes(createTheme(themeOptions));
1680
1695
  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));
1681
1696
  };
1682
1697
 
@@ -1777,7 +1792,23 @@ const useLocalStorage = (key, defaultValue) => {
1777
1792
  const [storedValue, setStoredValue] = useState(() => {
1778
1793
  try {
1779
1794
  const item = getLocalStorageObject(key);
1780
- return Object.keys(item).length ? item : defaultValue;
1795
+ if (typeof defaultValue === 'boolean') {
1796
+ if (typeof item === 'boolean') {
1797
+ return item;
1798
+ }
1799
+ else {
1800
+ return defaultValue;
1801
+ }
1802
+ }
1803
+ else if (Array.isArray(item)) {
1804
+ return item;
1805
+ }
1806
+ else if (Object.keys(item).length) {
1807
+ return item;
1808
+ }
1809
+ else {
1810
+ return defaultValue;
1811
+ }
1781
1812
  }
1782
1813
  catch (ex) {
1783
1814
  //Error is already logged
@@ -2195,5 +2226,5 @@ const TokenAmount = (_a) => {
2195
2226
  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
2227
  };
2197
2228
 
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 };
2229
+ 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
2230
  //# sourceMappingURL=index.js.map