@xyo-network/react-footer 7.5.8 → 7.5.12

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,16 +1,12 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/AlwaysLinks.tsx
5
2
  import { MoreHoriz as MoreHorizIcon } from "@mui/icons-material";
6
3
  import { FlexRow } from "@xylabs/react-flexbox";
7
- import React2 from "react";
8
4
 
9
5
  // src/Link.tsx
10
6
  import { LinkEx } from "@xylabs/react-link";
11
7
  import { assertEx } from "@xylabs/sdk-js";
12
- import React from "react";
13
- var convertToBetaIfNeeded = /* @__PURE__ */ __name((url, currentUrl = new URL(document.location.href)) => {
8
+ import { jsx } from "react/jsx-runtime";
9
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
14
10
  const urlObj = typeof url === "string" ? new URL(url) : url;
15
11
  const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
16
12
  const currentHostnameParts = currentUrlObj.hostname.split(".");
@@ -22,264 +18,214 @@ var convertToBetaIfNeeded = /* @__PURE__ */ __name((url, currentUrl = new URL(do
22
18
  }
23
19
  }
24
20
  return urlObj;
25
- }, "convertToBetaIfNeeded");
26
- var FooterLink = /* @__PURE__ */ __name(({ target, to, toOptions, href, margin = 0.5, variant = "body2", ...props }) => {
21
+ };
22
+ var FooterLink = ({
23
+ target,
24
+ to,
25
+ toOptions,
26
+ href,
27
+ margin = 0.5,
28
+ variant = "body2",
29
+ ...props
30
+ }) => {
27
31
  if (href) {
28
32
  const url = new URL(assertEx(href, () => "href not set"));
29
33
  assertEx(url.hostname, () => "Hostname is required in href");
30
34
  const convertedUrl = convertToBetaIfNeeded(url);
31
35
  if (document.location.hostname === convertedUrl.hostname) {
32
36
  const to2 = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
33
- return /* @__PURE__ */ React.createElement(LinkEx, {
34
- margin,
35
- to: to2,
36
- toOptions,
37
- target,
38
- variant,
39
- ...props
40
- });
37
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to: to2, toOptions, target, variant, ...props });
41
38
  } else {
42
- return /* @__PURE__ */ React.createElement(LinkEx, {
43
- margin,
44
- href,
45
- target: target ?? "_blank",
46
- variant,
47
- ...props
48
- });
39
+ return /* @__PURE__ */ jsx(LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
49
40
  }
50
41
  } else {
51
- return /* @__PURE__ */ React.createElement(LinkEx, {
52
- margin,
53
- to,
54
- toOptions,
55
- target,
56
- variant,
57
- ...props
58
- });
42
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to, toOptions, target, variant, ...props });
59
43
  }
60
- }, "FooterLink");
44
+ };
61
45
 
62
46
  // src/AlwaysLinks.tsx
63
- var FooterAlwaysLinks = /* @__PURE__ */ __name(({ style, footerLinks: footerLinks2, onMore, ...props }) => /* @__PURE__ */ React2.createElement(FlexRow, {
64
- flexWrap: "wrap",
65
- textTransform: "uppercase",
66
- style: {
67
- opacity: 0.6,
68
- ...style
69
- },
47
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
48
+ var FooterAlwaysLinks = ({
49
+ style,
50
+ footerLinks: footerLinks2,
51
+ onMore,
70
52
  ...props
71
- }, footerLinks2?.map((footerLink, index) => /* @__PURE__ */ React2.createElement(FooterLink, {
72
- noWrap: true,
73
- key: index,
74
- paddingX: 1,
75
- margin: 0,
76
- ...footerLink
77
- }, /* @__PURE__ */ React2.createElement("small", null, footerLink.title))), onMore ? /* @__PURE__ */ React2.createElement(FlexRow, {
78
- style: {
79
- cursor: "pointer"
80
- },
81
- paddingX: 0.5,
82
- onClick: onMore
83
- }, /* @__PURE__ */ React2.createElement(MoreHorizIcon, {
84
- color: "primary",
85
- fontSize: "small"
86
- })) : null), "FooterAlwaysLinks");
53
+ }) => /* @__PURE__ */ jsxs(
54
+ FlexRow,
55
+ {
56
+ flexWrap: "wrap",
57
+ textTransform: "uppercase",
58
+ style: { opacity: 0.6, ...style },
59
+ ...props,
60
+ children: [
61
+ footerLinks2?.map((footerLink) => /* @__PURE__ */ jsx2(FooterLink, { noWrap: true, paddingX: 1, margin: 0, ...footerLink, children: /* @__PURE__ */ jsx2("small", { children: footerLink.title }) }, footerLink.title)),
62
+ onMore ? /* @__PURE__ */ jsx2(FlexRow, { style: { cursor: "pointer" }, paddingX: 0.5, onClick: onMore, children: /* @__PURE__ */ jsx2(MoreHorizIcon, { color: "primary", fontSize: "small" }) }) : null
63
+ ]
64
+ }
65
+ );
87
66
 
88
67
  // src/Footer.tsx
89
68
  import { Container } from "@mui/material";
90
69
  import { FlexCol, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
91
70
  import { useIsDark } from "@xylabs/react-theme";
92
- import React3, { useState } from "react";
93
- var Footer = /* @__PURE__ */ __name(({ alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props }) => {
71
+ import { useState } from "react";
72
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
73
+ var Footer = ({
74
+ alwaysFooterLinksProps,
75
+ children,
76
+ container,
77
+ dynamicHeight = false,
78
+ ...props
79
+ }) => {
94
80
  const [more, setMore] = useState(false);
95
- const onMore = /* @__PURE__ */ __name(() => {
81
+ const onMore = () => {
96
82
  setMore(!more);
97
- }, "onMore");
83
+ };
98
84
  const darkMode = useIsDark();
99
85
  console.log("darkMode", darkMode);
100
- return /* @__PURE__ */ React3.createElement(FlexCol, {
101
- alignItems: "stretch",
102
- onMouseLeave: /* @__PURE__ */ __name(() => {
103
- setMore(false);
104
- }, "onMouseLeave"),
105
- ...props
106
- }, more && dynamicHeight ? /* @__PURE__ */ React3.createElement(FlexCol, {
107
- alignItems: "stretch"
108
- }, /* @__PURE__ */ React3.createElement(FlexRow2, {
109
- paper: true,
110
- bottom: -1,
111
- position: "absolute",
112
- width: "100%"
113
- }, container && container !== "none" ? /* @__PURE__ */ React3.createElement(Container, null, children) : children)) : null, dynamicHeight ? null : /* @__PURE__ */ React3.createElement(FlexCol, {
114
- alignItems: "stretch"
115
- }, container && container !== "none" ? /* @__PURE__ */ React3.createElement(Container, null, children) : children), /* @__PURE__ */ React3.createElement(FlexRow2, null, container && container !== "none" ? /* @__PURE__ */ React3.createElement(Container, null, /* @__PURE__ */ React3.createElement(FooterAlwaysLinks, {
116
- ...alwaysFooterLinksProps,
117
- onMore: dynamicHeight ? onMore : void 0
118
- })) : /* @__PURE__ */ React3.createElement(FooterAlwaysLinks, {
119
- ...alwaysFooterLinksProps,
120
- onMore: dynamicHeight ? onMore : void 0
121
- })));
122
- }, "Footer");
86
+ return /* @__PURE__ */ jsxs2(
87
+ FlexCol,
88
+ {
89
+ alignItems: "stretch",
90
+ onMouseLeave: () => {
91
+ setMore(false);
92
+ },
93
+ ...props,
94
+ children: [
95
+ more && dynamicHeight ? /* @__PURE__ */ jsx3(FlexCol, { alignItems: "stretch", children: /* @__PURE__ */ jsx3(FlexRow2, { paper: true, bottom: -1, position: "absolute", width: "100%", children: container && container !== "none" ? /* @__PURE__ */ jsx3(Container, { children }) : children }) }) : null,
96
+ dynamicHeight ? null : /* @__PURE__ */ jsx3(FlexCol, { alignItems: "stretch", children: container && container !== "none" ? /* @__PURE__ */ jsx3(Container, { children }) : children }),
97
+ /* @__PURE__ */ jsx3(FlexRow2, { children: container && container !== "none" ? /* @__PURE__ */ jsx3(Container, { children: /* @__PURE__ */ jsx3(FooterAlwaysLinks, { ...alwaysFooterLinksProps, onMore: dynamicHeight ? onMore : void 0 }) }) : /* @__PURE__ */ jsx3(FooterAlwaysLinks, { ...alwaysFooterLinksProps, onMore: dynamicHeight ? onMore : void 0 }) })
98
+ ]
99
+ }
100
+ );
101
+ };
123
102
 
124
103
  // src/lib/copyrightLinkTitle.ts
125
- var copyrightLinkTitle = /* @__PURE__ */ __name((entity) => {
104
+ var copyrightLinkTitle = (entity) => {
126
105
  return `Copyright \xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} ${entity}`;
127
- }, "copyrightLinkTitle");
106
+ };
128
107
 
129
108
  // src/Links.tsx
130
109
  import { Typography } from "@mui/material";
131
110
  import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
132
- import React4 from "react";
133
- var FooterLinks = /* @__PURE__ */ __name(({ children, title, ...props }) => {
134
- return /* @__PURE__ */ React4.createElement(FlexCol2, {
135
- margin: 1,
136
- justifyContent: "flex-start",
137
- title,
138
- ...props
139
- }, /* @__PURE__ */ React4.createElement(Typography, {
140
- margin: 0.5,
141
- variant: "h6",
142
- noWrap: true
143
- }, title), children);
144
- }, "FooterLinks");
111
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
112
+ var FooterLinks = ({
113
+ children,
114
+ title,
115
+ ...props
116
+ }) => {
117
+ return /* @__PURE__ */ jsxs3(FlexCol2, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
118
+ /* @__PURE__ */ jsx4(Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
119
+ children
120
+ ] });
121
+ };
145
122
 
