@xylabs/sdk-react 2.9.22 → 2.9.26

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 (71) 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/MenuEx.d.ts +7 -0
  5. package/dist/cjs5/components/SelectEx.d.ts +7 -0
  6. package/dist/cjs5/components/index.d.ts +2 -0
  7. package/dist/cjs5/index.js +41 -7
  8. package/dist/cjs5/index.js.map +1 -1
  9. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  10. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.js +20 -7
  11. package/dist/components/InvertableThemeProvider/InvertableThemeProvider.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/MenuEx.d.ts +7 -0
  17. package/dist/components/MenuEx.js +11 -0
  18. package/dist/components/MenuEx.js.map +1 -0
  19. package/dist/components/SelectEx.d.ts +7 -0
  20. package/dist/components/SelectEx.js +13 -0
  21. package/dist/components/SelectEx.js.map +1 -0
  22. package/dist/components/index.d.ts +2 -0
  23. package/dist/components/index.js +2 -0
  24. package/dist/components/index.js.map +1 -1
  25. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  26. package/dist/esm2015/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  27. package/dist/esm2015/components/InvertableThemeProvider/index.d.ts +2 -4
  28. package/dist/esm2015/components/MenuEx.d.ts +7 -0
  29. package/dist/esm2015/components/SelectEx.d.ts +7 -0
  30. package/dist/esm2015/components/index.d.ts +2 -0
  31. package/dist/esm2015/index.js +38 -8
  32. package/dist/esm2015/index.js.map +1 -1
  33. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  34. package/dist/esm2017/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  35. package/dist/esm2017/components/InvertableThemeProvider/index.d.ts +2 -4
  36. package/dist/esm2017/components/MenuEx.d.ts +7 -0
  37. package/dist/esm2017/components/SelectEx.d.ts +7 -0
  38. package/dist/esm2017/components/index.d.ts +2 -0
  39. package/dist/esm2017/index.js +38 -8
  40. package/dist/esm2017/index.js.map +1 -1
  41. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  42. package/dist/esm5/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  43. package/dist/esm5/components/InvertableThemeProvider/index.d.ts +2 -4
  44. package/dist/esm5/components/MenuEx.d.ts +7 -0
  45. package/dist/esm5/components/SelectEx.d.ts +7 -0
  46. package/dist/esm5/components/index.d.ts +2 -0
  47. package/dist/esm5/index.js +38 -8
  48. package/dist/esm5/index.js.map +1 -1
  49. package/dist/node/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  50. package/dist/node/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  51. package/dist/node/components/InvertableThemeProvider/index.d.ts +2 -4
  52. package/dist/node/components/MenuEx.d.ts +7 -0
  53. package/dist/node/components/SelectEx.d.ts +7 -0
  54. package/dist/node/components/index.d.ts +2 -0
  55. package/dist/node/index.js +41 -7
  56. package/dist/node/index.js.map +1 -1
  57. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProvider.d.ts +10 -2
  58. package/dist/node-esm/components/InvertableThemeProvider/InvertableThemeProviderProps.d.ts +1 -0
  59. package/dist/node-esm/components/InvertableThemeProvider/index.d.ts +2 -4
  60. package/dist/node-esm/components/MenuEx.d.ts +7 -0
  61. package/dist/node-esm/components/SelectEx.d.ts +7 -0
  62. package/dist/node-esm/components/index.d.ts +2 -0
  63. package/dist/node-esm/index.js +38 -8
  64. package/dist/node-esm/index.js.map +1 -1
  65. package/package.json +34 -32
  66. package/src/components/InvertableThemeProvider/InvertableThemeProvider.tsx +24 -10
  67. package/src/components/InvertableThemeProvider/InvertableThemeProviderProps.ts +1 -0
  68. package/src/components/InvertableThemeProvider/index.ts +2 -5
  69. package/src/components/MenuEx.tsx +13 -0
  70. package/src/components/SelectEx.tsx +21 -0
  71. package/src/components/index.ts +2 -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>;
