@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.
- package/dist/hooks/index.d.ts +7 -6
- package/dist/hooks/index.js +7 -6
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useBreakpoint.d.ts +1 -2
- package/dist/hooks/useBreakpoint.js +1 -2
- package/dist/hooks/useBreakpoint.js.map +1 -1
- package/dist/hooks/useMounted.d.ts +1 -2
- package/dist/hooks/useMounted.js +1 -2
- package/dist/hooks/useMounted.js.map +1 -1
- package/dist/hooks/useNavigateToEthAddress.d.ts +1 -2
- package/dist/hooks/useNavigateToEthAddress.js +1 -2
- package/dist/hooks/useNavigateToEthAddress.js.map +1 -1
- package/dist/hooks/useSpacing.d.ts +1 -0
- package/dist/hooks/useSpacing.js +6 -0
- package/dist/hooks/useSpacing.js.map +1 -0
- package/dist/hooks/useWebP.d.ts +1 -0
- package/dist/hooks/useWebP.js +38 -0
- package/dist/hooks/useWebP.js.map +1 -0
- package/dist/hooks/useWindowSize.d.ts +2 -2
- package/dist/hooks/useWindowSize.js +1 -2
- package/dist/hooks/useWindowSize.js.map +1 -1
- package/package.json +7 -7
- package/src/hooks/index.ts +7 -7
- package/src/hooks/useBreakpoint.ts +1 -3
- package/src/hooks/useMounted.tsx +1 -3
- package/src/hooks/useNavigateToEthAddress.ts +1 -3
- package/src/hooks/useSpacing.tsx +6 -0
- package/src/hooks/useWebP.tsx +32 -0
- package/src/hooks/useWindowSize.ts +1 -3
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
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';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
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
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,
|
|
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;
|
|
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;
|
package/dist/hooks/useMounted.js
CHANGED
|
@@ -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;
|
|
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;
|
|
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 @@
|
|
|
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"}
|
|
@@ -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,
|
|
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.
|
|
29
|
-
"@mui/material": "^5.2.
|
|
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.
|
|
44
|
+
"@types/node": "^17.0.4",
|
|
45
45
|
"@types/react": "^17",
|
|
46
46
|
"@xylabs/eslint-config-react": "^2",
|
|
47
|
-
"@xylabs/pixel": "^1.
|
|
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.
|
|
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.
|
|
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.
|
|
127
|
+
"version": "2.7.18"
|
|
128
128
|
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
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 }
|
package/src/hooks/useMounted.tsx
CHANGED
|
@@ -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,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 }
|