146
123
  // src/Xyo/AlwaysLinks.tsx
147
- import React5 from "react";
148
- var XyoFooterAlwaysLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React5.createElement(FooterAlwaysLinks, {
149
- footerLinks: [
150
- {
151
- href: "https://xylabs.com/",
152
- title: copyrightLinkTitle("XY Labs, Inc.")
153
- },
154
- {
155
- href: "https://xyo.network/",
156
- title: "XYO Foundation"
157
- },
158
- {
159
- href: "https://xylabs.com/privacy/",
160
- title: "Privacy"
161
- },
162
- {
163
- href: "https://xylabs.com/terms/",
164
- title: "Terms"
165
- },
166
- {
167
- href: "https://xylabs.com/jobs",
168
- title: "Careers"
169
- }
170
- ],
171
- ...props
172
- }), "XyoFooterAlwaysLinks");
124
+ import { jsx as jsx5 } from "react/jsx-runtime";
125
+ var XyoFooterAlwaysLinks = (props) => /* @__PURE__ */ jsx5(
126
+ FooterAlwaysLinks,
127
+ {
128
+ footerLinks: [
129
+ {
130
+ href: "https://xylabs.com/",
131
+ title: copyrightLinkTitle("XY Labs, Inc.")
132
+ },
133
+ {
134
+ href: "https://xyo.network/",
135
+ title: "XYO Foundation"
136
+ },
137
+ {
138
+ href: "https://xylabs.com/privacy/",
139
+ title: "Privacy"
140
+ },
141
+ {
142
+ href: "https://xylabs.com/terms/",
143
+ title: "Terms"
144
+ },
145
+ {
146
+ href: "https://xylabs.com/jobs",
147
+ title: "Careers"
148
+ }
149
+ ],
150
+ ...props
151
+ }
152
+ );
173
153
 
174
154
  // src/Xyo/DeveloperLinks.tsx
175
- import React6 from "react";
176
- var DeveloperLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React6.createElement(FooterLinks, {
177
- title: "Developer",
178
- ...props
179
- }, /* @__PURE__ */ React6.createElement(FooterLink, {
180
- href: "https://xyo.network/developer"
181
- }, "Overview"), /* @__PURE__ */ React6.createElement(FooterLink, {
182
- href: "https://xyo.network/developer/get-started"
183
- }, "Get Started"), /* @__PURE__ */ React6.createElement(FooterLink, {
184
- href: "https://xyo.network/developer"
185
- }, "SDKs"), /* @__PURE__ */ React6.createElement(FooterLink, {
186
- href: "https://github.com/xyoraclenetwork"
187
- }, "Open Source Github"), /* @__PURE__ */ React6.createElement(FooterLink, {
188
- href: "https://xyo.network/docs/sdk/js"
189
- }, "Documentation")), "DeveloperLinks");
155
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
156
+ var DeveloperLinks = (props) => /* @__PURE__ */ jsxs4(FooterLinks, { title: "Developer", ...props, children: [
157
+ /* @__PURE__ */ jsx6(FooterLink, { href: "https://xyo.network/developer", children: "Overview" }),
158
+ /* @__PURE__ */ jsx6(FooterLink, { href: "https://xyo.network/developer/get-started", children: "Get Started" }),
159
+ /* @__PURE__ */ jsx6(FooterLink, { href: "https://xyo.network/developer", children: "SDKs" }),
160
+ /* @__PURE__ */ jsx6(FooterLink, { href: "https://github.com/xyoraclenetwork", children: "Open Source Github" }),
161
+ /* @__PURE__ */ jsx6(FooterLink, { href: "https://xyo.network/docs/sdk/js", children: "Documentation" })
162
+ ] });
190
163
 
191
164
  // src/Xyo/Footer.tsx
192
165
  import { Grid } from "@mui/material";
193
- import React12 from "react";
194
166
 
195
167
  // src/Xyo/MoreLinks.tsx
196
- import React7 from "react";
197
- var MoreLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React7.createElement(FooterLinks, {
198
- title: "More",
199
- ...props
200
- }, /* @__PURE__ */ React7.createElement(FooterLink, {
201
- href: "https://xyo.network/partners"
202
- }, "Partners"), /* @__PURE__ */ React7.createElement(FooterLink, {
203
- href: "https://xyo.network/fhr"
204
- }, "FHR"), /* @__PURE__ */ React7.createElement(FooterLink, {
205
- href: "https://xyo.network/brand"
206
- }, "Brand")), "MoreLinks");
168
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
169
+ var MoreLinks = (props) => /* @__PURE__ */ jsxs5(FooterLinks, { title: "More", ...props, children: [
170
+ /* @__PURE__ */ jsx7(FooterLink, { href: "https://xyo.network/partners", children: "Partners" }),
171
+ /* @__PURE__ */ jsx7(FooterLink, { href: "https://xyo.network/fhr", children: "FHR" }),
172
+ /* @__PURE__ */ jsx7(FooterLink, { href: "https://xyo.network/brand", children: "Brand" })
173
+ ] });
207
174
 
208
175
  // src/Xyo/NetworkLinks.tsx
209
- import React8 from "react";
210
- var NetworkLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React8.createElement(FooterLinks, {
211
- title: "Network",
212
- ...props
213
- }, /* @__PURE__ */ React8.createElement(FooterLink, {
214
- href: "https://xyo.network/network"
215
- }, "Overview"), /* @__PURE__ */ React8.createElement(FooterLink, {
216
- href: "https://xyo.network/network/bound-witness"
217
- }, "Bound Witness"), /* @__PURE__ */ React8.createElement(FooterLink, {
218
- href: "https://xyo.network/network/proof-of-origin"
219
- }, "Proof Of Origin"), /* @__PURE__ */ React8.createElement(FooterLink, {
220
- href: "https://xyo.network/papers"
221
- }, "White Paper")), "NetworkLinks");
176
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
177
+ var NetworkLinks = (props) => /* @__PURE__ */ jsxs6(FooterLinks, { title: "Network", ...props, children: [
178
+ /* @__PURE__ */ jsx8(FooterLink, { href: "https://xyo.network/network", children: "Overview" }),
179
+ /* @__PURE__ */ jsx8(FooterLink, { href: "https://xyo.network/network/bound-witness", children: "Bound Witness" }),
180
+ /* @__PURE__ */ jsx8(FooterLink, { href: "https://xyo.network/network/proof-of-origin", children: "Proof Of Origin" }),
181
+ /* @__PURE__ */ jsx8(FooterLink, { href: "https://xyo.network/papers", children: "White Paper" })
182
+ ] });
222
183
 
223
184
  // src/Xyo/SocialLinks.tsx
224
- import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from "@mui/icons-material";
185
+ import {
186
+ Facebook,
187
+ Instagram,
188
+ LinkedIn,
189
+ Reddit,
190
+ Telegram,
191
+ Twitter,
192
+ YouTube
193
+ } from "@mui/icons-material";
225
194
  import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
226
- import React9 from "react";
227
195
  import { FaDiscord } from "react-icons/fa";
