@xylabs/sdk-react 2.9.32 → 2.9.35

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 (87) hide show
  1. package/dist/cjs5/components/EthAccount/EthAccount.stories.d.ts +3 -1
  2. package/dist/cjs5/components/EthAccount/EthAccountProps.d.ts +1 -0
  3. package/dist/cjs5/components/LinkEx/LinkToEx.d.ts +4 -2
  4. package/dist/cjs5/components/LinkEx/index.d.ts +1 -2
  5. package/dist/cjs5/hooks/index.d.ts +2 -0
  6. package/dist/cjs5/hooks/useInterval.d.ts +2 -0
  7. package/dist/cjs5/hooks/useTimeout.d.ts +2 -0
  8. package/dist/cjs5/index.js +42 -4
  9. package/dist/cjs5/index.js.map +1 -1
  10. package/dist/components/BasePage/BasePage.stories.js +2 -1
  11. package/dist/components/BasePage/BasePage.stories.js.map +1 -1
  12. package/dist/components/EthAccount/EthAccount.js +2 -2
  13. package/dist/components/EthAccount/EthAccount.js.map +1 -1
  14. package/dist/components/EthAccount/EthAccount.stories.d.ts +3 -1
  15. package/dist/components/EthAccount/EthAccount.stories.js +18 -1
  16. package/dist/components/EthAccount/EthAccount.stories.js.map +1 -1
  17. package/dist/components/EthAccount/EthAccountProps.d.ts +1 -0
  18. package/dist/components/LinkEx/LinkToEx.d.ts +4 -2
  19. package/dist/components/LinkEx/LinkToEx.js +10 -3
  20. package/dist/components/LinkEx/LinkToEx.js.map +1 -1
  21. package/dist/components/LinkEx/index.d.ts +1 -2
  22. package/dist/components/LinkEx/index.js +1 -2
  23. package/dist/components/LinkEx/index.js.map +1 -1
  24. package/dist/esm2015/components/EthAccount/EthAccount.stories.d.ts +3 -1
  25. package/dist/esm2015/components/EthAccount/EthAccountProps.d.ts +1 -0
  26. package/dist/esm2015/components/LinkEx/LinkToEx.d.ts +4 -2
  27. package/dist/esm2015/components/LinkEx/index.d.ts +1 -2
  28. package/dist/esm2015/hooks/index.d.ts +2 -0
  29. package/dist/esm2015/hooks/useInterval.d.ts +2 -0
  30. package/dist/esm2015/hooks/useTimeout.d.ts +2 -0
  31. package/dist/esm2015/index.js +40 -5
  32. package/dist/esm2015/index.js.map +1 -1
  33. package/dist/esm2017/components/EthAccount/EthAccount.stories.d.ts +3 -1
  34. package/dist/esm2017/components/EthAccount/EthAccountProps.d.ts +1 -0
  35. package/dist/esm2017/components/LinkEx/LinkToEx.d.ts +4 -2
  36. package/dist/esm2017/components/LinkEx/index.d.ts +1 -2
  37. package/dist/esm2017/hooks/index.d.ts +2 -0
  38. package/dist/esm2017/hooks/useInterval.d.ts +2 -0
  39. package/dist/esm2017/hooks/useTimeout.d.ts +2 -0
  40. package/dist/esm2017/index.js +40 -5
  41. package/dist/esm2017/index.js.map +1 -1
  42. package/dist/esm5/components/EthAccount/EthAccount.stories.d.ts +3 -1
  43. package/dist/esm5/components/EthAccount/EthAccountProps.d.ts +1 -0
  44. package/dist/esm5/components/LinkEx/LinkToEx.d.ts +4 -2
  45. package/dist/esm5/components/LinkEx/index.d.ts +1 -2
  46. package/dist/esm5/hooks/index.d.ts +2 -0
  47. package/dist/esm5/hooks/useInterval.d.ts +2 -0
  48. package/dist/esm5/hooks/useTimeout.d.ts +2 -0
  49. package/dist/esm5/index.js +40 -5
  50. package/dist/esm5/index.js.map +1 -1
  51. package/dist/hooks/index.d.ts +2 -0
  52. package/dist/hooks/index.js +2 -0
  53. package/dist/hooks/index.js.map +1 -1
  54. package/dist/hooks/useInterval.d.ts +2 -0
  55. package/dist/hooks/useInterval.js +15 -0
  56. package/dist/hooks/useInterval.js.map +1 -0
  57. package/dist/hooks/useTimeout.d.ts +2 -0
  58. package/dist/hooks/useTimeout.js +15 -0
  59. package/dist/hooks/useTimeout.js.map +1 -0
  60. package/dist/node/components/EthAccount/EthAccount.stories.d.ts +3 -1
  61. package/dist/node/components/EthAccount/EthAccountProps.d.ts +1 -0
  62. package/dist/node/components/LinkEx/LinkToEx.d.ts +4 -2
  63. package/dist/node/components/LinkEx/index.d.ts +1 -2
  64. package/dist/node/hooks/index.d.ts +2 -0
  65. package/dist/node/hooks/useInterval.d.ts +2 -0
  66. package/dist/node/hooks/useTimeout.d.ts +2 -0
  67. package/dist/node/index.js +42 -4
  68. package/dist/node/index.js.map +1 -1
  69. package/dist/node-esm/components/EthAccount/EthAccount.stories.d.ts +3 -1
  70. package/dist/node-esm/components/EthAccount/EthAccountProps.d.ts +1 -0
  71. package/dist/node-esm/components/LinkEx/LinkToEx.d.ts +4 -2
  72. package/dist/node-esm/components/LinkEx/index.d.ts +1 -2
  73. package/dist/node-esm/hooks/index.d.ts +2 -0
  74. package/dist/node-esm/hooks/useInterval.d.ts +2 -0
  75. package/dist/node-esm/hooks/useTimeout.d.ts +2 -0
  76. package/dist/node-esm/index.js +40 -5
  77. package/dist/node-esm/index.js.map +1 -1
  78. package/package.json +11 -11
  79. package/src/components/BasePage/BasePage.stories.tsx +6 -1
  80. package/src/components/EthAccount/EthAccount.stories.tsx +20 -1
  81. package/src/components/EthAccount/EthAccount.tsx +2 -1
  82. package/src/components/EthAccount/EthAccountProps.tsx +1 -0
  83. package/src/components/LinkEx/LinkToEx.tsx +11 -4
  84. package/src/components/LinkEx/index.ts +1 -3
  85. package/src/hooks/index.ts +2 -0
  86. package/src/hooks/useInterval.ts +19 -0
  87. package/src/hooks/useTimeout.ts +19 -0
