@xyo-network/react-footer 2.64.0-rc.7 → 2.64.1

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.
Files changed (234) hide show
  1. package/dist/browser/AlwaysLinks.cjs +64 -0
  2. package/dist/browser/AlwaysLinks.cjs.map +1 -0
  3. package/dist/browser/AlwaysLinks.d.cts +9 -0
  4. package/dist/browser/AlwaysLinks.d.cts.map +1 -0
  5. package/dist/browser/AlwaysLinks.js +36 -5
  6. package/dist/browser/AlwaysLinks.js.map +1 -1
  7. package/dist/browser/Footer.cjs +94 -0
  8. package/dist/browser/Footer.cjs.map +1 -0
  9. package/dist/browser/Footer.d.cts +11 -0
  10. package/dist/browser/Footer.d.cts.map +1 -0
  11. package/dist/browser/Footer.js +50 -8
  12. package/dist/browser/Footer.js.map +1 -1
  13. package/dist/browser/Link.cjs +53 -0
  14. package/dist/{node/Link.mjs.map → browser/Link.cjs.map} +1 -1
  15. package/dist/browser/Link.d.cts +4 -0
  16. package/dist/browser/Link.d.cts.map +1 -0
  17. package/dist/browser/Link.js +4 -3
  18. package/dist/browser/Link.js.map +1 -1
  19. package/dist/browser/Links.cjs +35 -0
  20. package/dist/{node/Links.mjs.map → browser/Links.cjs.map} +1 -1
  21. package/dist/browser/Links.d.cts +4 -0
  22. package/dist/browser/Links.d.cts.map +1 -0
  23. package/dist/browser/Links.js +3 -2
  24. package/dist/browser/Links.js.map +1 -1
  25. package/dist/browser/Xyo/AlwaysLinks.cjs +104 -0
  26. package/dist/browser/Xyo/AlwaysLinks.cjs.map +1 -0
  27. package/dist/browser/Xyo/AlwaysLinks.d.cts +11 -0
  28. package/dist/browser/Xyo/AlwaysLinks.d.cts.map +1 -0
  29. package/dist/browser/Xyo/AlwaysLinks.js +48 -4
  30. package/dist/browser/Xyo/AlwaysLinks.js.map +1 -1
  31. package/dist/browser/Xyo/DeveloperLinks.cjs +76 -0
  32. package/dist/browser/Xyo/DeveloperLinks.cjs.map +1 -0
  33. package/dist/browser/Xyo/DeveloperLinks.d.cts +4 -0
  34. package/dist/browser/Xyo/DeveloperLinks.d.cts.map +1 -0
  35. package/dist/browser/Xyo/DeveloperLinks.js +48 -9
  36. package/dist/browser/Xyo/DeveloperLinks.js.map +1 -1
  37. package/dist/browser/Xyo/Footer.cjs +213 -0
  38. package/dist/browser/Xyo/Footer.cjs.map +1 -0
  39. package/dist/browser/Xyo/Footer.d.cts +4 -0
  40. package/dist/browser/Xyo/Footer.d.cts.map +1 -0
  41. package/dist/browser/Xyo/Footer.js +161 -18
  42. package/dist/browser/Xyo/Footer.js.map +1 -1
  43. package/dist/browser/Xyo/MoreLinks.cjs +74 -0
  44. package/dist/browser/Xyo/MoreLinks.cjs.map +1 -0
  45. package/dist/browser/Xyo/MoreLinks.d.cts +4 -0
  46. package/dist/browser/Xyo/MoreLinks.d.cts.map +1 -0
  47. package/dist/browser/Xyo/MoreLinks.js +46 -7
  48. package/dist/browser/Xyo/MoreLinks.js.map +1 -1
  49. package/dist/browser/Xyo/NetworkLinks.cjs +75 -0
  50. package/dist/browser/Xyo/NetworkLinks.cjs.map +1 -0
  51. package/dist/browser/Xyo/NetworkLinks.d.cts +4 -0
  52. package/dist/browser/Xyo/NetworkLinks.d.cts.map +1 -0
  53. package/dist/browser/Xyo/NetworkLinks.js +47 -8
  54. package/dist/browser/Xyo/NetworkLinks.js.map +1 -1
  55. package/dist/browser/Xyo/SocialLinks.cjs +84 -0
  56. package/dist/browser/Xyo/SocialLinks.cjs.map +1 -0
  57. package/dist/browser/Xyo/SocialLinks.d.cts +4 -0
  58. package/dist/browser/Xyo/SocialLinks.d.cts.map +1 -0
  59. package/dist/browser/Xyo/SocialLinks.d.mts.map +1 -1
  60. package/dist/browser/Xyo/SocialLinks.d.ts.map +1 -1
  61. package/dist/browser/Xyo/SocialLinks.js +54 -13
  62. package/dist/browser/Xyo/SocialLinks.js.map +1 -1
  63. package/dist/browser/Xyo/SupportLinks.cjs +73 -0
  64. package/dist/browser/Xyo/SupportLinks.cjs.map +1 -0
  65. package/dist/browser/Xyo/SupportLinks.d.cts +4 -0
  66. package/dist/browser/Xyo/SupportLinks.d.cts.map +1 -0
  67. package/dist/browser/Xyo/SupportLinks.js +45 -6
  68. package/dist/browser/Xyo/SupportLinks.js.map +1 -1
  69. package/dist/browser/Xyo/TokenLinks.cjs +76 -0
  70. package/dist/browser/Xyo/TokenLinks.cjs.map +1 -0
  71. package/dist/browser/Xyo/TokenLinks.d.cts +4 -0
  72. package/dist/browser/Xyo/TokenLinks.d.cts.map +1 -0
  73. package/dist/browser/Xyo/TokenLinks.js +48 -9
  74. package/dist/browser/Xyo/TokenLinks.js.map +1 -1
  75. package/dist/browser/Xyo/index.cjs +253 -0
  76. package/dist/browser/Xyo/index.cjs.map +1 -0
  77. package/dist/browser/Xyo/index.d.cts +9 -0
  78. package/dist/browser/Xyo/index.d.cts.map +1 -0
  79. package/dist/browser/Xyo/index.js +229 -8
  80. package/dist/browser/Xyo/index.js.map +1 -1
  81. package/dist/browser/index.cjs +258 -0
  82. package/dist/browser/index.cjs.map +1 -0
  83. package/dist/browser/index.d.cts +7 -0
  84. package/dist/browser/index.d.cts.map +1 -0
  85. package/dist/browser/index.js +234 -6
  86. package/dist/browser/index.js.map +1 -1
  87. package/dist/browser/lib/copyrightLinkTitle.cjs +29 -0
  88. package/dist/{node/lib/copyrightLinkTitle.mjs.map → browser/lib/copyrightLinkTitle.cjs.map} +1 -1
  89. package/dist/browser/lib/copyrightLinkTitle.d.cts +2 -0
  90. package/dist/browser/lib/copyrightLinkTitle.d.cts.map +1 -0
  91. package/dist/browser/lib/copyrightLinkTitle.js +2 -1
  92. package/dist/browser/lib/copyrightLinkTitle.js.map +1 -1
  93. package/dist/browser/lib/index.cjs +31 -0
  94. package/dist/browser/lib/index.cjs.map +1 -0
  95. package/dist/browser/lib/index.d.cts +2 -0
  96. package/dist/browser/lib/index.d.cts.map +1 -0
  97. package/dist/browser/lib/index.js +7 -1
  98. package/dist/browser/lib/index.js.map +1 -1
  99. package/dist/docs.json +71093 -0
  100. package/dist/node/AlwaysLinks.cjs +68 -0
  101. package/dist/node/AlwaysLinks.cjs.map +1 -0
  102. package/dist/node/AlwaysLinks.d.cts +9 -0
  103. package/dist/node/AlwaysLinks.d.cts.map +1 -0
  104. package/dist/node/AlwaysLinks.js +37 -30
  105. package/dist/node/AlwaysLinks.js.map +1 -1
  106. package/dist/node/Footer.cjs +98 -0
  107. package/dist/node/Footer.cjs.map +1 -0
  108. package/dist/node/Footer.d.cts +11 -0
  109. package/dist/node/Footer.d.cts.map +1 -0
  110. package/dist/node/Footer.js +54 -36
  111. package/dist/node/Footer.js.map +1 -1
  112. package/dist/node/Link.cjs +57 -0
  113. package/dist/node/Link.cjs.map +1 -0
  114. package/dist/node/Link.d.cts +4 -0
  115. package/dist/node/Link.d.cts.map +1 -0
  116. package/dist/node/Link.js +12 -35
  117. package/dist/node/Link.js.map +1 -1
  118. package/dist/node/Links.cjs +39 -0
  119. package/dist/node/Links.cjs.map +1 -0
  120. package/dist/node/Links.d.cts +4 -0
  121. package/dist/node/Links.d.cts.map +1 -0
  122. package/dist/node/Links.js +9 -32
  123. package/dist/node/Links.js.map +1 -1
  124. package/dist/node/Xyo/AlwaysLinks.cjs +109 -0
  125. package/dist/node/Xyo/AlwaysLinks.cjs.map +1 -0
  126. package/dist/node/Xyo/AlwaysLinks.d.cts +11 -0
  127. package/dist/node/Xyo/AlwaysLinks.d.cts.map +1 -0
  128. package/dist/node/Xyo/AlwaysLinks.js +50 -31
  129. package/dist/node/Xyo/AlwaysLinks.js.map +1 -1
  130. package/dist/node/Xyo/DeveloperLinks.cjs +80 -0
  131. package/dist/node/Xyo/DeveloperLinks.cjs.map +1 -0
  132. package/dist/node/Xyo/DeveloperLinks.d.cts +4 -0
  133. package/dist/node/Xyo/DeveloperLinks.d.cts.map +1 -0
  134. package/dist/node/Xyo/DeveloperLinks.js +47 -32
  135. package/dist/node/Xyo/DeveloperLinks.js.map +1 -1
  136. package/dist/node/Xyo/Footer.cjs +217 -0
  137. package/dist/node/Xyo/Footer.cjs.map +1 -0
  138. package/dist/node/Xyo/Footer.d.cts +4 -0
  139. package/dist/node/Xyo/Footer.d.cts.map +1 -0
  140. package/dist/node/Xyo/Footer.js +162 -43
  141. package/dist/node/Xyo/Footer.js.map +1 -1
  142. package/dist/node/Xyo/MoreLinks.cjs +78 -0
  143. package/dist/node/Xyo/MoreLinks.cjs.map +1 -0
  144. package/dist/node/Xyo/MoreLinks.d.cts +4 -0
  145. package/dist/node/Xyo/MoreLinks.d.cts.map +1 -0
  146. package/dist/node/Xyo/MoreLinks.js +45 -30
  147. package/dist/node/Xyo/MoreLinks.js.map +1 -1
  148. package/dist/node/Xyo/NetworkLinks.cjs +79 -0
  149. package/dist/node/Xyo/NetworkLinks.cjs.map +1 -0
  150. package/dist/node/Xyo/NetworkLinks.d.cts +4 -0
  151. package/dist/node/Xyo/NetworkLinks.d.cts.map +1 -0
  152. package/dist/node/Xyo/NetworkLinks.js +46 -31
  153. package/dist/node/Xyo/NetworkLinks.js.map +1 -1
  154. package/dist/node/Xyo/SocialLinks.cjs +88 -0
  155. package/dist/node/Xyo/SocialLinks.cjs.map +1 -0
  156. package/dist/node/Xyo/SocialLinks.d.cts +4 -0
  157. package/dist/node/Xyo/SocialLinks.d.cts.map +1 -0
  158. package/dist/node/Xyo/SocialLinks.d.mts.map +1 -1
  159. package/dist/node/Xyo/SocialLinks.d.ts.map +1 -1
  160. package/dist/node/Xyo/SocialLinks.js +56 -39
  161. package/dist/node/Xyo/SocialLinks.js.map +1 -1
  162. package/dist/node/Xyo/SupportLinks.cjs +77 -0
  163. package/dist/node/Xyo/SupportLinks.cjs.map +1 -0
  164. package/dist/node/Xyo/SupportLinks.d.cts +4 -0
  165. package/dist/node/Xyo/SupportLinks.d.cts.map +1 -0
  166. package/dist/node/Xyo/SupportLinks.js +44 -29
  167. package/dist/node/Xyo/SupportLinks.js.map +1 -1
  168. package/dist/node/Xyo/TokenLinks.cjs +80 -0
  169. package/dist/node/Xyo/TokenLinks.cjs.map +1 -0
  170. package/dist/node/Xyo/TokenLinks.d.cts +4 -0
  171. package/dist/node/Xyo/TokenLinks.d.cts.map +1 -0
  172. package/dist/node/Xyo/TokenLinks.js +47 -32
  173. package/dist/node/Xyo/TokenLinks.js.map +1 -1
  174. package/dist/node/Xyo/index.cjs +265 -0
  175. package/dist/node/Xyo/index.cjs.map +1 -0
  176. package/dist/node/Xyo/index.d.cts +9 -0
  177. package/dist/node/Xyo/index.d.cts.map +1 -0
  178. package/dist/node/Xyo/index.js +228 -35
  179. package/dist/node/Xyo/index.js.map +1 -1
  180. package/dist/node/index.cjs +275 -0
  181. package/dist/node/index.cjs.map +1 -0
  182. package/dist/node/index.d.cts +7 -0
  183. package/dist/node/index.d.cts.map +1 -0
  184. package/dist/node/index.js +233 -31
  185. package/dist/node/index.js.map +1 -1
  186. package/dist/node/lib/copyrightLinkTitle.cjs +33 -0
  187. package/dist/node/lib/copyrightLinkTitle.cjs.map +1 -0
  188. package/dist/node/lib/copyrightLinkTitle.d.cts +2 -0
  189. package/dist/node/lib/copyrightLinkTitle.d.cts.map +1 -0
  190. package/dist/node/lib/copyrightLinkTitle.js +4 -27
  191. package/dist/node/lib/copyrightLinkTitle.js.map +1 -1
  192. package/dist/node/lib/index.cjs +35 -0
  193. package/dist/node/lib/index.cjs.map +1 -0
  194. package/dist/node/lib/index.d.cts +2 -0
  195. package/dist/node/lib/index.d.cts.map +1 -0
  196. package/dist/node/lib/index.js +6 -21
  197. package/dist/node/lib/index.js.map +1 -1
  198. package/package.json +16 -16
  199. package/src/Xyo/SocialLinks.tsx +1 -0
  200. package/dist/browser/Xyo/Footer.stories.js +0 -29
  201. package/dist/browser/Xyo/Footer.stories.js.map +0 -1
  202. package/dist/node/AlwaysLinks.mjs +0 -12
  203. package/dist/node/AlwaysLinks.mjs.map +0 -1
  204. package/dist/node/Footer.mjs +0 -31
  205. package/dist/node/Footer.mjs.map +0 -1
  206. package/dist/node/Link.mjs +0 -31
  207. package/dist/node/Links.mjs +0 -13
  208. package/dist/node/Xyo/AlwaysLinks.mjs +0 -37
  209. package/dist/node/Xyo/AlwaysLinks.mjs.map +0 -1
  210. package/dist/node/Xyo/DeveloperLinks.mjs +0 -14
  211. package/dist/node/Xyo/DeveloperLinks.mjs.map +0 -1
  212. package/dist/node/Xyo/Footer.mjs +0 -49
  213. package/dist/node/Xyo/Footer.mjs.map +0 -1
  214. package/dist/node/Xyo/Footer.stories.js +0 -54
  215. package/dist/node/Xyo/Footer.stories.js.map +0 -1
  216. package/dist/node/Xyo/Footer.stories.mjs +0 -29
  217. package/dist/node/Xyo/Footer.stories.mjs.map +0 -1
  218. package/dist/node/Xyo/MoreLinks.mjs +0 -12
  219. package/dist/node/Xyo/MoreLinks.mjs.map +0 -1
  220. package/dist/node/Xyo/NetworkLinks.mjs +0 -13
  221. package/dist/node/Xyo/NetworkLinks.mjs.map +0 -1
  222. package/dist/node/Xyo/SocialLinks.mjs +0 -22
  223. package/dist/node/Xyo/SocialLinks.mjs.map +0 -1
  224. package/dist/node/Xyo/SupportLinks.mjs +0 -11
  225. package/dist/node/Xyo/SupportLinks.mjs.map +0 -1
  226. package/dist/node/Xyo/TokenLinks.mjs +0 -14
  227. package/dist/node/Xyo/TokenLinks.mjs.map +0 -1
  228. package/dist/node/Xyo/index.mjs +0 -9
  229. package/dist/node/Xyo/index.mjs.map +0 -1
  230. package/dist/node/index.mjs +0 -7
  231. package/dist/node/index.mjs.map +0 -1
  232. package/dist/node/lib/copyrightLinkTitle.mjs +0 -7
  233. package/dist/node/lib/index.mjs +0 -2
  234. package/dist/node/lib/index.mjs.map +0 -1