228
- var SocialLinks = /* @__PURE__ */ __name((props) => {
229
- return /* @__PURE__ */ React9.createElement(FooterLinks, {
230
- title: "XYO Socials",
231
- ...props
232
- }, /* @__PURE__ */ React9.createElement(FlexRow3, {
233
- flexWrap: "wrap",
234
- justifyContent: "flex-start"
235
- }, /* @__PURE__ */ React9.createElement(FooterLink, {
236
- href: "https://business.facebook.com/OfficialXYO/"
237
- }, /* @__PURE__ */ React9.createElement(Facebook, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
238
- href: "https://twitter.com/OfficialXYO"
239
- }, /* @__PURE__ */ React9.createElement(Twitter, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
240
- href: "https://www.instagram.com/officialxyo/"
241
- }, /* @__PURE__ */ React9.createElement(Instagram, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
242
- href: "https://t.me/xyonetwork"
243
- }, /* @__PURE__ */ React9.createElement(Telegram, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
244
- href: "https://www.reddit.com/r/XYONetwork/"
245
- }, /* @__PURE__ */ React9.createElement(Reddit, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
246
- href: "https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw"
247
- }, /* @__PURE__ */ React9.createElement(YouTube, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
248
- href: "https://www.linkedin.com/company/officialxyo/"
249
- }, /* @__PURE__ */ React9.createElement(LinkedIn, null)), /* @__PURE__ */ React9.createElement(FooterLink, {
250
- href: "https://discord.gg/officialxyo"
251
- }, /* @__PURE__ */ React9.createElement(FaDiscord, null))));
252
- }, "SocialLinks");
196
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
197
+ var SocialLinks = (props) => {
198
+ return /* @__PURE__ */ jsx9(FooterLinks, { title: "XYO Socials", ...props, children: /* @__PURE__ */ jsxs7(FlexRow3, { flexWrap: "wrap", justifyContent: "flex-start", children: [
199
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://business.facebook.com/OfficialXYO/", children: /* @__PURE__ */ jsx9(Facebook, {}) }),
200
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://twitter.com/OfficialXYO", children: /* @__PURE__ */ jsx9(Twitter, {}) }),
201
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://www.instagram.com/officialxyo/", children: /* @__PURE__ */ jsx9(Instagram, {}) }),
202
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://t.me/xyonetwork", children: /* @__PURE__ */ jsx9(Telegram, {}) }),
203
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://www.reddit.com/r/XYONetwork/", children: /* @__PURE__ */ jsx9(Reddit, {}) }),
204
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw", children: /* @__PURE__ */ jsx9(YouTube, {}) }),
205
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://www.linkedin.com/company/officialxyo/", children: /* @__PURE__ */ jsx9(LinkedIn, {}) }),
206
+ /* @__PURE__ */ jsx9(FooterLink, { href: "https://discord.gg/officialxyo", children: /* @__PURE__ */ jsx9(FaDiscord, {}) })
207
+ ] }) });
208
+ };
253
209
 
254
210
  // src/Xyo/SupportLinks.tsx
255
- import React10 from "react";
256
- var SupportLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React10.createElement(FooterLinks, {
257
- title: "Support",
258
- ...props
259
- }, /* @__PURE__ */ React10.createElement(FooterLink, {
260
- href: "https://support.xy.company/hc/en-us/categories/360001417734"
261
- }, "Help Center"), /* @__PURE__ */ React10.createElement(FooterLink, {
262
- href: "https://support.xy.company/hc/en-us/requests/new"
263
- }, "Contact Support")), "SupportLinks");
211
+ import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
212
+ var SupportLinks = (props) => /* @__PURE__ */ jsxs8(FooterLinks, { title: "Support", ...props, children: [
213
+ /* @__PURE__ */ jsx10(FooterLink, { href: "https://support.xy.company/hc/en-us/categories/360001417734", children: "Help Center" }),
214
+ /* @__PURE__ */ jsx10(FooterLink, { href: "https://support.xy.company/hc/en-us/requests/new", children: "Contact Support" })
215
+ ] });
264
216
 
265
217
  // src/Xyo/TokenLinks.tsx
266
- import React11 from "react";
267
- var TokenLinks = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React11.createElement(FooterLinks, {
268
- title: "XYO Tokens",
269
- ...props
270
- }, /* @__PURE__ */ React11.createElement(FooterLink, {
271
- href: "https://xyo.network/token"
272
- }, "About"), /* @__PURE__ */ React11.createElement(FooterLink, {
273
- href: "https://xyo.network/token/exchange"
274
- }, "Exchanges"), /* @__PURE__ */ React11.createElement(FooterLink, {
275
- href: "https://xyo.network/token/price"
276
- }, "Prices"), /* @__PURE__ */ React11.createElement(FooterLink, {
277
- href: "https://xyo.network/token/wallet"
278
- }, "Wallets"), /* @__PURE__ */ React11.createElement(FooterLink, {
279
- href: "https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758"
280
- }, "Contract")), "TokenLinks");
218
+ import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
219
+ var TokenLinks = (props) => /* @__PURE__ */ jsxs9(FooterLinks, { title: "XYO Tokens", ...props, children: [
220
+ /* @__PURE__ */ jsx11(FooterLink, { href: "https://xyo.network/token", children: "About" }),
221
+ /* @__PURE__ */ jsx11(FooterLink, { href: "https://xyo.network/token/exchange", children: "Exchanges" }),
222
+ /* @__PURE__ */ jsx11(FooterLink, { href: "https://xyo.network/token/price", children: "Prices" }),
223
+ /* @__PURE__ */ jsx11(FooterLink, { href: "https://xyo.network/token/wallet", children: "Wallets" }),
224
+ /* @__PURE__ */ jsx11(FooterLink, { href: "https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758", children: "Contract" })
225
+ ] });
281
226
 
282
227
  // src/Xyo/Footer.tsx
