@0xchain/header 1.1.0-beta.17 → 1.1.0-beta.19
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/LICENSE +21 -0
- package/dist/index.js +43 -39
- package/dist/lib/Drawer.js +29 -25
- package/dist/lib/Explorer.js +56 -50
- package/dist/lib/Logo.js +53 -49
- package/dist/lib/Nav.js +159 -122
- package/dist/lib/Right.js +20 -15
- package/dist/lib/Setting/SettingBody.js +44 -36
- package/dist/lib/Setting/index.js +36 -32
- package/dist/lib/User/Logout.js +13 -13
- package/dist/lib/User/MainTrigger.js +32 -23
- package/dist/lib/User/Mobile.js +22 -22
- package/dist/lib/User/Pc.js +24 -22
- package/dist/lib/User/SignIn.js +16 -15
- package/dist/lib/User/index.js +22 -20
- package/dist/lib/context.js +15 -15
- package/dist/lib/events.js +16 -14
- package/package.json +36 -22
|
@@ -1,34 +1,43 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import { useState
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { useLocale
|
|
8
|
-
import
|
|
9
|
-
function
|
|
10
|
-
userInfo
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useMemo, useEffect } from "react";
|
|
4
|
+
import LinkBar from "@0xchain/link";
|
|
5
|
+
import Translation from "@0xchain/translation";
|
|
6
|
+
import BetterLink from "@0xchain/better-link";
|
|
7
|
+
import { useLocale } from "next-intl";
|
|
8
|
+
import Avatar from "@0xchain/avatar";
|
|
9
|
+
function MainTrigger({
|
|
10
|
+
userInfo
|
|
11
11
|
}) {
|
|
12
|
-
const { gotoLogin
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const { gotoLogin } = BetterLink();
|
|
13
|
+
const [link, setLink] = useState("");
|
|
14
|
+
const locale = useLocale();
|
|
15
|
+
const isLogin = useMemo(() => {
|
|
16
|
+
return userInfo?.id;
|
|
17
|
+
}, [userInfo]);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
setLink(gotoLogin({
|
|
20
|
+
locale,
|
|
16
21
|
redirect: window.location.href
|
|
17
22
|
}));
|
|
18
|
-
}, [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
}, [locale, gotoLogin]);
|
|
24
|
+
if (isLogin) {
|
|
25
|
+
return (
|
|
26
|
+
// userInfo?.profileUrl
|
|
27
|
+
// https://images.ichatgo.ai/user-profile/100000201.png
|
|
28
|
+
/* @__PURE__ */ jsx(Avatar, { userInfo, className: "w-8 h-8 cursor-pointer" })
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ jsx(
|
|
32
|
+
LinkBar,
|
|
24
33
|
{
|
|
25
|
-
href:
|
|
34
|
+
href: link,
|
|
26
35
|
className: "cursor-pointer text-sm text-white bg-primary py-2 px-3 rounded-lg",
|
|
27
|
-
replace:
|
|
28
|
-
children: /* @__PURE__ */
|
|
36
|
+
replace: true,
|
|
37
|
+
children: /* @__PURE__ */ jsx(Translation, { value: "signIn", parentKey: "account" })
|
|
29
38
|
}
|
|
30
39
|
);
|
|
31
40
|
}
|
|
32
41
|
export {
|
|
33
|
-
|
|
42
|
+
MainTrigger as default
|
|
34
43
|
};
|
package/dist/lib/User/Mobile.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import
|
|
4
|
-
import { Accordion
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
function
|
|
8
|
-
list
|
|
9
|
-
userInfo
|
|
10
|
-
onClick
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import LinkBar from "@0xchain/link";
|
|
4
|
+
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@0xchain/ui/accordion";
|
|
5
|
+
import Translation from "@0xchain/translation";
|
|
6
|
+
import Avatar from "@0xchain/avatar";
|
|
7
|
+
function Mobile({
|
|
8
|
+
list,
|
|
9
|
+
userInfo,
|
|
10
|
+
onClick
|
|
11
11
|
}) {
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
Accordion,
|
|
14
14
|
{
|
|
15
15
|
type: "single",
|
|
16
|
-
collapsible:
|
|
16
|
+
collapsible: true,
|
|
17
17
|
className: "w-full",
|
|
18
18
|
defaultValue: "",
|
|
19
|
-
children: /* @__PURE__ */
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
/* @__PURE__ */
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
/* @__PURE__ */
|
|
19
|
+
children: /* @__PURE__ */ jsxs(AccordionItem, { value: "item-1", className: "p-0 w-full border border-none", children: [
|
|
20
|
+
/* @__PURE__ */ jsx(AccordionTrigger, { className: "w-full bg-background p-3 flex items-center justify-between", children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 w-full overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
21
|
+
/* @__PURE__ */ jsx(Avatar, { userInfo, className: "w-8 h-8 shrink-0" }),
|
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col overflow-hidden", children: [
|
|
23
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: userInfo?.username }),
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground w-full truncate", children: userInfo?.email || userInfo?.walletAddress })
|
|
25
25
|
] })
|
|
26
26
|
] }) }) }),
|
|
27
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "flex text-sm flex-col text-balance bg-background rounded-lg p-3 gap-3 mt-[10px]", children: /* @__PURE__ */ jsx("ul", { children: list.map((item) => /* @__PURE__ */ jsx(
|
|
28
28
|
"li",
|
|
29
29
|
{
|
|
30
30
|
className: "flex justify-start items-center gap-2 py-2",
|
|
31
|
-
children: /* @__PURE__ */
|
|
31
|
+
children: /* @__PURE__ */ jsx(LinkBar, { href: `/${item.href}`, className: "flex-1 py-2", onClick, suppressHydrationWarning: true, baseUrl: process.env.NEXT_PUBLIC_AUTH_URL, children: /* @__PURE__ */ jsx(Translation, { value: item.name, parentKey: "account" }) })
|
|
32
32
|
},
|
|
33
|
-
|
|
33
|
+
item.name
|
|
34
34
|
)) }) })
|
|
35
35
|
] })
|
|
36
36
|
}
|
|
37
37
|
);
|
|
38
38
|
}
|
|
39
39
|
export {
|
|
40
|
-
|
|
40
|
+
Mobile as default
|
|
41
41
|
};
|
package/dist/lib/User/Pc.js
CHANGED
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
function
|
|
10
|
-
list
|
|
11
|
-
userInfo
|
|
12
|
-
onClick
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import LinkBar from "@0xchain/link";
|
|
4
|
+
import Translation from "@0xchain/translation";
|
|
5
|
+
import MainTrigger from "./MainTrigger.js";
|
|
6
|
+
import Logout from "./Logout.js";
|
|
7
|
+
import Avatar from "@0xchain/avatar";
|
|
8
|
+
import Tooltip from "@0xchain/tooltip";
|
|
9
|
+
function PC({
|
|
10
|
+
list,
|
|
11
|
+
userInfo,
|
|
12
|
+
onClick
|
|
13
13
|
}) {
|
|
14
|
-
|
|
15
|
-
document.querySelectorAll("iframe")
|
|
16
|
-
|
|
14
|
+
const onChange = (open) => {
|
|
15
|
+
const iframes = document.querySelectorAll("iframe");
|
|
16
|
+
iframes.forEach((iframe) => {
|
|
17
|
+
iframe.style.pointerEvents = open ? "none" : "auto";
|
|
17
18
|
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
|
|
23
|
-
/* @__PURE__ */
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ jsx(Tooltip, { onChange, trigger: /* @__PURE__ */ jsx(MainTrigger, { userInfo }), arrowClassName: "fill-card", contentClassName: "text-foreground w-75 p-0 border-transparent outline-none ", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 p-3 bg-card rounded-md", children: [
|
|
21
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3 w-full bg-background rounded-lg p-2", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Avatar, { userInfo, className: "w-8 h-8" }),
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col overflow-hidden", children: [
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: userInfo?.username || "--" }),
|
|
25
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground w-full truncate", children: userInfo?.email || userInfo?.walletAddress })
|
|
24
26
|
] })
|
|
25
27
|
] }) }),
|
|
26
|
-
|
|
28
|
+
list.map((item) => /* @__PURE__ */ jsx("div", { className: "px-0 py-0 focus-visible:border-none focus-visible:outline-none", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 w-full", children: item.name === "logout" ? /* @__PURE__ */ jsx(Logout, { className: "flex-1 flex py-3 border-t border-border w-full px-2 hover:bg-background" }) : /* @__PURE__ */ jsx(LinkBar, { href: `/${item.href}`, baseUrl: process.env.NEXT_PUBLIC_AUTH_URL, className: "flex-1 flex py-3 h-full w-full px-2 hover:bg-background hover:text-primary rounded-lg ", onClick, children: /* @__PURE__ */ jsx(Translation, { value: item.name, parentKey: "account" }) }) }) }, item.name))
|
|
27
29
|
] }) });
|
|
28
30
|
}
|
|
29
31
|
export {
|
|
30
|
-
|
|
32
|
+
PC as default
|
|
31
33
|
};
|
package/dist/lib/User/SignIn.js
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import
|
|
3
|
-
import { twMerge
|
|
4
|
-
import { useLogin
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import Translation from "@0xchain/translation";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
import { useLogin, OpenLoginType } from "@0xchain/with-login";
|
|
5
|
+
function SignIn({ onClick = () => void 0, className }) {
|
|
6
|
+
const { openLogin } = useLogin();
|
|
7
|
+
const handleClick = () => {
|
|
8
|
+
onClick?.();
|
|
9
|
+
openLogin(OpenLoginType.LOGIN);
|
|
10
|
+
};
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
9
12
|
"div",
|
|
10
13
|
{
|
|
11
|
-
onClick:
|
|
12
|
-
r == null || r(), n(s.LOGIN);
|
|
13
|
-
},
|
|
14
|
+
onClick: handleClick,
|
|
14
15
|
style: { cursor: "pointer" },
|
|
15
|
-
className:
|
|
16
|
+
className: twMerge(
|
|
16
17
|
"cursor-pointer text-sm text-white! bg-primary! py-2 px-3 rounded-lg",
|
|
17
|
-
|
|
18
|
+
className
|
|
18
19
|
),
|
|
19
|
-
children: /* @__PURE__ */
|
|
20
|
+
children: /* @__PURE__ */ jsx(Translation, { value: "signIn", parentKey: "account" })
|
|
20
21
|
}
|
|
21
22
|
);
|
|
22
23
|
}
|
|
23
24
|
export {
|
|
24
|
-
|
|
25
|
+
SignIn as default
|
|
25
26
|
};
|
package/dist/lib/User/index.js
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { twMerge
|
|
6
|
-
import
|
|
7
|
-
const
|
|
2
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
3
|
+
import PC from "./Pc.js";
|
|
4
|
+
import Mobile from "./Mobile.js";
|
|
5
|
+
import { twMerge } from "tailwind-merge";
|
|
6
|
+
import SignIn from "./SignIn.js";
|
|
7
|
+
const list = [
|
|
8
8
|
{
|
|
9
9
|
name: "overview",
|
|
10
|
-
href:
|
|
10
|
+
href: `user-center`
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
name: "collect",
|
|
14
|
-
href:
|
|
14
|
+
href: `user-center/collect`
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
name: "privateLabel",
|
|
18
|
-
href:
|
|
18
|
+
href: `user-center/private-label`
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
name: "setting",
|
|
22
|
-
href:
|
|
22
|
+
href: `user-center/setting`
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
name: "logout",
|
|
26
26
|
href: void 0
|
|
27
27
|
}
|
|
28
28
|
];
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
function UserControl({ onClick = (e) => void 0, className, userInfo }) {
|
|
30
|
+
if (!userInfo?.id) {
|
|
31
|
+
return /* @__PURE__ */ jsx(SignIn, { onClick, className: twMerge(
|
|
32
|
+
"hidden md:flex cursor-pointer text-sm text-white bg-primary py-2 px-3 rounded-lg",
|
|
33
|
+
"order-3"
|
|
34
|
+
) });
|
|
35
|
+
}
|
|
36
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37
|
+
/* @__PURE__ */ jsx("div", { className: twMerge("hidden md:flex items-center", className), children: /* @__PURE__ */ jsx(PC, { list, userInfo, onClick }) }),
|
|
38
|
+
/* @__PURE__ */ jsx("div", { className: twMerge("block md:hidden w-full", className), children: /* @__PURE__ */ jsx(Mobile, { list: list.filter((item) => item.href), userInfo, onClick }) })
|
|
39
|
+
] });
|
|
38
40
|
}
|
|
39
41
|
export {
|
|
40
|
-
|
|
42
|
+
UserControl as default
|
|
41
43
|
};
|
package/dist/lib/context.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import { createContext
|
|
4
|
-
const
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
const HeaderContext = createContext({
|
|
5
5
|
brand: "iChatGo"
|
|
6
6
|
});
|
|
7
|
-
function
|
|
8
|
-
children
|
|
9
|
-
brand
|
|
7
|
+
function HeaderProvider({
|
|
8
|
+
children,
|
|
9
|
+
brand = "iChatGo"
|
|
10
10
|
}) {
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ jsx(HeaderContext.Provider, { value: { brand }, children });
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
return
|
|
13
|
+
function useHeaderContext() {
|
|
14
|
+
return useContext(HeaderContext);
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
const { brand
|
|
18
|
-
return
|
|
16
|
+
function useIsChaindigg() {
|
|
17
|
+
const { brand } = useHeaderContext();
|
|
18
|
+
return brand === "CHAINDIGG";
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
HeaderProvider,
|
|
22
|
+
useHeaderContext,
|
|
23
|
+
useIsChaindigg
|
|
24
24
|
};
|
package/dist/lib/events.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
const
|
|
1
|
+
const USER_EVENTS = {
|
|
2
2
|
PROFILE_UPDATED: "user-profile-updated",
|
|
3
3
|
LOGGED_IN: "user-logged-in",
|
|
4
4
|
LOGGED_OUT: "user-logged-out"
|
|
5
5
|
};
|
|
6
|
-
function
|
|
7
|
-
const
|
|
8
|
-
window.dispatchEvent(
|
|
6
|
+
function emitUserEvent(eventName, data) {
|
|
7
|
+
const event = new CustomEvent(eventName, { detail: data });
|
|
8
|
+
window.dispatchEvent(event);
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
12
|
-
|
|
10
|
+
function onUserEvent(eventName, callback) {
|
|
11
|
+
const handler = (event) => {
|
|
12
|
+
const customEvent = event;
|
|
13
|
+
callback(customEvent.detail);
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
+
window.addEventListener(eventName, handler);
|
|
16
|
+
return () => window.removeEventListener(eventName, handler);
|
|
15
17
|
}
|
|
16
|
-
function
|
|
17
|
-
window.removeEventListener(
|
|
18
|
+
function cleanUserEvent(type, handler) {
|
|
19
|
+
window.removeEventListener(type, handler);
|
|
18
20
|
}
|
|
19
21
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
USER_EVENTS,
|
|
23
|
+
cleanUserEvent,
|
|
24
|
+
emitUserEvent,
|
|
25
|
+
onUserEvent
|
|
24
26
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xchain/header",
|
|
3
|
-
"version": "1.1.0-beta.
|
|
3
|
+
"version": "1.1.0-beta.19",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -17,34 +17,48 @@
|
|
|
17
17
|
"dist",
|
|
18
18
|
"!**/*.tsbuildinfo"
|
|
19
19
|
],
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"antd": "6.1.1",
|
|
22
|
+
"lucide-react": "0.539.0",
|
|
23
|
+
"next": "16.1.6",
|
|
24
|
+
"next-intl": "4.8.2",
|
|
25
|
+
"rc-drawer": "7.3.0",
|
|
26
|
+
"react": "19.1.1",
|
|
27
|
+
"react-dom": "19.1.1",
|
|
28
|
+
"tailwind-merge": "3.3.1"
|
|
23
29
|
},
|
|
24
|
-
"
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@0xchain/next-themes": "1.0.0",
|
|
32
|
+
"@types/js-cookie": "3.0.6",
|
|
33
|
+
"antd": "6.1.1",
|
|
25
34
|
"js-cookie": "3.0.5",
|
|
26
35
|
"lucide-react": "0.539.0",
|
|
36
|
+
"next": "16.1.6",
|
|
27
37
|
"next-intl": "4.8.2",
|
|
28
|
-
"@0xchain/next-themes": "1.0.0",
|
|
29
38
|
"rc-drawer": "7.3.0",
|
|
30
39
|
"react": "19.1.1",
|
|
31
40
|
"react-dom": "19.1.1",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"@0xchain/
|
|
37
|
-
"@0xchain/image": "1.1.0-beta.
|
|
38
|
-
"@0xchain/
|
|
39
|
-
"@0xchain/
|
|
40
|
-
"@0xchain/translation": "1.1.0-beta.
|
|
41
|
-
"@0xchain/
|
|
42
|
-
"@0xchain/
|
|
43
|
-
"@0xchain/
|
|
44
|
-
"@0xchain/
|
|
45
|
-
"@0xchain/
|
|
46
|
-
"@0xchain/
|
|
47
|
-
"@0xchain/
|
|
41
|
+
"rollup-plugin-preserve-use-client": "3.0.1",
|
|
42
|
+
"tailwind-merge": "3.3.1"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@0xchain/better-link": "1.1.0-beta.19",
|
|
46
|
+
"@0xchain/image": "1.1.0-beta.19",
|
|
47
|
+
"@0xchain/link": "1.1.0-beta.19",
|
|
48
|
+
"@0xchain/avatar": "1.1.0-beta.19",
|
|
49
|
+
"@0xchain/translation": "1.1.0-beta.19",
|
|
50
|
+
"@0xchain/theme-toggle": "1.1.0-beta.19",
|
|
51
|
+
"@0xchain/with-login": "1.1.0-beta.19",
|
|
52
|
+
"@0xchain/auth": "1.1.0-beta.19",
|
|
53
|
+
"@0xchain/tooltip": "1.1.0-beta.19",
|
|
54
|
+
"@0xchain/request": "1.1.0-beta.19",
|
|
55
|
+
"@0xchain/ui": "1.1.0-beta.19",
|
|
56
|
+
"@0xchain/iconfont": "1.1.0-beta.19"
|
|
57
|
+
},
|
|
58
|
+
"nx": {
|
|
59
|
+
"tags": [
|
|
60
|
+
"type:feature"
|
|
61
|
+
]
|
|
48
62
|
},
|
|
49
63
|
"publishConfig": {
|
|
50
64
|
"access": "public"
|