@xyo-network/react-footer 3.0.2 → 3.0.4

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 (41) hide show
  1. package/dist/browser/AlwaysLinks.d.ts +9 -0
  2. package/dist/browser/AlwaysLinks.d.ts.map +1 -0
  3. package/dist/browser/Footer.d.ts +11 -0
  4. package/dist/browser/Footer.d.ts.map +1 -0
  5. package/dist/browser/Link.d.ts +4 -0
  6. package/dist/browser/Link.d.ts.map +1 -0
  7. package/dist/browser/Links.d.ts +4 -0
  8. package/dist/browser/Links.d.ts.map +1 -0
  9. package/dist/browser/Xyo/AlwaysLinks.d.ts +9 -0
  10. package/dist/browser/Xyo/AlwaysLinks.d.ts.map +1 -0
  11. package/dist/browser/Xyo/DeveloperLinks.d.ts +4 -0
  12. package/dist/browser/Xyo/DeveloperLinks.d.ts.map +1 -0
  13. package/dist/browser/Xyo/Footer.d.ts +4 -0
  14. package/dist/browser/Xyo/Footer.d.ts.map +1 -0
  15. package/dist/browser/Xyo/MoreLinks.d.ts +4 -0
  16. package/dist/browser/Xyo/MoreLinks.d.ts.map +1 -0
  17. package/dist/browser/Xyo/NetworkLinks.d.ts +4 -0
  18. package/dist/browser/Xyo/NetworkLinks.d.ts.map +1 -0
  19. package/dist/browser/Xyo/SocialLinks.d.ts +4 -0
  20. package/dist/browser/Xyo/SocialLinks.d.ts.map +1 -0
  21. package/dist/browser/Xyo/SupportLinks.d.ts +4 -0
  22. package/dist/browser/Xyo/SupportLinks.d.ts.map +1 -0
  23. package/dist/browser/Xyo/TokenLinks.d.ts +4 -0
  24. package/dist/browser/Xyo/TokenLinks.d.ts.map +1 -0
  25. package/dist/browser/Xyo/index.d.ts +9 -0
  26. package/dist/browser/Xyo/index.d.ts.map +1 -0
  27. package/dist/browser/index.d.ts +7 -45
  28. package/dist/browser/index.d.ts.map +1 -0
  29. package/dist/browser/index.mjs.map +1 -1
  30. package/dist/browser/lib/copyrightLinkTitle.d.ts +2 -0
  31. package/dist/browser/lib/copyrightLinkTitle.d.ts.map +1 -0
  32. package/dist/browser/lib/index.d.ts +2 -0
  33. package/dist/browser/lib/index.d.ts.map +1 -0
  34. package/package.json +52 -46
  35. package/src/AlwaysLinks.tsx +9 -2
  36. package/src/Footer.tsx +3 -1
  37. package/src/Link.tsx +3 -1
  38. package/src/Links.tsx +3 -1
  39. package/src/Xyo/Footer.stories.tsx +7 -6
  40. package/src/Xyo/SocialLinks.tsx +3 -1
  41. package/xy.config.ts +1 -3