228
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
283
229
  var footerLinks = [
284
230
  {
285
231
  href: "https://xylabs.com/",
@@ -302,58 +248,19 @@ var footerLinks = [
302
248
  title: "Careers"
303
249
  }
304
250
  ];
305
- var XyoFooter = /* @__PURE__ */ __name(({ alwaysFooterLinksProps, ...props }) => {
306
- return /* @__PURE__ */ React12.createElement(Footer, {
307
- alwaysFooterLinksProps: alwaysFooterLinksProps ?? {
308
- footerLinks
309
- },
310
- ...props
311
- }, /* @__PURE__ */ React12.createElement(Grid, {
312
- container: true
313
- }, /* @__PURE__ */ React12.createElement(Grid, {
314
- size: {
315
- xs: 12,
316
- md: 2
317
- }
318
- }, /* @__PURE__ */ React12.createElement(SocialLinks, {
319
- alignItems: "flex-start"
320
- })), /* @__PURE__ */ React12.createElement(Grid, {
321
- size: {
322
- xs: 6,
323
- md: 2
324
- }
325
- }, /* @__PURE__ */ React12.createElement(NetworkLinks, {
326
- alignItems: "flex-start"
327
- })), /* @__PURE__ */ React12.createElement(Grid, {
328
- size: {
329
- xs: 6,
330
- md: 2
331
- }
332
- }, /* @__PURE__ */ React12.createElement(TokenLinks, {
333
- alignItems: "flex-start"
334
- })), /* @__PURE__ */ React12.createElement(Grid, {
335
- size: {
336
- xs: 6,
337
- md: 2
338
- }
339
- }, /* @__PURE__ */ React12.createElement(DeveloperLinks, {
340
- alignItems: "flex-start"
341
- })), /* @__PURE__ */ React12.createElement(Grid, {
342
- size: {
343
- xs: 6,
344
- md: 2
345
- }
346
- }, /* @__PURE__ */ React12.createElement(MoreLinks, {
347
- alignItems: "flex-start"
348
- })), /* @__PURE__ */ React12.createElement(Grid, {
349
- size: {
350
- xs: 6,
351
- md: 2
352
- }
353
- }, /* @__PURE__ */ React12.createElement(SupportLinks, {
354
- alignItems: "flex-start"
355
- }))));
356
- }, "XyoFooter");
251
+ var XyoFooter = ({
252
+ alwaysFooterLinksProps,
253
+ ...props
254
+ }) => {
255
+ return /* @__PURE__ */ jsx12(Footer, { alwaysFooterLinksProps: alwaysFooterLinksProps ?? { footerLinks }, ...props, children: /* @__PURE__ */ jsxs10(Grid, { container: true, children: [
256
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 12, md: 2 }, children: /* @__PURE__ */ jsx12(SocialLinks, { alignItems: "flex-start" }) }),
257
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 6, md: 2 }, children: /* @__PURE__ */ jsx12(NetworkLinks, { alignItems: "flex-start" }) }),
258
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 6, md: 2 }, children: /* @__PURE__ */ jsx12(TokenLinks, { alignItems: "flex-start" }) }),
259
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 6, md: 2 }, children: /* @__PURE__ */ jsx12(DeveloperLinks, { alignItems: "flex-start" }) }),
260
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 6, md: 2 }, children: /* @__PURE__ */ jsx12(MoreLinks, { alignItems: "flex-start" }) }),
261
+ /* @__PURE__ */ jsx12(Grid, { size: { xs: 6, md: 2 }, children: /* @__PURE__ */ jsx12(SupportLinks, { alignItems: "flex-start" }) })
262
+ ] }) });
263
+ };
357
264
  export {
358
265
  FooterAlwaysLinks as Copyright,
359
266
  DeveloperLinks,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AlwaysLinks.tsx","../../src/Link.tsx","../../src/Footer.tsx","../../src/lib/copyrightLinkTitle.ts","../../src/Links.tsx","../../src/Xyo/AlwaysLinks.tsx","../../src/Xyo/DeveloperLinks.tsx","../../src/Xyo/Footer.tsx","../../src/Xyo/MoreLinks.tsx","../../src/Xyo/NetworkLinks.tsx","../../src/Xyo/SocialLinks.tsx","../../src/Xyo/SupportLinks.tsx","../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport React from 'react'\n\nimport { FooterLink } from './Link.tsx'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({\n style, footerLinks, onMore, ...props\n}) => (\n <FlexRow\n flexWrap=\"wrap\"\n textTransform=\"uppercase\"\n style={{ opacity: 0.6, ...style }}\n {...props}\n >\n {footerLinks?.map((footerLink, index) => (\n <FooterLink noWrap key={index} paddingX={1} margin={0} {...footerLink}>\n <small>{footerLink.title}</small>\n </FooterLink>\n ))}\n {onMore\n ? (\n <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n )\n : null}\n </FlexRow>\n)\n","import type { LinkExProps } from '@xylabs/react-link'\nimport { LinkEx } from '@xylabs/react-link'\nimport { assertEx } from '@xylabs/sdk-js'\nimport React from 'react'\n\n/**\n * @description\n * FooterLink automatically uses a local To if the link is to the current domain\n * If the link is not local, it defaults to target being _blank\n * In the case of 'beta' domains, it navigates correctly\n */\n\nconst convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.location.href)) => {\n const urlObj = typeof url === 'string' ? new URL(url) : url\n const currentUrlObj = typeof currentUrl === 'string' ? new URL(currentUrl) : currentUrl\n const currentHostnameParts = currentUrlObj.hostname.split('.')\n const beta = currentHostnameParts.shift() === 'beta'\n if (beta) {\n const currentHostnameWithoutBeta = currentHostnameParts.join('.')\n if (currentHostnameWithoutBeta === urlObj.hostname) {\n urlObj.hostname = currentUrlObj.hostname\n }\n }\n return urlObj\n}\n\nexport const FooterLink: React.FC<LinkExProps> = ({\n target, to, toOptions, href, margin = 0.5, variant = 'body2', ...props\n}) => {\n if (href) {\n const url = new URL(assertEx(href, () => 'href not set'))\n assertEx(url.hostname, () => 'Hostname is required in href')\n const convertedUrl = convertToBetaIfNeeded(url)\n if (document.location.hostname === convertedUrl.hostname) {\n const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname\n return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n } else {\n return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />\n }\n}\n","import type { ContainerProps } from '@mui/material'\nimport { Container } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useIsDark } from '@xylabs/react-theme'\nimport React, { useState } from 'react'\n\nimport type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx'\nimport { FooterAlwaysLinks } from './AlwaysLinks.tsx'\n\nexport interface FooterProps extends FlexBoxProps {\n alwaysFooterLinksProps?: FooterAlwaysLinksProps\n container?: ContainerProps['maxWidth'] | 'none'\n dynamicHeight?: boolean\n}\n\nexport const Footer: React.FC<FooterProps> = ({\n alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props\n}) => {\n const [more, setMore] = useState(false)\n const onMore = () => {\n setMore(!more)\n }\n\n const darkMode = useIsDark()\n console.log('darkMode', darkMode)\n\n return (\n <FlexCol\n alignItems=\"stretch\"\n onMouseLeave={() => {\n setMore(false)\n }}\n {...props}\n >\n {more && dynamicHeight\n ? (\n <FlexCol alignItems=\"stretch\">\n <FlexRow paper bottom={-1} position=\"absolute\" width=\"100%\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexRow>\n </FlexCol>\n )\n : null}\n {dynamicHeight\n ? null\n : (\n <FlexCol alignItems=\"stretch\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexCol>\n )}\n <FlexRow>\n {container && container !== 'none'\n ? (\n <Container>\n <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />\n </Container>\n )\n : <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />}\n </FlexRow>\n </FlexCol>\n )\n}\n","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({\n children, title, ...props\n}) => {\n return (\n <FlexCol margin={1} justifyContent=\"flex-start\" title={title} {...props}>\n <Typography margin={0.5} variant=\"h6\" noWrap>\n {title}\n </Typography>\n {children}\n </FlexCol>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\n\nexport interface XyoFooterAlwaysLinksProps extends FlexBoxProps {\n onMore?: () => void\n}\n\nexport const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps> = props => (\n <FooterAlwaysLinks\n footerLinks={[\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n ]}\n {...props}\n />\n)\n\n/** @deprecated use FooterAlwaysLinksProps */\nexport type CopyrightProps = XyoFooterAlwaysLinksProps\n\n/** @deprecated use FooterAlwaysLinks */\n\nexport { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const DeveloperLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Developer\" {...props}>\n <FooterLink href=\"https://xyo.network/developer\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/developer/get-started\">Get Started</FooterLink>\n <FooterLink href=\"https://xyo.network/developer\">SDKs</FooterLink>\n <FooterLink href=\"https://github.com/xyoraclenetwork\">Open Source Github</FooterLink>\n <FooterLink href=\"https://xyo.network/docs/sdk/js\">Documentation</FooterLink>\n </FooterLinks>\n)\n","import { Grid } from '@mui/material'\nimport React from 'react'\n\nimport type { FooterProps } from '../Footer.tsx'\nimport { Footer } from '../Footer.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\nimport { DeveloperLinks } from './DeveloperLinks.tsx'\nimport { MoreLinks } from './MoreLinks.tsx'\nimport { NetworkLinks } from './NetworkLinks.tsx'\nimport { SocialLinks } from './SocialLinks.tsx'\nimport { SupportLinks } from './SupportLinks.tsx'\nimport { TokenLinks } from './TokenLinks.tsx'\n\nconst footerLinks = [\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n]\n\nexport const XyoFooter: React.FC<FooterProps> = ({\n alwaysFooterLinksProps,\n ...props\n}) => {\n return (\n <Footer alwaysFooterLinksProps={alwaysFooterLinksProps ?? { footerLinks }} {...props}>\n <Grid container>\n <Grid size={{ xs: 12, md: 2 }}>\n <SocialLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <NetworkLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <TokenLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <DeveloperLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <MoreLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <SupportLinks alignItems=\"flex-start\" />\n </Grid>\n </Grid>\n </Footer>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const MoreLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"More\" {...props}>\n <FooterLink href=\"https://xyo.network/partners\">Partners</FooterLink>\n <FooterLink href=\"https://xyo.network/fhr\">FHR</FooterLink>\n <FooterLink href=\"https://xyo.network/brand\">Brand</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const NetworkLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Network\" {...props}>\n <FooterLink href=\"https://xyo.network/network\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/network/bound-witness\">Bound Witness</FooterLink>\n <FooterLink href=\"https://xyo.network/network/proof-of-origin\">Proof Of Origin</FooterLink>\n <FooterLink href=\"https://xyo.network/papers\">White Paper</FooterLink>\n </FooterLinks>\n)\n","import {\n Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube,\n} from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\nimport { FaDiscord } from 'react-icons/fa'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SocialLinks: React.FC<FlexBoxProps> = (props) => {\n return (\n <FooterLinks title=\"XYO Socials\" {...props}>\n <FlexRow flexWrap=\"wrap\" justifyContent=\"flex-start\">\n <FooterLink href=\"https://business.facebook.com/OfficialXYO/\">\n <Facebook />\n </FooterLink>\n <FooterLink href=\"https://twitter.com/OfficialXYO\">\n <Twitter />\n </FooterLink>\n <FooterLink href=\"https://www.instagram.com/officialxyo/\">\n <Instagram />\n </FooterLink>\n <FooterLink href=\"https://t.me/xyonetwork\">\n <Telegram />\n </FooterLink>\n <FooterLink href=\"https://www.reddit.com/r/XYONetwork/\">\n <Reddit />\n </FooterLink>\n <FooterLink href=\"https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw\">\n <YouTube />\n </FooterLink>\n <FooterLink href=\"https://www.linkedin.com/company/officialxyo/\">\n <LinkedIn />\n </FooterLink>\n <FooterLink href=\"https://discord.gg/officialxyo\">\n <FaDiscord />\n </FooterLink>\n </FlexRow>\n </FooterLinks>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SupportLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Support\" {...props}>\n <FooterLink href=\"https://support.xy.company/hc/en-us/categories/360001417734\">Help Center</FooterLink>\n <FooterLink href=\"https://support.xy.company/hc/en-us/requests/new\">Contact Support</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const TokenLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"XYO Tokens\" {...props}>\n <FooterLink href=\"https://xyo.network/token\">About</FooterLink>\n <FooterLink href=\"https://xyo.network/token/exchange\">Exchanges</FooterLink>\n <FooterLink href=\"https://xyo.network/token/price\">Prices</FooterLink>\n <FooterLink href=\"https://xyo.network/token/wallet\">Wallets</FooterLink>\n <FooterLink href=\"https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758\">Contract</FooterLink>\n </FooterLinks>\n)\n"],"mappings":"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","names":["MoreHoriz","MoreHorizIcon","FlexRow","React","LinkEx","assertEx","React","convertToBetaIfNeeded","url","currentUrl","URL","document","location","href","urlObj","currentUrlObj","currentHostnameParts","hostname","split","beta","shift","currentHostnameWithoutBeta","join","FooterLink","target","to","toOptions","margin","variant","props","assertEx","convertedUrl","search","length","pathname","LinkEx","FooterAlwaysLinks","style","footerLinks","onMore","props","React","FlexRow","flexWrap","textTransform","opacity","map","footerLink","index","FooterLink","noWrap","key","paddingX","margin","small","title","cursor","onClick","MoreHorizIcon","color","fontSize","Container","FlexCol","FlexRow","useIsDark","React","useState","Footer","alwaysFooterLinksProps","children","container","dynamicHeight","props","more","setMore","useState","onMore","darkMode","useIsDark","console","log","React","FlexCol","alignItems","onMouseLeave","FlexRow","paper","bottom","position","width","Container","FooterAlwaysLinks","undefined","copyrightLinkTitle","entity","Date","getFullYear","Typography","FlexCol","React","FooterLinks","children","title","props","React","FlexCol","margin","justifyContent","Typography","variant","noWrap","React","XyoFooterAlwaysLinks","props","React","FooterAlwaysLinks","footerLinks","href","title","copyrightLinkTitle","React","DeveloperLinks","props","React","FooterLinks","title","FooterLink","href","Grid","React","React","MoreLinks","props","React","FooterLinks","title","FooterLink","href","React","NetworkLinks","props","React","FooterLinks","title","FooterLink","href","Facebook","Instagram","LinkedIn","Reddit","Telegram","Twitter","YouTube","FlexRow","React","FaDiscord","SocialLinks","props","React","FooterLinks","title","FlexRow","flexWrap","justifyContent","FooterLink","href","Facebook","Twitter","Instagram","Telegram","Reddit","YouTube","LinkedIn","FaDiscord","React","SupportLinks","props","React","FooterLinks","title","FooterLink","href","React","TokenLinks","props","React","FooterLinks","title","FooterLink","href","footerLinks","href","title","copyrightLinkTitle","XyoFooter","alwaysFooterLinksProps","props","React","Footer","Grid","container","size","xs","md","SocialLinks","alignItems","NetworkLinks","TokenLinks","DeveloperLinks","MoreLinks","SupportLinks"]}
