@xylabs/sdk-react 2.7.17 → 2.7.18

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.
@@ -1,6 +1,7 @@
1
- import { useBreakpoint } from './useBreakpoint';
2
- import { useMediaQuery } from './useMediaQuery';
3
- import { useMounted } from './useMounted';
4
- import { useNavigateToEthAddress } from './useNavigateToEthAddress';
5
- import { useWindowSize } from './useWindowSize';
6
- export { useBreakpoint, useMediaQuery, useMounted, useNavigateToEthAddress, useWindowSize };
1
+ export * from './useBreakpoint';
2
+ export * from './useMediaQuery';
3
+ export * from './useMounted';
4
+ export * from './useNavigateToEthAddress';
5
+ export * from './useSpacing';
6
+ export * from './useWebP';
7
+ export * from './useWindowSize';
@@ -1,7 +1,8 @@
1
- import { useBreakpoint } from './useBreakpoint';
2
- import { useMediaQuery } from './useMediaQuery';
3
- import { useMounted } from './useMounted';
4
- import { useNavigateToEthAddress } from './useNavigateToEthAddress';
5
- import { useWindowSize } from './useWindowSize';
6
- export { useBreakpoint, useMediaQuery, useMounted, useNavigateToEthAddress, useWindowSize };
1
+ export * from './useBreakpoint';
2
+ export * from './useMediaQuery';
3
+ export * from './useMounted';
4
+ export * from './useNavigateToEthAddress';
5
+ export * from './useSpacing';
6
+ export * from './useWebP';
7
+ export * from './useWindowSize';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,uBAAuB,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA;AACzC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
@@ -1,2 +1 @@
1
- declare const useBreakpoint: () => "xl" | "lg" | "md" | "sm" | "xs" | undefined;
2
- export { useBreakpoint };
1
+ export declare const useBreakpoint: () => "xl" | "lg" | "md" | "sm" | "xs" | undefined;
@@ -1,6 +1,6 @@
1
1
  import { useTheme } from '@mui/material';
2
2
  import { useMediaQuery } from './useMediaQuery';