@@ -0,0 +1,9 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { LinkExProps } from '@xylabs/react-link';
3
+ import React from 'react';
4
+ export interface FooterAlwaysLinksProps extends FlexBoxProps {
5
+ footerLinks?: LinkExProps[];
6
+ onMore?: () => void;
7
+ }
8
+ export declare const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps>;
9
+ //# sourceMappingURL=AlwaysLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlwaysLinks.d.ts","sourceRoot":"","sources":["../../src/AlwaysLinks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,WAAW,CAAC,EAAE,WAAW,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAsB9D,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { ContainerProps } from '@mui/material';
2
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import React from 'react';
4
+ import type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx';
5
+ export interface FooterProps extends FlexBoxProps {
6
+ alwaysFooterLinksProps?: FooterAlwaysLinksProps;
7
+ container?: ContainerProps['maxWidth'] | 'none';
8
+ dynamicHeight?: boolean;
9
+ }
10
+ export declare const Footer: React.FC<FooterProps>;
11
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG/D,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,SAAS,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAiDxC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { LinkExProps } from '@xylabs/react-link';
2
+ import React from 'react';
3
+ export declare const FooterLink: React.FC<LinkExProps>;
4
+ //# sourceMappingURL=Link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,MAAM,OAAO,CAAA;AAuBzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAY5C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
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,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAW9C,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
3
+ export interface XyoFooterAlwaysLinksProps extends FlexBoxProps {
4
+ onMore?: () => void;
5
+ }
6
+ export declare const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps>;
7
+ export type CopyrightProps = XyoFooterAlwaysLinksProps;
8
+ export { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx';
9
+ //# 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,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,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;AAGD,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAA;AAItD,OAAO,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
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,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQjD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { FooterProps } from '../Footer.tsx';
3
+ export declare const XyoFooter: React.FC<FooterProps>;
4
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/Xyo/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAiChD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA6B3C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
3
+ export declare const MoreLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=MoreLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/MoreLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAM5C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
3
+ export declare const NetworkLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=NetworkLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/NetworkLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAO/C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
3
+ export declare const SocialLinks: React.FC<FlexBoxProps>;
4
+ //# sourceMappingURL=SocialLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialLinks.d.ts","sourceRoot":"","sources":["../../../src/Xyo/SocialLinks.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA+B9C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import React from 'react';
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,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAK/C,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { 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,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ7C,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './AlwaysLinks.tsx';
2
+ export * from './DeveloperLinks.tsx';
3
+ export * from './Footer.tsx';
4
+ export * from './MoreLinks.tsx';
5
+ export * from './NetworkLinks.tsx';
6
+ export * from './SocialLinks.tsx';
7
+ export * from './SupportLinks.tsx';
8
+ export * from './TokenLinks.tsx';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Xyo/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -1,45 +1,7 @@
1
- import { FlexBoxProps } from '@xylabs/react-flexbox';
2
- import { LinkExProps } from '@xylabs/react-link';
3
- import React from 'react';
4
- import { ContainerProps } from '@mui/material';
5
-
6
- interface FooterAlwaysLinksProps extends FlexBoxProps {
7
- footerLinks?: LinkExProps[];
8
- onMore?: () => void;
9
- }
10
- declare const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps>;
11
-
12
- interface FooterProps extends FlexBoxProps {
13
- alwaysFooterLinksProps?: FooterAlwaysLinksProps;
14
- container?: ContainerProps['maxWidth'] | 'none';
15
- dynamicHeight?: boolean;
16
- }
17
- declare const Footer: React.FC<FooterProps>;
18
-
19
- declare const copyrightLinkTitle: (entity: string) => string;
20
-
21
- declare const FooterLink: React.FC<LinkExProps>;
22
-
23
- declare const FooterLinks: React.FC<FlexBoxProps>;
24
-
25
- interface XyoFooterAlwaysLinksProps extends FlexBoxProps {
26
- onMore?: () => void;
27
- }
28
- declare const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps>;
29
- type CopyrightProps = XyoFooterAlwaysLinksProps;
30
-
31
- declare const DeveloperLinks: React.FC<FlexBoxProps>;
32
-
33
- declare const XyoFooter: React.FC<FooterProps>;
34
-
35
- declare const MoreLinks: React.FC<FlexBoxProps>;
36
-
37
- declare const NetworkLinks: React.FC<FlexBoxProps>;
38
-
39
- declare const SocialLinks: React.FC<FlexBoxProps>;
40
-
41
- declare const SupportLinks: React.FC<FlexBoxProps>;
42
-
43
- declare const TokenLinks: React.FC<FlexBoxProps>;
44
-
45
- export { FooterAlwaysLinks as Copyright, type CopyrightProps, DeveloperLinks, Footer, FooterAlwaysLinks, type FooterAlwaysLinksProps, FooterLink, FooterLinks, type FooterProps, MoreLinks, NetworkLinks, SocialLinks, SupportLinks, TokenLinks, XyoFooter, XyoFooterAlwaysLinks, type XyoFooterAlwaysLinksProps, copyrightLinkTitle };
1
+ export * from './AlwaysLinks.tsx';
2
+ export * from './Footer.tsx';
3
+ export * from './lib/index.ts';
4
+ export * from './Link.tsx';
5
+ export * from './Links.tsx';
6
+ export * from './Xyo/index.ts';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AlwaysLinks.tsx","../../src/Link.tsx","../../src/Footer.tsx","../../src/lib/copyrightLinkTitle.ts","../../src/Links.tsx","../../src/Xyo/AlwaysLinks.tsx","../../src/Xyo/DeveloperLinks.tsx","../../src/Xyo/Footer.tsx","../../src/Xyo/MoreLinks.tsx","../../src/Xyo/NetworkLinks.tsx","../../src/Xyo/SocialLinks.tsx","../../src/Xyo/SupportLinks.tsx","../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport React from 'react'\n\nimport { FooterLink } from './Link.tsx'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({ 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 ? (\n <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n )\n : null}\n </FlexRow>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport { LinkEx } from '@xylabs/react-link'\nimport React from 'react'\n\n/**\n * @description\n * FooterLink automatically uses a local To if the link is to the current domain\n * If the link is not local, it defaults to target being _blank\n * In the case of 'beta' domains, it navigates correctly\n */\n\nconst convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.location.href)) => {\n const urlObj = typeof url === 'string' ? new URL(url) : url\n const currentUrlObj = typeof currentUrl === 'string' ? new URL(currentUrl) : currentUrl\n const currentHostnameParts = currentUrlObj.hostname.split('.')\n const beta = currentHostnameParts.shift() === 'beta'\n if (beta) {\n const currentHostnameWithoutBeta = currentHostnameParts.join('.')\n if (currentHostnameWithoutBeta === urlObj.hostname) {\n urlObj.hostname = currentUrlObj.hostname\n }\n }\n return urlObj\n}\n\nexport const FooterLink: React.FC<LinkExProps> = ({ 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 type { ContainerProps } from '@mui/material'\nimport { Container, useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx'\nimport { FooterAlwaysLinks } from './AlwaysLinks.tsx'\n\nexport interface FooterProps extends FlexBoxProps {\n alwaysFooterLinksProps?: FooterAlwaysLinksProps\n container?: ContainerProps['maxWidth'] | 'none'\n dynamicHeight?: boolean\n}\n\nexport const Footer: React.FC<FooterProps> = ({ alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props }) => {\n const [more, setMore] = useState(false)\n const onMore = () => {\n setMore(!more)\n }\n\n const theme = useTheme()\n\n return (\n <FlexCol\n alignItems=\"stretch\"\n onMouseLeave={() => {\n setMore(false)\n }}\n {...props}\n >\n {more && dynamicHeight\n ? (\n <FlexCol alignItems=\"stretch\">\n <FlexRow bottom={-1} position=\"absolute\" width=\"100%\" bgcolor={theme.palette.background.default}>\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexRow>\n </FlexCol>\n )\n : null}\n {dynamicHeight\n ? null\n : (\n <FlexCol alignItems=\"stretch\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexCol>\n )}\n <FlexRow>\n {container && container !== 'none'\n ? (\n <Container>\n <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />\n </Container>\n )\n : <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />}\n </FlexRow>\n </FlexCol>\n )\n}\n","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({ 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 type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\n\nexport interface XyoFooterAlwaysLinksProps extends FlexBoxProps {\n onMore?: () => void\n}\n\nexport const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps> = props => (\n <FooterAlwaysLinks\n footerLinks={[\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n ]}\n {...props}\n />\n)\n\n/** @deprecated use FooterAlwaysLinksProps */\nexport type CopyrightProps = XyoFooterAlwaysLinksProps\n\n/** @deprecated use FooterAlwaysLinks */\n\nexport { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const DeveloperLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Developer\" {...props}>\n <FooterLink href=\"https://xyo.network/developer\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/developer/get-started\">Get Started</FooterLink>\n <FooterLink href=\"https://xyo.network/developer\">SDKs</FooterLink>\n <FooterLink href=\"https://github.com/xyoraclenetwork\">Open Source Github</FooterLink>\n <FooterLink href=\"https://xyo.network/docs/sdk/js\">Documentation</FooterLink>\n </FooterLinks>\n)\n","import { Grid } from '@mui/material'\nimport React from 'react'\n\nimport type { FooterProps } from '../Footer.tsx'\nimport { Footer } from '../Footer.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\nimport { DeveloperLinks } from './DeveloperLinks.tsx'\nimport { MoreLinks } from './MoreLinks.tsx'\nimport { NetworkLinks } from './NetworkLinks.tsx'\nimport { SocialLinks } from './SocialLinks.tsx'\nimport { SupportLinks } from './SupportLinks.tsx'\nimport { TokenLinks } from './TokenLinks.tsx'\n\nconst footerLinks = [\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n]\n\nexport const XyoFooter: React.FC<FooterProps> = ({\n alwaysFooterLinksProps,\n\n ...props\n}) => {\n return (\n <Footer alwaysFooterLinksProps={alwaysFooterLinksProps ?? { footerLinks }} {...props}>\n <Grid container>\n <Grid item xs={12} md={2}>\n <SocialLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <NetworkLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <TokenLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <DeveloperLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <MoreLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <SupportLinks alignItems=\"flex-start\" />\n </Grid>\n </Grid>\n </Footer>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const MoreLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"More\" {...props}>\n <FooterLink href=\"https://xyo.network/partners\">Partners</FooterLink>\n <FooterLink href=\"https://xyo.network/fhr\">FHR</FooterLink>\n <FooterLink href=\"https://xyo.network/brand\">Brand</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const NetworkLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Network\" {...props}>\n <FooterLink href=\"https://xyo.network/network\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/network/bound-witness\">Bound Witness</FooterLink>\n <FooterLink href=\"https://xyo.network/network/proof-of-origin\">Proof Of Origin</FooterLink>\n <FooterLink href=\"https://xyo.network/papers\">White Paper</FooterLink>\n </FooterLinks>\n)\n","import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaDiscord } from 'react-icons/fa'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SocialLinks: React.FC<FlexBoxProps> = (props) => {\n return (\n <FooterLinks title=\"XYO Socials\" {...props}>\n <FlexRow flexWrap=\"wrap\" justifyContent=\"flex-start\">\n <FooterLink href=\"https://business.facebook.com/OfficialXYO/\">\n <Facebook />\n </FooterLink>\n <FooterLink href=\"https://twitter.com/OfficialXYO\">\n <Twitter />\n </FooterLink>\n <FooterLink href=\"https://www.instagram.com/officialxyo/\">\n <Instagram />\n </FooterLink>\n <FooterLink href=\"https://t.me/xyonetwork\">\n <Telegram />\n </FooterLink>\n <FooterLink href=\"https://www.reddit.com/r/XYONetwork/\">\n <Reddit />\n </FooterLink>\n <FooterLink href=\"https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw\">\n <YouTube />\n </FooterLink>\n <FooterLink href=\"https://www.linkedin.com/company/officialxyo/\">\n <LinkedIn />\n </FooterLink>\n <FooterLink href=\"https://discord.gg/officialxyo\">\n <FaDiscord />\n </FooterLink>\n </FlexRow>\n </FooterLinks>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SupportLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Support\" {...props}>\n <FooterLink href=\"https://support.xy.company/hc/en-us/categories/360001417734\">Help Center</FooterLink>\n <FooterLink href=\"https://support.xy.company/hc/en-us/requests/new\">Contact Support</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const TokenLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"XYO Tokens\" {...props}>\n <FooterLink href=\"https://xyo.network/token\">About</FooterLink>\n <FooterLink href=\"https://xyo.network/token/exchange\">Exchanges</FooterLink>\n <FooterLink href=\"https://xyo.network/token/price\">Prices</FooterLink>\n <FooterLink href=\"https://xyo.network/token/wallet\">Wallets</FooterLink>\n <FooterLink href=\"https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758\">Contract</FooterLink>\n </FooterLinks>\n)\n"],"mappings":"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","names":["MoreHoriz","MoreHorizIcon","FlexRow","React","assertEx","LinkEx","React","convertToBetaIfNeeded","url","currentUrl","URL","document","location","href","urlObj","currentUrlObj","currentHostnameParts","hostname","split","beta","shift","currentHostnameWithoutBeta","join","FooterLink","target","margin","variant","props","assertEx","convertedUrl","to","search","length","pathname","LinkEx","FooterAlwaysLinks","style","footerLinks","onMore","props","React","FlexRow","flexWrap","textTransform","opacity","map","footerLink","index","FooterLink","noWrap","key","paddingX","margin","small","title","cursor","onClick","MoreHorizIcon","color","fontSize","Container","useTheme","FlexCol","FlexRow","React","useState","Footer","alwaysFooterLinksProps","children","container","dynamicHeight","props","more","setMore","useState","onMore","theme","useTheme","React","FlexCol","alignItems","onMouseLeave","FlexRow","bottom","position","width","bgcolor","palette","background","default","Container","FooterAlwaysLinks","undefined","copyrightLinkTitle","entity","Date","getFullYear","Typography","FlexCol","React","FooterLinks","children","title","props","React","FlexCol","margin","justifyContent","Typography","variant","noWrap","React","XyoFooterAlwaysLinks","props","React","FooterAlwaysLinks","footerLinks","href","title","copyrightLinkTitle","React","DeveloperLinks","props","React","FooterLinks","title","FooterLink","href","Grid","React","React","MoreLinks","props","React","FooterLinks","title","FooterLink","href","React","NetworkLinks","props","React","FooterLinks","title","FooterLink","href","Facebook","Instagram","LinkedIn","Reddit","Telegram","Twitter","YouTube","FlexRow","React","FaDiscord","SocialLinks","props","React","FooterLinks","title","FlexRow","flexWrap","justifyContent","FooterLink","href","Facebook","Twitter","Instagram","Telegram","Reddit","YouTube","LinkedIn","FaDiscord","React","SupportLinks","props","React","FooterLinks","title","FooterLink","href","React","TokenLinks","props","React","FooterLinks","title","FooterLink","href","footerLinks","href","title","copyrightLinkTitle","XyoFooter","alwaysFooterLinksProps","props","React","Footer","Grid","container","item","xs","md","SocialLinks","alignItems","NetworkLinks","TokenLinks","DeveloperLinks","MoreLinks","SupportLinks"]}
1
+ {"version":3,"sources":["../../src/AlwaysLinks.tsx","../../src/Link.tsx","../../src/Footer.tsx","../../src/lib/copyrightLinkTitle.ts","../../src/Links.tsx","../../src/Xyo/AlwaysLinks.tsx","../../src/Xyo/DeveloperLinks.tsx","../../src/Xyo/Footer.tsx","../../src/Xyo/MoreLinks.tsx","../../src/Xyo/NetworkLinks.tsx","../../src/Xyo/SocialLinks.tsx","../../src/Xyo/SupportLinks.tsx","../../src/Xyo/TokenLinks.tsx"],"sourcesContent":["import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport React from 'react'\n\nimport { FooterLink } from './Link.tsx'\n\nexport interface FooterAlwaysLinksProps extends FlexBoxProps {\n footerLinks?: LinkExProps[]\n onMore?: () => void\n}\n\nexport const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({\n style, footerLinks, onMore, ...props\n}) => (\n <FlexRow\n flexWrap=\"wrap\"\n textTransform=\"uppercase\"\n style={{ opacity: 0.6, ...style }}\n {...props}\n >\n {footerLinks?.map((footerLink, index) => (\n <FooterLink noWrap key={index} paddingX={1} margin={0} {...footerLink}>\n <small>{footerLink.title}</small>\n </FooterLink>\n ))}\n {onMore\n ? (\n <FlexRow style={{ cursor: 'pointer' }} paddingX={0.5} onClick={onMore}>\n <MoreHorizIcon color=\"primary\" fontSize=\"small\" />\n </FlexRow>\n )\n : null}\n </FlexRow>\n)\n","import { assertEx } from '@xylabs/assert'\nimport type { LinkExProps } from '@xylabs/react-link'\nimport { LinkEx } from '@xylabs/react-link'\nimport React from 'react'\n\n/**\n * @description\n * FooterLink automatically uses a local To if the link is to the current domain\n * If the link is not local, it defaults to target being _blank\n * In the case of 'beta' domains, it navigates correctly\n */\n\nconst convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.location.href)) => {\n const urlObj = typeof url === 'string' ? new URL(url) : url\n const currentUrlObj = typeof currentUrl === 'string' ? new URL(currentUrl) : currentUrl\n const currentHostnameParts = currentUrlObj.hostname.split('.')\n const beta = currentHostnameParts.shift() === 'beta'\n if (beta) {\n const currentHostnameWithoutBeta = currentHostnameParts.join('.')\n if (currentHostnameWithoutBeta === urlObj.hostname) {\n urlObj.hostname = currentUrlObj.hostname\n }\n }\n return urlObj\n}\n\nexport const FooterLink: React.FC<LinkExProps> = ({\n target, href, margin = 0.5, variant = 'body2', ...props\n}) => {\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 type { ContainerProps } from '@mui/material'\nimport { Container, useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { FooterAlwaysLinksProps } from './AlwaysLinks.tsx'\nimport { FooterAlwaysLinks } from './AlwaysLinks.tsx'\n\nexport interface FooterProps extends FlexBoxProps {\n alwaysFooterLinksProps?: FooterAlwaysLinksProps\n container?: ContainerProps['maxWidth'] | 'none'\n dynamicHeight?: boolean\n}\n\nexport const Footer: React.FC<FooterProps> = ({\n alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props\n}) => {\n const [more, setMore] = useState(false)\n const onMore = () => {\n setMore(!more)\n }\n\n const theme = useTheme()\n\n return (\n <FlexCol\n alignItems=\"stretch\"\n onMouseLeave={() => {\n setMore(false)\n }}\n {...props}\n >\n {more && dynamicHeight\n ? (\n <FlexCol alignItems=\"stretch\">\n <FlexRow bottom={-1} position=\"absolute\" width=\"100%\" bgcolor={theme.palette.background.default}>\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexRow>\n </FlexCol>\n )\n : null}\n {dynamicHeight\n ? null\n : (\n <FlexCol alignItems=\"stretch\">\n {container && container !== 'none'\n ? <Container>{children}</Container>\n : children}\n </FlexCol>\n )}\n <FlexRow>\n {container && container !== 'none'\n ? (\n <Container>\n <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />\n </Container>\n )\n : <FooterAlwaysLinks {...alwaysFooterLinksProps} onMore={dynamicHeight ? onMore : undefined} />}\n </FlexRow>\n </FlexCol>\n )\n}\n","export const copyrightLinkTitle = (entity: string) => {\n return `Copyright © ${new Date().getFullYear()} ${entity}`\n}\n","import { Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport const FooterLinks: React.FC<FlexBoxProps> = ({\n children, title, ...props\n}) => {\n return (\n <FlexCol margin={1} justifyContent=\"flex-start\" title={title} {...props}>\n <Typography margin={0.5} variant=\"h6\" noWrap>\n {title}\n </Typography>\n {children}\n </FlexCol>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterAlwaysLinks } from '../AlwaysLinks.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\n\nexport interface XyoFooterAlwaysLinksProps extends FlexBoxProps {\n onMore?: () => void\n}\n\nexport const XyoFooterAlwaysLinks: React.FC<XyoFooterAlwaysLinksProps> = props => (\n <FooterAlwaysLinks\n footerLinks={[\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n ]}\n {...props}\n />\n)\n\n/** @deprecated use FooterAlwaysLinksProps */\nexport type CopyrightProps = XyoFooterAlwaysLinksProps\n\n/** @deprecated use FooterAlwaysLinks */\n\nexport { FooterAlwaysLinks as Copyright } from '../AlwaysLinks.tsx'\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const DeveloperLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Developer\" {...props}>\n <FooterLink href=\"https://xyo.network/developer\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/developer/get-started\">Get Started</FooterLink>\n <FooterLink href=\"https://xyo.network/developer\">SDKs</FooterLink>\n <FooterLink href=\"https://github.com/xyoraclenetwork\">Open Source Github</FooterLink>\n <FooterLink href=\"https://xyo.network/docs/sdk/js\">Documentation</FooterLink>\n </FooterLinks>\n)\n","import { Grid } from '@mui/material'\nimport React from 'react'\n\nimport type { FooterProps } from '../Footer.tsx'\nimport { Footer } from '../Footer.tsx'\nimport { copyrightLinkTitle } from '../lib/index.ts'\nimport { DeveloperLinks } from './DeveloperLinks.tsx'\nimport { MoreLinks } from './MoreLinks.tsx'\nimport { NetworkLinks } from './NetworkLinks.tsx'\nimport { SocialLinks } from './SocialLinks.tsx'\nimport { SupportLinks } from './SupportLinks.tsx'\nimport { TokenLinks } from './TokenLinks.tsx'\n\nconst footerLinks = [\n {\n href: 'https://xylabs.com/',\n title: copyrightLinkTitle('XY Labs, Inc.'),\n },\n {\n href: 'https://xyo.network/',\n title: 'XYO Foundation',\n },\n {\n href: 'https://xylabs.com/privacy/',\n title: 'Privacy',\n },\n {\n href: 'https://xylabs.com/terms/',\n title: 'Terms',\n },\n {\n href: 'https://xylabs.com/jobs',\n title: 'Careers',\n },\n]\n\nexport const XyoFooter: React.FC<FooterProps> = ({\n alwaysFooterLinksProps,\n\n ...props\n}) => {\n return (\n <Footer alwaysFooterLinksProps={alwaysFooterLinksProps ?? { footerLinks }} {...props}>\n <Grid container>\n <Grid item xs={12} md={2}>\n <SocialLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <NetworkLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <TokenLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <DeveloperLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <MoreLinks alignItems=\"flex-start\" />\n </Grid>\n <Grid item xs={6} md={2}>\n <SupportLinks alignItems=\"flex-start\" />\n </Grid>\n </Grid>\n </Footer>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const MoreLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"More\" {...props}>\n <FooterLink href=\"https://xyo.network/partners\">Partners</FooterLink>\n <FooterLink href=\"https://xyo.network/fhr\">FHR</FooterLink>\n <FooterLink href=\"https://xyo.network/brand\">Brand</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const NetworkLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Network\" {...props}>\n <FooterLink href=\"https://xyo.network/network\">Overview</FooterLink>\n <FooterLink href=\"https://xyo.network/network/bound-witness\">Bound Witness</FooterLink>\n <FooterLink href=\"https://xyo.network/network/proof-of-origin\">Proof Of Origin</FooterLink>\n <FooterLink href=\"https://xyo.network/papers\">White Paper</FooterLink>\n </FooterLinks>\n)\n","import {\n Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube,\n} from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaDiscord } from 'react-icons/fa'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SocialLinks: React.FC<FlexBoxProps> = (props) => {\n return (\n <FooterLinks title=\"XYO Socials\" {...props}>\n <FlexRow flexWrap=\"wrap\" justifyContent=\"flex-start\">\n <FooterLink href=\"https://business.facebook.com/OfficialXYO/\">\n <Facebook />\n </FooterLink>\n <FooterLink href=\"https://twitter.com/OfficialXYO\">\n <Twitter />\n </FooterLink>\n <FooterLink href=\"https://www.instagram.com/officialxyo/\">\n <Instagram />\n </FooterLink>\n <FooterLink href=\"https://t.me/xyonetwork\">\n <Telegram />\n </FooterLink>\n <FooterLink href=\"https://www.reddit.com/r/XYONetwork/\">\n <Reddit />\n </FooterLink>\n <FooterLink href=\"https://www.youtube.com/channel/UCyZDqb9pgntVHJVt1pxXtsw\">\n <YouTube />\n </FooterLink>\n <FooterLink href=\"https://www.linkedin.com/company/officialxyo/\">\n <LinkedIn />\n </FooterLink>\n <FooterLink href=\"https://discord.gg/officialxyo\">\n <FaDiscord />\n </FooterLink>\n </FlexRow>\n </FooterLinks>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const SupportLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"Support\" {...props}>\n <FooterLink href=\"https://support.xy.company/hc/en-us/categories/360001417734\">Help Center</FooterLink>\n <FooterLink href=\"https://support.xy.company/hc/en-us/requests/new\">Contact Support</FooterLink>\n </FooterLinks>\n)\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { FooterLink } from '../Link.tsx'\nimport { FooterLinks } from '../Links.tsx'\n\nexport const TokenLinks: React.FC<FlexBoxProps> = props => (\n <FooterLinks title=\"XYO Tokens\" {...props}>\n <FooterLink href=\"https://xyo.network/token\">About</FooterLink>\n <FooterLink href=\"https://xyo.network/token/exchange\">Exchanges</FooterLink>\n <FooterLink href=\"https://xyo.network/token/price\">Prices</FooterLink>\n <FooterLink href=\"https://xyo.network/token/wallet\">Wallets</FooterLink>\n <FooterLink href=\"https://etherscan.io/address/0x55296f69f40ea6d20e478533c15a6b08b654e758\">Contract</FooterLink>\n </FooterLinks>\n)\n"],"mappings":"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","names":["MoreHoriz","MoreHorizIcon","FlexRow","React","assertEx","LinkEx","React","convertToBetaIfNeeded","url","currentUrl","URL","document","location","href","urlObj","currentUrlObj","currentHostnameParts","hostname","split","beta","shift","currentHostnameWithoutBeta","join","FooterLink","target","margin","variant","props","assertEx","convertedUrl","to","search","length","pathname","LinkEx","FooterAlwaysLinks","style","footerLinks","onMore","props","React","FlexRow","flexWrap","textTransform","opacity","map","footerLink","index","FooterLink","noWrap","key","paddingX","margin","small","title","cursor","onClick","MoreHorizIcon","color","fontSize","Container","useTheme","FlexCol","FlexRow","React","useState","Footer","alwaysFooterLinksProps","children","container","dynamicHeight","props","more","setMore","useState","onMore","theme","useTheme","React","FlexCol","alignItems","onMouseLeave","FlexRow","bottom","position","width","bgcolor","palette","background","default","Container","FooterAlwaysLinks","undefined","copyrightLinkTitle","entity","Date","getFullYear","Typography","FlexCol","React","FooterLinks","children","title","props","React","FlexCol","margin","justifyContent","Typography","variant","noWrap","React","XyoFooterAlwaysLinks","props","React","FooterAlwaysLinks","footerLinks","href","title","copyrightLinkTitle","React","DeveloperLinks","props","React","FooterLinks","title","FooterLink","href","Grid","React","React","MoreLinks","props","React","FooterLinks","title","FooterLink","href","React","NetworkLinks","props","React","FooterLinks","title","FooterLink","href","Facebook","Instagram","LinkedIn","Reddit","Telegram","Twitter","YouTube","FlexRow","React","FaDiscord","SocialLinks","props","React","FooterLinks","title","FlexRow","flexWrap","justifyContent","FooterLink","href","Facebook","Twitter","Instagram","Telegram","Reddit","YouTube","LinkedIn","FaDiscord","React","SupportLinks","props","React","FooterLinks","title","FooterLink","href","React","TokenLinks","props","React","FooterLinks","title","FooterLink","href","footerLinks","href","title","copyrightLinkTitle","XyoFooter","alwaysFooterLinksProps","props","React","Footer","Grid","container","item","xs","md","SocialLinks","alignItems","NetworkLinks","TokenLinks","DeveloperLinks","MoreLinks","SupportLinks"]}
@@ -0,0 +1,2 @@
1
+ export declare const copyrightLinkTitle: (entity: string) => string;
2
+ //# sourceMappingURL=copyrightLinkTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyrightLinkTitle.d.ts","sourceRoot":"","sources":["../../../src/lib/copyrightLinkTitle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,WAAY,MAAM,WAEhD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './copyrightLinkTitle.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
package/package.json CHANGED
@@ -1,35 +1,30 @@
1
1
  {
2
2
  "name": "@xyo-network/react-footer",
3
- "author": {
4
- "email": "support@xyo.network",
5
- "name": "XYO Development Team",
6
- "url": "https://xyo.network"
7
- },
3
+ "version": "3.0.4",
4
+ "description": "Common React library for all XYO projects that use React",
5
+ "keywords": [
6
+ "xyo",
7
+ "utility",
8
+ "typescript",
9
+ "react"
10
+ ],
11
+ "homepage": "https://xyo.network",
8
12
  "bugs": {
9
- "email": "support@xyo.network",
10
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
- },
12
- "dependencies": {
13
- "@xylabs/assert": "^4.0.2",
14
- "@xylabs/react-flexbox": "^4.0.3",
15
- "@xylabs/react-link": "^4.0.3"
13
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues",
14
+ "email": "support@xyo.network"
16
15
  },
17
- "peerDependencies": {
18
- "@mui/icons-material": "^5",
19
- "@mui/material": "^5",
20
- "@mui/styles": "^5",
21
- "react": "^18",
22
- "react-dom": "^18",
23
- "react-icons": "^4"
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
24
19
  },
25
- "description": "Common React library for all XYO projects that use React",
26
- "devDependencies": {
27
- "@storybook/react": "^8.2.9",
28
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
29
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
30
- "typescript": "^5.5.4"
20
+ "license": "LGPL-3.0-only",
21
+ "author": {
22
+ "name": "XYO Development Team",
23
+ "email": "support@xyo.network",
24
+ "url": "https://xyo.network"
31
25
  },
32
- "docs": "dist/docs.json",
26
+ "sideEffects": false,
27
+ "type": "module",
33
28
  "exports": {
34
29
  ".": {
35
30
  "import": {
@@ -42,27 +37,38 @@
42
37
  "./package.json": "./package.json"
43
38
  },
44
39
  "module": "dist/browser/index.mjs",
45
- "homepage": "https://xyo.network",
46
- "keywords": [
47
- "xyo",
48
- "utility",
49
- "typescript",
50
- "react"
51
- ],
52
- "license": "LGPL-3.0-only",
53
- "publishConfig": {
54
- "access": "public"
40
+ "types": "dist/browser/index.d.ts",
41
+ "scripts": {
42
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
43
+ "lint-pkg": "npmPkgJsonLint ."
55
44
  },
56
- "repository": {
57
- "type": "git",
58
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
45
+ "dependencies": {
46
+ "@xylabs/assert": "^4.0.5",
47
+ "@xylabs/react-flexbox": "^4.0.3",
48
+ "@xylabs/react-link": "^4.0.3",
49
+ "react-icons": "^5.3.0"
59
50
  },
60
- "scripts": {
61
- "lint-pkg": "npmPkgJsonLint .",
62
- "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
51
+ "devDependencies": {
52
+ "@mui/icons-material": "^5.16.7",
53
+ "@mui/material": "^5.16.7",
54
+ "@mui/styles": "^5.16.7",
55
+ "@storybook/react": "^8.2.9",
56
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
57
+ "@xylabs/tsconfig-react": "^4.0.7",
58
+ "react": "^18.3.1",
59
+ "react-dom": "^18.3.1",
60
+ "storybook": "^8.2.9",
61
+ "typescript": "^5.5.4"
63
62
  },
64
- "sideEffects": false,
65
- "types": "dist/browser/index.d.ts",
66
- "version": "3.0.2",
67
- "type": "module"
63
+ "peerDependencies": {
64
+ "@mui/icons-material": "^5",
65
+ "@mui/material": "^5",
66
+ "@mui/styles": "^5",
67
+ "react": "^18",
68
+ "react-dom": "^18"
69
+ },
70
+ "publishConfig": {
71
+ "access": "public"
72
+ },
73
+ "docs": "dist/docs.json"
68
74
  }
@@ -11,8 +11,15 @@ export interface FooterAlwaysLinksProps extends FlexBoxProps {
11
11
  onMore?: () => void
12
12
  }
13
13
 
14
- export const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({ style, footerLinks, onMore, ...props }) => (
15
- <FlexRow flexWrap="wrap" textTransform="uppercase" style={{ opacity: 0.6, ...style }} {...props}>
14
+ export const FooterAlwaysLinks: React.FC<FooterAlwaysLinksProps> = ({
15
+ style, footerLinks, onMore, ...props
16
+ }) => (
17
+ <FlexRow
18
+ flexWrap="wrap"
19
+ textTransform="uppercase"
20
+ style={{ opacity: 0.6, ...style }}
21
+ {...props}
22
+ >
16
23
  {footerLinks?.map((footerLink, index) => (
17
24
  <FooterLink noWrap key={index} paddingX={1} margin={0} {...footerLink}>
18
25
  <small>{footerLink.title}</small>
package/src/Footer.tsx CHANGED
@@ -13,7 +13,9 @@ export interface FooterProps extends FlexBoxProps {
13
13
  dynamicHeight?: boolean
14
14
  }
15
15
 
16
- export const Footer: React.FC<FooterProps> = ({ alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props }) => {
16
+ export const Footer: React.FC<FooterProps> = ({
17
+ alwaysFooterLinksProps, children, container, dynamicHeight = false, ...props
18
+ }) => {
17
19
  const [more, setMore] = useState(false)
18
20
  const onMore = () => {
19
21
  setMore(!more)
package/src/Link.tsx CHANGED
@@ -24,7 +24,9 @@ const convertToBetaIfNeeded = (url: string | URL, currentUrl = new URL(document.
24
24
  return urlObj
25
25
  }
26
26
 
27
- export const FooterLink: React.FC<LinkExProps> = ({ target, href, margin = 0.5, variant = 'body2', ...props }) => {
27
+ export const FooterLink: React.FC<LinkExProps> = ({
28
+ target, href, margin = 0.5, variant = 'body2', ...props
29
+ }) => {
28
30
  const url = new URL(assertEx(href, () => 'href not set'))
29
31
  assertEx(url.hostname, () => 'Hostname is required in href')
30
32
  const convertedUrl = convertToBetaIfNeeded(url)
package/src/Links.tsx CHANGED
@@ -3,7 +3,9 @@ import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
3
  import { FlexCol } from '@xylabs/react-flexbox'
4
4
  import React from 'react'
5
5
 
6
- export const FooterLinks: React.FC<FlexBoxProps> = ({ children, title, ...props }) => {
6
+ export const FooterLinks: React.FC<FlexBoxProps> = ({
7
+ children, title, ...props
8
+ }) => {
7
9
  return (
8
10
  <FlexCol margin={1} justifyContent="flex-start" title={title} {...props}>
9
11
  <Typography margin={0.5} variant="h6" noWrap>
@@ -8,17 +8,18 @@ import { XyoFooter } from './Footer.tsx'
8
8
  const StorybookEntry = {
9
9
  argTypes: {},
10
10
  component: XyoFooter,
11
- parameters: {
12
- docs: {
13
- page: null,
14
- },
15
- },
11
+ parameters: { docs: { page: null } },
16
12
  title: 'footer/Footer',
17
13
  } as Meta<typeof XyoFooter>
18
14
 
19
15
  const Template: StoryFn<typeof XyoFooter> = args => (
20
16
  <FlexCol minHeight="80vh" alignItems="stretch">
21
- <Paper style={{ alignItems: 'center', display: 'flex', flexGrow: 1, justifyContent: 'center' }}>Test Content</Paper>
17
+ <Paper style={{
18
+ alignItems: 'center', display: 'flex', flexGrow: 1, justifyContent: 'center',
19
+ }}
20
+ >
21
+ Test Content
22
+ </Paper>
22
23
  <XyoFooter {...args} />
23
24
  </FlexCol>
24
25
  )
@@ -1,4 +1,6 @@
1
- import { Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube } from '@mui/icons-material'
1
+ import {
2
+ Facebook, Instagram, LinkedIn, Reddit, Telegram, Twitter, YouTube,
3
+ } from '@mui/icons-material'
2
4
  import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
5
  import { FlexRow } from '@xylabs/react-flexbox'
4
6
  import React from 'react'
package/xy.config.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
- browser: {
5
- src: true,
6
- },
4
+ browser: { src: true },
7
5
  node: {},
8
6
  neutral: {},
9
7
  },