1
+ {"version":3,"sources":["../../src/AlwaysLinks.tsx","../../src/Link.tsx","../../src/Footer.tsx","../../src/lib/copyrightLinkTitle.ts","../../src/Links.tsx","../../src/Xyo/AlwaysLinks.tsx","../../src/Xyo/DeveloperLinks.tsx","../../src/Xyo/Footer.tsx","../../src/Xyo/MoreLinks.tsx","../../src/Xyo/NetworkLinks.tsx","../../src/Xyo/SocialLinks.tsx","../../src/Xyo/SupportLinks.tsx","../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport React from 'react'\n\nimport { FooterLink } from './Link.tsx'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({\n style, footerLinks, onMore, ...props\n}) => (\n <FlexRow\n flexWrap=\"wrap\"\n textTransform=\"uppercase\"\n style={{ opacity: 0.6, ...style }}\n {...props}\n >\n {footerLinks?.map(footerLink => (\n <FooterLink noWrap key={footerLink.title} paddingX={1} margin={0} {...footerLink}>\n <small>{footerLink.title}</small>\n </FooterLink>\n ))}\n {onMore\n ? (\n <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n )\n : null}\n </FlexRow>\n)\n","import type { LinkExProps } from '@xylabs/react-link'\nimport { LinkEx } from '@xylabs/react-link'\nimport { assertEx } from '@xylabs/sdk-js'\nimport React from 'react'\n\n/**\n * @description\n * FooterLink automatically uses a local To if the link is to the current domain\n * If the link is not local, it defaults to target being _blank\n * In the case of 'beta' domains, it navigates correctly\n */\n\nconst convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.location.href)) => {\n const urlObj = typeof url === 'string' ? new URL(url) : url\n const currentUrlObj = typeof currentUrl === 'string' ? new URL(currentUrl) : currentUrl\n const currentHostnameParts = currentUrlObj.hostname.split('.')\n const beta = currentHostnameParts.shift() === 'beta'\n if (beta) {\n const currentHostnameWithoutBeta = currentHostnameParts.join('.')\n if (currentHostnameWithoutBeta === urlObj.hostname) {\n urlObj.hostname = currentUrlObj.hostname\n }\n }\n return urlObj\n}\n\nexport const FooterLink: React.FC<LinkExProps> = ({\n target, to, toOptions, href, margin = 0.5, variant = 'body2', ...props\n}) => {\n if (href) {\n const url = new URL(assertEx(href, () => 'href not set'))\n assertEx(url.hostname, () => 'Hostname is required in href')\n const convertedUrl = convertToBetaIfNeeded(url)\n if (document.location.hostname === convertedUrl.hostname) {\n const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname\n return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n } else {\n return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />\n }\n}\n","import type { ContainerProps } from '@mui/material'\nimport { Container } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useIsDark } from '@xylabs/react-theme'\nimport React, { useState } from 'react'\n\nimport type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx'\nimport { FooterAlwaysLinks } from './AlwaysLinks.tsx'\n\nexport interface FooterProps extends FlexBoxProps {\n alwaysFooterLinksProps?: FooterAlwaysLinksProps\n container?: ContainerProps['maxWidth'] | 'none'\n dynamicHeight?: boolean\n}\n\nexport const Footer: React.FC<FooterProps> = ({\n alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props\n}) => {\n const [more, setMore] = useState(false)\n const onMore = () => {\n setMore(!more)\n }\n\n const darkMode = useIsDark()\n console.log('darkMode', darkMode)\n\n return (\n <FlexCol\n alignItems=\"stretch\"\n onMouseLeave={() => {\n setMore(false)\n }}\n {...props}\n >\n {more && dynamicHeight\n ? (\n <FlexCol alignItems=\"stretch\">\n <FlexRow paper bottom={-1} position=\"absolute\" width=\"100%\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexRow>\n </FlexCol>\n )\n : null}\n {dynamicHeight\n ? null\n : (\n <FlexCol alignItems=\"stretch\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexCol>\n )}\n <FlexRow>\n {container && container !== 'none'\n ? (\n <Container>\n <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />\n </Container>\n )\n : <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />}\n </FlexRow>\n </FlexCol>\n )\n}\n","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({\n children, title, ...props\n}) => {\n return (\n <FlexCol margin={1} justifyContent=\"flex-start\" title={title} {...props}>\n <Typography margin={0.5} variant=\"h6\" noWrap>\n {title}\n </Typography>\n {children}\n </FlexCol>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\n\nexport interface XyoFooterAlwaysLinksProps extends FlexBoxProps {\n onMore?: () => void\n}\n\nexport const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps> = props => (\n <FooterAlwaysLinks\n footerLinks={[\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n ]}\n {...props}\n />\n)\n\n/** @deprecated use FooterAlwaysLinksProps */\nexport type CopyrightProps = XyoFooterAlwaysLinksProps\n\n/** @deprecated use FooterAlwaysLinks */\n\nexport { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const DeveloperLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Developer\" {...props}>\n <FooterLink href=\"https://xyo.network/developer\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/developer/get-started\">Get Started</FooterLink>\n <FooterLink href=\"https://xyo.network/developer\">SDKs</FooterLink>\n <FooterLink href=\"https://github.com/xyoraclenetwork\">Open Source Github</FooterLink>\n <FooterLink href=\"https://xyo.network/docs/sdk/js\">Documentation</FooterLink>\n </FooterLinks>\n)\n","import { Grid } from '@mui/material'\nimport React from 'react'\n\nimport type { FooterProps } from '../Footer.tsx'\nimport { Footer } from '../Footer.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\nimport { DeveloperLinks } from './DeveloperLinks.tsx'\nimport { MoreLinks } from './MoreLinks.tsx'\nimport { NetworkLinks } from './NetworkLinks.tsx'\nimport { SocialLinks } from './SocialLinks.tsx'\nimport { SupportLinks } from './SupportLinks.tsx'\nimport { TokenLinks } from './TokenLinks.tsx'\n\nconst footerLinks = [\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n]\n\nexport const XyoFooter: React.FC<FooterProps> = ({\n alwaysFooterLinksProps,\n ...props\n}) => {\n return (\n <Footer alwaysFooterLinksProps={alwaysFooterLinksProps ?? { footerLinks }} {...props}>\n <Grid container>\n <Grid size={{ xs: 12, md: 2 }}>\n <SocialLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <NetworkLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <TokenLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <DeveloperLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <MoreLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid size={{ xs: 6, md: 2 }}>\n <SupportLinks alignItems=\"flex-start\" />\n </Grid>\n </Grid>\n </Footer>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const MoreLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"More\" {...props}>\n <FooterLink href=\"https://xyo.network/partners\">Partners</FooterLink>\n <FooterLink href=\"https://xyo.network/fhr\">FHR</FooterLink>\n <FooterLink href=\"https://xyo.network/brand\">Brand</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const NetworkLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Network\" {...props}>\n <FooterLink href=\"https://xyo.network/network\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/network/bound-witness\">Bound Witness</FooterLink>\n <FooterLink href=\"https://xyo.network/network/proof-of-origin\">Proof Of Origin</FooterLink>\n <FooterLink href=\"https://xyo.network/papers\">White Paper</FooterLink>\n </FooterLinks>\n)\n","import {\n Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube,\n} from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\nimport { FaDiscord } from 'react-icons/fa'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SocialLinks: React.FC<FlexBoxProps> = (props) => {\n return (\n <FooterLinks title=\"XYO Socials\" {...props}>\n <FlexRow flexWrap=\"wrap\" justifyContent=\"flex-start\">\n <FooterLink href=\"https://business.facebook.com/OfficialXYO/\">\n <Facebook />\n </FooterLink>\n <FooterLink href=\"https://twitter.com/OfficialXYO\">\n <Twitter />\n </FooterLink>\n <FooterLink href=\"https://www.instagram.com/officialxyo/\">\n <Instagram />\n </FooterLink>\n <FooterLink href=\"https://t.me/xyonetwork\">\n <Telegram />\n </FooterLink>\n <FooterLink href=\"https://www.reddit.com/r/XYONetwork/\">\n <Reddit />\n </FooterLink>\n <FooterLink href=\"https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw\">\n <YouTube />\n </FooterLink>\n <FooterLink href=\"https://www.linkedin.com/company/officialxyo/\">\n <LinkedIn />\n </FooterLink>\n <FooterLink href=\"https://discord.gg/officialxyo\">\n <FaDiscord />\n </FooterLink>\n </FlexRow>\n </FooterLinks>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SupportLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Support\" {...props}>\n <FooterLink href=\"https://support.xy.company/hc/en-us/categories/360001417734\">Help Center</FooterLink>\n <FooterLink href=\"https://support.xy.company/hc/en-us/requests/new\">Contact Support</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const TokenLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"XYO Tokens\" {...props}>\n <FooterLink href=\"https://xyo.network/token\">About</FooterLink>\n <FooterLink href=\"https://xyo.network/token/exchange\">Exchanges</FooterLink>\n <FooterLink href=\"https://xyo.network/token/price\">Prices</FooterLink>\n <FooterLink href=\"https://xyo.network/token/wallet\">Wallets</FooterLink>\n <FooterLink href=\"https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758\">Contract</FooterLink>\n </FooterLinks>\n)\n"],"mappings":"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","names":["to","jsx","footerLinks","FlexRow","jsx","jsxs","FlexRow","FlexCol","jsx","jsxs","jsx","jsx","jsxs","jsx","jsxs","jsx","jsxs","FlexRow","jsx","jsxs","FlexRow","jsx","jsxs","jsx","jsxs","jsx","jsxs"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-footer",
3
- "version": "7.5.8",
3
+ "version": "7.5.12",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -36,47 +36,79 @@
36
36
  },
37
37
  "./package.json": "./package.json"
38
38
  },