@@ -1,46 +1,63 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
1
+ // src/Xyo/SocialLinks.tsx
2
+ import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from "@mui/icons-material";
3
+ import { FlexRow } from "@xylabs/react-flexbox";
4
+ import { FaDiscord } from "react-icons/fa/index.js";
5
+
6
+ // src/Link.tsx
7
+ import { assertEx } from "@xylabs/assert";
8
+ import { LinkEx } from "@xylabs/react-link";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
11
+ const urlObj = typeof url === "string" ? new URL(url) : url;
12
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
13
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
14
+ const beta = currentHostnameParts.shift() === "beta";
15
+ if (beta) {
16
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
17
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
18
+ urlObj.hostname = currentUrlObj.hostname;
19
+ }
20
+ }
21
+ return urlObj;
9
22
  };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
24
+ const url = new URL(assertEx(href, "href not set"));
25
+ assertEx(url.hostname, "Hostname is required in href");
26
+ const convertedUrl = convertToBetaIfNeeded(url);
27
+ if (document.location.hostname === convertedUrl.hostname) {
28
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
29
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to, target, variant, ...props });
30
+ } else {
31
+ return /* @__PURE__ */ jsx(LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
15
32
  }
16
- return to;
17
33
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var SocialLinks_exports = {};
20
- __export(SocialLinks_exports, {
21
- SocialLinks: () => SocialLinks
22
- });
23
- module.exports = __toCommonJS(SocialLinks_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_icons_material = require("@mui/icons-material");
26
- var import_react_flexbox = require("@xylabs/react-flexbox");
27
- var import_fa = require("react-icons/fa/index.js");
28
- var import_Link = require("../Link");
29
- var import_Links = require("../Links");
30
- const SocialLinks = (props) => {
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Links.FooterLinks, { title: "XYO Socials", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { flexWrap: "wrap", justifyContent: "flex-start", children: [
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://business.facebook.com/OfficialXYO/", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Facebook, {}) }),
33
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://twitter.com/OfficialXYO", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Twitter, {}) }),
34
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://www.instagram.com/officialxyo/", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Instagram, {}) }),
35
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://t.me/xyonetwork", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Telegram, {}) }),
36
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://www.reddit.com/r/XYONetwork/", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Reddit, {}) }),
37
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.YouTube, {}) }),
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://www.linkedin.com/company/officialxyo/", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.LinkedIn, {}) }),
39
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://discord.gg/officialxyo", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fa.FaDiscord, {}) })
34
+
35
+ // src/Links.tsx
36
+ import { Typography } from "@mui/material";
37
+ import { FlexCol } from "@xylabs/react-flexbox";
38
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
39
+ var FooterLinks = ({ children, title, ...props }) => {
40
+ return /* @__PURE__ */ jsxs(FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
41
+ /* @__PURE__ */ jsx2(Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
42
+ children
43
+ ] });
44
+ };
45
+
46
+ // src/Xyo/SocialLinks.tsx
47
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
48
+ var SocialLinks = (props) => {
49
+ return /* @__PURE__ */ jsx3(FooterLinks, { title: "XYO Socials", ...props, children: /* @__PURE__ */ jsxs2(FlexRow, { flexWrap: "wrap", justifyContent: "flex-start", children: [
50
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://business.facebook.com/OfficialXYO/", children: /* @__PURE__ */ jsx3(Facebook, {}) }),
51
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://twitter.com/OfficialXYO", children: /* @__PURE__ */ jsx3(Twitter, {}) }),
52
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://www.instagram.com/officialxyo/", children: /* @__PURE__ */ jsx3(Instagram, {}) }),
53
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://t.me/xyonetwork", children: /* @__PURE__ */ jsx3(Telegram, {}) }),
54
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://www.reddit.com/r/XYONetwork/", children: /* @__PURE__ */ jsx3(Reddit, {}) }),
55
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw", children: /* @__PURE__ */ jsx3(YouTube, {}) }),
56
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://www.linkedin.com/company/officialxyo/", children: /* @__PURE__ */ jsx3(LinkedIn, {}) }),
57
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://discord.gg/officialxyo", children: /* @__PURE__ */ jsx3(FaDiscord, {}) })
40
58
  ] }) });
41
59
  };
42
- // Annotate the CommonJS export names for ESM import in node:
43
- 0 && (module.exports = {
60
+ export {
44
61
  SocialLinks
45
- });
62
+ };
46
63
  //# sourceMappingURL=SocialLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Xyo/SocialLinks.tsx"],"sourcesContent":["import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from '@mui/icons-material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { FaDiscord } from 'react-icons/fa/index.js'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUM;AAVN,4BAAkF;AAClF,2BAAsC;AACtC,gBAA0B;AAE1B,kBAA2B;AAC3B,mBAA4B;AAErB,MAAM,cAAsC,CAAC,UAAU;AAC5D,SACE,4CAAC,4BAAY,OAAM,eAAe,GAAG,OACnC,uDAAC,gCAAQ,UAAS,QAAO,gBAAe,cACtC;AAAA,gDAAC,0BAAW,MAAK,8CACf,sDAAC,kCAAS,GACZ;AAAA,IACA,4CAAC,0BAAW,MAAK,mCACf,sDAAC,iCAAQ,GACX;AAAA,IACA,4CAAC,0BAAW,MAAK,0CACf,sDAAC,mCAAU,GACb;AAAA,IACA,4CAAC,0BAAW,MAAK,2BACf,sDAAC,kCAAS,GACZ;AAAA,IACA,4CAAC,0BAAW,MAAK,wCACf,sDAAC,gCAAO,GACV;AAAA,IACA,4CAAC,0BAAW,MAAK,4DACf,sDAAC,iCAAQ,GACX;AAAA,IACA,4CAAC,0BAAW,MAAK,iDACf,sDAAC,kCAAS,GACZ;AAAA,IACA,4CAAC,0BAAW,MAAK,kCACf,sDAAC,uBAAU,GACb;AAAA,KACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/Xyo/SocialLinks.tsx","../../../src/Link.tsx","../../../src/Links.tsx"],"sourcesContent":["import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from '@mui/icons-material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n// eslint-disable-next-line import/no-internal-modules\nimport { FaDiscord } from 'react-icons/fa/index.js'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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 { assertEx } from '@xylabs/assert'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\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> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {\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} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {\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"],"mappings":";AAAA,SAAS,UAAU,WAAW,UAAU,QAAQ,UAAU,SAAS,eAAe;AAClF,SAAuB,eAAe;AAEtC,SAAS,iBAAiB;;;ACH1B,SAAS,gBAAgB;AACzB,SAAS,cAA2B;AA6BzB;AApBX,IAAM,wBAAwB,CAAC,KAAmB,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,MAAM;AACjG,QAAM,SAAS,OAAO,QAAQ,WAAW,IAAI,IAAI,GAAG,IAAI;AACxD,QAAM,gBAAgB,OAAO,eAAe,WAAW,IAAI,IAAI,UAAU,IAAI;AAC7E,QAAM,uBAAuB,cAAc,SAAS,MAAM,GAAG;AAC7D,QAAM,OAAO,qBAAqB,MAAM,MAAM;AAC9C,MAAI,MAAM;AACR,UAAM,6BAA6B,qBAAqB,KAAK,GAAG;AAChE,QAAI,+BAA+B,OAAO,UAAU;AAClD,aAAO,WAAW,cAAc;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,aAAoC,CAAC,EAAE,QAAQ,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,MAAM,MAAM;AAChH,QAAM,MAAM,IAAI,IAAI,SAAS,MAAM,cAAc,CAAC;AAClD,WAAS,IAAI,UAAU,8BAA8B;AACrD,QAAM,eAAe,sBAAsB,GAAG;AAC9C,MAAI,SAAS,SAAS,aAAa,aAAa,UAAU;AACxD,UAAM,KAAK,IAAI,OAAO,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG,aAAa,MAAM,KAAK,IAAI;AAC1F,WAAO,oBAAC,UAAO,QAAgB,IAAQ,QAAgB,SAAmB,GAAG,OAAO;AAAA,EACtF,OAAO;AACL,WAAO,oBAAC,UAAO,QAAgB,MAAY,QAAQ,UAAU,UAAU,SAAmB,GAAG,OAAO;AAAA,EACtG;AACF;;;AClCA,SAAS,kBAAkB;AAC3B,SAAuB,eAAe;AAIlC,SACE,OAAAA,MADF;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,qBAAC,WAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,oBAAAA,KAAC,cAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;;;AFDM,SAEI,OAAAC,MAFJ,QAAAC,aAAA;AAHC,IAAM,cAAsC,CAAC,UAAU;AAC5D,SACE,gBAAAD,KAAC,eAAY,OAAM,eAAe,GAAG,OACnC,0BAAAC,MAAC,WAAQ,UAAS,QAAO,gBAAe,cACtC;AAAA,oBAAAD,KAAC,cAAW,MAAK,8CACf,0BAAAA,KAAC,YAAS,GACZ;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,mCACf,0BAAAA,KAAC,WAAQ,GACX;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,0CACf,0BAAAA,KAAC,aAAU,GACb;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,2BACf,0BAAAA,KAAC,YAAS,GACZ;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,wCACf,0BAAAA,KAAC,UAAO,GACV;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,4DACf,0BAAAA,KAAC,WAAQ,GACX;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,iDACf,0BAAAA,KAAC,YAAS,GACZ;AAAA,IACA,gBAAAA,KAAC,cAAW,MAAK,kCACf,0BAAAA,KAAC,aAAU,GACb;AAAA,KACF,GACF;AAEJ;","names":["jsx","jsx","jsxs"]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Xyo/SupportLinks.tsx
21
+ var SupportLinks_exports = {};
22
+ __export(SupportLinks_exports, {
23
+ SupportLinks: () => SupportLinks
24
+ });
25
+ module.exports = __toCommonJS(SupportLinks_exports);
26
+
27
+ // src/Link.tsx
28
+ var import_assert = require("@xylabs/assert");
29
+ var import_react_link = require("@xylabs/react-link");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
32
+ const urlObj = typeof url === "string" ? new URL(url) : url;
33
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
34
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
35
+ const beta = currentHostnameParts.shift() === "beta";
36
+ if (beta) {
37
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
38
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
39
+ urlObj.hostname = currentUrlObj.hostname;
40
+ }
41
+ }
42
+ return urlObj;
43
+ };
44
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
45
+ const url = new URL((0, import_assert.assertEx)(href, "href not set"));
46
+ (0, import_assert.assertEx)(url.hostname, "Hostname is required in href");
47
+ const convertedUrl = convertToBetaIfNeeded(url);
48
+ if (document.location.hostname === convertedUrl.hostname) {
49
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, to, target, variant, ...props });
51
+ } else {
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
53
+ }
54
+ };
55
+
56
+ // src/Links.tsx
57
+ var import_material = require("@mui/material");
58
+ var import_react_flexbox = require("@xylabs/react-flexbox");
59
+ var import_jsx_runtime2 = require("react/jsx-runtime");
60
+ var FooterLinks = ({ children, title, ...props }) => {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
62
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material.Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
63
+ children
64
+ ] });
65
+ };
66
+
67
+ // src/Xyo/SupportLinks.tsx
68
+ var import_jsx_runtime3 = require("react/jsx-runtime");
69
+ var SupportLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(FooterLinks, { title: "Support", ...props, children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://support.xy.company/hc/en-us/categories/360001417734", children: "Help Center" }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://support.xy.company/hc/en-us/requests/new", children: "Contact Support" })
72
+ ] });
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ SupportLinks
76
+ });
77
+ //# sourceMappingURL=SupportLinks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Xyo/SupportLinks.tsx","../../../src/Link.tsx","../../../src/Links.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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 { assertEx } from '@xylabs/assert'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\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> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {\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} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,wBAAoC;AA6BzB;AApBX,IAAM,wBAAwB,CAAC,KAAmB,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,MAAM;AACjG,QAAM,SAAS,OAAO,QAAQ,WAAW,IAAI,IAAI,GAAG,IAAI;AACxD,QAAM,gBAAgB,OAAO,eAAe,WAAW,IAAI,IAAI,UAAU,IAAI;AAC7E,QAAM,uBAAuB,cAAc,SAAS,MAAM,GAAG;AAC7D,QAAM,OAAO,qBAAqB,MAAM,MAAM;AAC9C,MAAI,MAAM;AACR,UAAM,6BAA6B,qBAAqB,KAAK,GAAG;AAChE,QAAI,+BAA+B,OAAO,UAAU;AAClD,aAAO,WAAW,cAAc;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,aAAoC,CAAC,EAAE,QAAQ,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,MAAM,MAAM;AAChH,QAAM,MAAM,IAAI,QAAI,wBAAS,MAAM,cAAc,CAAC;AAClD,8BAAS,IAAI,UAAU,8BAA8B;AACrD,QAAM,eAAe,sBAAsB,GAAG;AAC9C,MAAI,SAAS,SAAS,aAAa,aAAa,UAAU;AACxD,UAAM,KAAK,IAAI,OAAO,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG,aAAa,MAAM,KAAK,IAAI;AAC1F,WAAO,4CAAC,4BAAO,QAAgB,IAAQ,QAAgB,SAAmB,GAAG,OAAO;AAAA,EACtF,OAAO;AACL,WAAO,4CAAC,4BAAO,QAAgB,MAAY,QAAQ,UAAU,UAAU,SAAmB,GAAG,OAAO;AAAA,EACtG;AACF;;;AClCA,sBAA2B;AAC3B,2BAAsC;AAIlC,IAAAA,sBAAA;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,8CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,iDAAC,8BAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;;;AFNE,IAAAC,sBAAA;AADK,IAAM,eAAuC,CAAC,UACnD,8CAAC,eAAY,OAAM,WAAW,GAAG,OAC/B;AAAA,+CAAC,cAAW,MAAK,+DAA8D,yBAAW;AAAA,EAC1F,6CAAC,cAAW,MAAK,oDAAmD,6BAAe;AAAA,GACrF;","names":["import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ export declare const SupportLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=SupportLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/SupportLinks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKpD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAK/C,CAAA"}
@@ -1,35 +1,50 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
1
+ // src/Link.tsx
2
+ import { assertEx } from "@xylabs/assert";
3
+ import { LinkEx } from "@xylabs/react-link";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
6
+ const urlObj = typeof url === "string" ? new URL(url) : url;
7
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
8
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
9
+ const beta = currentHostnameParts.shift() === "beta";
10
+ if (beta) {
11
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
12
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
13
+ urlObj.hostname = currentUrlObj.hostname;
14
+ }
15
+ }
16
+ return urlObj;
9
17
  };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
