@mezo-org/passport 0.15.1-dev.4 → 0.15.1-dev.6
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/src/assets/DefaultAvatar.d.ts +5 -0
- package/dist/src/assets/DefaultAvatar.d.ts.map +1 -0
- package/dist/src/assets/DefaultAvatar.js +21 -0
- package/dist/src/assets/DefaultAvatar.js.map +1 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.d.ts +8 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.d.ts.map +1 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.js +39 -0
- package/dist/src/components/Dropdown/ConnectedTrigger.js.map +1 -0
- package/dist/src/components/Dropdown/Content.d.ts +8 -0
- package/dist/src/components/Dropdown/Content.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Content.js +27 -0
- package/dist/src/components/Dropdown/Content.js.map +1 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts +7 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.d.ts.map +1 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.js +13 -0
- package/dist/src/components/Dropdown/DisconnectedTrigger.js.map +1 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts +23 -0
- package/dist/src/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Dropdown.js +45 -0
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/src/components/Dropdown/ListingItem.d.ts +14 -0
- package/dist/src/components/Dropdown/ListingItem.d.ts.map +1 -0
- package/dist/src/components/Dropdown/ListingItem.js +42 -0
- package/dist/src/components/Dropdown/ListingItem.js.map +1 -0
- package/dist/src/components/Dropdown/NestedViewLayout.d.ts +8 -0
- package/dist/src/components/Dropdown/NestedViewLayout.d.ts.map +1 -0
- package/dist/src/components/Dropdown/NestedViewLayout.js +32 -0
- package/dist/src/components/Dropdown/NestedViewLayout.js.map +1 -0
- package/dist/src/components/Dropdown/Receive/Receive.d.ts +4 -0
- package/dist/src/components/Dropdown/Receive/Receive.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Receive/Receive.js +64 -0
- package/dist/src/components/Dropdown/Receive/Receive.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts +4 -0
- package/dist/src/components/Dropdown/Root/AccountAddressActions.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountAddressActions.js +49 -0
- package/dist/src/components/Dropdown/Root/AccountAddressActions.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBalance.d.ts +6 -0
- package/dist/src/components/Dropdown/Root/AccountBalance.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBalance.js +32 -0
- package/dist/src/components/Dropdown/Root/AccountBalance.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts +6 -0
- package/dist/src/components/Dropdown/Root/AccountBtcListing.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountBtcListing.js +28 -0
- package/dist/src/components/Dropdown/Root/AccountBtcListing.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountError.d.ts +8 -0
- package/dist/src/components/Dropdown/Root/AccountError.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountError.js +17 -0
- package/dist/src/components/Dropdown/Root/AccountError.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts +4 -0
- package/dist/src/components/Dropdown/Root/AccountMusdListing.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js +21 -0
- package/dist/src/components/Dropdown/Root/AccountMusdListing.js.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts +8 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.js +43 -0
- package/dist/src/components/Dropdown/Root/AccountOtherAssets.js.map +1 -0
- package/dist/src/components/Dropdown/Root/Root.d.ts +8 -0
- package/dist/src/components/Dropdown/Root/Root.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/Root.js +45 -0
- package/dist/src/components/Dropdown/Root/Root.js.map +1 -0
- package/dist/src/components/Dropdown/Root/WalletAddress.d.ts +4 -0
- package/dist/src/components/Dropdown/Root/WalletAddress.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/WalletAddress.js +66 -0
- package/dist/src/components/Dropdown/Root/WalletAddress.js.map +1 -0
- package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts +6 -0
- package/dist/src/components/Dropdown/Root/WelcomeBlock.d.ts.map +1 -0
- package/dist/src/components/Dropdown/Root/WelcomeBlock.js +88 -0
- package/dist/src/components/Dropdown/Root/WelcomeBlock.js.map +1 -0
- package/dist/src/components/Dropdown/SlotNumber.d.ts +19 -0
- package/dist/src/components/Dropdown/SlotNumber.d.ts.map +1 -0
- package/dist/src/components/Dropdown/SlotNumber.js +67 -0
- package/dist/src/components/Dropdown/SlotNumber.js.map +1 -0
- package/dist/src/components/Dropdown/TestnetTopBanner.d.ts +3 -0
- package/dist/src/components/Dropdown/TestnetTopBanner.d.ts.map +1 -0
- package/dist/src/components/Dropdown/TestnetTopBanner.js +14 -0
- package/dist/src/components/Dropdown/TestnetTopBanner.js.map +1 -0
- package/dist/src/components/Dropdown/index.d.ts +3 -0
- package/dist/src/components/Dropdown/index.d.ts.map +1 -0
- package/dist/src/components/Dropdown/index.js +2 -0
- package/dist/src/components/Dropdown/index.js.map +1 -0
- package/dist/src/components/index.d.ts +2 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/index.js +2 -0
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/config.d.ts +2 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/hooks/useAuthenticateWithWallet.d.ts +11 -11
- package/dist/src/hooks/useSignInWithWallet.d.ts +11 -11
- package/dist/src/hooks/useSignUpWithWallet.d.ts +11 -11
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +2 -1
- package/src/assets/DefaultAvatar.tsx +74 -0
- package/src/components/Dropdown/ConnectedTrigger.tsx +76 -0
- package/src/components/Dropdown/Content.tsx +53 -0
- package/src/components/Dropdown/DisconnectedTrigger.tsx +36 -0
- package/src/components/Dropdown/Dropdown.tsx +100 -0
- package/src/components/Dropdown/ListingItem.tsx +176 -0
- package/src/components/Dropdown/NestedViewLayout.tsx +87 -0
- package/src/components/Dropdown/README.md +41 -0
- package/src/components/Dropdown/Receive/Receive.tsx +144 -0
- package/src/components/Dropdown/Root/AccountAddressActions.tsx +99 -0
- package/src/components/Dropdown/Root/AccountBalance.tsx +69 -0
- package/src/components/Dropdown/Root/AccountBtcListing.tsx +53 -0
- package/src/components/Dropdown/Root/AccountError.tsx +34 -0
- package/src/components/Dropdown/Root/AccountMusdListing.tsx +45 -0
- package/src/components/Dropdown/Root/AccountOtherAssets.tsx +85 -0
- package/src/components/Dropdown/Root/Root.tsx +77 -0
- package/src/components/Dropdown/Root/WalletAddress.tsx +123 -0
- package/src/components/Dropdown/Root/WelcomeBlock.tsx +173 -0
- package/src/components/Dropdown/SlotNumber.tsx +131 -0
- package/src/components/Dropdown/TestnetTopBanner.tsx +32 -0
- package/src/components/Dropdown/index.ts +2 -0
- package/src/components/index.ts +1 -0
- package/src/config.ts +3 -3
- package/src/index.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAvatar.d.ts","sourceRoot":"","sources":["../../../src/assets/DefaultAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAoEvC,iBAAS,sBAAsB,CAAC,KAAK,EAAE,UAAU,qBAEhD;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Block } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
function DefaultAvatar(props) {
|
|
4
|
+
return (React.createElement("svg", { viewBox: "0 0 214 214", fill: "none", ...props },
|
|
5
|
+
React.createElement("rect", { y: "-0.478027", width: "166.379", height: "81.7091", fill: "#FF004D" }),
|
|
6
|
+
React.createElement("rect", { x: "166", y: "-0.478027", width: "48", height: "82", fill: "black" }),
|
|
7
|
+
React.createElement("rect", { x: "166.379", y: "81.231", width: "24.1044", height: "132.291", fill: "#DFFF80" }),
|
|
8
|
+
React.createElement("rect", { x: "118.758", y: "81.231", width: "24.1044", height: "132.291", fill: "#FF5500" }),
|
|
9
|
+
React.createElement("rect", { x: "71.1372", y: "81.231", width: "24.1044", height: "132.291", fill: "#5A59A7" }),
|
|
10
|
+
React.createElement("rect", { x: "23.5166", y: "81.231", width: "24.1044", height: "132.291", fill: "#47B5FF" }),
|
|
11
|
+
React.createElement("rect", { y: "81.231", width: "23.5165", height: "132.291", fill: "#A3C238" }),
|
|
12
|
+
React.createElement("rect", { x: "190.483", y: "81.231", width: "23.5165", height: "132.291", fill: "#6E6E70" }),
|
|
13
|
+
React.createElement("rect", { x: "142.863", y: "81.231", width: "23.5165", height: "132.291", fill: "#0A3C01" }),
|
|
14
|
+
React.createElement("rect", { x: "95.2417", y: "81.231", width: "23.5165", height: "132.291", fill: "#F2A91F" }),
|
|
15
|
+
React.createElement("rect", { x: "47.6211", y: "81.231", width: "23.5165", height: "132.291", fill: "#6B3D01" })));
|
|
16
|
+
}
|
|
17
|
+
function DefaultAvatarComponent(props) {
|
|
18
|
+
return React.createElement(Block, { as: DefaultAvatar, ...props });
|
|
19
|
+
}
|
|
20
|
+
export default DefaultAvatarComponent;
|
|
21
|
+
//# sourceMappingURL=DefaultAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAvatar.js","sourceRoot":"","sources":["../../../src/assets/DefaultAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,SAAS,aAAa,CAAC,KAA8B;IACnD,OAAO,CACL,6BAAK,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,KAAK,KAAK;QAC9C,8BAAM,CAAC,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,GAAG;QACtE,8BAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,GAAG;QAClE,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,GAAG;QACnE,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd;QACF,8BACE,CAAC,EAAC,SAAS,EACX,CAAC,EAAC,QAAQ,EACV,KAAK,EAAC,SAAS,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,SAAS,GACd,CACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAiB;IAC/C,OAAO,oBAAC,KAAK,IAAC,EAAE,EAAE,aAAa,KAAM,KAAK,GAAI,CAAA;AAChD,CAAC;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ButtonProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
declare const ConnectedTrigger: React.ForwardRefExoticComponent<Omit<ButtonProps, "size" | "children"> & {
|
|
4
|
+
avatar: ReactNode;
|
|
5
|
+
size?: "medium" | "large";
|
|
6
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
export default ConnectedTrigger;
|
|
8
|
+
//# sourceMappingURL=ConnectedTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectedTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/ConnectedTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAgB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,KAAK,EAAE,EAAc,SAAS,EAAW,MAAM,OAAO,CAAA;AAO7D,QAAA,MAAM,gBAAgB;YAJZ,SAAS;WACV,QAAQ,GAAG,OAAO;2CAoE1B,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Block, Button, useStyletron } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { forwardRef, useMemo } from "react";
|
|
3
|
+
const ConnectedTrigger = forwardRef((props, ref) => {
|
|
4
|
+
const { onClick, avatar, size = "medium", ...restProps } = props;
|
|
5
|
+
const [, theme] = useStyletron();
|
|
6
|
+
const avatarSize = useMemo(() => {
|
|
7
|
+
const sizeMap = {
|
|
8
|
+
medium: theme.sizing.scale950,
|
|
9
|
+
large: theme.sizing.scale1400,
|
|
10
|
+
};
|
|
11
|
+
return sizeMap[size];
|
|
12
|
+
}, [theme, size]);
|
|
13
|
+
const buttonPadding = useMemo(() => {
|
|
14
|
+
const paddingMap = {
|
|
15
|
+
medium: theme.sizing.scale0,
|
|
16
|
+
large: theme.sizing.scale100,
|
|
17
|
+
};
|
|
18
|
+
return paddingMap[size];
|
|
19
|
+
}, [theme, size]);
|
|
20
|
+
return (React.createElement(Button, { overrides: {
|
|
21
|
+
BaseButton: {
|
|
22
|
+
props: { ref, ...restProps },
|
|
23
|
+
style: {
|
|
24
|
+
borderRadius: "100%",
|
|
25
|
+
overflow: "hidden",
|
|
26
|
+
padding: buttonPadding,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
}, onClick: onClick }, typeof avatar === "string" ? (React.createElement(Block, { width: avatarSize, height: avatarSize, as: "img", src: avatar, alt: "" })) : (React.createElement(Block, { width: avatarSize, height: avatarSize, overrides: {
|
|
30
|
+
Block: {
|
|
31
|
+
style: {
|
|
32
|
+
borderRadius: "100%",
|
|
33
|
+
overflow: "hidden",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
} }, avatar))));
|
|
37
|
+
});
|
|
38
|
+
export default ConnectedTrigger;
|
|
39
|
+
//# sourceMappingURL=ConnectedTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectedTrigger.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/ConnectedTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,KAAK,EAAE,EAAE,UAAU,EAAa,OAAO,EAAE,MAAM,OAAO,CAAA;AAO7D,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAEhE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;YAC7B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;SAC9B,CAAA;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAEjB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC3B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;SAC7B,CAAA;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAEjB,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE;YACT,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE;gBAC5B,KAAK,EAAE;oBACL,YAAY,EAAE,MAAM;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,aAAa;iBACvB;aACF;SACF,EACD,OAAO,EAAE,OAAO,IAEf,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC5B,oBAAC,KAAK,IACJ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,EAAE,EAAC,KAAK,EACR,GAAG,EAAE,MAAM,EACX,GAAG,EAAC,EAAE,GACN,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,KAAK,IACJ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,YAAY,EAAE,MAAM;oBACpB,QAAQ,EAAE,QAAQ;iBACnB;aACF;SACF,IAEA,MAAM,CACD,CACT,CACM,CACV,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/Content.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,KAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAED,iBAAS,OAAO,CAAC,KAAK,EAAE,YAAY,qBAsCnC;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Block, useStyletron } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { useEffect } from "react";
|
|
3
|
+
import useDropdownStore, { DropdownView } from "../../stores/dropdownStore";
|
|
4
|
+
import Root from "./Root/Root";
|
|
5
|
+
import Receive from "./Receive/Receive";
|
|
6
|
+
import TestnetTopBanner from "./TestnetTopBanner";
|
|
7
|
+
function Content(props) {
|
|
8
|
+
const { onSignOut, onOtherAssetsClick } = props;
|
|
9
|
+
const [_, theme] = useStyletron();
|
|
10
|
+
const currentView = useDropdownStore((state) => state.view);
|
|
11
|
+
const setView = useDropdownStore((state) => state.setView);
|
|
12
|
+
useEffect(() => () => {
|
|
13
|
+
setView(DropdownView.ROOT);
|
|
14
|
+
}, [setView]);
|
|
15
|
+
return (React.createElement(Block, { display: "inline-flex", flexDirection: "column", backgroundColor: theme.colors.backgroundPrimary, width: "100%", overrides: {
|
|
16
|
+
Block: {
|
|
17
|
+
style: {
|
|
18
|
+
boxSizing: "border-box",
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
} },
|
|
22
|
+
React.createElement(TestnetTopBanner, null),
|
|
23
|
+
currentView === DropdownView.ROOT && (React.createElement(Root, { onSignOut: onSignOut, onOtherAssetsClick: onOtherAssetsClick })),
|
|
24
|
+
currentView === DropdownView.RECEIVE && React.createElement(Receive, null)));
|
|
25
|
+
}
|
|
26
|
+
export default Content;
|
|
27
|
+
//# sourceMappingURL=Content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,OAAO,MAAM,mBAAmB,CAAA;AACvC,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAOjD,SAAS,OAAO,CAAC,KAAmB;IAClC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IAE/C,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAE1D,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,aAAa,EACrB,aAAa,EAAC,QAAQ,EACtB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAC/C,KAAK,EAAC,MAAM,EACZ,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,SAAS,EAAE,YAAY;iBACxB;aACF;SACF;QAED,oBAAC,gBAAgB,OAAG;QAEnB,WAAW,KAAK,YAAY,CAAC,IAAI,IAAI,CACpC,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CACvE;QAEA,WAAW,KAAK,YAAY,CAAC,OAAO,IAAI,oBAAC,OAAO,OAAG,CAC9C,CACT,CAAA;AACH,CAAC;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ButtonProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
declare const DisconnectedTrigger: React.ForwardRefExoticComponent<Omit<ButtonProps, "children"> & {
|
|
4
|
+
children: string;
|
|
5
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export default DisconnectedTrigger;
|
|
7
|
+
//# sourceMappingURL=DisconnectedTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisconnectedTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/DisconnectedTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAyB,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAqB,MAAM,OAAO,CAAA;AAMzC,QAAA,MAAM,mBAAmB;cAHb,MAAM;2CA6BhB,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Button, LogIn01, useStyletron } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { forwardRef } from "react";
|
|
3
|
+
const DisconnectedTrigger = forwardRef((props, ref) => {
|
|
4
|
+
const { onClick, children, ...restProps } = props;
|
|
5
|
+
const [, theme] = useStyletron();
|
|
6
|
+
return (React.createElement(Button, { startEnhancer: React.createElement(LogIn01, { color: "currentColor", size: theme.sizing.scale600 }), overrides: {
|
|
7
|
+
Root: {
|
|
8
|
+
props: { ref },
|
|
9
|
+
},
|
|
10
|
+
}, size: "small", shape: "pill", onClick: onClick, ...restProps }, children));
|
|
11
|
+
});
|
|
12
|
+
export default DisconnectedTrigger;
|
|
13
|
+
//# sourceMappingURL=DisconnectedTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisconnectedTrigger.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/DisconnectedTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAMzC,MAAM,mBAAmB,GAAG,UAAU,CAGpC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAEjD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,OAAO,CACL,oBAAC,MAAM,IACL,aAAa,EACX,oBAAC,OAAO,IAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAI,EAE/D,SAAS,EAAE;YACT,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,GAAG,EAAE;aACf;SACF,EACD,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,OAAO,KACZ,SAAS,IAEZ,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ButtonProps, StatefulPopoverProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export type DropdownProps = {
|
|
4
|
+
/** The callback to be called when the user clicks the sign-out button */
|
|
5
|
+
onSignOut?: () => void;
|
|
6
|
+
/** The callback to be called when the user clicks the button in sign-in state */
|
|
7
|
+
onSignIn?: () => void;
|
|
8
|
+
/** The props to be passed to the trigger button */
|
|
9
|
+
triggerProps?: {
|
|
10
|
+
signedIn?: Omit<ButtonProps, "onClick" | "size"> & {
|
|
11
|
+
size: "medium" | "large";
|
|
12
|
+
};
|
|
13
|
+
signedOut?: Omit<ButtonProps, "onClick">;
|
|
14
|
+
};
|
|
15
|
+
onOtherAssetsClick?: () => void;
|
|
16
|
+
} & Omit<StatefulPopoverProps, "children" | "content">;
|
|
17
|
+
/**
|
|
18
|
+
* Passport Dropdown component that displays user's wallet and assets information.
|
|
19
|
+
* @param {DropdownProps} props - Component props.
|
|
20
|
+
* @returns {JSX.Element}
|
|
21
|
+
*/
|
|
22
|
+
export declare function Dropdown(props: DropdownProps): React.JSX.Element;
|
|
23
|
+
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,oBAAoB,EAErB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,aAAa,GAAG;IAC1B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;YACjD,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;SACzB,CAAA;QACD,SAAS,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KACzC,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAA;AAEtD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,qBAgE5C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { StatefulPopover, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import DefaultAvatar from "../../assets/DefaultAvatar";
|
|
5
|
+
import ConnectedTrigger from "./ConnectedTrigger";
|
|
6
|
+
import Content from "./Content";
|
|
7
|
+
import DisconnectedTrigger from "./DisconnectedTrigger";
|
|
8
|
+
import { useWalletAccount } from "../../hooks/useWalletAccount";
|
|
9
|
+
import { useWatchTransferEventsForAllTokens } from "../../hooks/useWatchTransferEvents";
|
|
10
|
+
/**
|
|
11
|
+
* Passport Dropdown component that displays user's wallet and assets information.
|
|
12
|
+
* @param {DropdownProps} props - Component props.
|
|
13
|
+
* @returns {JSX.Element}
|
|
14
|
+
*/
|
|
15
|
+
export function Dropdown(props) {
|
|
16
|
+
const { placement = "bottomRight", animateOutTime = 120, onSignIn, onSignOut, overrides, triggerProps, onOtherAssetsClick, ...restProps } = props;
|
|
17
|
+
const [, theme] = useStyletron();
|
|
18
|
+
const walletAccount = useWalletAccount();
|
|
19
|
+
useWatchTransferEventsForAllTokens();
|
|
20
|
+
const { openConnectModal } = useConnectModal();
|
|
21
|
+
if (!walletAccount?.isConnected) {
|
|
22
|
+
return (React.createElement(DisconnectedTrigger
|
|
23
|
+
// If connect wallet flow is not provided it fallbacks to RainbowKit's
|
|
24
|
+
// connect modal
|
|
25
|
+
, {
|
|
26
|
+
// If connect wallet flow is not provided it fallbacks to RainbowKit's
|
|
27
|
+
// connect modal
|
|
28
|
+
onClick: onSignIn || openConnectModal, ...triggerProps?.signedOut }, "Sign in"));
|
|
29
|
+
}
|
|
30
|
+
return (React.createElement(StatefulPopover, { content: React.createElement(Content, { onSignOut: onSignOut, onOtherAssetsClick: onOtherAssetsClick }), placement: placement, animateOutTime: animateOutTime, overrides: {
|
|
31
|
+
...overrides,
|
|
32
|
+
Body: {
|
|
33
|
+
...overrides?.Body,
|
|
34
|
+
style: {
|
|
35
|
+
width: "402px",
|
|
36
|
+
borderRadius: theme.borders.radius500,
|
|
37
|
+
boxShadow: theme.lighting.shadow500,
|
|
38
|
+
overflow: "hidden",
|
|
39
|
+
...overrides?.Body?.style,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}, ...restProps },
|
|
43
|
+
React.createElement(ConnectedTrigger, { avatar: React.createElement(DefaultAvatar, null), ...triggerProps?.signedIn })));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEf,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAA;AAiBvF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,SAAS,GAAG,aAAa,EACzB,cAAc,GAAG,GAAG,EACpB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,GAAG,SAAS,EACb,GAAG,KAAK,CAAA;IAET,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,kCAAkC,EAAE,CAAA;IAEpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,CAAA;IAE9C,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAChC,OAAO,CACL,oBAAC,mBAAmB;QAClB,sEAAsE;QACtE,gBAAgB;;YADhB,sEAAsE;YACtE,gBAAgB;YAChB,OAAO,EAAE,QAAQ,IAAI,gBAAgB,KACjC,YAAY,EAAE,SAAS,cAGP,CACvB,CAAA;IACH,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IACd,OAAO,EACL,oBAAC,OAAO,IACN,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,GACtC,EAEJ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,IAAI,EAAE;gBACJ,GAAG,SAAS,EAAE,IAAI;gBAClB,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;oBACrC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;iBAC1B;aACF;SACF,KACG,SAAS;QAEb,oBAAC,gBAAgB,IACf,MAAM,EAAE,oBAAC,aAAa,OAAG,KACrB,YAAY,EAAE,QAAQ,GAC1B,CACc,CACnB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BlockProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
type ListingItemProps = {
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
label?: string;
|
|
6
|
+
subLabel?: string;
|
|
7
|
+
value?: number;
|
|
8
|
+
subValue?: number;
|
|
9
|
+
overrides?: BlockProps["overrides"];
|
|
10
|
+
isLoading?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export default function ListingItem(props: ListingItemProps): React.JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=ListingItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListingItem.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/ListingItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAIX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAwDxC,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAoG1D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { mergeOverrides, Block, useStyletron, Skeleton, LabelMedium, ParagraphSmall, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import SlotNumber from "./SlotNumber";
|
|
4
|
+
import { formatUsd } from "../../utils/currency";
|
|
5
|
+
function ListingItemLayout(props) {
|
|
6
|
+
const { icon, label, value, subLabel, subValue, overrides, ...restProps } = props;
|
|
7
|
+
const [, theme] = useStyletron();
|
|
8
|
+
return (React.createElement(Block, { display: "flex", alignItems: "center", paddingLeft: theme.sizing.scale600, paddingRight: theme.sizing.scale600, overrides: mergeOverrides({
|
|
9
|
+
Block: {
|
|
10
|
+
style: {
|
|
11
|
+
gap: theme.sizing.scale600,
|
|
12
|
+
minHeight: "72px",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
}, overrides), ...restProps },
|
|
16
|
+
icon && icon,
|
|
17
|
+
React.createElement(Block, { display: "flex", flexDirection: "column", alignItems: "flex-start" },
|
|
18
|
+
label && label,
|
|
19
|
+
subLabel && subLabel),
|
|
20
|
+
React.createElement(Block, { display: "flex", flexDirection: "column", alignItems: "flex-end", marginLeft: "auto" },
|
|
21
|
+
value && value,
|
|
22
|
+
subValue && subValue)));
|
|
23
|
+
}
|
|
24
|
+
export default function ListingItem(props) {
|
|
25
|
+
const { icon, label, subLabel, value, subValue, overrides, isLoading = false, } = props;
|
|
26
|
+
const [, theme] = useStyletron();
|
|
27
|
+
if (isLoading) {
|
|
28
|
+
return (React.createElement(ListingItemLayout, { icon: React.createElement(Skeleton, { animation: true, width: theme.sizing.scale800, height: theme.sizing.scale800 }), label: React.createElement(Skeleton, { animation: true, width: theme.sizing.scale2400, height: theme.sizing.scale600, overrides: {
|
|
29
|
+
Root: {
|
|
30
|
+
style: { marginBottom: theme.sizing.scale100 },
|
|
31
|
+
},
|
|
32
|
+
} }), subLabel: React.createElement(Skeleton, { animation: true, width: theme.sizing.scale1600, height: theme.sizing.scale550 }), value: React.createElement(Skeleton, { animation: true, width: theme.sizing.scale2400, height: theme.sizing.scale600, overrides: {
|
|
33
|
+
Root: {
|
|
34
|
+
style: { marginBottom: theme.sizing.scale100 },
|
|
35
|
+
},
|
|
36
|
+
} }), subValue: React.createElement(Skeleton, { animation: true, width: theme.sizing.scale1600, height: theme.sizing.scale550 }), overrides: overrides }));
|
|
37
|
+
}
|
|
38
|
+
return (React.createElement(ListingItemLayout, { icon: icon, label: React.createElement(LabelMedium, null, label), subLabel: React.createElement(ParagraphSmall, { margin: 0, as: "div", color: theme.colors.contentSecondary }, subLabel), value: value !== undefined && (React.createElement(LabelMedium, null,
|
|
39
|
+
React.createElement(SlotNumber, { formatFunction: formatUsd }, value))), subValue: subValue !== undefined && (React.createElement(ParagraphSmall, { margin: 0, as: "div", color: theme.colors.contentSecondary },
|
|
40
|
+
React.createElement(SlotNumber, { formatFunction: formatUsd }, subValue))), overrides: overrides }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ListingItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListingItem.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/ListingItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BlockProps } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
type NestedViewLayoutProps = {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
} & BlockProps;
|
|
6
|
+
declare function NestedViewLayout(props: NestedViewLayoutProps): React.JSX.Element;
|
|
7
|
+
export default NestedViewLayout;
|
|
8
|
+
//# sourceMappingURL=NestedViewLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestedViewLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/Dropdown/NestedViewLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAIX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAA;AAUrD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB,GAAG,UAAU,CAAA;AAEd,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qBA8DrD;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ArrowLeft, Block, ButtonIcon, HeadingSmall, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { useCallback } from "react";
|
|
3
|
+
import useDropdownStore, { DropdownView } from "../../stores/dropdownStore";
|
|
4
|
+
const getHeaderTitle = (view) => {
|
|
5
|
+
const titleMap = {
|
|
6
|
+
[DropdownView.RECEIVE]: "Scan to receive",
|
|
7
|
+
};
|
|
8
|
+
return titleMap[view];
|
|
9
|
+
};
|
|
10
|
+
function NestedViewLayout(props) {
|
|
11
|
+
const { children, ...restProps } = props;
|
|
12
|
+
const currentView = useDropdownStore((state) => state.view);
|
|
13
|
+
const setView = useDropdownStore((state) => state.setView);
|
|
14
|
+
const [, theme] = useStyletron();
|
|
15
|
+
const handleOnButtonClick = useCallback(() => {
|
|
16
|
+
setView(DropdownView.ROOT);
|
|
17
|
+
}, [setView]);
|
|
18
|
+
return (React.createElement(Block, { display: "flex", flexDirection: "column", minHeight: "588px", ...restProps },
|
|
19
|
+
React.createElement(Block, { display: "flex", alignItems: "center", padding: theme.sizing.scale100, paddingTop: theme.sizing.scale800, paddingBottom: theme.sizing.scale500, marginBottom: theme.sizing.scale300, overrides: {
|
|
20
|
+
Block: {
|
|
21
|
+
style: {
|
|
22
|
+
gap: theme.sizing.scale300,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
} },
|
|
26
|
+
React.createElement(ButtonIcon, { onClick: handleOnButtonClick, shape: "circle", size: "medium", kind: "tertiary" },
|
|
27
|
+
React.createElement(ArrowLeft, null)),
|
|
28
|
+
React.createElement(HeadingSmall, { marginTop: theme.sizing.scale300, marginBottom: theme.sizing.scale300 }, getHeaderTitle(currentView))),
|
|
29
|
+
React.createElement(Block, { display: "flex", flexDirection: "column", padding: theme.sizing.scale600, paddingTop: 0, flex: 1 }, children)));
|
|
30
|
+
}
|
|
31
|
+
export default NestedViewLayout;
|
|
32
|
+
//# sourceMappingURL=NestedViewLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestedViewLayout.js","sourceRoot":"","sources":["../../../../src/components/Dropdown/NestedViewLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EAEL,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAa,WAAW,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE3E,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC5C,MAAM,QAAQ,GAA0C;QACtD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB;KAC1C,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAE,CAAA;AACxB,CAAC,CAAA;AAMD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAExC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAE1D,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAC,OAAO,KACb,SAAS;QAEb,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC9B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACjC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACpC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EACnC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;qBAC3B;iBACF;aACF;YAED,oBAAC,UAAU,IACT,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU;gBAEf,oBAAC,SAAS,OAAG,CACF;YAEb,oBAAC,YAAY,IACX,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAChC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,IAElC,cAAc,CAAC,WAAW,CAAC,CACf,CACT;QAER,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,aAAa,EAAC,QAAQ,EACtB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAC9B,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,CAAC,IAEN,QAAQ,CACH,CACF,CACT,CAAA;AACH,CAAC;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Receive.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"AASA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,iBAAS,OAAO,sBA4Hf;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Block, Button, LabelLarge, MezoCircle, MonoLabelXSmall, ParagraphSmall, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { useCopyToClipboard } from "usehooks-ts";
|
|
4
|
+
import { QRCodeSVG } from "qrcode.react";
|
|
5
|
+
import NestedViewLayout from "../NestedViewLayout";
|
|
6
|
+
import { getAddressExplorerUrl } from "../../../utils/address";
|
|
7
|
+
import { usePassportContext } from "../../../hooks/usePassportContext";
|
|
8
|
+
import { useWalletAccount } from "../../../hooks/useWalletAccount";
|
|
9
|
+
function Receive() {
|
|
10
|
+
const { environment } = usePassportContext();
|
|
11
|
+
const walletAccount = useWalletAccount();
|
|
12
|
+
const [, theme] = useStyletron();
|
|
13
|
+
const [, copy] = useCopyToClipboard();
|
|
14
|
+
const [isCopiedMessageVisible, setIsCopiedMessageVisible] = useState(false);
|
|
15
|
+
const handleCopyAddress = () => {
|
|
16
|
+
copy(walletAccount.accountAddress);
|
|
17
|
+
setIsCopiedMessageVisible(true);
|
|
18
|
+
setTimeout(() => {
|
|
19
|
+
setIsCopiedMessageVisible(false);
|
|
20
|
+
}, 2000);
|
|
21
|
+
};
|
|
22
|
+
const blockExplorerUrl = getAddressExplorerUrl(walletAccount.accountAddress, "mezo", environment === "testnet");
|
|
23
|
+
return (React.createElement(NestedViewLayout, null,
|
|
24
|
+
React.createElement(LabelLarge, null, "Your Mezo Address"),
|
|
25
|
+
React.createElement(ParagraphSmall, { marginTop: 0, marginBottom: theme.sizing.scale800, color: theme.colors.contentTertiary }, walletAccount.networkFamily === "bitcoin" ? (React.createElement(React.Fragment, null, "Mezo automatically created a smart account that's fully controlled by your connected Bitcoin wallet. Use this address to receive assets on Mezo.")) : (React.createElement(React.Fragment, null, "Your connected wallet address is your Mezo address. Use this address to receive assets on Mezo."))),
|
|
26
|
+
React.createElement(Block, { as: QRCodeSVG, value: walletAccount.accountAddress, flex: 1, overrides: {
|
|
27
|
+
Block: {
|
|
28
|
+
style: {
|
|
29
|
+
aspectRatio: 1,
|
|
30
|
+
width: "fit-content",
|
|
31
|
+
margin: "0 auto",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
} }),
|
|
35
|
+
React.createElement(Block, { display: "flex", alignItems: "center", backgroundColor: theme.colors.backgroundSecondary, marginTop: theme.sizing.scale800, marginBottom: theme.sizing.scale600, padding: theme.sizing.scale300, overrides: {
|
|
36
|
+
Block: {
|
|
37
|
+
style: {
|
|
38
|
+
gap: theme.sizing.scale300,
|
|
39
|
+
borderRadius: theme.borders.radius400,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
} },
|
|
43
|
+
React.createElement(MezoCircle, { size: theme.sizing.scale700, color: theme.colors.accent, symbolColor: theme.colors.white, overrides: {
|
|
44
|
+
Svg: {
|
|
45
|
+
style: {
|
|
46
|
+
backgroundColor: theme.colors.accent,
|
|
47
|
+
overflow: "hidden",
|
|
48
|
+
borderRadius: theme.borders.radius200,
|
|
49
|
+
flexShrink: 0,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
} }),
|
|
53
|
+
React.createElement(MonoLabelXSmall, null, walletAccount.accountAddress)),
|
|
54
|
+
React.createElement(Button, { onClick: handleCopyAddress, size: "medium", overrides: {
|
|
55
|
+
BaseButton: {
|
|
56
|
+
style: {
|
|
57
|
+
marginBottom: theme.sizing.scale500,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
} }, isCopiedMessageVisible ? "Copied!" : "Copy Mezo address"),
|
|
61
|
+
React.createElement(Button, { kind: "secondary", size: "medium", "$as": "a", href: blockExplorerUrl, target: "_blank" }, "View Mezo explorer")));
|
|
62
|
+
}
|
|
63
|
+
export default Receive;
|
|
64
|
+
//# sourceMappingURL=Receive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Receive.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Receive/Receive.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAddressActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAddressActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAKX,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AA0BzB,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAK,EAAE,UAAU,qBA+D9D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ArrowNarrowLeft, Block, Button, mergeOverrides, useStyletron, } from "@mezo-org/mezo-clay";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { usePassportContext } from "../../../hooks/usePassportContext";
|
|
4
|
+
import { getAddressExplorerUrl } from "../../../utils/address";
|
|
5
|
+
import useDropdownStore, { DropdownView } from "../../../stores/dropdownStore";
|
|
6
|
+
import { useWalletAccount } from "../../../hooks/useWalletAccount";
|
|
7
|
+
const buttonStartEnhancerSize = 12;
|
|
8
|
+
const commonButtonProps = {
|
|
9
|
+
kind: "secondary",
|
|
10
|
+
size: "small",
|
|
11
|
+
shape: "pill",
|
|
12
|
+
overrides: {
|
|
13
|
+
BaseButton: {
|
|
14
|
+
style: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
StartEnhancer: {
|
|
19
|
+
style: {
|
|
20
|
+
stroke: "currentColor",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export default function AccountAddressActions(props) {
|
|
26
|
+
const { overrides, ...restProps } = props;
|
|
27
|
+
const [, theme] = useStyletron();
|
|
28
|
+
const { environment } = usePassportContext();
|
|
29
|
+
const setDropdownView = useDropdownStore((state) => state.setView);
|
|
30
|
+
const handleReceiveClick = () => setDropdownView(DropdownView.RECEIVE);
|
|
31
|
+
const walletAccount = useWalletAccount();
|
|
32
|
+
const blockExplorerUrl = getAddressExplorerUrl(walletAccount.accountAddress, "mezo", environment === "testnet");
|
|
33
|
+
return (React.createElement(Block, { display: "flex", alignItems: "center", backgroundColor: "transparent", padding: `0 ${theme.sizing.scale600} ${theme.sizing.scale800}`, overrides: mergeOverrides({
|
|
34
|
+
Block: {
|
|
35
|
+
style: {
|
|
36
|
+
gap: theme.sizing.scale600,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
}, overrides), ...restProps },
|
|
40
|
+
React.createElement(Button, { onClick: handleReceiveClick, startEnhancer: React.createElement(ArrowNarrowLeft, { size: buttonStartEnhancerSize, overrides: {
|
|
41
|
+
Svg: {
|
|
42
|
+
style: {
|
|
43
|
+
transform: "rotate(-45deg)",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
} }), ...commonButtonProps }, "Receive"),
|
|
47
|
+
React.createElement(Button, { "$as": "a", href: blockExplorerUrl, target: "_blank", ...commonButtonProps }, "Block Explorer")));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=AccountAddressActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountAddressActions.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountAddressActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,EAEL,MAAM,EAEN,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,MAAM,iBAAiB,GAAyB;IAC9C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,MAAM;IACb,SAAS,EAAE;QACT,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;aACR;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE;gBACL,MAAM,EAAE,cAAc;aACvB;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAiB;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAEzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClE,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAEtE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,aAAa,CAAC,cAAe,EAC7B,MAAM,EACN,WAAW,KAAK,SAAS,CAC1B,CAAA;IAED,OAAO,CACL,oBAAC,KAAK,IACJ,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,eAAe,EAAC,aAAa,EAC7B,OAAO,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC9D,SAAS,EAAE,cAAc,CACvB;YACE,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;iBAC3B;aACF;SACF,EACD,SAAS,CACV,KACG,SAAS;QAEb,oBAAC,MAAM,IACL,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EACX,oBAAC,eAAe,IACd,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,KAAK,EAAE;4BACL,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF,GACD,KAEA,iBAAiB,cAGd;QAET,oBAAC,MAAM,WACD,GAAG,EACP,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAC,QAAQ,KACX,iBAAiB,qBAGd,CACH,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BlockProps } from "@mezo-org/mezo-clay";
|
|
3
|
+
type AccountBalanceProps = Omit<BlockProps, "children">;
|
|
4
|
+
export default function AccountBalance(props: AccountBalanceProps): React.JSX.Element;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=AccountBalance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAS9D,KAAK,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAEvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAwDhE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useStyletron } from "@mezo-org/mezo-clay";
|
|
3
|
+
import { formatUnits } from "viem";
|
|
4
|
+
import ListingItem from "../ListingItem";
|
|
5
|
+
import { useTokensBalances } from "../../../hooks/useTokensBalances";
|
|
6
|
+
import { useBorrowData } from "../../../hooks/useBorrowData";
|
|
7
|
+
import AccountError from "./AccountError";
|
|
8
|
+
import { CONVERSION_RATE_DECIMALS } from "../../../hooks/useAssetsConversionRates";
|
|
9
|
+
import { usePassportContext } from "../../../hooks/usePassportContext";
|
|
10
|
+
export default function AccountBalance(props) {
|
|
11
|
+
const { overrides, ...restProps } = props;
|
|
12
|
+
const [, theme] = useStyletron();
|
|
13
|
+
const { nativeBalanceRefetchInterval } = usePassportContext();
|
|
14
|
+
const { data: tokensBalancesData, isError: isTokensBalancesError, isPending: isTokensBalancesDataPending, } = useTokensBalances({
|
|
15
|
+
queryOptions: {
|
|
16
|
+
staleTime: nativeBalanceRefetchInterval,
|
|
17
|
+
refetchInterval: nativeBalanceRefetchInterval,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
const { data: borrowData, isError: isBorrowDataError, isPending: isBorrowDataPending, } = useBorrowData();
|
|
21
|
+
if (isTokensBalancesDataPending || isBorrowDataPending) {
|
|
22
|
+
return React.createElement(ListingItem, { isLoading: true, overrides: overrides });
|
|
23
|
+
}
|
|
24
|
+
if (isTokensBalancesError || isBorrowDataError) {
|
|
25
|
+
return (React.createElement(AccountError, { padding: `${theme.sizing.scale500} ${theme.sizing.scale800}`, topic: "account balance", overrides: overrides }));
|
|
26
|
+
}
|
|
27
|
+
const totalBalanceInUsd = Object.values(tokensBalancesData).reduce((acc, tokenBalance) => acc + tokenBalance.usd.value, 0n);
|
|
28
|
+
const totalBalanceNumber = Number(formatUnits(totalBalanceInUsd, CONVERSION_RATE_DECIMALS));
|
|
29
|
+
const totalDebtNumber = Number(borrowData.debtInUsd.formatted);
|
|
30
|
+
return (React.createElement(ListingItem, { label: "Total assets", value: totalBalanceNumber, subLabel: "Total liabilities", subValue: totalDebtNumber, overrides: overrides, ...restProps }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=AccountBalance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountBalance.js","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBalance.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,4BAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7D,MAAM,EACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,2BAA2B,GACvC,GAAG,iBAAiB,CAAC;QACpB,YAAY,EAAE;YACZ,SAAS,EAAE,4BAA4B;YACvC,eAAe,EAAE,4BAA4B;SAC9C;KACF,CAAC,CAAA;IACF,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,aAAa,EAAE,CAAA;IAEnB,IAAI,2BAA2B,IAAI,mBAAmB,EAAE,CAAC;QACvD,OAAO,oBAAC,WAAW,IAAC,SAAS,QAAC,SAAS,EAAE,SAAS,GAAI,CAAA;IACxD,CAAC;IAED,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,OAAO,CACL,oBAAC,YAAY,IACX,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC5D,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAChE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EACnD,EAAE,CACH,CAAA;IAED,MAAM,kBAAkB,GAAG,MAAM,CAC/B,WAAW,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CACzD,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAE9D,OAAO,CACL,oBAAC,WAAW,IACV,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAC,mBAAmB,EAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,KAChB,SAAS,GACb,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BlockProps } from "@mezo-org/mezo-clay";
|
|
3
|
+
type AccountBTCListingProps = Omit<BlockProps, "children">;
|
|
4
|
+
export default function AccountBTCListing(props: AccountBTCListingProps): React.JSX.Element;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=AccountBtcListing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountBtcListing.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Root/AccountBtcListing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAiB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQ/D,KAAK,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AAE1D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBAyCtE"}
|