39
- "module": "dist/browser/index.mjs",
40
- "types": "dist/browser/index.d.ts",
41
39
  "files": [
42
40
  "dist",
43
- "src"
41
+ "README.md"
44
42
  ],
45
- "dependencies": {
46
- "@xylabs/react-flexbox": "~7.1.17",
47
- "@xylabs/react-link": "~7.1.17",
48
- "@xylabs/react-theme": "~7.1.17",
49
- "@xylabs/sdk-js": "~5.0.90",
50
- "react-icons": "~5.6.0"
51
- },
52
43
  "devDependencies": {
53
- "@mui/icons-material": "~7.3.9",
54
- "@mui/material": "~7.3.9",
55
- "@storybook/react-vite": "~10.3.3",
44
+ "@mui/icons-material": "^7.3.10",
45
+ "@mui/material": "^7.3.10",
46
+ "@opentelemetry/api": "^1.9.1",
47
+ "@opentelemetry/sdk-trace-base": "^2.7.0",
48
+ "@storybook/react-vite": "~10.3.5",
49
+ "@types/node": "~25.6.0",
56
50
  "@types/react": "^19.2.14",
57
- "@xylabs/ts-scripts-common": "~7.5.6",
58
- "@xylabs/ts-scripts-yarn3": "~7.5.6",
59
- "@xylabs/tsconfig": "~7.5.6",
60
- "@xylabs/tsconfig-dom": "~7.5.6",
61
- "@xylabs/tsconfig-react": "~7.5.6",
62
- "react": "^19.2.4",
63
- "react-dom": "^19.2.4",
64
- "react-router-dom": "^7.13.2",
65
- "storybook": "~10.3.3",
51
+ "@xylabs/react-async-effect": "~7.1.20",
52
+ "@xylabs/react-flexbox": "~7.1.20",
53
+ "@xylabs/react-link": "~7.1.20",
54
+ "@xylabs/react-promise": "~7.1.20",
55
+ "@xylabs/react-theme": "~7.1.20",
56
+ "@xylabs/sdk-js": "^5.0.100",
57
+ "@xylabs/toolchain": "~7.11.9",
58
+ "@xylabs/tsconfig": "^7.11.9",
59
+ "@xylabs/tsconfig-dom": "^7.11.9",
60
+ "@xylabs/tsconfig-react": "~7.11.9",
61
+ "@xylabs/zod": "~5.0.100",
62
+ "async-mutex": "^0.5.0",
63
+ "axios": "^1.15.2",
64
+ "bn.js": "^5.2.3",
65
+ "bowser": "^2.14.1",
66
+ "buffer": "^6.0.3",
67
+ "chalk": "^5.6.2",
68
+ "esbuild": "~0.28.0",
69
+ "eslint": "^10.2.1",
70
+ "ethers": "^6.16.0",
71
+ "fast-deep-equal": "~3.1.3",
72
+ "js-cookie": "~3.0.5",
73
+ "pako": "^2.1.0",
74
+ "react": "^19.2.5",
75
+ "react-dom": "^19.2.5",
76
+ "react-icons": "~5.6.0",
77
+ "spark-md5": "~3.0.2",
78
+ "storybook": "^10.3.5",
66
79
  "typescript": "^5.9.3",
67
- "vite": "~8.0.3",
80
+ "vite": "^8.0.10",
68
81
  "zod": "^4.3.6"
69
82
  },
70
83
  "peerDependencies": {
71
- "@mui/icons-material": ">=6 <8",
72
- "@mui/material": ">=6 <8",
73
- "react": "^19",
74
- "react-dom": "^19",
75
- "react-router-dom": "^7",
76
- "zod": "^4"
84
+ "@mui/icons-material": "^7.3.10",
85
+ "@mui/material": "^7.3.10",
86
+ "@opentelemetry/api": "^1.9.1",
87
+ "@opentelemetry/sdk-trace-base": "^2.7.0",
88
+ "@xylabs/react-async-effect": "~7.1.20",
89
+ "@xylabs/react-flexbox": "~7.1.20",
90
+ "@xylabs/react-link": "~7.1.20",
91
+ "@xylabs/react-theme": "~7.1.20",
92
+ "@xylabs/sdk-js": "^5.0.100",
93
+ "@xylabs/zod": "~5.0.100",
94
+ "async-mutex": "^0.5.0",
95
+ "axios": "^1.15.2",
96
+ "bn.js": "^5.2.3",
97
+ "bowser": "^2.14.1",
98
+ "buffer": "^6.0.3",
99
+ "chalk": "^5.6.2",
100
+ "ethers": "^6.16.0",
101
+ "fast-deep-equal": "~3.1.3",
102
+ "js-cookie": "~3.0.5",
103
+ "pako": "^2.1.0",
104
+ "react": "^19.2.5",
105
+ "react-dom": "^19.2.5",
106
+ "react-icons": "~5.6.0",
107
+ "spark-md5": "~3.0.2",
108
+ "zod": "^4.3.6"
77
109
  },