@@ -3,9 +3,11 @@ import { ComponentMeta, ComponentStory } from '@storybook/react';
3
3
  declare const StorybookEntry: ComponentMeta<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
4
4
  declare const Long: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
5
5
  declare const LongEmpty: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
6
+ declare const Medium: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
7
+ declare const MediumEmpty: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
6
8
  declare const Short: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
7
9
  declare const ShortEmpty: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
8
10
  declare const Auto: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
9
11
  declare const AutoEmpty: ComponentStory<import("react").FC<import("./EthAccountProps").EthAccountProps>>;
10
- export { Auto, AutoEmpty, Long, LongEmpty, Short, ShortEmpty };
12
+ export { Auto, AutoEmpty, Long, LongEmpty, Medium, MediumEmpty, Short, ShortEmpty };
11
13
  export default StorybookEntry;
@@ -4,6 +4,7 @@ import { ButtonExProps } from '../ButtonEx';
4
4
  interface EthAccountProps extends ButtonExProps {
5
5
  address?: EthAddress | null;
6
6
  addressLength?: 'auto' | 'short' | 'long';
7
+ shortenedLength?: number;
7
8
  full?: boolean;
8
9
  icon?: boolean;
9
10
  iconSize?: number;
@@ -2,7 +2,9 @@ import { LinkProps } from '@mui/material';
2
2
  import React from 'react';
3
3
  import { To } from 'react-router-dom';
4
4
  interface Props extends LinkProps {
5
- to: To;
5
+ to?: To;
6
6
  }
7
+ declare const LinkEx: React.FC<Props>;
8
+ /** @deprecated use LinkEx instead */
7
9
  declare const LinkToEx: React.FC<Props>;
8
- export { LinkToEx };
10
+ export { LinkEx, LinkToEx };
@@ -1,2 +1 @@
1
- import { LinkToEx } from './LinkToEx';
2
- export { LinkToEx };
1
+ export * from './LinkToEx';
@@ -1,9 +1,11 @@
1
1
  export * from './useBreakpoint';
2
+ export * from './useInterval';
2
3
  export * from './useLocalStorage';
3
4
  export * from './useMediaQuery';
4
5
  export * from './useMounted';
5
6
  export * from './useNavigateToEthAddress';
6
7
  export * from './useSpacing';
8
+ export * from './useTimeout';
7
9
  export * from './useUserEvents';
8
10
  export * from './useWebP';
9
11
  export * from './useWindowSize';
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useInterval: (callback: () => void, delay: number) => import("react").MutableRefObject<number>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useTimeout: (callback: () => void, delay: number) => import("react").MutableRefObject<number>;
@@ -1805,6 +1805,20 @@ const useBreakpoint = () => {
1805
1805
  }
1806
1806
  };
1807
1807
 
