@xylabs/sdk-react 2.9.21 → 2.9.25

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 (52) 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/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  5. package/dist/cjs5/index.js +40 -8
  6. package/dist/cjs5/index.js.map +1 -1
  7. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  8. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js +20 -7
  9. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js.map +1 -1
  10. package/dist/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  11. package/dist/components/InvertableThemeProvider/index.d.ts +2 -4
  12. package/dist/components/InvertableThemeProvider/index.js +2 -2
  13. package/dist/components/InvertableThemeProvider/index.js.map +1 -1
  14. package/dist/components/TokenAmount/TokenAmountProps.d.ts +0 -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/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  19. package/dist/esm2015/index.js +38 -8
  20. package/dist/esm2015/index.js.map +1 -1
  21. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  22. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  23. package/dist/esm2017/components/InvertableThemeProvider/index.d.ts +2 -4
  24. package/dist/esm2017/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  25. package/dist/esm2017/index.js +38 -8
  26. package/dist/esm2017/index.js.map +1 -1
  27. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  28. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  29. package/dist/esm5/components/InvertableThemeProvider/index.d.ts +2 -4
  30. package/dist/esm5/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  31. package/dist/esm5/index.js +38 -8
  32. package/dist/esm5/index.js.map +1 -1
  33. package/dist/hooks/useLocalStorage.js +17 -1
  34. package/dist/hooks/useLocalStorage.js.map +1 -1
  35. package/dist/node/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  36. package/dist/node/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  37. package/dist/node/components/InvertableThemeProvider/index.d.ts +2 -4
  38. package/dist/node/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  39. package/dist/node/index.js +40 -8
  40. package/dist/node/index.js.map +1 -1
  41. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  42. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  43. package/dist/node-esm/components/InvertableThemeProvider/index.d.ts +2 -4
  44. package/dist/node-esm/components/TokenAmount/TokenAmountProps.d.ts +0 -1
  45. package/dist/node-esm/index.js +38 -8
  46. package/dist/node-esm/index.js.map +1 -1
  47. package/package.json +34 -32
  48. package/src/components/InvertableThemeProvider/InvertableThemeProvider.tsx +24 -10
  49. package/src/components/InvertableThemeProvider/InvertableThemeProviderProps.ts +1 -0
  50. package/src/components/InvertableThemeProvider/index.ts +2 -5
  51. package/src/hooks/useLocalStorage.ts +13 -1
  52. package/xylabs-sdk-react-v2.8.2.tgz +0 -0
@@ -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>;
@@ -1,14 +1,27 @@
1
1
  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
- import clone from 'lodash/clone';
4
+ import cloneDeep from 'lodash/cloneDeep';
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) => {
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, }) => {
8
21
  var _a, _b;
9
22
  let internalDarkTheme = {};
10
23
  const contextInvertableTheme = useContext(InvertableThemeContext);
11
- const clonedOptions = clone((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
24
+ const clonedOptions = cloneDeep((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
12
25
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
13
26
  if (invert) {
14
27
  clonedOptions.palette.mode = clonedOptions.palette.mode === 'dark' ? 'light' : 'dark';
@@ -19,11 +32,11 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
19
32
  if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
20
33
  internalDarkTheme = darkTheme;
21
34
  }
22
- let theme = createTheme(clonedOptions, internalDarkTheme);
23
- if (!noResponsiveFonts) {
24
- theme = responsiveFontSizes(theme);
35
+ let themeOptions = merge(clonedOptions, internalDarkTheme);
36
+ if (resolve) {
37
+ themeOptions = resolveThemeColors(themeOptions);
25
38
  }
39
+ const theme = noResponsiveFonts ? createTheme(themeOptions) : responsiveFontSizes(createTheme(themeOptions));
26
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));
27
41
  };
28
- export { InvertableThemeProvider };
29
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,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAC1B,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,iBAAiB,GAAG,SAAS,CAAA;KAC9B;IAED,IAAI,KAAK,GAAG,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAA;IAEzD,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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"}
@@ -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,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';
@@ -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';
@@ -13,7 +13,8 @@ import { getApiStage as getApiStage$1, delay, assertEx, EthAddress, forget, BigN
13
13
  import { UserEventHandler, XyPixel } from '@xylabs/pixel';
14
14
  import { parse, stringify } from 'query-string';
15
15
  import { createTheme } from '@mui/material/styles';
16
- import clone from 'lodash/clone';
16
+ import cloneDeep from 'lodash/cloneDeep';
17
+ import merge from 'lodash/merge';
17
18
  import numeral from 'numeral';
18
19
  import { createPortal } from 'react-dom';
19
20
 
@@ -1659,11 +1660,23 @@ 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) => {
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, }) => {
1663
1676
  var _a, _b;
1664
1677
  let internalDarkTheme = {};
1665
1678
  const contextInvertableTheme = useContext(InvertableThemeContext);
1666
- const clonedOptions = clone((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1679
+ const clonedOptions = cloneDeep((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1667
1680
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
1668
1681
  if (invert) {
1669
1682
  clonedOptions.palette.mode = clonedOptions.palette.mode === 'dark' ? 'light' : 'dark';
@@ -1674,10 +1687,11 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
1674
1687
  if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
1675
1688
  internalDarkTheme = darkTheme;
1676
1689
  }
1677
- let theme = createTheme(clonedOptions, internalDarkTheme);
1678
- if (!noResponsiveFonts) {
1679
- theme = responsiveFontSizes(theme);
1690
+ let themeOptions = merge(clonedOptions, internalDarkTheme);
1691
+ if (resolve) {
1692
+ themeOptions = resolveThemeColors(themeOptions);
1680
1693
  }
1694
+ const theme = noResponsiveFonts ? createTheme(themeOptions) : responsiveFontSizes(createTheme(themeOptions));
1681
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));
1682
1696
  };
1683
1697
 
@@ -1778,7 +1792,23 @@ const useLocalStorage = (key, defaultValue) => {
1778
1792
  const [storedValue, setStoredValue] = useState(() => {
1779
1793
  try {
1780
1794
  const item = getLocalStorageObject(key);
1781
- 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
+ }
1782
1812
  }
1783
1813
  catch (ex) {
1784
1814
  //Error is already logged
@@ -2196,5 +2226,5 @@ const TokenAmount = (_a) => {
2196
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));
2197
2227
  };
2198
2228
 
2199
- 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 };
2200
2230
  //# sourceMappingURL=index.js.map