78
110
  "publishConfig": {
79
111
  "access": "public"
80
112
  },
81
113
  "docs": "dist/docs.json"
82
- }
114
+ }
@@ -1,36 +0,0 @@
1
- import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'
2
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
- import { FlexRow } from '@xylabs/react-flexbox'
4
- import type { LinkExProps } from '@xylabs/react-link'
5
- import React from 'react'
6
-
7
- import { FooterLink } from './Link.tsx'
8
-
9
- export interface FooterAlwaysLinksProps extends FlexBoxProps {
10
- footerLinks?: LinkExProps[]
11
- onMore?: () => void
12
- }
13
-
14
- export const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({
15
- style, footerLinks, onMore, ...props
16
- }) => (
17
- <FlexRow
18
- flexWrap="wrap"
19
- textTransform="uppercase"
20
- style={{ opacity: 0.6, ...style }}
21
- {...props}
22
- >
23
- {footerLinks?.map((footerLink, index) => (
24
- <FooterLink noWrap key={index} paddingX={1} margin={0} {...footerLink}>
25
- <small>{footerLink.title}</small>
26
- </FooterLink>
27
- ))}
28
- {onMore
29
- ? (
30
- <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>
31
- <MoreHorizIcon color="primary" fontSize="small" />
32
- </FlexRow>
33
- )
34
- : null}
35
- </FlexRow>
36
- )
package/src/Footer.tsx DELETED
@@ -1,67 +0,0 @@
1
- import type { ContainerProps } from '@mui/material'
2
- import { Container } from '@mui/material'
3
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
4
- import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
5
- import { useIsDark } from '@xylabs/react-theme'
6
- import React, { useState } from 'react'
7
-
8
- import type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx'
9
- import { FooterAlwaysLinks } from './AlwaysLinks.tsx'
10
-
11
- export interface FooterProps extends FlexBoxProps {
12
- alwaysFooterLinksProps?: FooterAlwaysLinksProps
13
- container?: ContainerProps['maxWidth'] | 'none'
14
- dynamicHeight?: boolean
15
- }
16
-
17
- export const Footer: React.FC<FooterProps> = ({
18
- alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props
19
- }) => {
20
- const [more, setMore] = useState(false)
21
- const onMore = () => {
22
- setMore(!more)
23
- }
24
-
25
- const darkMode = useIsDark()
26
- console.log('darkMode', darkMode)
27
-
28
- return (
29
- <FlexCol
30
- alignItems="stretch"
31
- onMouseLeave={() => {
32
- setMore(false)
33
- }}
34
- {...props}
35
- >
36
- {more && dynamicHeight
37
- ? (
38
- <FlexCol alignItems="stretch">
39
- <FlexRow paper bottom={-1} position="absolute" width="100%">
40
- {container && container !== 'none'
41
- ? <Container>{children}</Container>
42
- : children}
43
- </FlexRow>
44
- </FlexCol>
45
- )
46
- : null}
47
- {dynamicHeight
48
- ? null
49
- : (
50
- <FlexCol alignItems="stretch">
51
- {container && container !== 'none'
52
- ? <Container>{children}</Container>
53
- : children}
54
- </FlexCol>
55
- )}
56
- <FlexRow>
57
- {container && container !== 'none'
58
- ? (
59
- <Container>
60
- <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />
61
- </Container>
62
- )
63
- : <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />}
64
- </FlexRow>
65
- </FlexCol>
66
- )
67
- }
package/src/Link.tsx DELETED
@@ -1,43 +0,0 @@
1
- import type { LinkExProps } from '@xylabs/react-link'
2
- import { LinkEx } from '@xylabs/react-link'
3
- import { assertEx } from '@xylabs/sdk-js'
4
- import React from 'react'
5
-
6
- /**
7
- * @description
8
- * FooterLink automatically uses a local To if the link is to the current domain
9
- * If the link is not local, it defaults to target being _blank
10
- * In the case of 'beta' domains, it navigates correctly
11
- */
12
-
13
- const convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.location.href)) => {
14
- const urlObj = typeof url === 'string' ? new URL(url) : url
15
- const currentUrlObj = typeof currentUrl === 'string' ? new URL(currentUrl) : currentUrl
16
- const currentHostnameParts = currentUrlObj.hostname.split('.')
17
- const beta = currentHostnameParts.shift() === 'beta'
18
- if (beta) {
19
- const currentHostnameWithoutBeta = currentHostnameParts.join('.')
20
- if (currentHostnameWithoutBeta === urlObj.hostname) {
21
- urlObj.hostname = currentUrlObj.hostname
22
- }
23
- }
24
- return urlObj
25
- }
26
-
27
- export const FooterLink: React.FC<LinkExProps> = ({
28
- target, to, toOptions, href, margin = 0.5, variant = 'body2', ...props
29
- }) => {
30
- if (href) {
31
- const url = new URL(assertEx(href, () => 'href not set'))
32
- assertEx(url.hostname, () => 'Hostname is required in href')
33
- const convertedUrl = convertToBetaIfNeeded(url)
34
- if (document.location.hostname === convertedUrl.hostname) {
35
- const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname
36
- return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />
37
- } else {
38
- return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />
39
- }
40
- } else {
41
- return <LinkEx margin={margin} to={to} toOptions={toOptions} target={target} variant={variant} {...props} />
42
- }
43
- }
package/src/Links.tsx DELETED
@@ -1,17 +0,0 @@
1
- import { Typography } from '@mui/material'
2
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
- import { FlexCol } from '@xylabs/react-flexbox'
4
- import React from 'react'
5
-
6
- export const FooterLinks: React.FC<FlexBoxProps> = ({
7
- children, title, ...props
8
- }) => {
9
- return (
10
- <FlexCol margin={1} justifyContent="flex-start" title={title} {...props}>
11
- <Typography margin={0.5} variant="h6" noWrap>
12
- {title}
13
- </Typography>
14
- {children}
15
- </FlexCol>
16
- )
17
- }
@@ -1,44 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterAlwaysLinks } from '../AlwaysLinks.tsx'
5
- import { copyrightLinkTitle } from '../lib/index.ts'
6
-
7
- export interface XyoFooterAlwaysLinksProps extends FlexBoxProps {
8
- onMore?: () => void
9
- }
10
-
11
- export const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps> = props => (
12
- <FooterAlwaysLinks
13
- footerLinks={[
14
- {
15
- href: 'https://xylabs.com/',
16
- title: copyrightLinkTitle('XY Labs, Inc.'),
17
- },
18
- {
19
- href: 'https://xyo.network/',
20
- title: 'XYO Foundation',
21
- },
22
- {
23
- href: 'https://xylabs.com/privacy/',
24
- title: 'Privacy',
25
- },
26
- {
27
- href: 'https://xylabs.com/terms/',
28
- title: 'Terms',
29
- },
30
- {
31
- href: 'https://xylabs.com/jobs',
32
- title: 'Careers',
33
- },
34
- ]}
35
- {...props}
36
- />
37
- )
38
-
39
- /** @deprecated use FooterAlwaysLinksProps */
40
- export type CopyrightProps = XyoFooterAlwaysLinksProps
41
-
42
- /** @deprecated use FooterAlwaysLinks */
43
-
44
- export { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx'
@@ -1,15 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterLink } from '../Link.tsx'
5
- import { FooterLinks } from '../Links.tsx'
6
-
7
- export const DeveloperLinks: React.FC<FlexBoxProps> = props => (
8
- <FooterLinks title="Developer" {...props}>
9
- <FooterLink href="https://xyo.network/developer">Overview</FooterLink>
10
- <FooterLink href="https://xyo.network/developer/get-started">Get Started</FooterLink>
11
- <FooterLink href="https://xyo.network/developer">SDKs</FooterLink>
12
- <FooterLink href="https://github.com/xyoraclenetwork">Open Source Github</FooterLink>
13
- <FooterLink href="https://xyo.network/docs/sdk/js">Documentation</FooterLink>
14
- </FooterLinks>
15
- )
@@ -1,35 +0,0 @@
1
- import { Paper } from '@mui/material'
2
- import type { Meta, StoryFn } from '@storybook/react-vite'
3
- import { FlexCol } from '@xylabs/react-flexbox'
4
- import React from 'react'
5
-
6
- import { XyoFooter } from './Footer.tsx'
7
-
8
- const StorybookEntry = {
9
- argTypes: {},
10
- component: XyoFooter,
11
- parameters: { docs: { page: null } },
12
- title: 'footer/Footer',
13
- } as Meta<typeof XyoFooter>
14
-
15
- const Template: StoryFn<typeof XyoFooter> = args => (
16
- <FlexCol minHeight="80vh" alignItems="stretch">
17
- <Paper style={{
18
- alignItems: 'center', display: 'flex', flexGrow: 1, justifyContent: 'center',
19
- }}
20
- >
21
- Test Content
22
- </Paper>
23
- <XyoFooter {...args} />
24
- </FlexCol>
25
- )
26
-
27
- const Default = Template.bind({})
28
- Default.args = {}
29
-
30
- const DynamicHeight = Template.bind({})
31
- DynamicHeight.args = { dynamicHeight: true }
32
-
33
- export { Default, DynamicHeight }
34
-
35
- export default StorybookEntry
@@ -1,65 +0,0 @@
1
- import { Grid } from '@mui/material'
2
- import React from 'react'
3
-
4
- import type { FooterProps } from '../Footer.tsx'
5
- import { Footer } from '../Footer.tsx'
6
- import { copyrightLinkTitle } from '../lib/index.ts'
7
- import { DeveloperLinks } from './DeveloperLinks.tsx'
8
- import { MoreLinks } from './MoreLinks.tsx'
9
- import { NetworkLinks } from './NetworkLinks.tsx'
10
- import { SocialLinks } from './SocialLinks.tsx'
11
- import { SupportLinks } from './SupportLinks.tsx'
12
- import { TokenLinks } from './TokenLinks.tsx'
13
-
14
- const footerLinks = [
15
- {
16
- href: 'https://xylabs.com/',
17
- title: copyrightLinkTitle('XY Labs, Inc.'),
18
- },
19
- {
20
- href: 'https://xyo.network/',
21
- title: 'XYO Foundation',
22
- },
23
- {
24
- href: 'https://xylabs.com/privacy/',
25
- title: 'Privacy',
26
- },
27
- {
28
- href: 'https://xylabs.com/terms/',
29
- title: 'Terms',
30
- },
31
- {
32
- href: 'https://xylabs.com/jobs',
33
- title: 'Careers',
34
- },
35
- ]
36
-
37
- export const XyoFooter: React.FC<FooterProps> = ({
38
- alwaysFooterLinksProps,
39
- ...props
40
- }) => {
41
- return (
42
- <Footer alwaysFooterLinksProps={alwaysFooterLinksProps ?? { footerLinks }} {...props}>
43
- <Grid container>
44
- <Grid size={{ xs: 12, md: 2 }}>
45
- <SocialLinks alignItems="flex-start" />
46
- </Grid>
47
- <Grid size={{ xs: 6, md: 2 }}>
48
- <NetworkLinks alignItems="flex-start" />
49
- </Grid>
50
- <Grid size={{ xs: 6, md: 2 }}>
51
- <TokenLinks alignItems="flex-start" />
52
- </Grid>
53
- <Grid size={{ xs: 6, md: 2 }}>
54
- <DeveloperLinks alignItems="flex-start" />
55
- </Grid>
56
- <Grid size={{ xs: 6, md: 2 }}>
57
- <MoreLinks alignItems="flex-start" />
58
- </Grid>
59
- <Grid size={{ xs: 6, md: 2 }}>
60
- <SupportLinks alignItems="flex-start" />
61
- </Grid>
62
- </Grid>
63
- </Footer>
64
- )
65
- }
@@ -1,13 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterLink } from '../Link.tsx'
5
- import { FooterLinks } from '../Links.tsx'
6
-
7
- export const MoreLinks: React.FC<FlexBoxProps> = props => (
8
- <FooterLinks title="More" {...props}>
9
- <FooterLink href="https://xyo.network/partners">Partners</FooterLink>
10
- <FooterLink href="https://xyo.network/fhr">FHR</FooterLink>
11
- <FooterLink href="https://xyo.network/brand">Brand</FooterLink>
12
- </FooterLinks>
13
- )
@@ -1,14 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterLink } from '../Link.tsx'
5
- import { FooterLinks } from '../Links.tsx'
6
-
7
- export const NetworkLinks: React.FC<FlexBoxProps> = props => (
8
- <FooterLinks title="Network" {...props}>
9
- <FooterLink href="https://xyo.network/network">Overview</FooterLink>
10
- <FooterLink href="https://xyo.network/network/bound-witness">Bound Witness</FooterLink>
11
- <FooterLink href="https://xyo.network/network/proof-of-origin">Proof Of Origin</FooterLink>
12
- <FooterLink href="https://xyo.network/papers">White Paper</FooterLink>
13
- </FooterLinks>
14
- )
@@ -1,43 +0,0 @@
1
- import {
2
- Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube,
3
- } from '@mui/icons-material'
4
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
5
- import { FlexRow } from '@xylabs/react-flexbox'
6
- import React from 'react'
7
- import { FaDiscord } from 'react-icons/fa'
8
-
9
- import { FooterLink } from '../Link.tsx'
10
- import { FooterLinks } from '../Links.tsx'
11
-
12
- export const SocialLinks: React.FC<FlexBoxProps> = (props) => {
13
- return (
14
- <FooterLinks title="XYO Socials" {...props}>
15
- <FlexRow flexWrap="wrap" justifyContent="flex-start">
16
- <FooterLink href="https://business.facebook.com/OfficialXYO/">
17
- <Facebook />
18
- </FooterLink>
19
- <FooterLink href="https://twitter.com/OfficialXYO">
20
- <Twitter />
21
- </FooterLink>
22
- <FooterLink href="https://www.instagram.com/officialxyo/">
23
- <Instagram />
24
- </FooterLink>
25
- <FooterLink href="https://t.me/xyonetwork">
26
- <Telegram />
27
- </FooterLink>
28
- <FooterLink href="https://www.reddit.com/r/XYONetwork/">
29
- <Reddit />
30
- </FooterLink>
31
- <FooterLink href="https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw">
32
- <YouTube />
33
- </FooterLink>
34
- <FooterLink href="https://www.linkedin.com/company/officialxyo/">
35
- <LinkedIn />
36
- </FooterLink>
37
- <FooterLink href="https://discord.gg/officialxyo">
38
- <FaDiscord />
39
- </FooterLink>
40
- </FlexRow>
41
- </FooterLinks>
42
- )
43
- }
@@ -1,12 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterLink } from '../Link.tsx'
5
- import { FooterLinks } from '../Links.tsx'
6
-
7
- export const SupportLinks: React.FC<FlexBoxProps> = props => (
8
- <FooterLinks title="Support" {...props}>
9
- <FooterLink href="https://support.xy.company/hc/en-us/categories/360001417734">Help Center</FooterLink>
10
- <FooterLink href="https://support.xy.company/hc/en-us/requests/new">Contact Support</FooterLink>
11
- </FooterLinks>
12
- )
@@ -1,15 +0,0 @@
1
- import type { FlexBoxProps } from '@xylabs/react-flexbox'
2
- import React from 'react'
3
-
4
- import { FooterLink } from '../Link.tsx'
5
- import { FooterLinks } from '../Links.tsx'
6
-
7
- export const TokenLinks: React.FC<FlexBoxProps> = props => (
8
- <FooterLinks title="XYO Tokens" {...props}>
9
- <FooterLink href="https://xyo.network/token">About</FooterLink>
10
- <FooterLink href="https://xyo.network/token/exchange">Exchanges</FooterLink>
11
- <FooterLink href="https://xyo.network/token/price">Prices</FooterLink>
12
- <FooterLink href="https://xyo.network/token/wallet">Wallets</FooterLink>
13
- <FooterLink href="https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758">Contract</FooterLink>
14
- </FooterLinks>
15
- )
package/src/Xyo/index.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from './AlwaysLinks.tsx'
2
- export * from './DeveloperLinks.tsx'
3
- export * from './Footer.tsx'
4
- export * from './MoreLinks.tsx'
5
- export * from './NetworkLinks.tsx'
6
- export * from './SocialLinks.tsx'
7
- export * from './SupportLinks.tsx'
8
- export * from './TokenLinks.tsx'
package/src/index.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from './AlwaysLinks.tsx'
2
- export * from './Footer.tsx'
3
- export * from './lib/index.ts'
4
- export * from './Link.tsx'
5
- export * from './Links.tsx'
6
- export * from './Xyo/index.ts'
@@ -1,3 +0,0 @@
1
- export const copyrightLinkTitle = (entity: string) => {
2
- return `Copyright © ${new Date().getFullYear()} ${entity}`
3
- }
package/src/lib/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './copyrightLinkTitle.ts'