1808
+ const useInterval = (callback, delay) => {
1809
+ const intervalRef = react.useRef(-1);
1810
+ const savedCallback = react.useRef(callback);
1811
+ react.useEffect(() => {
1812
+ savedCallback.current = callback;
1813
+ }, [callback]);
1814
+ react.useEffect(() => {
1815
+ const tick = () => savedCallback.current();
1816
+ intervalRef.current = window.setInterval(tick, delay);
1817
+ return () => window.clearInterval(intervalRef.current);
1818
+ }, [delay]);
1819
+ return intervalRef;
1820
+ };
1821
+
1808
1822
  const useLocalStorage = (key, defaultValue) => {
1809
1823
  const [storedValue, setStoredValue] = react.useState(() => {
1810
1824
  try {
@@ -1879,6 +1893,20 @@ const useSpacing = (value) => {
1879
1893
  return theme.spacing(typeof value === 'string' ? parseInt(value) : value);
1880
1894
  };
1881
1895
 
1896
+ const useTimeout = (callback, delay) => {
1897
+ const timeoutRef = react.useRef(-1);
1898
+ const savedCallback = react.useRef(callback);
1899
+ react.useEffect(() => {
1900
+ savedCallback.current = callback;
1901
+ }, [callback]);
1902
+ react.useEffect(() => {
1903
+ const tick = () => savedCallback.current();
1904
+ timeoutRef.current = window.setTimeout(tick, delay);
1905
+ return () => window.clearTimeout(timeoutRef.current);
1906
+ }, [delay]);
1907
+ return timeoutRef;
1908
+ };
1909
+
1882
1910
  const useUserEvents = () => {
1883
1911
  const { userEvents } = react.useContext(UserEventsContext);
1884
1912
  if (!userEvents) {
@@ -1929,7 +1957,7 @@ function useWindowSize() {
1929
1957
  }
1930
1958
 
1931
1959
  const EthAccount = (_a) => {
1932
- var { address, icon = false, iconSize = 16, iconOnly = false, addressLength = 'auto', fontFamily = '"Source Code Pro",monospace', toEtherScan, onButtonClick } = _a, props = __rest(_a, ["address", "icon", "iconSize", "iconOnly", "addressLength", "fontFamily", "toEtherScan", "onButtonClick"]);
1960
+ var { address, icon = false, iconSize = 16, iconOnly = false, shortenedLength, addressLength = 'auto', fontFamily = '"Source Code Pro",monospace', toEtherScan, onButtonClick } = _a, props = __rest(_a, ["address", "icon", "iconSize", "iconOnly", "shortenedLength", "addressLength", "fontFamily", "toEtherScan", "onButtonClick"]);
1933
1961
  const { localAddress } = react.useContext(EthersContext);
1934
1962
  const theme = material.useTheme();
1935
1963
  const large = material.useMediaQuery(theme.breakpoints.up('md'));
@@ -1944,7 +1972,7 @@ const EthAccount = (_a) => {
1944
1972
  const testToDisplay = addressLength === 'long'
1945
1973
  ? addressToDisplay.toString()
1946
1974
  : addressLength === 'short'
1947
- ? addressToDisplay.toShortString()
1975
+ ? addressToDisplay.toShortString(shortenedLength)
1948
1976
  : large
1949
1977
  ? addressToDisplay.toString()
1950
1978
  : addressToDisplay.toShortString();
@@ -2076,10 +2104,17 @@ const ExperimentsDebugger = (_a) => {
2076
2104
  }) }), void 0));
2077
2105
  };
2078
2106
 
2079
- const LinkToEx = (_a) => {
2107
+ const LinkEx = (_a) => {
2080
2108
  var { to } = _a, props = __rest(_a, ["to"]);
2081
- return jsxRuntime.jsx(material.Link, Object.assign({ component: reactRouterDom.Link, to: to }, props), void 0);
2109
+ if (to) {
2110
+ return jsxRuntime.jsx(material.Link, Object.assign({ component: reactRouterDom.Link, to: to }, props), void 0);
2111
+ }
2112
+ else {
2113
+ return jsxRuntime.jsx(material.Link, Object.assign({}, props), void 0);
2114
+ }
2082
2115
  };
2116
+ /** @deprecated use LinkEx instead */
2117
+ const LinkToEx = LinkEx;
2083
2118
 
2084
2119
  const MenuEx = (_a) => {
2085
2120
  var { MenuListProps = {}, mode = 'light', colorize } = _a, props = __rest(_a, ["MenuListProps", "mode", "colorize"]);
@@ -2300,6 +2335,7 @@ exports.Gtm = Gtm;
2300
2335
  exports.HoverScale = HoverScale;
2301
2336
  exports.Identicon = Identicon;
2302
2337
  exports.InvertableThemeProvider = InvertableThemeProvider;
2338
+ exports.LinkEx = LinkEx;
2303
2339
  exports.LinkToEx = LinkToEx;
2304
2340
  exports.MenuEx = MenuEx;
2305
2341
  exports.MessageDialog = MessageDialog;
@@ -2345,10 +2381,12 @@ exports.setSessionStorageObject = setSessionStorageObject;
2345
2381
  exports.useAsyncEffect = useAsyncEffect;
2346
2382
  exports.useBreakpoint = useBreakpoint;
2347
2383
  exports.useCookieConsent = useCookieConsent;
2384
+ exports.useInterval = useInterval;
2348
2385
  exports.useLocalStorage = useLocalStorage;
2349
2386
  exports.useMounted = useMounted;
2350
2387
  exports.useNavigateToEthAddress = useNavigateToEthAddress;
2351
2388
  exports.useSpacing = useSpacing;
2389
+ exports.useTimeout = useTimeout;
2352
2390
  exports.useUserEvents = useUserEvents;
2353
2391
  exports.useWebP = useWebP;
2354
2392
  exports.useWindowSize = useWindowSize;