@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 +1 @@
1
- {"version":3,"sources":["../../src/Link.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BW;AA9BX,oBAAyB;AACzB,wBAAoC;AASpC,MAAM,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,MAAM,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;","names":[]}
1
+ {"version":3,"sources":["../../src/Link.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"],"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;","names":[]}
@@ -0,0 +1,39 @@
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/Links.tsx
21
+ var Links_exports = {};
22
+ __export(Links_exports, {
23
+ FooterLinks: () => FooterLinks
24
+ });
25
+ module.exports = __toCommonJS(Links_exports);
26
+ var import_material = require("@mui/material");
27
+ var import_react_flexbox = require("@xylabs/react-flexbox");
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ var FooterLinks = ({ children, title, ...props }) => {
30
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
31
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
32
+ children
33
+ ] });
34
+ };
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ FooterLinks
38
+ });
39
+ //# sourceMappingURL=Links.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Links.tsx"],"sourcesContent":["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;AAAA,sBAA2B;AAC3B,2BAAsC;AAIlC;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,6CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,gDAAC,8BAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;","names":[]}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ export declare const FooterLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=Links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Links.d.ts","sourceRoot":"","sources":["../../src/Links.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAE7D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAS9C,CAAA"}
@@ -1,37 +1,14 @@
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
- var Links_exports = {};
20
- __export(Links_exports, {
21
- FooterLinks: () => FooterLinks
22
- });
23
- module.exports = __toCommonJS(Links_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_material = require("@mui/material");
26
- var import_react_flexbox = require("@xylabs/react-flexbox");
27
- const FooterLinks = ({ children, title, ...props }) => {
28
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
29
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
1
+ // src/Links.tsx
2
+ import { Typography } from "@mui/material";
3
+ import { FlexCol } from "@xylabs/react-flexbox";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ var FooterLinks = ({ children, title, ...props }) => {
6
+ return /* @__PURE__ */ jsxs(FlexCol, { margin: 1, justifyContent: "flex-start", title, ...props, children: [
7
+ /* @__PURE__ */ jsx(Typography, { margin: 0.5, variant: "h6", noWrap: true, children: title }),
30
8
  children
31
9
  ] });
32
10
  };
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
11
+ export {
35
12
  FooterLinks
36
- });
13
+ };
37
14
  //# sourceMappingURL=Links.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Links.tsx"],"sourcesContent":["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;AAKI;AALJ,sBAA2B;AAC3B,2BAAsC;AAE/B,MAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,6CAAC,gCAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,gDAAC,8BAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/Links.tsx"],"sourcesContent":["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,kBAAkB;AAC3B,SAAuB,eAAe;AAIlC,SACE,KADF;AAFG,IAAM,cAAsC,CAAC,EAAE,UAAU,OAAO,GAAG,MAAM,MAAM;AACpF,SACE,qBAAC,WAAQ,QAAQ,GAAG,gBAAe,cAAa,OAAe,GAAG,OAChE;AAAA,wBAAC,cAAW,QAAQ,KAAK,SAAQ,MAAK,QAAM,MACzC,iBACH;AAAA,IACC;AAAA,KACH;AAEJ;","names":[]}