3
- var useBreakpoint = function () {
3
+ export var useBreakpoint = function () {
4
4
  var theme = useTheme();
5
5
  var xs = useMediaQuery(theme.breakpoints.only('xs'));
6
6
  var sm = useMediaQuery(theme.breakpoints.only('sm'));
@@ -23,5 +23,4 @@ var useBreakpoint = function () {
23
23
  return 'xl';
24
24
  }
25
25
  };
26
- export { useBreakpoint };
27
26
  //# sourceMappingURL=useBreakpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBreakpoint.js","sourceRoot":"","sources":["../../src/hooks/useBreakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,IAAM,aAAa,GAAG;IACpB,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEtD,IAAI,EAAE,EAAE;QACN,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"useBreakpoint.js","sourceRoot":"","sources":["../../src/hooks/useBreakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,CAAC,IAAM,aAAa,GAAG;IAC3B,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEtD,IAAI,EAAE,EAAE;QACN,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA"}
@@ -1,2 +1 @@
1
- declare const useMounted: () => () => boolean;
2
- export { useMounted };
1
+ export declare const useMounted: () => () => boolean;
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useState } from 'react';
2
- var useMounted = function () {
2
+ export var useMounted = function () {
3
3
  var _a = useState(true), mounted = _a[0], setMounted = _a[1];
4
4
  useEffect(function () {
5
5
  setMounted(true);
@@ -12,5 +12,4 @@ var useMounted = function () {
12
12
  return mounted;
13
13
  };
14
14
  };
15
- export { useMounted };
16
15
  //# sourceMappingURL=useMounted.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMounted.js","sourceRoot":"","sources":["../../src/hooks/useMounted.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,IAAM,UAAU,GAAG;IACX,IAAA,KAAwB,QAAQ,CAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAC5C,SAAS,CAAC;QACR,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,OAAO;YACL,uDAAuD;YACvD,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO;QACL,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"useMounted.js","sourceRoot":"","sources":["../../src/hooks/useMounted.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,IAAM,UAAU,GAAG;IAClB,IAAA,KAAwB,QAAQ,CAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAA;IAC5C,SAAS,CAAC;QACR,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,OAAO;YACL,uDAAuD;YACvD,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO;QACL,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { EthAddress } from '@xylabs/sdk-js';
2
2
  import { NavigateOptions, To } from 'react-router-dom';
3
- declare const useNavigateToEthAddress: () => {
3
+ export declare const useNavigateToEthAddress: () => {
4
4
  navigateToEthAddress: (address: EthAddress, event: React.MouseEvent, page?: string | undefined, to?: To | undefined, toOptions?: NavigateOptions | undefined, toEtherScan?: boolean | undefined) => void;
5
5
  };
6
- export { useNavigateToEthAddress };
@@ -1,5 +1,5 @@
1
1
  import { useNavigate } from 'react-router-dom';
2
- var useNavigateToEthAddress = function () {
2
+ export var useNavigateToEthAddress = function () {
3
3
  var navigate = useNavigate();
4
4
  var navigateToEthAddress = function (address, event, page, to, toOptions, toEtherScan) {
5
5
  var _a;
@@ -19,5 +19,4 @@ var useNavigateToEthAddress = function () {
19
19
  };
20
20
  return { navigateToEthAddress: navigateToEthAddress };
21
21
  };
22
- export { useNavigateToEthAddress };
23
22
  //# sourceMappingURL=useNavigateToEthAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigateToEthAddress.js","sourceRoot":"","sources":["../../src/hooks/useNavigateToEthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnE,IAAM,uBAAuB,GAAG;IAC9B,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAM,oBAAoB,GAAG,UAC3B,OAAmB,EACnB,KAAuB,EACvB,IAAa,EACb,EAAO,EACP,SAA2B,EAC3B,WAAqB;;QAErB,IAAM,eAAe,GAAG,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,eAAe,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,uCAAgC,OAAO,CAAC,QAAQ,EAAE,CAAE,EAAE,QAAQ,CAAC,CAAA;SAC5E;aAAM;YACL,IAAM,IAAI,GAAG,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,EAAE,mCAAI,WAAI,IAAI,cAAI,OAAO,CAAC,QAAQ,EAAE,CAAE,CAAA;YAC/D,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;aAC5B;iBAAM;gBACL,QAAQ,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,EAAE,SAAS,CAAC,CAAA;aAChC;SACF;IACH,CAAC,CAAA;IACD,OAAO,EAAE,oBAAoB,sBAAA,EAAE,CAAA;AACjC,CAAC,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"useNavigateToEthAddress.js","sourceRoot":"","sources":["../../src/hooks/useNavigateToEthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnE,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACrC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAM,oBAAoB,GAAG,UAC3B,OAAmB,EACnB,KAAuB,EACvB,IAAa,EACb,EAAO,EACP,SAA2B,EAC3B,WAAqB;;QAErB,IAAM,eAAe,GAAG,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,eAAe,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,uCAAgC,OAAO,CAAC,QAAQ,EAAE,CAAE,EAAE,QAAQ,CAAC,CAAA;SAC5E;aAAM;YACL,IAAM,IAAI,GAAG,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,EAAE,mCAAI,WAAI,IAAI,cAAI,OAAO,CAAC,QAAQ,EAAE,CAAE,CAAA;YAC/D,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;aAC5B;iBAAM;gBACL,QAAQ,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,EAAE,SAAS,CAAC,CAAA;aAChC;SACF;IACH,CAAC,CAAA;IACD,OAAO,EAAE,oBAAoB,sBAAA,EAAE,CAAA;AACjC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const useSpacing: (value: string | number) => string;
@@ -0,0 +1,6 @@
1
+ import { useTheme } from '@mui/material';
2
+ export var useSpacing = function (value) {
3
+ var theme = useTheme();
4
+ return theme.spacing(typeof value === 'string' ? parseInt(value) : value);
5
+ };
6
+ //# sourceMappingURL=useSpacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpacing.js","sourceRoot":"","sources":["../../src/hooks/useSpacing.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,KAAsB;IAC/C,IAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC3E,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const useWebP: (webp: string, alt: string) => string | undefined;
@@ -0,0 +1,38 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { useState } from 'react';
3
+ import { useAsyncEffect } from '../lib';
4
+ var supportsWebP = undefined;
5
+ export var useWebP = function (webp, alt) {
6
+ var _a = useState(supportsWebP === true ? webp : supportsWebP === false ? alt : undefined), img = _a[0], setImg = _a[1];
7
+ useAsyncEffect(function (mounted) { return __awaiter(void 0, void 0, void 0, function () {
8
+ return __generator(this, function (_a) {
9
+ switch (_a.label) {
10
+ case 0:
11
+ if (!(supportsWebP === undefined)) return [3 /*break*/, 2];
12
+ return [4 /*yield*/, getSupportsWebP()];
13
+ case 1:
14
+ supportsWebP = _a.sent();
15
+ if (mounted()) {
16
+ setImg(supportsWebP ? webp : alt);
17
+ }
18
+ _a.label = 2;
19
+ case 2: return [2 /*return*/];
20
+ }
21
+ });
22
+ }); }, [supportsWebP]);
23
+ return img;
24
+ };
25
+ var getSupportsWebP = function () { return __awaiter(void 0, void 0, void 0, function () {
26
+ return __generator(this, function (_a) {
27
+ switch (_a.label) {
28
+ case 0: return [4 /*yield*/, new Promise(function (resolve) {
29
+ var image = new Image();
30
+ image.onerror = function () { return resolve(false); };
31
+ image.onload = function () { return resolve(image.width === 1); };
32
+ image.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA=';
33
+ }).catch(function () { return false; })];
34
+ case 1: return [2 /*return*/, _a.sent()];
35
+ }
36
+ });
37
+ }); };
38
+ //# sourceMappingURL=useWebP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWebP.js","sourceRoot":"","sources":["../../src/hooks/useWebP.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEvC,IAAI,YAAY,GAAwB,SAAS,CAAA;AAEjD,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,IAAY,EAAE,GAAW;IACzC,IAAA,KAAgB,QAAQ,CAC5B,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CACxE,EAFM,GAAG,QAAA,EAAE,MAAM,QAEjB,CAAA;IACD,cAAc,CACZ,UAAO,OAAO;;;;yBACR,CAAA,YAAY,KAAK,SAAS,CAAA,EAA1B,wBAA0B;oBACb,qBAAM,eAAe,EAAE,EAAA;;oBAAtC,YAAY,GAAG,SAAuB,CAAA;oBACtC,IAAI,OAAO,EAAE,EAAE;wBACb,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;qBAClC;;;;;SAEJ,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,IAAM,eAAe,GAAG;;;oBACf,qBAAM,IAAI,OAAO,CAAU,UAAC,OAAO;oBACxC,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;oBACzB,KAAK,CAAC,OAAO,GAAG,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,CAAA;oBACpC,KAAK,CAAC,MAAM,GAAG,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,EAA1B,CAA0B,CAAA;oBAC/C,KAAK,CAAC,GAAG,GAAG,qFAAqF,CAAA;gBACnG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,EAAA;oBALrB,sBAAO,SAKc,EAAA;;;KACtB,CAAA"}
@@ -2,5 +2,5 @@ interface Size {
2
2
  height: number | undefined;
3
3
  width: number | undefined;
4
4
  }
5
- declare function useWindowSize(): Size;
6
- export { useWindowSize };
5
+ export declare function useWindowSize(): Size;
6
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useState } from 'react';
2
- function useWindowSize() {
2
+ export function useWindowSize() {
3
3
  var _a = useState({
4
4
  height: undefined,
5
5
  width: undefined,
@@ -17,5 +17,4 @@ function useWindowSize() {
17
17
  }, []);
18
18
  return windowSize;
19
19
  }
20
- export { useWindowSize };
21
20
  //# sourceMappingURL=useWindowSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAO3C,SAAS,aAAa;IACd,IAAA,KAA8B,QAAQ,CAAO;QACjD,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;KACjB,CAAC,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAA;IACF,SAAS,CAAC;QACR,SAAS,YAAY;YACnB,aAAa,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;aACzB,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC/C,YAAY,EAAE,CAAA;QAEd,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAlD,CAAkD,CAAA;IACjE,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAO3C,MAAM,UAAU,aAAa;IACrB,IAAA,KAA8B,QAAQ,CAAO;QACjD,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;KACjB,CAAC,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAA;IACF,SAAS,CAAC;QACR,SAAS,YAAY;YACnB,aAAa,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;aACzB,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC/C,YAAY,EAAE,CAAA;QAEd,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAlD,CAAkD,CAAA;IACjE,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,UAAU,CAAA;AACnB,CAAC"}
package/package.json CHANGED
@@ -25,8 +25,8 @@
25
25
  "@emotion/styled": "^11.6.0",
26
26
  "@ethersproject/abstract-signer": "^5.5.0",
27
27
  "@ethersproject/providers": "^5.5.1",
28
- "@mui/icons-material": "^5.2.4",
29
- "@mui/material": "^5.2.4",
28
+ "@mui/icons-material": "^5.2.5",
29
+ "@mui/material": "^5.2.5",
30
30
  "@mui/styles": "^5.2.3",
31
31
  "@rollup/plugin-json": "^4.1.0",
32
32
  "@rollup/plugin-replace": "^3.0.0",
@@ -41,10 +41,10 @@
41
41
  "@types/bn.js": "^5.1.0",
42
42
  "@types/lodash": "^4.14.178",
43
43
  "@types/md5": "^2.3.1",
44
- "@types/node": "^17.0.0",
44
+ "@types/node": "^17.0.4",
45
45
  "@types/react": "^17",
46
46
  "@xylabs/eslint-config-react": "^2",
47
- "@xylabs/pixel": "^1.1.6",
47
+ "@xylabs/pixel": "^1.2.5",
48
48
  "@xylabs/sdk-js": "^2.3.19",
49
49
  "@xylabs/ts-scripts": "^1.0.24",
50
50
  "babel-loader": "^8.2.3",
@@ -52,14 +52,14 @@
52
52
  "copyfiles": "^2.4.1",
53
53
  "eslint": "^8",
54
54
  "eslint-plugin-prettier": "^4.0.0",
55
- "eslint-plugin-react": "^7.27.1",
55
+ "eslint-plugin-react": "^7.28.0",
56
56
  "eslint-plugin-react-hooks": "^4.3.0",
57
57
  "prettier": "^2.5.1",
58
58
  "react": "^17.0.2",
59
59
  "react-dom": "^17.0.2",
60
60
  "react-router-dom": "^6",
61
61
  "rollbar": "^2",
62
- "rollup": "^2.61.0",
62
+ "rollup": "^2.61.1",
63
63
  "rollup-plugin-typescript2": "^0.31.1",
64
64
  "ts-node": "^10.4.0",
65
65
  "typescript": "^4.5.4",
@@ -124,5 +124,5 @@
124
124
  "sideEffects": false,
125
125
  "type": "module",
126
126
  "types": "dist/index.d.ts",
127
- "version": "2.7.17"
127
+ "version": "2.7.18"
128
128
  }
@@ -1,7 +1,7 @@
1
- import { useBreakpoint } from './useBreakpoint'
2
- import { useMediaQuery } from './useMediaQuery'
3
- import { useMounted } from './useMounted'
4
- import { useNavigateToEthAddress } from './useNavigateToEthAddress'
5
- import { useWindowSize } from './useWindowSize'
6
-
7
- export { useBreakpoint, useMediaQuery, useMounted, useNavigateToEthAddress, useWindowSize }
1
+ export * from './useBreakpoint'
2
+ export * from './useMediaQuery'
3
+ export * from './useMounted'
4
+ export * from './useNavigateToEthAddress'
5
+ export * from './useSpacing'
6
+ export * from './useWebP'
7
+ export * from './useWindowSize'
@@ -2,7 +2,7 @@ import { useTheme } from '@mui/material'
2
2
 
3
3
  import { useMediaQuery } from './useMediaQuery'
4
4
 
5
- const useBreakpoint = () => {
5
+ export const useBreakpoint = () => {
6
6
  const theme = useTheme()
7
7
  const xs = useMediaQuery(theme.breakpoints.only('xs'))
8
8
  const sm = useMediaQuery(theme.breakpoints.only('sm'))
@@ -22,5 +22,3 @@ const useBreakpoint = () => {
22
22
  return 'xl'
23
23
  }
24
24
  }
25
-
26
- export { useBreakpoint }
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useState } from 'react'
2
2
 
3
- const useMounted = () => {
3
+ export const useMounted = () => {
4
4
  const [mounted, setMounted] = useState(true)
5
5
  useEffect(() => {
6
6
  setMounted(true)
@@ -13,5 +13,3 @@ const useMounted = () => {
13
13
  return mounted
14
14
  }
15
15
  }
16
-
17
- export { useMounted }
@@ -1,7 +1,7 @@
1
1
  import { EthAddress } from '@xylabs/sdk-js'
2
2
  import { NavigateOptions, To, useNavigate } from 'react-router-dom'
3
3
 
4
- const useNavigateToEthAddress = () => {
4
+ export const useNavigateToEthAddress = () => {
5
5
  const navigate = useNavigate()
6
6
  const navigateToEthAddress = (
7
7
  address: EthAddress,
@@ -25,5 +25,3 @@ const useNavigateToEthAddress = () => {
25
25
  }
26
26
  return { navigateToEthAddress }
27
27
  }
28
-
29
- export { useNavigateToEthAddress }
@@ -0,0 +1,6 @@
1
+ import { useTheme } from '@mui/material'
2
+
3
+ export const useSpacing = (value: string | number) => {
4
+ const theme = useTheme()
5
+ return theme.spacing(typeof value === 'string' ? parseInt(value) : value)
6
+ }
@@ -0,0 +1,32 @@
1
+ import { useState } from 'react'
2
+
3
+ import { useAsyncEffect } from '../lib'
4
+
5
+ let supportsWebP: boolean | undefined = undefined
6
+
7
+ export const useWebP = (webp: string, alt: string) => {
8
+ const [img, setImg] = useState<string | undefined>(
9
+ supportsWebP === true ? webp : supportsWebP === false ? alt : undefined
10
+ )
11
+ useAsyncEffect(
12
+ async (mounted) => {
13
+ if (supportsWebP === undefined) {
14
+ supportsWebP = await getSupportsWebP()
15
+ if (mounted()) {
16
+ setImg(supportsWebP ? webp : alt)
17
+ }
18
+ }
19
+ },
20
+ [supportsWebP]
21
+ )
22
+ return img
23
+ }
24
+
25
+ const getSupportsWebP = async () => {
26
+ return await new Promise<boolean>((resolve) => {
27
+ const image = new Image()
28
+ image.onerror = () => resolve(false)
29
+ image.onload = () => resolve(image.width === 1)
30
+ image.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA='
31
+ }).catch(() => false)
32
+ }
@@ -5,7 +5,7 @@ interface Size {
5
5
  width: number | undefined
6
6
  }
7
7
 
8
- function useWindowSize(): Size {
8
+ export function useWindowSize(): Size {
9
9
  const [windowSize, setWindowSize] = useState<Size>({
10
10
  height: undefined,
11
11
  width: undefined,
@@ -24,5 +24,3 @@ function useWindowSize(): Size {
24
24
  }, [])
25
25
  return windowSize
26
26
  }
27
-
28
- export { useWindowSize }