@@ -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';
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { MenuProps, PaletteMode } from '@mui/material';
3
+ export interface MenuExProps extends MenuProps {
4
+ colorize?: 'primary' | 'secondary';
5
+ mode?: PaletteMode;
6
+ }
7
+ export declare const MenuEx: React.FC<MenuExProps>;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { PaletteMode, SelectProps } from '@mui/material';
3
+ export interface SelectExProps<T> extends SelectProps<T> {
4
+ colorize?: 'primary' | 'secondary';
5
+ mode?: PaletteMode;
6
+ }
7
+ export declare const SelectEx: <T>(props: SelectExProps<T>) => JSX.Element;
@@ -15,11 +15,13 @@ export * from './Experiments';
15
15
  export * from './FlexBox';
16
16
  export * from './InvertableThemeProvider';
17
17
  export * from './LinkEx';
18
+ export * from './MenuEx';
18
19
  export * from './NumberStatus';
19
20
  export * from './Pixel';
20
21
  export * from './Portal';
21
22
  export * from './QuickTipButton';
22
23
  export * from './RichResult';
23
24
  export * from './ScrollToTop';
25
+ export * from './SelectEx';
24
26
  export * from './TokenAmount';
25
27
  export { Background, CoverProgress, HoverScale, Identicon, RedirectWithQuery, ScrollToTopButton };
@@ -16,14 +16,16 @@ var sdkJs = require('@xylabs/sdk-js');
16
16
  var pixel = require('@xylabs/pixel');
17
17
  var queryString = require('query-string');
18
18
  var styles$1 = require('@mui/material/styles');
19
- var clone = require('lodash/clone');
19
+ var cloneDeep = require('lodash/cloneDeep');
20
+ var merge = require('lodash/merge');
20
21
  var numeral = require('numeral');
21
22
  var reactDom = require('react-dom');
22
23
 
23
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
25
 
25
26
  var md5__default = /*#__PURE__*/_interopDefaultLegacy(md5);
26
- var clone__default = /*#__PURE__*/_interopDefaultLegacy(clone);
27
+ var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
28
+ var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
27
29
  var numeral__default = /*#__PURE__*/_interopDefaultLegacy(numeral);
28
30
 