19
+ const url = new URL(assertEx(href, "href not set"));
20
+ assertEx(url.hostname, "Hostname is required in href");
21
+ const convertedUrl = convertToBetaIfNeeded(url);
22
+ if (document.location.hostname === convertedUrl.hostname) {
23
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
24
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to, target, variant, ...props });
25
+ } else {
26
+ return /* @__PURE__ */ jsx(LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
15
27
  }
16
- return to;
17
28
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var SupportLinks_exports = {};
20
- __export(SupportLinks_exports, {
21
- SupportLinks: () => SupportLinks
22
- });
23
- module.exports = __toCommonJS(SupportLinks_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_Link = require("../Link");
26
- var import_Links = require("../Links");
27
- const SupportLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Links.FooterLinks, { title: "Support", ...props, children: [
28
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://support.xy.company/hc/en-us/categories/360001417734", children: "Help Center" }),
29
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://support.xy.company/hc/en-us/requests/new", children: "Contact Support" })
29
+
30
+ // src/Links.tsx
31
+ import { Typography } from "@mui/material";
32
+ import { FlexCol } from "@xylabs/react-flexbox";
33
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
34
+ var FooterLinks = ({ children, title, ...props }) => {
35
+ return /* @__PURE__ */ jsxs(FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
36
+ /* @__PURE__ */ jsx2(Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
37
+ children
38
+ ] });
39
+ };
40
+
41
+ // src/Xyo/SupportLinks.tsx
42
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
43
+ var SupportLinks = (props) => /* @__PURE__ */ jsxs2(FooterLinks, { title: "Support", ...props, children: [
44
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://support.xy.company/hc/en-us/categories/360001417734", children: "Help Center" }),
45
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://support.xy.company/hc/en-us/requests/new", children: "Contact Support" })
30
46
  ] });
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
47
+ export {
33
48
  SupportLinks
34
- });
49
+ };
35
50
  //# sourceMappingURL=SupportLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Xyo/SupportLinks.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAJF,kBAA2B;AAC3B,mBAA4B;AAErB,MAAM,eAAuC,CAAC,UACnD,6CAAC,4BAAY,OAAM,WAAW,GAAG,OAC/B;AAAA,8CAAC,0BAAW,MAAK,+DAA8D,yBAAW;AAAA,EAC1F,4CAAC,0BAAW,MAAK,oDAAmD,6BAAe;AAAA,GACrF;","names":[]}
1
+ {"version":3,"sources":["../../../src/Link.tsx","../../../src/Links.tsx","../../../src/Xyo/SupportLinks.tsx"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\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> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {\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} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {\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 { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAA2B;AA6BzB;AApBX,IAAM,wBAAwB,CAAC,KAAmB,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,MAAM;AACjG,QAAM,SAAS,OAAO,QAAQ,WAAW,IAAI,IAAI,GAAG,IAAI;AACxD,QAAM,gBAAgB,OAAO,eAAe,WAAW,IAAI,IAAI,UAAU,IAAI;AAC7E,QAAM,uBAAuB,cAAc,SAAS,MAAM,GAAG;AAC7D,QAAM,OAAO,qBAAqB,MAAM,MAAM;AAC9C,MAAI,MAAM;AACR,UAAM,6BAA6B,qBAAqB,KAAK,GAAG;AAChE,QAAI,+BAA+B,OAAO,UAAU;AAClD,aAAO,WAAW,cAAc;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,aAAoC,CAAC,EAAE,QAAQ,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,MAAM,MAAM;AAChH,QAAM,MAAM,IAAI,IAAI,SAAS,MAAM,cAAc,CAAC;AAClD,WAAS,IAAI,UAAU,8BAA8B;AACrD,QAAM,eAAe,sBAAsB,GAAG;AAC9C,MAAI,SAAS,SAAS,aAAa,aAAa,UAAU;AACxD,UAAM,KAAK,IAAI,OAAO,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG,aAAa,MAAM,KAAK,IAAI;AAC1F,WAAO,oBAAC,UAAO,QAAgB,IAAQ,QAAgB,SAAmB,GAAG,OAAO;AAAA,EACtF,OAAO;AACL,WAAO,oBAAC,UAAO,QAAgB,MAAY,QAAQ,UAAU,UAAU,SAAmB,GAAG,OAAO;AAAA,EACtG;AACF;;;AClCA,SAAS,kBAAkB;AAC3B,SAAuB,eAAe;AAIlC,SACE,OAAAA,MADF;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,qBAAC,WAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,oBAAAA,KAAC,cAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;;;ACNE,SACE,OAAAC,MADF,QAAAC,aAAA;AADK,IAAM,eAAuC,CAAC,UACnD,gBAAAA,MAAC,eAAY,OAAM,WAAW,GAAG,OAC/B;AAAA,kBAAAD,KAAC,cAAW,MAAK,+DAA8D,yBAAW;AAAA,EAC1F,gBAAAA,KAAC,cAAW,MAAK,oDAAmD,6BAAe;AAAA,GACrF;","names":["jsx","jsx","jsxs"]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Xyo/TokenLinks.tsx
21
+ var TokenLinks_exports = {};
22
+ __export(TokenLinks_exports, {
23
+ TokenLinks: () => TokenLinks
24
+ });
25
+ module.exports = __toCommonJS(TokenLinks_exports);
26
+
27
+ // src/Link.tsx
28
+ var import_assert = require("@xylabs/assert");
29
+ var import_react_link = require("@xylabs/react-link");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
32
+ const urlObj = typeof url === "string" ? new URL(url) : url;
33
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
34
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
35
+ const beta = currentHostnameParts.shift() === "beta";
36
+ if (beta) {
37
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
38
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
39
+ urlObj.hostname = currentUrlObj.hostname;
40
+ }
41
+ }
42
+ return urlObj;
43
+ };
44
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
45
+ const url = new URL((0, import_assert.assertEx)(href, "href not set"));
46
+ (0, import_assert.assertEx)(url.hostname, "Hostname is required in href");
47
+ const convertedUrl = convertToBetaIfNeeded(url);
48
+ if (document.location.hostname === convertedUrl.hostname) {
49
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, to, target, variant, ...props });
51
+ } else {
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
53
+ }
54
+ };
55
+
56
+ // src/Links.tsx
57
+ var import_material = require("@mui/material");
58
+ var import_react_flexbox = require("@xylabs/react-flexbox");
59
+ var import_jsx_runtime2 = require("react/jsx-runtime");
60
+ var FooterLinks = ({ children, title, ...props }) => {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
62
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material.Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
63
+ children
64
+ ] });
65
+ };
66
+
67
+ // src/Xyo/TokenLinks.tsx
68
+ var import_jsx_runtime3 = require("react/jsx-runtime");
69
+ var TokenLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(FooterLinks, { title: "XYO Tokens", ...props, children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/token", children: "About" }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/token/exchange", children: "Exchanges" }),
72
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/token/price", children: "Prices" }),
73
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/token/wallet", children: "Wallets" }),
74
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758", children: "Contract" })
75
+ ] });
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ TokenLinks
79
+ });
80
+ //# sourceMappingURL=TokenLinks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Xyo/TokenLinks.tsx","../../../src/Link.tsx","../../../src/Links.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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","import { assertEx } from '@xylabs/assert'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\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> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {\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} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,wBAAoC;AA6BzB;AApBX,IAAM,wBAAwB,CAAC,KAAmB,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,MAAM;AACjG,QAAM,SAAS,OAAO,QAAQ,WAAW,IAAI,IAAI,GAAG,IAAI;AACxD,QAAM,gBAAgB,OAAO,eAAe,WAAW,IAAI,IAAI,UAAU,IAAI;AAC7E,QAAM,uBAAuB,cAAc,SAAS,MAAM,GAAG;AAC7D,QAAM,OAAO,qBAAqB,MAAM,MAAM;AAC9C,MAAI,MAAM;AACR,UAAM,6BAA6B,qBAAqB,KAAK,GAAG;AAChE,QAAI,+BAA+B,OAAO,UAAU;AAClD,aAAO,WAAW,cAAc;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,aAAoC,CAAC,EAAE,QAAQ,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,MAAM,MAAM;AAChH,QAAM,MAAM,IAAI,QAAI,wBAAS,MAAM,cAAc,CAAC;AAClD,8BAAS,IAAI,UAAU,8BAA8B;AACrD,QAAM,eAAe,sBAAsB,GAAG;AAC9C,MAAI,SAAS,SAAS,aAAa,aAAa,UAAU;AACxD,UAAM,KAAK,IAAI,OAAO,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG,aAAa,MAAM,KAAK,IAAI;AAC1F,WAAO,4CAAC,4BAAO,QAAgB,IAAQ,QAAgB,SAAmB,GAAG,OAAO;AAAA,EACtF,OAAO;AACL,WAAO,4CAAC,4BAAO,QAAgB,MAAY,QAAQ,UAAU,UAAU,SAAmB,GAAG,OAAO;AAAA,EACtG;AACF;;;AClCA,sBAA2B;AAC3B,2BAAsC;AAIlC,IAAAA,sBAAA;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,8CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,iDAAC,8BAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;;;AFLE,IAAAC,sBAAA;AADK,IAAM,aAAqC,CAAC,UACjD,8CAAC,eAAY,OAAM,cAAc,GAAG,OAClC;AAAA,+CAAC,cAAW,MAAK,6BAA4B,mBAAK;AAAA,EAClD,6CAAC,cAAW,MAAK,sCAAqC,uBAAS;AAAA,EAC/D,6CAAC,cAAW,MAAK,mCAAkC,oBAAM;AAAA,EACzD,6CAAC,cAAW,MAAK,oCAAmC,qBAAO;AAAA,EAC3D,6CAAC,cAAW,MAAK,2EAA0E,sBAAQ;AAAA,GACrG;","names":["import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,4 @@
1
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
3
+ export declare const TokenLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=TokenLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/TokenLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ7C,CAAA"}
@@ -1,38 +1,53 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
1
+ // src/Link.tsx
2
+ import { assertEx } from "@xylabs/assert";
3
+ import { LinkEx } from "@xylabs/react-link";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
6
+ const urlObj = typeof url === "string" ? new URL(url) : url;
7
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
8
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
9
+ const beta = currentHostnameParts.shift() === "beta";
10
+ if (beta) {
11
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
12
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
13
+ urlObj.hostname = currentUrlObj.hostname;
14
+ }
15
+ }
16
+ return urlObj;
9
17
  };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