@@ -0,0 +1,109 @@
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/AlwaysLinks.tsx
21
+ var AlwaysLinks_exports = {};
22
+ __export(AlwaysLinks_exports, {
23
+ Copyright: () => Copyright,
24
+ XyoFooterAlwaysLinks: () => XyoFooterAlwaysLinks
25
+ });
26
+ module.exports = __toCommonJS(AlwaysLinks_exports);
27
+
28
+ // src/AlwaysLinks.tsx
29
+ var import_icons_material = require("@mui/icons-material");
30
+ var import_react_flexbox = require("@xylabs/react-flexbox");
31
+
32
+ // src/Link.tsx
33
+ var import_assert = require("@xylabs/assert");
34
+ var import_react_link = require("@xylabs/react-link");
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
37
+ const urlObj = typeof url === "string" ? new URL(url) : url;
38
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
39
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
40
+ const beta = currentHostnameParts.shift() === "beta";
41
+ if (beta) {
42
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
43
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
44
+ urlObj.hostname = currentUrlObj.hostname;
45
+ }
46
+ }
47
+ return urlObj;
48
+ };
49
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
50
+ const url = new URL((0, import_assert.assertEx)(href, "href not set"));
51
+ (0, import_assert.assertEx)(url.hostname, "Hostname is required in href");
52
+ const convertedUrl = convertToBetaIfNeeded(url);
53
+ if (document.location.hostname === convertedUrl.hostname) {
54
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, to, target, variant, ...props });
56
+ } else {
57
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_link.LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
58
+ }
59
+ };
60
+
61
+ // src/AlwaysLinks.tsx
62
+ var import_jsx_runtime2 = require("react/jsx-runtime");
63
+ var FooterAlwaysLinks = ({ style, footerLinks, onMore, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexRow, { flexWrap: "wrap", textTransform: "uppercase", style: { opacity: 0.6, ...style }, ...props, children: [
64
+ footerLinks == null ? void 0 : footerLinks.map((footerLink, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(FooterLink, { noWrap: true, paddingX: 1, margin: 0, ...footerLink, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("small", { children: footerLink.title }) }, index)),
65
+ onMore ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox.FlexRow, { style: { cursor: "pointer" }, paddingX: 0.5, onClick: onMore, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material.MoreHoriz, { color: "primary", fontSize: "small" }) }) : null
66
+ ] });
67
+
68
+ // src/lib/copyrightLinkTitle.ts
69
+ var copyrightLinkTitle = (entity) => {
70
+ return `Copyright \xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} ${entity}`;
71
+ };
72
+
73
+ // src/Xyo/AlwaysLinks.tsx
74
+ var import_jsx_runtime3 = require("react/jsx-runtime");
75
+ var XyoFooterAlwaysLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
76
+ FooterAlwaysLinks,
77
+ {
78
+ footerLinks: [
79
+ {
80
+ href: "https://xylabs.com/",
81
+ title: copyrightLinkTitle("XY Labs, Inc.")
82
+ },
83
+ {
84
+ href: "https://xyo.network/",
85
+ title: "XYO Foundation"
86
+ },
87
+ {
88
+ href: "https://xylabs.com/privacy/",
89
+ title: "Privacy"
90
+ },
91
+ {
92
+ href: "https://xylabs.com/terms/",
93
+ title: "Terms"
94
+ },
95
+ {
96
+ href: "https://xylabs.com/jobs",
97
+ title: "Careers"
98
+ }
99
+ ],
100
+ ...props
101
+ }
102
+ );
103
+ var Copyright = FooterAlwaysLinks;
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ Copyright,
107
+ XyoFooterAlwaysLinks
108
+ });
109
+ //# sourceMappingURL=AlwaysLinks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Xyo/AlwaysLinks.tsx","../../../src/AlwaysLinks.tsx","../../../src/Link.tsx","../../../src/lib/copyrightLinkTitle.ts"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks'\nimport { copyrightLinkTitle } from '../lib'\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*/\nexport const Copyright = FooterAlwaysLinks\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { LinkExProps } from '@xylabs/react-link'\n\nimport { FooterLink } from './Link'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({ style, footerLinks, onMore, ...props }) => (\n <FlexRow flexWrap=\"wrap\" textTransform=\"uppercase\" style={{ opacity: 0.6, ...style }} {...props}>\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 <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n ) : null}\n </FlexRow>\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","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,4BAA2C;AAC3C,2BAAsC;;;ACDtC,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;;;ADtBE,IAAAA,sBAAA;AADK,IAAM,oBAAsD,CAAC,EAAE,OAAO,aAAa,QAAQ,GAAG,MAAM,MACzG,8CAAC,gCAAQ,UAAS,QAAO,eAAc,aAAY,OAAO,EAAE,SAAS,KAAK,GAAG,MAAM,GAAI,GAAG,OACvF;AAAA,6CAAa,IAAI,CAAC,YAAY,UAC7B,6CAAC,cAAW,QAAM,MAAa,UAAU,GAAG,QAAQ,GAAI,GAAG,YACzD,uDAAC,WAAO,qBAAW,OAAM,KADH,KAExB;AAAA,EAED,SACC,6CAAC,gCAAQ,OAAO,EAAE,QAAQ,UAAU,GAAG,UAAU,KAAK,SAAS,QAC7D,uDAAC,sBAAAC,WAAA,EAAc,OAAM,WAAU,UAAS,SAAQ,GAClD,IACE;AAAA,GACN;;;AEvBK,IAAM,qBAAqB,CAAC,WAAmB;AACpD,SAAO,mBAAe,oBAAI,KAAK,GAAE,YAAY,CAAC,IAAI,MAAM;AAC1D;;;AHQE,IAAAC,sBAAA;AADK,IAAM,uBAA4D,CAAC,UACxE;AAAA,EAAC;AAAA;AAAA,IACC,aAAa;AAAA,MACX;AAAA,QACE,MAAM;AAAA,QACN,OAAO,mBAAmB,eAAe;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN;AAOK,IAAM,YAAY;","names":["import_jsx_runtime","MoreHorizIcon","import_jsx_runtime"]}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ export interface XyoFooterAlwaysLinksProps extends FlexBoxProps {
4
+ onMore?: () => void;
5
+ }
6
+ export declare const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps>;
7
+ /** @deprecated use FooterAlwaysLinksProps*/
8
+ export type CopyrightProps = XyoFooterAlwaysLinksProps;
9
+ /** @deprecated use FooterAlwaysLinks*/
10
+ export declare const Copyright: import("react").FC<import("../AlwaysLinks").FooterAlwaysLinksProps>;
11
+ //# sourceMappingURL=AlwaysLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlwaysLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/AlwaysLinks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKpD,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0BpE,CAAA;AAED,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAA;AAEtD,uCAAuC;AACvC,eAAO,MAAM,SAAS,qEAAoB,CAAA"}
@@ -1,37 +1,57 @@
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/AlwaysLinks.tsx
2
+ import { MoreHoriz as MoreHorizIcon } from "@mui/icons-material";
3
+ import { FlexRow } from "@xylabs/react-flexbox";
4
+
5
+ // src/Link.tsx
6
+ import { assertEx } from "@xylabs/assert";
7
+ import { LinkEx } from "@xylabs/react-link";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var convertToBetaIfNeeded = (url, currentUrl = new URL(document.location.href)) => {
10
+ const urlObj = typeof url === "string" ? new URL(url) : url;
11
+ const currentUrlObj = typeof currentUrl === "string" ? new URL(currentUrl) : currentUrl;
12
+ const currentHostnameParts = currentUrlObj.hostname.split(".");
13
+ const beta = currentHostnameParts.shift() === "beta";
14
+ if (beta) {
15
+ const currentHostnameWithoutBeta = currentHostnameParts.join(".");
16
+ if (currentHostnameWithoutBeta === urlObj.hostname) {
17
+ urlObj.hostname = currentUrlObj.hostname;
18
+ }
19
+ }
20
+ return urlObj;
9
21
  };
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 });
22
+ var FooterLink = ({ target, href, margin = 0.5, variant = "body2", ...props }) => {
23
+ const url = new URL(assertEx(href, "href not set"));
24
+ assertEx(url.hostname, "Hostname is required in href");
25
+ const convertedUrl = convertToBetaIfNeeded(url);
26
+ if (document.location.hostname === convertedUrl.hostname) {
27
+ const to = url.search.length > 0 ? `${convertedUrl.pathname}${convertedUrl.search}` : url.pathname;
28
+ return /* @__PURE__ */ jsx(LinkEx, { margin, to, target, variant, ...props });
29
+ } else {
30
+ return /* @__PURE__ */ jsx(LinkEx, { margin, href, target: target ?? "_blank", variant, ...props });
15
31
  }
16
- return to;
17
32
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var AlwaysLinks_exports = {};
20
- __export(AlwaysLinks_exports, {
21
- Copyright: () => Copyright,
22
- XyoFooterAlwaysLinks: () => XyoFooterAlwaysLinks
23
- });
24
- module.exports = __toCommonJS(AlwaysLinks_exports);
25
- var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_AlwaysLinks = require("../AlwaysLinks");
27
- var import_lib = require("../lib");
28
- const XyoFooterAlwaysLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
29
- import_AlwaysLinks.FooterAlwaysLinks,
33
+
34
+ // src/AlwaysLinks.tsx
35
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
36
+ var FooterAlwaysLinks = ({ style, footerLinks, onMore, ...props }) => /* @__PURE__ */ jsxs(FlexRow, { flexWrap: "wrap", textTransform: "uppercase", style: { opacity: 0.6, ...style }, ...props, children: [
37
+ footerLinks == null ? void 0 : footerLinks.map((footerLink, index) => /* @__PURE__ */ jsx2(FooterLink, { noWrap: true, paddingX: 1, margin: 0, ...footerLink, children: /* @__PURE__ */ jsx2("small", { children: footerLink.title }) }, index)),
38
+ onMore ? /* @__PURE__ */ jsx2(FlexRow, { style: { cursor: "pointer" }, paddingX: 0.5, onClick: onMore, children: /* @__PURE__ */ jsx2(MoreHorizIcon, { color: "primary", fontSize: "small" }) }) : null
39
+ ] });
40
+
41
+ // src/lib/copyrightLinkTitle.ts
42
+ var copyrightLinkTitle = (entity) => {
43
+ return `Copyright \xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} ${entity}`;
44
+ };
45
+
46
+ // src/Xyo/AlwaysLinks.tsx
47
+ import { jsx as jsx3 } from "react/jsx-runtime";
48
+ var XyoFooterAlwaysLinks = (props) => /* @__PURE__ */ jsx3(
49
+ FooterAlwaysLinks,
30
50
  {
31
51
  footerLinks: [
32
52
  {
33
53
  href: "https://xylabs.com/",
34
- title: (0, import_lib.copyrightLinkTitle)("XY Labs, Inc.")
54
+ title: copyrightLinkTitle("XY Labs, Inc.")
35
55
  },
36
56
  {
37
57
  href: "https://xyo.network/",
@@ -53,10 +73,9 @@ const XyoFooterAlwaysLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime.j
53
73
  ...props
54
74
  }
55
75
  );
56
- const Copyright = import_AlwaysLinks.FooterAlwaysLinks;
57
- // Annotate the CommonJS export names for ESM import in node:
58
- 0 && (module.exports = {
76
+ var Copyright = FooterAlwaysLinks;
77
+ export {
59
78
  Copyright,
60
79
  XyoFooterAlwaysLinks
61
- });
80
+ };
62
81
  //# sourceMappingURL=AlwaysLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Xyo/AlwaysLinks.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks'\nimport { copyrightLinkTitle } from '../lib'\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*/\nexport const Copyright = FooterAlwaysLinks\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUE;AARF,yBAAkC;AAClC,iBAAmC;AAM5B,MAAM,uBAA4D,CAAC,UACxE;AAAA,EAAC;AAAA;AAAA,IACC,aAAa;AAAA,MACX;AAAA,QACE,MAAM;AAAA,QACN,WAAO,+BAAmB,eAAe;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN;AAOK,MAAM,YAAY;","names":[]}
1
+ {"version":3,"sources":["../../../src/AlwaysLinks.tsx","../../../src/Link.tsx","../../../src/lib/copyrightLinkTitle.ts","../../../src/Xyo/AlwaysLinks.tsx"],"sourcesContent":["import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { LinkExProps } from '@xylabs/react-link'\n\nimport { FooterLink } from './Link'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({ style, footerLinks, onMore, ...props }) => (\n <FlexRow flexWrap=\"wrap\" textTransform=\"uppercase\" style={{ opacity: 0.6, ...style }} {...props}>\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 <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n ) : null}\n </FlexRow>\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","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks'\nimport { copyrightLinkTitle } from '../lib'\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*/\nexport const Copyright = FooterAlwaysLinks\n"],"mappings":";AAAA,SAAS,aAAa,qBAAqB;AAC3C,SAAuB,eAAe;;;ACDtC,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;;;ADtBE,SAGM,OAAAA,MAHN;AADK,IAAM,oBAAsD,CAAC,EAAE,OAAO,aAAa,QAAQ,GAAG,MAAM,MACzG,qBAAC,WAAQ,UAAS,QAAO,eAAc,aAAY,OAAO,EAAE,SAAS,KAAK,GAAG,MAAM,GAAI,GAAG,OACvF;AAAA,6CAAa,IAAI,CAAC,YAAY,UAC7B,gBAAAA,KAAC,cAAW,QAAM,MAAa,UAAU,GAAG,QAAQ,GAAI,GAAG,YACzD,0BAAAA,KAAC,WAAO,qBAAW,OAAM,KADH,KAExB;AAAA,EAED,SACC,gBAAAA,KAAC,WAAQ,OAAO,EAAE,QAAQ,UAAU,GAAG,UAAU,KAAK,SAAS,QAC7D,0BAAAA,KAAC,iBAAc,OAAM,WAAU,UAAS,SAAQ,GAClD,IACE;AAAA,GACN;;;AEvBK,IAAM,qBAAqB,CAAC,WAAmB;AACpD,SAAO,mBAAe,oBAAI,KAAK,GAAE,YAAY,CAAC,IAAI,MAAM;AAC1D;;;ACQE,gBAAAC,YAAA;AADK,IAAM,uBAA4D,CAAC,UACxE,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC,aAAa;AAAA,MACX;AAAA,QACE,MAAM;AAAA,QACN,OAAO,mBAAmB,eAAe;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN;AAOK,IAAM,YAAY;","names":["jsx","jsx"]}
@@ -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/DeveloperLinks.tsx
21
+ var DeveloperLinks_exports = {};
22
+ __export(DeveloperLinks_exports, {
23
+ DeveloperLinks: () => DeveloperLinks
24
+ });
25
+ module.exports = __toCommonJS(DeveloperLinks_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/DeveloperLinks.tsx
68
+ var import_jsx_runtime3 = require("react/jsx-runtime");
69
+ var DeveloperLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(FooterLinks, { title: "Developer", ...props, children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/developer", children: "Overview" }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/developer/get-started", children: "Get Started" }),
72
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/developer", children: "SDKs" }),
73
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://github.com/xyoraclenetwork", children: "Open Source Github" }),
74
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FooterLink, { href: "https://xyo.network/docs/sdk/js", children: "Documentation" })
75
+ ] });
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ DeveloperLinks
79
+ });
80
+ //# sourceMappingURL=DeveloperLinks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Xyo/DeveloperLinks.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 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 { 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,iBAAyC,CAAC,UACrD,8CAAC,eAAY,OAAM,aAAa,GAAG,OACjC;AAAA,+CAAC,cAAW,MAAK,iCAAgC,sBAAQ;AAAA,EACzD,6CAAC,cAAW,MAAK,6CAA4C,yBAAW;AAAA,EACxE,6CAAC,cAAW,MAAK,iCAAgC,kBAAI;AAAA,EACrD,6CAAC,cAAW,MAAK,sCAAqC,gCAAkB;AAAA,EACxE,6CAAC,cAAW,MAAK,mCAAkC,2BAAa;AAAA,GAClE;","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 DeveloperLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=DeveloperLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeveloperLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/DeveloperLinks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKpD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQjD,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 DeveloperLinks_exports = {};
20
- __export(DeveloperLinks_exports, {
21
- DeveloperLinks: () => DeveloperLinks
22
- });
23
- module.exports = __toCommonJS(DeveloperLinks_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_Link = require("../Link");
26
- var import_Links = require("../Links");
27
- const DeveloperLinks = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Links.FooterLinks, { title: "Developer", ...props, children: [
28
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/developer", children: "Overview" }),
29
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/developer/get-started", children: "Get Started" }),
30
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/developer", children: "SDKs" }),
31
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://github.com/xyoraclenetwork", children: "Open Source Github" }),
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Link.FooterLink, { href: "https://xyo.network/docs/sdk/js", children: "Documentation" })
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/DeveloperLinks.tsx
42
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
43
+ var DeveloperLinks = (props) => /* @__PURE__ */ jsxs2(FooterLinks, { title: "Developer", ...props, children: [
44
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/developer", children: "Overview" }),
45
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/developer/get-started", children: "Get Started" }),
46
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/developer", children: "SDKs" }),
47
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://github.com/xyoraclenetwork", children: "Open Source Github" }),
48
+ /* @__PURE__ */ jsx3(FooterLink, { href: "https://xyo.network/docs/sdk/js", children: "Documentation" })
33
49
  ] });
34
- // Annotate the CommonJS export names for ESM import in node:
35
- 0 && (module.exports = {
50
+ export {
36
51
  DeveloperLinks
37
- });
52
+ };
38
53
  //# sourceMappingURL=DeveloperLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Xyo/DeveloperLinks.tsx"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\n\nimport { FooterLink } from '../Link'\nimport { FooterLinks } from '../Links'\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAJF,kBAA2B;AAC3B,mBAA4B;AAErB,MAAM,iBAAyC,CAAC,UACrD,6CAAC,4BAAY,OAAM,aAAa,GAAG,OACjC;AAAA,8CAAC,0BAAW,MAAK,iCAAgC,sBAAQ;AAAA,EACzD,4CAAC,0BAAW,MAAK,6CAA4C,yBAAW;AAAA,EACxE,4CAAC,0BAAW,MAAK,iCAAgC,kBAAI;AAAA,EACrD,4CAAC,0BAAW,MAAK,sCAAqC,gCAAkB;AAAA,EACxE,4CAAC,0BAAW,MAAK,mCAAkC,2BAAa;AAAA,GAClE;","names":[]}
1
+ {"version":3,"sources":["../../../src/Link.tsx","../../../src/Links.tsx","../../../src/Xyo/DeveloperLinks.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 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"],"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,iBAAyC,CAAC,UACrD,gBAAAA,MAAC,eAAY,OAAM,aAAa,GAAG,OACjC;AAAA,kBAAAD,KAAC,cAAW,MAAK,iCAAgC,sBAAQ;AAAA,EACzD,gBAAAA,KAAC,cAAW,MAAK,6CAA4C,yBAAW;AAAA,EACxE,gBAAAA,KAAC,cAAW,MAAK,iCAAgC,kBAAI;AAAA,EACrD,gBAAAA,KAAC,cAAW,MAAK,sCAAqC,gCAAkB;AAAA,EACxE,gBAAAA,KAAC,cAAW,MAAK,mCAAkC,2BAAa;AAAA,GAClE;","names":["jsx","jsx","jsxs"]}