29
31
  /*! *****************************************************************************
@@ -1668,11 +1670,23 @@ const InvertableThemeContext = react.createContext({
1668
1670
  options: {},
1669
1671
  });
1670
1672
 
1671
- const InvertableThemeProvider = ({ options, children, dark, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1673
+ const resolveThemeColors = (options) => {
1674
+ var _a, _b;
1675
+ const theme = styles$1.createTheme(options);
1676
+ return merge__default["default"]({}, options, {
1677
+ palette: {
1678
+ text: {
1679
+ primary: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.getContrastText(theme.palette.primary.main),
1680
+ secondary: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.getContrastText(theme.palette.secondary.main),
1681
+ },
1682
+ },
1683
+ });
1684
+ };
1685
+ const InvertableThemeProvider = ({ options, children, dark, resolve = false, scoped = false, invert = false, noResponsiveFonts, darkTheme, }) => {
1672
1686
  var _a, _b;
1673
1687
  let internalDarkTheme = {};
1674
1688
  const contextInvertableTheme = react.useContext(InvertableThemeContext);
1675
- const clonedOptions = clone__default["default"]((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1689
+ const clonedOptions = cloneDeep__default["default"]((_a = options !== null && options !== void 0 ? options : contextInvertableTheme.options) !== null && _a !== void 0 ? _a : {});
1676
1690
  clonedOptions.palette = (_b = clonedOptions.palette) !== null && _b !== void 0 ? _b : {};
1677
1691
  if (invert) {
1678
1692
  clonedOptions.palette.mode = clonedOptions.palette.mode === 'dark' ? 'light' : 'dark';
@@ -1683,10 +1697,11 @@ const InvertableThemeProvider = ({ options, children, dark, scoped = false, inve
1683
1697
  if (clonedOptions.palette.mode === 'dark' && (darkTheme === null || darkTheme === void 0 ? void 0 : darkTheme.palette)) {
1684
1698
  internalDarkTheme = darkTheme;
1685
1699
  }
1686
- let theme = styles$1.createTheme(clonedOptions, internalDarkTheme);
1687
- if (!noResponsiveFonts) {
1688
- theme = material.responsiveFontSizes(theme);
1700
+ let themeOptions = merge__default["default"](clonedOptions, internalDarkTheme);
1701
+ if (resolve) {
1702
+ themeOptions = resolveThemeColors(themeOptions);
1689
1703
  }
1704
+ const theme = noResponsiveFonts ? styles$1.createTheme(themeOptions) : material.responsiveFontSizes(styles$1.createTheme(themeOptions));
1690
1705
  return scoped ? (jsxRuntime.jsx(material.ScopedCssBaseline, { children: jsxRuntime.jsx(InvertableThemeContext.Provider, Object.assign({ value: { options: clonedOptions } }, { children: jsxRuntime.jsx(material.ThemeProvider, Object.assign({ theme: theme }, { children: children }), void 0) }), void 0) }, void 0)) : (jsxRuntime.jsx(InvertableThemeContext.Provider, Object.assign({ value: { options: clonedOptions } }, { children: jsxRuntime.jsx(material.ThemeProvider, Object.assign({ theme: theme }, { children: children }), void 0) }), void 0));
1691
1706
  };
1692
1707
 
@@ -2059,6 +2074,13 @@ const LinkToEx = (_a) => {
2059
2074
  return jsxRuntime.jsx(material.Link, Object.assign({ component: reactRouterDom.Link, to: to }, props), void 0);
2060
2075
  };
2061
2076
 
2077
+ const MenuEx = (_a) => {
2078
+ var { MenuListProps = {}, mode = 'light', colorize } = _a, props = __rest(_a, ["MenuListProps", "mode", "colorize"]);
2079
+ const theme = material.useTheme();
2080
+ const colorizeMenuListProps = colorize ? { sx: { backgroundColor: theme.palette[colorize][mode] } } : {};
2081
+ return jsxRuntime.jsx(material.Menu, Object.assign({ MenuListProps: merge__default["default"](MenuListProps, colorizeMenuListProps) }, props), void 0);
2082
+ };
2083
+
2062
2084
  const NumberStatus = (_a) => {
2063
2085
  var _b, _c;
2064
2086
  var { error, format = '0[.]0a', color = 'primary', title, value, size, fontSize, rounded = false, autoWidth = false, style } = _a, props = __rest(_a, ["error", "format", "color", "title", "value", "size", "fontSize", "rounded", "autoWidth", "style"]);
@@ -2203,6 +2225,15 @@ exports.MapCategoryType = void 0;
2203
2225
  MapCategoryType["VenueMap"] = "VenueMap";
2204
2226
  })(exports.MapCategoryType || (exports.MapCategoryType = {}));
2205
2227
 
2228
+ const SelectEx = (_a) => {
2229
+ var { MenuProps, mode = 'light', colorize } = _a, props = __rest(_a, ["MenuProps", "mode", "colorize"]);
2230
+ const theme = material.useTheme();
2231
+ const colorizeMenuProps = colorize
2232
+ ? { MenuListProps: { sx: { backgroundColor: theme.palette[colorize][mode] } } }
2233
+ : {};
2234
+ return jsxRuntime.jsx(material.Select, Object.assign({ MenuProps: merge__default["default"](MenuProps, colorizeMenuProps) }, props), void 0);
2235
+ };
2236
+
2206
2237
  var img = "data:image/svg+xml,%3csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 238'%3e%3cdefs%3e%3cstyle%3e.cls-1%7bfill:%23999%3b%7d%3c/style%3e%3c/defs%3e%3ctitle%3eicon_gray%3c/title%3e%3cpath class='cls-1' d='M74.5%2c28.33%2c21.29%2c120.5%2c74.5%2c212.67H180.94l1.76-3%2c51.46-89.13L180.94%2c28.33ZM84.65%2c40.54h78.83L111.65%2c56.93a15.85%2c15.85%2c0%2c0%2c1%2c2%2c5l59.66-18.81L185.22%2c101a20.12%2c20.12%2c0%2c0%2c1%2c5.36-.78l-10-47.91%2c37.87%2c65.53h-7.62a24.21%2c24.21%2c0%2c0%2c1%2c.15%2c2.68%2c23.29%2c23.29%2c0%2c0%2c1-.15%2c2.68h7.62l-39.1%2c67.75%2c10.92-50.13A20.57%2c20.57%2c0%2c0%2c1%2c185%2c140l-12.88%2c59-58.37-19.53a17.61%2c17.61%2c0%2c0%2c1-1.7%2c5l47.5%2c15.92H84.65l4-6.85A20.17%2c20.17%2c0%2c0%2c1%2c83.93%2c191L80%2c197.78%2c42.67%2c133.13l37%2c32.66a20.52%2c20.52%2c0%2c0%2c1%2c3.6-4L36.69%2c120.66%2c85%2c77.79a17.45%2c17.45%2c0%2c0%2c1-3.19-4.32l-39.46%2c35L80%2c43.22l5.56%2c9.69A17.51%2c17.51%2c0%2c0%2c1%2c90.12%2c50Zm28.24%2c31.17a16.15%2c16.15%2c0%2c0%2c1-2.68%2c4.64l62%2c35.81a19.74%2c19.74%2c0%2c0%2c1%2c2.83-4.54Zm-20%2c10.51v75.33a18%2c18%2c0%2c0%2c1%2c2.47-.16%2c17.18%2c17.18%2c0%2c0%2c1%2c2.89.21v-75a11.21%2c11.21%2c0%2c0%2c1-1.29%2c0%2c17.57%2c17.57%2c0%2c0%2c1-4.07-.47Zm79.34%2c46.63-62.08%2c35.81a18.45%2c18.45%2c0%2c0%2c1%2c2.68%2c4.68l62.23-36a19.68%2c19.68%2c0%2c0%2c1-2.83-4.53Z'/%3e%3cpath class='cls-1' d='M97%2c48.58a17.06%2c17.06%2c0%2c1%2c0%2c17%2c17%2c17.08%2c17.08%2c0%2c0%2c0-17-17Zm0%2c5.36a11.7%2c11.7%2c0%2c1%2c1-11.7%2c11.69A11.65%2c11.65%2c0%2c0%2c1%2c97%2c53.94Z'/%3e%3cpath class='cls-1' d='M95.37%2c157.39a18.73%2c18.73%2c0%2c1%2c0%2c18.7%2c18.7%2c18.74%2c18.74%2c0%2c0%2c0-18.7-18.7Zm0%2c5.31A13.4%2c13.4%2c0%2c1%2c1%2c82%2c176.09a13.37%2c13.37%2c0%2c0%2c1%2c13.4-13.39Z'/%3e%3cpath class='cls-1' d='M190.73%2c100.2A20.3%2c20.3%2c0%2c1%2c0%2c211%2c120.5a20.34%2c20.34%2c0%2c0%2c0-20.3-20.3Zm0%2c5.36a14.94%2c14.94%2c0%2c1%2c1-14.94%2c14.94%2c14.88%2c14.88%2c0%2c0%2c1%2c14.94-14.94Z'/%3e%3c/svg%3e";
2207
2238
 
2208
2239
  const base10Shift = (bn, places) => {
@@ -2263,6 +2294,7 @@ exports.HoverScale = HoverScale;
2263
2294
  exports.Identicon = Identicon;
2264
2295
  exports.InvertableThemeProvider = InvertableThemeProvider;
2265
2296
  exports.LinkToEx = LinkToEx;
2297
+ exports.MenuEx = MenuEx;
2266
2298
  exports.MessageDialog = MessageDialog;
2267
2299
  exports.NetworkSettingsContext = NetworkSettingsContext;
2268
2300
  exports.NetworkSettingsLoader = NetworkSettingsLoader;
@@ -2280,6 +2312,7 @@ exports.Referrer = Referrer;
2280
2312
  exports.RichResult = RichResult;
2281
2313
  exports.ScrollToTop = ScrollToTop;
2282
2314
  exports.ScrollToTopButton = ScrollToTopButton;
2315
+ exports.SelectEx = SelectEx;
2283
2316
  exports.SnapTr = SnapTr;
2284
2317
  exports.SnapchatStandardEvents = SnapchatStandardEvents;
2285
2318
  exports.TiktokCustomEvent = TiktokCustomEvent;
@@ -2299,6 +2332,7 @@ exports.getSessionStorageObject = getSessionStorageObject;
2299
2332
  exports.isLocalhost = isLocalhost;
2300
2333
  exports.profileBlock = profileBlock;
2301
2334
  exports.profileResults = profileResults;
2335
+ exports.resolveThemeColors = resolveThemeColors;
2302
2336
  exports.setLocalStorageObject = setLocalStorageObject;
2303
2337
  exports.setSessionStorageObject = setSessionStorageObject;
2304
2338
  exports.useAsyncEffect = useAsyncEffect;