19
+ const url = new URL(assertEx(href, "href not set"));
20
+ assertEx(url.hostname, "Hostname is required in href");
21
+ const convertedUrl = convertToBetaIfNeeded(url);
22
+ if (document.location.hostname === convertedUrl.hostname) {
23
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
24
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to, target, variant, ...props });
25
+ } else {
26
+ return /* @__PURE__ */ jsx(LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
15
27
  }
16
- return to;
17
28
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var TokenLinks_exports = {};
20
- __export(TokenLinks_exports, {
21
- TokenLinks: () => TokenLinks
22
- });
23
- module.exports = __toCommonJS(TokenLinks_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_Link = require("../Link");
26
- var import_Links = require("../Links");
27
- const TokenLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Links.FooterLinks, { title: "XYO Tokens", ...props, children: [
28
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/token", children: "About" }),
29
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/token/exchange", children: "Exchanges" }),
30
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/token/price", children: "Prices" }),
31
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/token/wallet", children: "Wallets" }),
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758", children: "Contract" })
29
+
30
+ // src/Links.tsx
31
+ import { Typography } from "@mui/material";
32
+ import { FlexCol } from "@xylabs/react-flexbox";
33
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
34
+ var FooterLinks = ({ children, title, ...props }) => {
35
+ return /* @__PURE__ */ jsxs(FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
36
+ /* @__PURE__ */ jsx2(Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
37
+ children
38
+ ] });
39
+ };
40
+
41
+ // src/Xyo/TokenLinks.tsx
42
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
43
+ var TokenLinks = (props) => /* @__PURE__ */ jsxs2(FooterLinks, { title: "XYO Tokens", ...props, children: [
44
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/token", children: "About" }),
45
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/token/exchange", children: "Exchanges" }),
46
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/token/price", children: "Prices" }),
47
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/token/wallet", children: "Wallets" }),
48
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758", children: "Contract" })
33
49
  ] });
34
- // Annotate the CommonJS export names for ESM import in node:
35
- 0 && (module.exports = {
50
+ export {
36
51
  TokenLinks
37
- });
52
+ };
38
53
  //# sourceMappingURL=TokenLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AAJF,kBAA2B;AAC3B,mBAA4B;AAErB,MAAM,aAAqC,CAAC,UACjD,6CAAC,4BAAY,OAAM,cAAc,GAAG,OAClC;AAAA,8CAAC,0BAAW,MAAK,6BAA4B,mBAAK;AAAA,EAClD,4CAAC,0BAAW,MAAK,sCAAqC,uBAAS;AAAA,EAC/D,4CAAC,0BAAW,MAAK,mCAAkC,oBAAM;AAAA,EACzD,4CAAC,0BAAW,MAAK,oCAAmC,qBAAO;AAAA,EAC3D,4CAAC,0BAAW,MAAK,2EAA0E,sBAAQ;AAAA,GACrG;","names":[]}
1
+ {"version":3,"sources":["../../../src/Link.tsx","../../../src/Links.tsx","../../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { LinkEx, LinkExProps } from '@xylabs/react-link'\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> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {\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} target={target} variant={variant} {...props} />\n } else {\n return <LinkEx margin={margin} href={href} target={target ?? '_blank'} variant={variant} {...props} />\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {\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 { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAA2B;AA6BzB;AApBX,IAAM,wBAAwB,CAAC,KAAmB,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,MAAM;AACjG,QAAM,SAAS,OAAO,QAAQ,WAAW,IAAI,IAAI,GAAG,IAAI;AACxD,QAAM,gBAAgB,OAAO,eAAe,WAAW,IAAI,IAAI,UAAU,IAAI;AAC7E,QAAM,uBAAuB,cAAc,SAAS,MAAM,GAAG;AAC7D,QAAM,OAAO,qBAAqB,MAAM,MAAM;AAC9C,MAAI,MAAM;AACR,UAAM,6BAA6B,qBAAqB,KAAK,GAAG;AAChE,QAAI,+BAA+B,OAAO,UAAU;AAClD,aAAO,WAAW,cAAc;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,aAAoC,CAAC,EAAE,QAAQ,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,MAAM,MAAM;AAChH,QAAM,MAAM,IAAI,IAAI,SAAS,MAAM,cAAc,CAAC;AAClD,WAAS,IAAI,UAAU,8BAA8B;AACrD,QAAM,eAAe,sBAAsB,GAAG;AAC9C,MAAI,SAAS,SAAS,aAAa,aAAa,UAAU;AACxD,UAAM,KAAK,IAAI,OAAO,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG,aAAa,MAAM,KAAK,IAAI;AAC1F,WAAO,oBAAC,UAAO,QAAgB,IAAQ,QAAgB,SAAmB,GAAG,OAAO;AAAA,EACtF,OAAO;AACL,WAAO,oBAAC,UAAO,QAAgB,MAAY,QAAQ,UAAU,UAAU,SAAmB,GAAG,OAAO;AAAA,EACtG;AACF;;;AClCA,SAAS,kBAAkB;AAC3B,SAAuB,eAAe;AAIlC,SACE,OAAAA,MADF;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,qBAAC,WAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,oBAAAA,KAAC,cAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;;;ACLE,SACE,OAAAC,MADF,QAAAC,aAAA;AADK,IAAM,aAAqC,CAAC,UACjD,gBAAAA,MAAC,eAAY,OAAM,cAAc,GAAG,OAClC;AAAA,kBAAAD,KAAC,cAAW,MAAK,6BAA4B,mBAAK;AAAA,EAClD,gBAAAA,KAAC,cAAW,MAAK,sCAAqC,uBAAS;AAAA,EAC/D,gBAAAA,KAAC,cAAW,MAAK,mCAAkC,oBAAM;AAAA,EACzD,gBAAAA,KAAC,cAAW,MAAK,oCAAmC,qBAAO;AAAA,EAC3D,gBAAAA,KAAC,cAAW,MAAK,2EAA0E,sBAAQ;AAAA,GACrG;","names":["jsx","jsx","jsxs"]}