@xyo-network/react-shared 2.65.4 → 2.65.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/contexts/index.d.cts +0 -1
- package/dist/browser/contexts/index.d.cts.map +1 -1
- package/dist/browser/contexts/index.d.mts +0 -1
- package/dist/browser/contexts/index.d.mts.map +1 -1
- package/dist/browser/contexts/index.d.ts +0 -1
- package/dist/browser/contexts/index.d.ts.map +1 -1
- package/dist/browser/index.cjs +7 -37
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +7 -37
- package/dist/browser/index.js.map +1 -1
- package/dist/node/contexts/index.d.cts +0 -1
- package/dist/node/contexts/index.d.cts.map +1 -1
- package/dist/node/contexts/index.d.mts +0 -1
- package/dist/node/contexts/index.d.mts.map +1 -1
- package/dist/node/contexts/index.d.ts +0 -1
- package/dist/node/contexts/index.d.ts.map +1 -1
- package/dist/node/index.cjs +7 -40
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +7 -37
- package/dist/node/index.js.map +1 -1
- package/package.json +6 -8
- package/src/contexts/index.ts +0 -1
- package/dist/browser/contexts/Pixel/Context.d.cts +0 -4
- package/dist/browser/contexts/Pixel/Context.d.cts.map +0 -1
- package/dist/browser/contexts/Pixel/Context.d.mts +0 -4
- package/dist/browser/contexts/Pixel/Context.d.mts.map +0 -1
- package/dist/browser/contexts/Pixel/Context.d.ts +0 -4
- package/dist/browser/contexts/Pixel/Context.d.ts.map +0 -1
- package/dist/browser/contexts/Pixel/Provider.d.cts +0 -7
- package/dist/browser/contexts/Pixel/Provider.d.cts.map +0 -1
- package/dist/browser/contexts/Pixel/Provider.d.mts +0 -7
- package/dist/browser/contexts/Pixel/Provider.d.mts.map +0 -1
- package/dist/browser/contexts/Pixel/Provider.d.ts +0 -7
- package/dist/browser/contexts/Pixel/Provider.d.ts.map +0 -1
- package/dist/browser/contexts/Pixel/State.d.cts +0 -6
- package/dist/browser/contexts/Pixel/State.d.cts.map +0 -1
- package/dist/browser/contexts/Pixel/State.d.mts +0 -6
- package/dist/browser/contexts/Pixel/State.d.mts.map +0 -1
- package/dist/browser/contexts/Pixel/State.d.ts +0 -6
- package/dist/browser/contexts/Pixel/State.d.ts.map +0 -1
- package/dist/browser/contexts/Pixel/index.d.cts +0 -5
- package/dist/browser/contexts/Pixel/index.d.cts.map +0 -1
- package/dist/browser/contexts/Pixel/index.d.mts +0 -5
- package/dist/browser/contexts/Pixel/index.d.mts.map +0 -1
- package/dist/browser/contexts/Pixel/index.d.ts +0 -5
- package/dist/browser/contexts/Pixel/index.d.ts.map +0 -1
- package/dist/browser/contexts/Pixel/use.d.cts +0 -2
- package/dist/browser/contexts/Pixel/use.d.cts.map +0 -1
- package/dist/browser/contexts/Pixel/use.d.mts +0 -2
- package/dist/browser/contexts/Pixel/use.d.mts.map +0 -1
- package/dist/browser/contexts/Pixel/use.d.ts +0 -2
- package/dist/browser/contexts/Pixel/use.d.ts.map +0 -1
- package/dist/node/contexts/Pixel/Context.d.cts +0 -4
- package/dist/node/contexts/Pixel/Context.d.cts.map +0 -1
- package/dist/node/contexts/Pixel/Context.d.mts +0 -4
- package/dist/node/contexts/Pixel/Context.d.mts.map +0 -1
- package/dist/node/contexts/Pixel/Context.d.ts +0 -4
- package/dist/node/contexts/Pixel/Context.d.ts.map +0 -1
- package/dist/node/contexts/Pixel/Provider.d.cts +0 -7
- package/dist/node/contexts/Pixel/Provider.d.cts.map +0 -1
- package/dist/node/contexts/Pixel/Provider.d.mts +0 -7
- package/dist/node/contexts/Pixel/Provider.d.mts.map +0 -1
- package/dist/node/contexts/Pixel/Provider.d.ts +0 -7
- package/dist/node/contexts/Pixel/Provider.d.ts.map +0 -1
- package/dist/node/contexts/Pixel/State.d.cts +0 -6
- package/dist/node/contexts/Pixel/State.d.cts.map +0 -1
- package/dist/node/contexts/Pixel/State.d.mts +0 -6
- package/dist/node/contexts/Pixel/State.d.mts.map +0 -1
- package/dist/node/contexts/Pixel/State.d.ts +0 -6
- package/dist/node/contexts/Pixel/State.d.ts.map +0 -1
- package/dist/node/contexts/Pixel/index.d.cts +0 -5
- package/dist/node/contexts/Pixel/index.d.cts.map +0 -1
- package/dist/node/contexts/Pixel/index.d.mts +0 -5
- package/dist/node/contexts/Pixel/index.d.mts.map +0 -1
- package/dist/node/contexts/Pixel/index.d.ts +0 -5
- package/dist/node/contexts/Pixel/index.d.ts.map +0 -1
- package/dist/node/contexts/Pixel/use.d.cts +0 -2
- package/dist/node/contexts/Pixel/use.d.cts.map +0 -1
- package/dist/node/contexts/Pixel/use.d.mts +0 -2
- package/dist/node/contexts/Pixel/use.d.mts.map +0 -1
- package/dist/node/contexts/Pixel/use.d.ts +0 -2
- package/dist/node/contexts/Pixel/use.d.ts.map +0 -1
- package/src/contexts/Pixel/Context.ts +0 -4
- package/src/contexts/Pixel/Provider.tsx +0 -24
- package/src/contexts/Pixel/State.ts +0 -7
- package/src/contexts/Pixel/index.ts +0 -4
- package/src/contexts/Pixel/use.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -46,8 +46,6 @@ __export(src_exports, {
|
|
|
46
46
|
NotFound: () => NotFound,
|
|
47
47
|
PayloadDataMissing: () => PayloadDataMissing,
|
|
48
48
|
Pipe: () => Pipe,
|
|
49
|
-
PixelContext: () => PixelContext,
|
|
50
|
-
PixelProvider: () => PixelProvider,
|
|
51
49
|
ResolvedDivinerContext: () => ResolvedDivinerContext,
|
|
52
50
|
ResolvedDivinerProvider: () => ResolvedDivinerProvider,
|
|
53
51
|
ScrollTableOnSm: () => ScrollTableOnSm,
|
|
@@ -77,7 +75,6 @@ __export(src_exports, {
|
|
|
77
75
|
useMediaQuery: () => import_material3.useMediaQuery,
|
|
78
76
|
usePayloadHash: () => usePayloadHash,
|
|
79
77
|
usePayloadHashes: () => usePayloadHashes,
|
|
80
|
-
usePixel: () => usePixel,
|
|
81
78
|
usePromise: () => usePromise2,
|
|
82
79
|
useProvided: () => useProvided,
|
|
83
80
|
useShareForwardedRef: () => useShareForwardedRef
|
|
@@ -900,33 +897,6 @@ var useListMode = (required = false) => {
|
|
|
900
897
|
return useContextEx(ListModeContext, "ListMode", required);
|
|
901
898
|
};
|
|
902
899
|
|
|
903
|
-
// src/contexts/Pixel/Context.ts
|
|
904
|
-
var PixelContext = createContextEx();
|
|
905
|
-
|
|
906
|
-
// src/contexts/Pixel/Provider.tsx
|
|
907
|
-
var import_pixel = require("@xylabs/pixel");
|
|
908
|
-
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
909
|
-
var PixelProvider = (props) => {
|
|
910
|
-
const { children, id } = props;
|
|
911
|
-
import_pixel.XyPixel.init(id);
|
|
912
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
913
|
-
PixelContext.Provider,
|
|
914
|
-
{
|
|
915
|
-
value: {
|
|
916
|
-
pixel: import_pixel.XyPixel.instance,
|
|
917
|
-
provided: true
|
|
918
|
-
},
|
|
919
|
-
children
|
|
920
|
-
}
|
|
921
|
-
);
|
|
922
|
-
};
|
|
923
|
-
|
|
924
|
-
// src/contexts/Pixel/use.ts
|
|
925
|
-
var usePixel = (required = true) => {
|
|
926
|
-
const { pixel } = useContextEx(PixelContext, "Pixel", required);
|
|
927
|
-
return pixel;
|
|
928
|
-
};
|
|
929
|
-
|
|
930
900
|
// src/lib/assertDefinedEx.ts
|
|
931
901
|
var assertDefinedEx = (expr, message) => {
|
|
932
902
|
if (expr !== null && expr !== void 0)
|
|
@@ -997,14 +967,14 @@ var getActualPaddingX = (element) => {
|
|
|
997
967
|
|
|
998
968
|
// src/lib/networkComponents.tsx
|
|
999
969
|
var import_icons_material = require("@mui/icons-material");
|
|
1000
|
-
var
|
|
970
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1001
971
|
var networkComponents = [
|
|
1002
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
1003
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
1004
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
1005
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
1006
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
1007
|
-
{ icon: (props) => /* @__PURE__ */ (0,
|
|
972
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.HubRounded, { ...props }), name: "Node", slug: "node" },
|
|
973
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.TimerRounded, { ...props }), name: "Sentinel", slug: "sentinel" },
|
|
974
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.InsertLinkRounded, { ...props }), name: "Bridge", slug: "bridge" },
|
|
975
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.Inventory2Rounded, { ...props }), name: "Archivist", slug: "archivist" },
|
|
976
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.BubbleChartRounded, { ...props }), name: "Diviner", slug: "diviner" },
|
|
977
|
+
{ icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.VisibilityRounded, { ...props }), name: "Witness", slug: "witness" }
|
|
1008
978
|
];
|
|
1009
979
|
var findNetworkComponentIndex = (slug) => {
|
|
1010
980
|
return networkComponents.findIndex((info) => info.slug === slug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/Ampersand.tsx","../../src/components/BasicHero/BasicHero.tsx","../../src/hooks/GradientStyles/GradientStyles.tsx","../../src/hooks/useDataState.ts","../../src/hooks/useIsMobile.ts","../../src/hooks/useMediaQuery.ts","../../src/hooks/usePayloadHash.ts","../../src/hooks/usePromise.ts","../../src/hooks/useShareForwardRef.ts","../../src/components/Ellipsize.tsx","../../src/components/ErrorBoundary.tsx","../../src/components/ListItemButtonEx.tsx","../../src/components/LoadResult.tsx","../../src/components/NotFound.tsx","../../src/components/Pipe.tsx","../../src/components/pluginValidation/DataMissing.tsx","../../src/components/ScrollTableOnSm.tsx","../../src/components/SectionSpacingRow/SectionSpacingRow.tsx","../../src/components/TableCell/AddressTableCell.tsx","../../src/components/TableCell/EllipsisTableCell.tsx","../../src/components/TableCell/HashTableCell.tsx","../../src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx","../../src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx","../../src/components/TokenBar/TokenBar.tsx","../../src/components/TokenData/img/index.ts","../../src/components/TokenData/TokenData.ts","../../src/components/TokenData/useGetTokenData.tsx","../../src/components/TokenSummary/TokenSummary.tsx","../../src/components/TypographyEx.tsx","../../src/contexts/contextEx/create.ts","../../src/contexts/contextEx/use.ts","../../src/contexts/diviner/Context.tsx","../../src/contexts/diviner/Provider.tsx","../../src/contexts/ListMode/Context.ts","../../src/contexts/ListMode/Provider.tsx","../../src/contexts/ListMode/use.ts","../../src/contexts/Pixel/Context.ts","../../src/contexts/Pixel/Provider.tsx","../../src/contexts/Pixel/use.ts","../../src/lib/assertDefinedEx.ts","../../src/lib/getActualPaddingX.ts","../../src/lib/networkComponents.tsx"],"sourcesContent":["export * from './components'\nexport * from './contexts'\nexport * from './hooks'\nexport * from './lib'\nexport * from './models'\nexport * from './SizeProp'\n","import { Typography, TypographyProps } from '@mui/material'\n\nexport const Ampersand: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n &\n </Typography>\n )\n}\n","import { Container, Grid, Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { ReactElement } from 'react'\n\nimport { useGradientStyles, useIsMobile } from '../../hooks'\n\nexport interface BasicHeroProps extends FlexBoxProps {\n backgroundColor?: string\n backgroundImage?: string\n button1Href?: string\n button1Text?: string\n button1To?: string\n button2Href?: string\n button2Text?: string\n button2To?: string\n desc: string\n gradientTitle?: string\n heroImage?: string\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n sx?: Record<string, string>\n textColor?: string\n title: string\n title2?: string\n}\n\ninterface SubLinkSectionProps {\n backgroundImageAlignment?: boolean\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n}\n\ninterface ButtonSectionProps {\n buttonText?: string\n href?: string\n to?: string\n}\nconst SubLinkSection: React.FC<SubLinkSectionProps> = ({ backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2 }) => {\n return (\n <FlexGrowRow\n width=\"100%\"\n sx={{ flexDirection: { md: 'row', xs: 'column' }, justifyContent: { md: backgroundImageAlignment ? 'flex-start' : 'center', xs: 'center' } }}\n >\n {subLinkIcon ? <span>{subLinkIcon} </span> : null}\n <Typography>{subLinkText1} </Typography>\n <LinkEx href={subLinkPath} underline=\"always\" target=\"_blank\" color=\"inherit\">\n <Typography>{subLinkText2}</Typography>\n </LinkEx>\n </FlexGrowRow>\n )\n}\n\nconst ButtonSection: React.FC<ButtonSectionProps> = ({ href, to, buttonText }) => {\n const isMobile = useIsMobile()\n return (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\n target={href ?? '_blank'}\n to={to}\n href={href}\n color=\"primary\"\n variant=\"contained\"\n paddingX={3}\n sx={{ display: href || to ? 'flex' : 'none' }}\n >\n {buttonText}\n </ButtonEx>\n )\n}\n\nexport const BasicHero: React.FC<BasicHeroProps> = ({\n backgroundImage,\n title,\n gradientTitle,\n backgroundColor,\n textColor,\n desc,\n heroImage,\n title2,\n subLinkText1,\n subLinkText2,\n subLinkPath,\n button1Text,\n button2Text,\n button2To,\n button1To,\n button2Href,\n button1Href,\n subLinkIcon,\n sx,\n ...props\n}) => {\n const isMobile = useIsMobile()\n const { classes } = useGradientStyles()\n return (\n <FlexGrowCol\n sx={{\n backgroundImage: `url(${backgroundImage})`,\n backgroundPosition: { lg: 'bottom', md: 'center left', xs: 'top left' },\n minHeight: {\n md: '500px',\n sm: '400px',\n xs: '200px',\n },\n ...(sx ?? {}),\n }}\n style={{\n backgroundColor: backgroundColor ?? '',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n color: textColor ?? '',\n }}\n {...props}\n >\n <Container>\n <Grid\n container\n justifyContent=\"center\"\n alignItems=\"center\"\n sx={{\n alignItems: { xs: 'center' },\n justifyContent: { xs: 'center' },\n }}\n >\n <Grid item xs={12} sm={8} md={backgroundImage ? 6 : 8} lg={backgroundImage ? 6 : 8}>\n <FlexGrowCol paddingY={2} sx={{ alignItems: { xs: backgroundImage && !isMobile ? 'flex-start' : 'center' } }}>\n <Typography variant=\"h1\" component=\"h1\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {title ? <span>{`${title} `}</span> : null}\n {gradientTitle ? <span className={classes().heading}> {` ${gradientTitle}`}</span> : null}\n {title2 ? <span>{` ${title2}`}</span> : null}\n </Typography>\n <Typography variant=\"body1\" component=\"h2\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {desc}\n </Typography>\n <FlexGrowRow sx={{ flexDirection: { lg: 'row', xs: 'column' } }} width=\"100%\" marginTop={1}>\n <ButtonSection href={button1Href} to={button1To} buttonText={button1Text} />\n <ButtonSection href={button2Href} to={button2To} buttonText={button2Text} />\n </FlexGrowRow>\n <SubLinkSection\n subLinkIcon={subLinkIcon}\n subLinkText1={subLinkText1}\n subLinkText2={subLinkText2}\n subLinkPath={subLinkPath}\n backgroundImageAlignment={backgroundImage ? true : false}\n />\n </FlexGrowCol>\n </Grid>\n <Grid item xs={12} md={6}>\n {heroImage ? <img src={heroImage} width=\"100%\" /> : null}\n </Grid>\n </Grid>\n </Container>\n </FlexGrowCol>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { makeStyles } from '@mui/styles'\nimport { CSSProperties } from 'react'\n\nexport interface GradientStyles {\n background: CSSProperties\n border: CSSProperties\n heading: CSSProperties\n}\n\nexport const colorfulGradientLightMode = () => {\n return {\n background: {\n backgroundImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n display: 'inline-block',\n },\n }\n}\n\nexport const colorfulGradientDarkMode = () => {\n return {\n background: {\n backgroundImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n display: 'inline-block',\n },\n }\n}\n\nexport const useGradientStyles = () => {\n const theme = useTheme()\n const styles = theme.palette.mode === 'dark' ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n const classes = makeStyles(styles)\n return { classes, styles }\n}\n","import { Dispatch, SetStateAction, useState } from 'react'\n\nexport const useDataState = <T>(defaultValue: T | undefined): [T | undefined, Dispatch<SetStateAction<T | undefined>>] => {\n const [state, setState] = useState(defaultValue)\n\n const setDataState: Dispatch<SetStateAction<T | undefined>> = (value: SetStateAction<T | undefined>) => {\n try {\n if (JSON.stringify(value) !== JSON.stringify(state)) {\n setState(value)\n }\n } catch (ex) {\n console.error('setDataState failed! Make sure data type is stringifiable!')\n }\n }\n\n return [state, setDataState]\n}\n","import { useTheme } from '@mui/material'\n\nimport { useMediaQuery } from './useMediaQuery'\n\nexport const useIsMobile = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n","// eslint-disable-next-line import/no-deprecated\nimport { useMediaQuery } from '@mui/material'\n\n// eslint-disable-next-line import/no-deprecated\nexport { useMediaQuery }\n\n/* This file only exists to deal with the false positve lint error */\n","import { usePromise } from '@xylabs/react-promise'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const usePayloadHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadHasher.hashAsync(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadHashes = <TPayload extends Payload>(payloads: TPayload[] | undefined | null) => {\n return usePromise(\n async () =>\n payloads\n ? await Promise.all(payloads.map<Promise<[TPayload, string]>>(async (payload) => [payload, await PayloadHasher.hashAsync(payload)]))\n : undefined,\n [payloads],\n )[0]\n}\n","import { usePromise as importedUsePromise } from '@xylabs/react-promise'\n\n/** @deprecated use @xylabs/react-promise version instead */\nexport const usePromise = importedUsePromise\n","import { ForwardedRef, useEffect, useRef } from 'react'\n\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T>, refresh = 0) => {\n // final ref that will share value with forward ref. this is the one to be attached to components\n const innerRef = useRef<T>(null)\n\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n return\n } else {\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n","import { Box, BoxProps, styled, Typography, TypographyProps, TypographyTypeMap } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { forwardRef, useCallback, useState } from 'react'\n\nimport { useShareForwardedRef } from '../hooks'\n\n/**\n * Heavily inspired by - https://stackoverflow.com/a/30362531/2803259\n */\n\nconst ComponentName = 'Ellipsize'\n\nexport interface EllipsizeRootProps extends BoxProps {\n beforeLineHeight?: string | number\n}\n\nconst EllipsizeRoot = styled(Box, {\n name: ComponentName,\n shouldForwardProp: (prop) => prop !== 'beforeLineHeight',\n slot: 'Root',\n})<EllipsizeRootProps>(({ beforeLineHeight }) => ({\n '&': {\n // because the cell content ends up absolutely positioned, the cell doesn't know the content height.\n // the pseudo element with a hidden character establishes the proper height of the content and hides it\n ':before': {\n content: \"'nbsp;'\",\n display: 'block',\n // take the pseudo element out of the `display: block` flow so it won't push against our actual content\n float: 'left',\n visibility: 'hidden',\n // since we are `display: block`, lineHeight is the height\n ...(beforeLineHeight && { lineHeight: beforeLineHeight }),\n },\n },\n}))\n\nconst EllipsizeInnerWrap = styled(Box, {\n name: ComponentName,\n slot: 'innerWrap',\n})(() => ({\n position: 'relative',\n}))\n\nconst EllipsizeContentWrap = styled(Typography, {\n name: ComponentName,\n shouldForwardProp: (prop) => prop !== 'ellipsisPosition',\n slot: 'contentWrap',\n})<TypographyWithComponentProps>(({ theme, ellipsisPosition, fontFamily }) => {\n return theme.unstable_sx({\n fontFamily: fontFamily ?? 'monospace',\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n right: 0,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(ellipsisPosition === 'start'\n ? {\n direction: 'rtl',\n textAlign: 'left',\n }\n : {}),\n })\n})\n\nconst useClientHeight = () => {\n const [contentWrapHeight, setContentWrapHeight] = useState<string>()\n\n const contentWrapRef = useCallback((node: HTMLElement) => {\n if (node !== null) {\n setContentWrapHeight(node.clientHeight + 'px')\n }\n }, [])\n\n return { contentWrapHeight, contentWrapRef }\n}\n\n// See - https://mui.com/material-ui/guides/composition/#with-typescript\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {\n ellipsisPosition?: 'start' | 'end'\n}\n\nexport interface EllipsizeBoxProps extends BoxProps {\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = forwardRef<HTMLDivElement, WithChildren<EllipsizeBoxProps>>(\n ({ children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props }, ref) => {\n // Allow syncing of :before pseudo element height with contentWrapHeight\n const { contentWrapRef, contentWrapHeight } = useClientHeight()\n const sharedRef = useShareForwardedRef(ref)\n\n return (\n <EllipsizeRoot beforeLineHeight={!!sharedRef && !disableSharedRef ? contentWrapHeight : undefined} {...props} ref={ref}>\n <EllipsizeInnerWrap>\n <EllipsizeContentWrap ref={contentWrapRef} component={'span'} ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\n )\n },\n)\nEllipsizeBox.displayName = 'EllipsizeBox'\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { Component, ErrorInfo, ReactNode } from 'react'\n\nexport interface ErrorBoundaryProps {\n children: ReactNode\n // fallback as a static ReactNode value\n fallback?: ReactNode\n // fallback element that can receive the error as a prop\n fallbackWithError?: (error: Error) => ReactNode\n}\n\nexport interface ErrorBoundaryState {\n error?: Error\n}\n\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { error: undefined }\n }\n\n static getDerivedStateFromError(error: Error) {\n return { error }\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n console.error(`${error}: ${errorInfo}`)\n }\n\n override render() {\n if (this.state.error) {\n if (this.props.fallbackWithError) {\n return this.props.fallbackWithError(this.state.error)\n }\n return (\n this.props.fallback ?? (\n <FlexCol>\n <Typography variant=\"h1\">Something went wrong.</Typography>\n <Typography variant=\"body1\">[{this.state.error?.message}]</Typography>\n </FlexCol>\n )\n )\n }\n\n return this.props.children\n }\n}\n","import { ListItemButton, ListItemButtonProps } from '@mui/material'\nimport { MouseEvent } from 'react'\nimport { NavigateOptions, To, useNavigate } from 'react-router-dom'\n\nexport interface ListItemButtonExProps extends ListItemButtonProps {\n target?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({ to, toOptions, onClick, ...props }) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n if (to) {\n navigate(to, toOptions)\n }\n }\n\n return <ListItemButton onClick={localOnClick} {...props} />\n}\n\nexport const ListItemButtonEx: React.FC<ListItemButtonExProps> = ({ to, ...props }) => {\n if (to) {\n return <ListItemButtonExTo to={to} {...props} />\n } else {\n return <ListItemButton {...props} />\n }\n}\n","import { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { PropsWithChildren } from 'react'\n\nimport { NotFound } from './NotFound'\n\nexport interface LoadResultProps<T> {\n /** @deprecated - use error prop */\n apiError?: Error\n /** Defer error handling to the children and load them */\n error?: boolean\n notFound: boolean\n searchResult: T | undefined\n}\n\nexport function LoadResult<T>(props: PropsWithChildren<LoadResultProps<T>>) {\n const { notFound, error, searchResult, children } = props\n if (notFound) {\n return <NotFound />\n }\n if (error) {\n return <>{children}</>\n }\n if (searchResult === undefined) {\n return <FlexGrowRow busy minHeight=\"50px\" />\n } else {\n return <>{children}</>\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'\n\nconst NotFound: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <Typography variant=\"h2\">Sorry!</Typography>\n <Typography marginY={3} variant=\"body2\">\n {\"Can't find anything here\"}\n </Typography>\n </FlexGrowCol>\n )\n}\n\nexport { NotFound }\n","import { Typography, TypographyProps } from '@mui/material'\n\nexport const Pipe: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n |\n </Typography>\n )\n}\n","import { Alert, AlertProps, AlertTitle } from '@mui/material'\n\nexport interface PayloadDataMissingProps extends AlertProps {\n alertBody?: string\n}\n\nexport const PayloadDataMissing: React.FC<PayloadDataMissingProps> = ({ alertBody, ...props }) => {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing Data</AlertTitle>\n {alertBody ?? 'Payload is missing required data to render correctly'}\n </Alert>\n )\n}\n","import { styled } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nconst StyledScrollTableOnSm = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('md')]: {\n overflowX: 'scroll',\n },\n display: 'flex',\n flexGrow: 1,\n}))\n\nconst ScrollTableOnSm: React.FC<WithChildren> = ({ children }) => <StyledScrollTableOnSm>{children}</StyledScrollTableOnSm>\n\nexport { ScrollTableOnSm }\n","import { useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { forwardRef } from 'react'\n\nexport const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({ children, sx, ...props }, ref) => {\n const theme = useTheme()\n return (\n <FlexGrowRow\n sx={{\n paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },\n paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },\n ...sx,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {children}\n </FlexGrowRow>\n )\n})\n\nSectionSpacingRow.displayName = 'SectionSpacingRow'\n","import { forwardRef } from 'react'\n\nimport { EllipsisTableCell, EllipsisTableCellProps } from './EllipsisTableCell'\n\nexport interface AddressTableCellProps extends EllipsisTableCellProps {\n /** @deprecated - archives are no longer supported */\n archive?: string\n /** @deprecated - use events instead */\n exploreDomain?: string\n link?: boolean\n}\n\nconst AddressTableCell = forwardRef<HTMLTableCellElement, AddressTableCellProps>(({ value, archive, exploreDomain, link, ...props }, ref) => {\n const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : undefined\n const to = exploreDomain === undefined && archive ? `/archive/${archive}/address/${value}` : undefined\n\n return <EllipsisTableCell value={value} href={href} to={to} ref={ref} link={link} {...props} />\n})\n\nAddressTableCell.displayName = 'AddressTableCell'\nexport { AddressTableCell }\n","import { styled, TableCell, TableCellProps } from '@mui/material'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { forwardRef, useMemo } from 'react'\nimport { To } from 'react-router-dom'\n\nimport { EllipsizeBox } from '../Ellipsize'\n\nconst EllipsisTableCellRoot = styled(TableCell, {\n name: 'EllipsisTableCell',\n shouldForwardProp: (prop) => prop !== 'width',\n slot: 'Root',\n})(({ width = '100%' }) => ({\n width,\n}))\n\nexport interface EllipsisTableCellProps extends TableCellProps {\n href?: string\n link?: boolean\n to?: To\n value?: string\n /**\n * Width of the table cell.\n *\n * Note: When using percentages, this value can be different than what you expect\n * if used on a cell that is not the first cell in the first row.\n */\n width?: string | number\n}\n\nexport const EllipsisTableCellWithRef: React.FC<WithChildren<EllipsisTableCellProps>> = forwardRef(\n ({ children, href, link = false, to, value, ...props }, ref) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} to={to} href={href} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot ref={ref} {...props}>\n <EllipsizeBox sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}>{data}</EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n },\n)\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n","import { useEvent } from '@xyo-network/react-event'\nimport { useRef } from 'react'\n\nimport { EllipsisTableCell, EllipsisTableCellProps } from './EllipsisTableCell'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n archive?: string\n dataType?: 'block' | 'payload'\n exploreDomain?: string\n network?: string\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({ value, archive, dataType, network, exploreDomain, ...props }) => {\n const ref = useRef<HTMLTableCellElement | null>(null)\n const [tableCellRef, dispatch] = useEvent<HTMLTableCellElement>(undefined, ref)\n const hashPath = `/${dataType}/hash/${value}?network=${network ?? 'main'}`\n const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath\n\n const handleCellClick = () => {\n dispatch?.('hash', 'click', value)\n }\n\n return (\n <EllipsisTableCell\n onClick={handleCellClick}\n ref={tableCellRef}\n value={value}\n href={exploreDomain ? `${exploreDomain}${explorePath}}` : undefined}\n to={exploreDomain ? undefined : explorePath}\n {...props}\n />\n )\n}\n","import { Avatar, AvatarProps, useTheme } from '@mui/material'\n\nexport const ThemeTokenAvatar: React.FC<AvatarProps> = ({ ...props }) => {\n const theme = useTheme()\n return <Avatar sx={{ background: theme.palette.common.white }} {...props} />\n}\n","import { AvatarGroup, AvatarGroupProps } from '@mui/material'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar'\n\nexport interface ThemeTokenAvatarGroupProps extends AvatarGroupProps {\n images?: string[]\n}\n\nexport const ThemeTokenAvatarGroup: React.FC<ThemeTokenAvatarGroupProps> = ({ images, ...props }) => {\n return <AvatarGroup {...props}>{images?.map((image, index) => <ThemeTokenAvatar key={index} src={image} />)}</AvatarGroup>\n}\n","import { Paper, PaperProps, Typography, TypographyProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { ReactNode } from 'react'\nexport interface TokenBarProps extends PaperProps {\n text1?: ReactNode\n text1Props?: TypographyProps\n text1Suffix?: ReactNode\n text2?: ReactNode\n text2Props?: TypographyProps\n text2Suffix?: ReactNode\n}\n\nexport const TokenBar: React.FC<TokenBarProps> = ({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {\n return (\n <Paper elevation={0} className=\"TokenBar-root\" {...props}>\n <FlexRow justifyContent=\"space-between\">\n <Typography variant=\"body1\" fontWeight={300} margin={1} {...text1Props}>\n {text1}\n {text1Suffix}\n </Typography>\n <Typography variant=\"body1\" fontWeight={300} textTransform=\"uppercase\" color=\"gray\" margin={1} {...text2Props}>\n {text2}\n {text2Suffix}\n </Typography>\n </FlexRow>\n </Paper>\n )\n}\n","import ada from './ada.png'\nimport btc from './btc.png'\nimport busd from './busd.png'\nimport dai from './dai.png'\nimport dogecoin from './dogecoin.png'\nimport dot from './dot.png'\nimport ethereum from './ethereum.png'\nimport frax from './frax.png'\nimport link from './link.png'\nimport sol from './sol.png'\nimport tether from './tether.png'\nimport usdCoin from './usd-coin.png'\nimport weth from './weth.png'\nimport wrappedBtc from './wrapped-bitcoin.png'\nimport xyo from './xyo.png'\n\nexport { ada, btc, busd, dai, dogecoin, dot, ethereum, frax, link, sol, tether, usdCoin, weth, wrappedBtc, xyo }\n","import * as tokenImages from './img'\n\nexport interface TokenData {\n coinmarketcapLink: string\n etherscanLink: string\n icon: string\n readableName: string\n tokenSymbol: string\n uniqueTokenId: string\n}\n\nexport const TokenData: TokenData[] = [\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/multi-collateral-dai/',\n etherscanLink: 'https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f',\n icon: tokenImages.dai,\n readableName: 'Dai',\n tokenSymbol: 'dai',\n uniqueTokenId: 'dai',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/weth/',\n etherscanLink: 'https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n icon: tokenImages.weth,\n readableName: 'Weth',\n tokenSymbol: 'weth',\n uniqueTokenId: 'weth',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/ethereum/',\n etherscanLink: 'n/a',\n icon: tokenImages.ethereum,\n readableName: 'Ethereum',\n tokenSymbol: 'eth',\n uniqueTokenId: 'ethereum',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/bitcoin/',\n etherscanLink: 'n/a',\n icon: tokenImages.btc,\n readableName: 'Bitcoin',\n tokenSymbol: 'btc',\n uniqueTokenId: 'btc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/xyo/',\n etherscanLink: 'https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758',\n icon: tokenImages.xyo,\n readableName: 'XYO',\n tokenSymbol: 'xyo',\n uniqueTokenId: 'xyo',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/frax/',\n etherscanLink: 'https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e',\n icon: tokenImages.frax,\n readableName: 'Frax',\n tokenSymbol: 'frax',\n uniqueTokenId: 'frax',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/wrapped-bitcoin/',\n etherscanLink: 'https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n icon: tokenImages.wrappedBtc,\n readableName: 'Wrapped BTC',\n tokenSymbol: 'wbtc',\n uniqueTokenId: 'wbtc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/usd-coin/',\n etherscanLink: 'https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n icon: tokenImages.usdCoin,\n readableName: 'USDC',\n tokenSymbol: 'usdc',\n uniqueTokenId: 'usdc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/tether/',\n etherscanLink: 'https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7',\n icon: tokenImages.tether,\n readableName: 'Tether',\n tokenSymbol: 'usdt',\n uniqueTokenId: 'usdt',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/cardano/',\n etherscanLink: 'https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98',\n icon: tokenImages.ada,\n readableName: 'Cardano',\n tokenSymbol: 'ada',\n uniqueTokenId: 'ada',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/binance-usd/',\n etherscanLink: 'https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53',\n icon: tokenImages.busd,\n readableName: 'Binance USD',\n tokenSymbol: 'busd',\n uniqueTokenId: 'busd',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/dogecoin/',\n etherscanLink: 'https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e',\n icon: tokenImages.dogecoin,\n readableName: 'Dogecoin',\n tokenSymbol: 'doge',\n uniqueTokenId: 'doge',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/polkadot-new/',\n etherscanLink: 'https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221',\n icon: tokenImages.dot,\n readableName: 'Polkadot',\n tokenSymbol: 'dot',\n uniqueTokenId: 'dot',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/chainlink/',\n etherscanLink: 'https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca',\n icon: tokenImages.link,\n readableName: 'ChainLink',\n tokenSymbol: 'link',\n uniqueTokenId: 'link',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/solana/',\n etherscanLink: 'https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8',\n icon: tokenImages.sol,\n readableName: 'Solana',\n tokenSymbol: 'sol',\n uniqueTokenId: 'sol',\n },\n]\n","import { TokenData } from './TokenData'\n\nexport const useGetTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find((x) => x.tokenSymbol === symbol)\n const checkedTokenData = additionalTokenData ? additionalTokenData : TokenData[0]\n return checkedTokenData\n })\n}\n","import { AvatarProps, CardHeader, CardHeaderProps, Typography } from '@mui/material'\nimport { ReactNode } from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar'\n\nexport interface TokenSummaryProps extends CardHeaderProps {\n icon?: string\n imgBgProps?: AvatarProps\n symbol?: string\n symbolElement?: ReactNode\n}\n\nexport const TokenSummary: React.FC<TokenSummaryProps> = ({ icon, symbol, symbolElement, children, ...props }) => {\n return (\n <>\n <CardHeader\n avatar={<ThemeTokenAvatar src={icon} alt={symbol} />}\n title={\n <Typography variant=\"h6\" fontWeight={300} textTransform=\"uppercase\">\n {symbolElement ?? symbol}\n </Typography>\n }\n {...props}\n />\n {children}\n </>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { useGradientStyles } from '../hooks'\n\nexport interface TypographyExProps extends TypographyProps {\n gradient?: 'text'\n}\n\nexport const TypographyEx: React.FC<TypographyExProps> = ({ gradient, ...props }) => {\n const { classes } = useGradientStyles()\n return <Typography className={gradient === 'text' ? classes().heading : undefined} {...props} />\n}\n","import { createContext } from 'react'\n\nimport { ContextExState } from './State'\n\nexport const createContextEx = <T>() => createContext<T & ContextExState>({ provided: false } as T & ContextExState)\n","import { Context, useContext } from 'react'\n\nimport { ContextExState } from './State'\n\nexport const useContextEx = <T extends ContextExState>(context: Context<T>, contextName: string, required = true) => {\n const { provided, ...props } = useContext(context)\n if (!provided && required) {\n throw Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`)\n }\n return props\n}\n\nexport const useProvided = <T extends ContextExState>(context: Context<T>) => {\n const { provided } = useContext(context)\n return provided\n}\n","import { createContextEx } from '../contextEx'\n\nexport const ResolvedDivinerContext = <T,>() => createContextEx<T>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { Context, useEffect, useState } from 'react'\n\nimport { ContextExProviderProps } from '../contextEx'\nimport { ResolvedDivinerState } from './State'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {\n context: Context<ResolvedDivinerState<D>>\n diviner?: D\n}\n\n/** Exposes a resolved diviner */\nexport const ResolvedDivinerProvider = <D,>({ diviner: divinerProp, required = false, children, context }: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useState<D | undefined>(divinerProp)\n\n useEffect(() => {\n if (divinerProp) {\n setDiviner(divinerProp)\n }\n }, [divinerProp, setDiviner])\n\n const resolveDiviner = () => {\n if (divinerProp) {\n return diviner === divinerProp ? diviner : undefined\n } else {\n return diviner\n }\n }\n\n return (\n <context.Provider\n value={{\n diviner: resolveDiviner(),\n provided: true,\n setDiviner,\n }}\n >\n {diviner ? children : required ? null : children}\n </context.Provider>\n )\n}\n","import { createContextEx } from '../contextEx'\nimport { ListModeContextState } from './State'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { ListMode } from '../../models'\nimport { ListModeContext } from './Context'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<WithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n return (\n <ListModeContext.Provider\n value={{\n listMode,\n provided: true,\n setListMode,\n }}\n >\n {children}\n </ListModeContext.Provider>\n )\n}\n","import { useContextEx } from '../contextEx'\nimport { ListModeContext } from './Context'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n","import { createContextEx } from '../contextEx'\nimport { PixelContextState } from './State'\n\nexport const PixelContext = createContextEx<PixelContextState>()\n","import { XyPixel } from '@xylabs/pixel'\nimport { WithChildren } from '@xylabs/react-shared'\n\nimport { PixelContext } from './Context'\n\nexport interface PixelProviderProps {\n id: string\n}\n\nexport const PixelProvider: React.FC<WithChildren<PixelProviderProps>> = (props) => {\n const { children, id } = props\n XyPixel.init(id)\n\n return (\n <PixelContext.Provider\n value={{\n pixel: XyPixel.instance,\n provided: true,\n }}\n >\n {children}\n </PixelContext.Provider>\n )\n}\n","import { useContextEx } from '../contextEx'\nimport { PixelContext } from './Context'\n\nexport const usePixel = (required = true) => {\n const { pixel } = useContextEx(PixelContext, 'Pixel', required)\n return pixel\n}\n","export const assertDefinedEx = <T>(expr?: T | null, message?: string): T => {\n if (expr !== null && expr !== undefined) return expr\n throw Error(message)\n}\n","export const parseMeausureString = (measure?: string, absolute?: number) => {\n if (measure !== undefined && measure !== null && measure.length > 0) {\n if (measure.endsWith('px')) {\n return parseFloat(measure.substring(0, measure.length - 2))\n } else if (measure.endsWith('%')) {\n if (absolute !== undefined) {\n return (parseFloat(measure.substring(0, measure.length - 1)) / 100) * absolute\n }\n throw Error('Error Parsing Measure [missing absolute]')\n } else if (measure.endsWith('vw')) {\n return (parseFloat(measure.substring(0, measure.length - 2)) / 100) * window.innerWidth\n } else if (measure.endsWith('vh')) {\n return (parseFloat(measure.substring(0, measure.length - 2)) / 100) * window.innerHeight\n }\n throw Error(`Error Parsing Measure [${measure}]`)\n }\n}\n\nexport const parsePadding = (padding: string) => {\n const parts = padding.split(' ')\n switch (parts.length) {\n case 4: {\n return {\n bottom: parts[2],\n left: parts[3],\n right: parts[1],\n top: parts[0],\n }\n }\n case 3: {\n return {\n bottom: parts[2],\n right: parts[1],\n top: parts[0],\n }\n }\n case 2: {\n return {\n bottom: parts[0],\n left: parts[1],\n right: parts[1],\n top: parts[0],\n }\n }\n case 1: {\n return {\n bottom: parts[0],\n left: parts[0],\n right: parts[0],\n top: parts[0],\n }\n }\n }\n}\n\nexport const getActualPaddingX = (element: HTMLElement) => {\n const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft =\n parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight =\n parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-right') ?? padding?.right, element.clientWidth) ?? 0\n return paddingLeft + paddingRight\n}\n","import {\n BubbleChartRounded as BubbleChartRoundedIcon,\n HubRounded as HubRoundedIcon,\n InsertLinkRounded as InsertLinkRoundedIcon,\n Inventory2Rounded as Inventory2RoundedIcon,\n TimerRounded as TimerRoundedIcon,\n VisibilityRounded as VisibilityRoundedIcon,\n} from '@mui/icons-material'\nimport { SvgIconProps } from '@mui/material'\nimport { ReactElement } from 'react'\n\nexport type NetworkComponentSlug = 'sentinel' | 'bridge' | 'archivist' | 'diviner' | 'node' | 'witness'\n\nexport interface NetworkComponentDetails {\n icon: (props?: SvgIconProps) => ReactElement\n name: string\n slug: NetworkComponentSlug\n}\n\nexport const networkComponents: NetworkComponentDetails[] = [\n { icon: (props) => <HubRoundedIcon {...props} />, name: 'Node', slug: 'node' },\n { icon: (props) => <TimerRoundedIcon {...props} />, name: 'Sentinel', slug: 'sentinel' },\n { icon: (props) => <InsertLinkRoundedIcon {...props} />, name: 'Bridge', slug: 'bridge' },\n { icon: (props) => <Inventory2RoundedIcon {...props} />, name: 'Archivist', slug: 'archivist' },\n { icon: (props) => <BubbleChartRoundedIcon {...props} />, name: 'Diviner', slug: 'diviner' },\n { icon: (props) => <VisibilityRoundedIcon {...props} />, name: 'Witness', slug: 'witness' },\n]\n\nexport const findNetworkComponentIndex = (slug: string) => {\n return networkComponents.findIndex((info) => info.slug === slug)\n}\n\nexport const findNetworkComponent = (slug: string) => {\n return networkComponents.find((info) => info.slug === slug)\n}\n"],"mappings":"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","names":["usePromise","import_material","import_material","import_material","import_material","import_react_promise","usePromise","importedUsePromise","import_react","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_react_flexbox","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_jsx_runtime","import_react","import_material","import_react_link","import_react","import_jsx_runtime","link","import_jsx_runtime","link","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","dai","weth","ethereum","btc","xyo","frax","wrappedBtc","usdCoin","tether","ada","busd","dogecoin","dot","link","sol","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_react","import_react","import_react","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","HubRoundedIcon","TimerRoundedIcon","InsertLinkRoundedIcon","Inventory2RoundedIcon","BubbleChartRoundedIcon","VisibilityRoundedIcon"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/Ampersand.tsx","../../src/components/BasicHero/BasicHero.tsx","../../src/hooks/GradientStyles/GradientStyles.tsx","../../src/hooks/useDataState.ts","../../src/hooks/useIsMobile.ts","../../src/hooks/useMediaQuery.ts","../../src/hooks/usePayloadHash.ts","../../src/hooks/usePromise.ts","../../src/hooks/useShareForwardRef.ts","../../src/components/Ellipsize.tsx","../../src/components/ErrorBoundary.tsx","../../src/components/ListItemButtonEx.tsx","../../src/components/LoadResult.tsx","../../src/components/NotFound.tsx","../../src/components/Pipe.tsx","../../src/components/pluginValidation/DataMissing.tsx","../../src/components/ScrollTableOnSm.tsx","../../src/components/SectionSpacingRow/SectionSpacingRow.tsx","../../src/components/TableCell/AddressTableCell.tsx","../../src/components/TableCell/EllipsisTableCell.tsx","../../src/components/TableCell/HashTableCell.tsx","../../src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx","../../src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx","../../src/components/TokenBar/TokenBar.tsx","../../src/components/TokenData/img/index.ts","../../src/components/TokenData/TokenData.ts","../../src/components/TokenData/useGetTokenData.tsx","../../src/components/TokenSummary/TokenSummary.tsx","../../src/components/TypographyEx.tsx","../../src/contexts/contextEx/create.ts","../../src/contexts/contextEx/use.ts","../../src/contexts/diviner/Context.tsx","../../src/contexts/diviner/Provider.tsx","../../src/contexts/ListMode/Context.ts","../../src/contexts/ListMode/Provider.tsx","../../src/contexts/ListMode/use.ts","../../src/lib/assertDefinedEx.ts","../../src/lib/getActualPaddingX.ts","../../src/lib/networkComponents.tsx"],"sourcesContent":["export * from './components'\nexport * from './contexts'\nexport * from './hooks'\nexport * from './lib'\nexport * from './models'\nexport * from './SizeProp'\n","import { Typography, TypographyProps } from '@mui/material'\n\nexport const Ampersand: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n &\n </Typography>\n )\n}\n","import { Container, Grid, Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { LinkEx } from '@xylabs/react-link'\nimport { ReactElement } from 'react'\n\nimport { useGradientStyles, useIsMobile } from '../../hooks'\n\nexport interface BasicHeroProps extends FlexBoxProps {\n backgroundColor?: string\n backgroundImage?: string\n button1Href?: string\n button1Text?: string\n button1To?: string\n button2Href?: string\n button2Text?: string\n button2To?: string\n desc: string\n gradientTitle?: string\n heroImage?: string\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n sx?: Record<string, string>\n textColor?: string\n title: string\n title2?: string\n}\n\ninterface SubLinkSectionProps {\n backgroundImageAlignment?: boolean\n subLinkIcon?: ReactElement\n subLinkPath?: string\n subLinkText1?: string\n subLinkText2?: string\n}\n\ninterface ButtonSectionProps {\n buttonText?: string\n href?: string\n to?: string\n}\nconst SubLinkSection: React.FC<SubLinkSectionProps> = ({ backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2 }) => {\n return (\n <FlexGrowRow\n width=\"100%\"\n sx={{ flexDirection: { md: 'row', xs: 'column' }, justifyContent: { md: backgroundImageAlignment ? 'flex-start' : 'center', xs: 'center' } }}\n >\n {subLinkIcon ? <span>{subLinkIcon} </span> : null}\n <Typography>{subLinkText1} </Typography>\n <LinkEx href={subLinkPath} underline=\"always\" target=\"_blank\" color=\"inherit\">\n <Typography>{subLinkText2}</Typography>\n </LinkEx>\n </FlexGrowRow>\n )\n}\n\nconst ButtonSection: React.FC<ButtonSectionProps> = ({ href, to, buttonText }) => {\n const isMobile = useIsMobile()\n return (\n <ButtonEx\n fullWidth={true}\n marginTop={1}\n marginBottom={1}\n marginRight={isMobile ? 2 : 1}\n marginLeft={isMobile ? 2 : 0}\n target={href ?? '_blank'}\n to={to}\n href={href}\n color=\"primary\"\n variant=\"contained\"\n paddingX={3}\n sx={{ display: href || to ? 'flex' : 'none' }}\n >\n {buttonText}\n </ButtonEx>\n )\n}\n\nexport const BasicHero: React.FC<BasicHeroProps> = ({\n backgroundImage,\n title,\n gradientTitle,\n backgroundColor,\n textColor,\n desc,\n heroImage,\n title2,\n subLinkText1,\n subLinkText2,\n subLinkPath,\n button1Text,\n button2Text,\n button2To,\n button1To,\n button2Href,\n button1Href,\n subLinkIcon,\n sx,\n ...props\n}) => {\n const isMobile = useIsMobile()\n const { classes } = useGradientStyles()\n return (\n <FlexGrowCol\n sx={{\n backgroundImage: `url(${backgroundImage})`,\n backgroundPosition: { lg: 'bottom', md: 'center left', xs: 'top left' },\n minHeight: {\n md: '500px',\n sm: '400px',\n xs: '200px',\n },\n ...(sx ?? {}),\n }}\n style={{\n backgroundColor: backgroundColor ?? '',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n color: textColor ?? '',\n }}\n {...props}\n >\n <Container>\n <Grid\n container\n justifyContent=\"center\"\n alignItems=\"center\"\n sx={{\n alignItems: { xs: 'center' },\n justifyContent: { xs: 'center' },\n }}\n >\n <Grid item xs={12} sm={8} md={backgroundImage ? 6 : 8} lg={backgroundImage ? 6 : 8}>\n <FlexGrowCol paddingY={2} sx={{ alignItems: { xs: backgroundImage && !isMobile ? 'flex-start' : 'center' } }}>\n <Typography variant=\"h1\" component=\"h1\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {title ? <span>{`${title} `}</span> : null}\n {gradientTitle ? <span className={classes().heading}> {` ${gradientTitle}`}</span> : null}\n {title2 ? <span>{` ${title2}`}</span> : null}\n </Typography>\n <Typography variant=\"body1\" component=\"h2\" gutterBottom textAlign={backgroundImage && !isMobile ? 'left' : 'center'}>\n {desc}\n </Typography>\n <FlexGrowRow sx={{ flexDirection: { lg: 'row', xs: 'column' } }} width=\"100%\" marginTop={1}>\n <ButtonSection href={button1Href} to={button1To} buttonText={button1Text} />\n <ButtonSection href={button2Href} to={button2To} buttonText={button2Text} />\n </FlexGrowRow>\n <SubLinkSection\n subLinkIcon={subLinkIcon}\n subLinkText1={subLinkText1}\n subLinkText2={subLinkText2}\n subLinkPath={subLinkPath}\n backgroundImageAlignment={backgroundImage ? true : false}\n />\n </FlexGrowCol>\n </Grid>\n <Grid item xs={12} md={6}>\n {heroImage ? <img src={heroImage} width=\"100%\" /> : null}\n </Grid>\n </Grid>\n </Container>\n </FlexGrowCol>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { makeStyles } from '@mui/styles'\nimport { CSSProperties } from 'react'\n\nexport interface GradientStyles {\n background: CSSProperties\n border: CSSProperties\n heading: CSSProperties\n}\n\nexport const colorfulGradientLightMode = () => {\n return {\n background: {\n backgroundImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)',\n display: 'inline-block',\n },\n }\n}\n\nexport const colorfulGradientDarkMode = () => {\n return {\n background: {\n backgroundImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n },\n border: {\n borderImage: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderImageSlice: 1,\n borderImageSource: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px',\n },\n heading: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n background: '-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)',\n display: 'inline-block',\n },\n }\n}\n\nexport const useGradientStyles = () => {\n const theme = useTheme()\n const styles = theme.palette.mode === 'dark' ? colorfulGradientDarkMode() : colorfulGradientLightMode()\n const classes = makeStyles(styles)\n return { classes, styles }\n}\n","import { Dispatch, SetStateAction, useState } from 'react'\n\nexport const useDataState = <T>(defaultValue: T | undefined): [T | undefined, Dispatch<SetStateAction<T | undefined>>] => {\n const [state, setState] = useState(defaultValue)\n\n const setDataState: Dispatch<SetStateAction<T | undefined>> = (value: SetStateAction<T | undefined>) => {\n try {\n if (JSON.stringify(value) !== JSON.stringify(state)) {\n setState(value)\n }\n } catch (ex) {\n console.error('setDataState failed! Make sure data type is stringifiable!')\n }\n }\n\n return [state, setDataState]\n}\n","import { useTheme } from '@mui/material'\n\nimport { useMediaQuery } from './useMediaQuery'\n\nexport const useIsMobile = () => {\n const theme = useTheme()\n return useMediaQuery(theme.breakpoints.down('md'))\n}\n","// eslint-disable-next-line import/no-deprecated\nimport { useMediaQuery } from '@mui/material'\n\n// eslint-disable-next-line import/no-deprecated\nexport { useMediaQuery }\n\n/* This file only exists to deal with the false positve lint error */\n","import { usePromise } from '@xylabs/react-promise'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const usePayloadHash = <TPayload extends Payload>(payload: TPayload | undefined | null) => {\n return usePromise(async () => (payload ? await PayloadHasher.hashAsync(payload) : undefined), [payload])[0]\n}\n\nexport const usePayloadHashes = <TPayload extends Payload>(payloads: TPayload[] | undefined | null) => {\n return usePromise(\n async () =>\n payloads\n ? await Promise.all(payloads.map<Promise<[TPayload, string]>>(async (payload) => [payload, await PayloadHasher.hashAsync(payload)]))\n : undefined,\n [payloads],\n )[0]\n}\n","import { usePromise as importedUsePromise } from '@xylabs/react-promise'\n\n/** @deprecated use @xylabs/react-promise version instead */\nexport const usePromise = importedUsePromise\n","import { ForwardedRef, useEffect, useRef } from 'react'\n\nexport const useShareForwardedRef = <T>(forwardedRef: ForwardedRef<T>, refresh = 0) => {\n // final ref that will share value with forward ref. this is the one to be attached to components\n const innerRef = useRef<T>(null)\n\n useEffect(() => {\n if (!forwardedRef) {\n return\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(innerRef.current)\n return\n } else {\n forwardedRef.current = innerRef.current\n }\n }, [forwardedRef, refresh])\n\n return innerRef\n}\n","import { Box, BoxProps, styled, Typography, TypographyProps, TypographyTypeMap } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { forwardRef, useCallback, useState } from 'react'\n\nimport { useShareForwardedRef } from '../hooks'\n\n/**\n * Heavily inspired by - https://stackoverflow.com/a/30362531/2803259\n */\n\nconst ComponentName = 'Ellipsize'\n\nexport interface EllipsizeRootProps extends BoxProps {\n beforeLineHeight?: string | number\n}\n\nconst EllipsizeRoot = styled(Box, {\n name: ComponentName,\n shouldForwardProp: (prop) => prop !== 'beforeLineHeight',\n slot: 'Root',\n})<EllipsizeRootProps>(({ beforeLineHeight }) => ({\n '&': {\n // because the cell content ends up absolutely positioned, the cell doesn't know the content height.\n // the pseudo element with a hidden character establishes the proper height of the content and hides it\n ':before': {\n content: \"'nbsp;'\",\n display: 'block',\n // take the pseudo element out of the `display: block` flow so it won't push against our actual content\n float: 'left',\n visibility: 'hidden',\n // since we are `display: block`, lineHeight is the height\n ...(beforeLineHeight && { lineHeight: beforeLineHeight }),\n },\n },\n}))\n\nconst EllipsizeInnerWrap = styled(Box, {\n name: ComponentName,\n slot: 'innerWrap',\n})(() => ({\n position: 'relative',\n}))\n\nconst EllipsizeContentWrap = styled(Typography, {\n name: ComponentName,\n shouldForwardProp: (prop) => prop !== 'ellipsisPosition',\n slot: 'contentWrap',\n})<TypographyWithComponentProps>(({ theme, ellipsisPosition, fontFamily }) => {\n return theme.unstable_sx({\n fontFamily: fontFamily ?? 'monospace',\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n right: 0,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...(ellipsisPosition === 'start'\n ? {\n direction: 'rtl',\n textAlign: 'left',\n }\n : {}),\n })\n})\n\nconst useClientHeight = () => {\n const [contentWrapHeight, setContentWrapHeight] = useState<string>()\n\n const contentWrapRef = useCallback((node: HTMLElement) => {\n if (node !== null) {\n setContentWrapHeight(node.clientHeight + 'px')\n }\n }, [])\n\n return { contentWrapHeight, contentWrapRef }\n}\n\n// See - https://mui.com/material-ui/guides/composition/#with-typescript\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type TypographyWithComponentProps<D extends React.ElementType = TypographyTypeMap['defaultComponent'], P = {}> = TypographyProps<D, P> & {\n ellipsisPosition?: 'start' | 'end'\n}\n\nexport interface EllipsizeBoxProps extends BoxProps {\n disableSharedRef?: boolean\n ellipsisPosition?: 'start' | 'end'\n typographyProps?: TypographyWithComponentProps\n}\n\nexport const EllipsizeBox = forwardRef<HTMLDivElement, WithChildren<EllipsizeBoxProps>>(\n ({ children, ellipsisPosition = 'start', disableSharedRef, typographyProps, ...props }, ref) => {\n // Allow syncing of :before pseudo element height with contentWrapHeight\n const { contentWrapRef, contentWrapHeight } = useClientHeight()\n const sharedRef = useShareForwardedRef(ref)\n\n return (\n <EllipsizeRoot beforeLineHeight={!!sharedRef && !disableSharedRef ? contentWrapHeight : undefined} {...props} ref={ref}>\n <EllipsizeInnerWrap>\n <EllipsizeContentWrap ref={contentWrapRef} component={'span'} ellipsisPosition={ellipsisPosition} variant=\"body2\" {...typographyProps}>\n {children}\n </EllipsizeContentWrap>\n </EllipsizeInnerWrap>\n </EllipsizeRoot>\n )\n },\n)\nEllipsizeBox.displayName = 'EllipsizeBox'\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { Component, ErrorInfo, ReactNode } from 'react'\n\nexport interface ErrorBoundaryProps {\n children: ReactNode\n // fallback as a static ReactNode value\n fallback?: ReactNode\n // fallback element that can receive the error as a prop\n fallbackWithError?: (error: Error) => ReactNode\n}\n\nexport interface ErrorBoundaryState {\n error?: Error\n}\n\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { error: undefined }\n }\n\n static getDerivedStateFromError(error: Error) {\n return { error }\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n console.error(`${error}: ${errorInfo}`)\n }\n\n override render() {\n if (this.state.error) {\n if (this.props.fallbackWithError) {\n return this.props.fallbackWithError(this.state.error)\n }\n return (\n this.props.fallback ?? (\n <FlexCol>\n <Typography variant=\"h1\">Something went wrong.</Typography>\n <Typography variant=\"body1\">[{this.state.error?.message}]</Typography>\n </FlexCol>\n )\n )\n }\n\n return this.props.children\n }\n}\n","import { ListItemButton, ListItemButtonProps } from '@mui/material'\nimport { MouseEvent } from 'react'\nimport { NavigateOptions, To, useNavigate } from 'react-router-dom'\n\nexport interface ListItemButtonExProps extends ListItemButtonProps {\n target?: string\n to?: To\n toOptions?: NavigateOptions\n}\n\nexport const ListItemButtonExTo: React.FC<ListItemButtonExProps> = ({ to, toOptions, onClick, ...props }) => {\n const navigate = useNavigate()\n const localOnClick = (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n if (to) {\n navigate(to, toOptions)\n }\n }\n\n return <ListItemButton onClick={localOnClick} {...props} />\n}\n\nexport const ListItemButtonEx: React.FC<ListItemButtonExProps> = ({ to, ...props }) => {\n if (to) {\n return <ListItemButtonExTo to={to} {...props} />\n } else {\n return <ListItemButton {...props} />\n }\n}\n","import { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { PropsWithChildren } from 'react'\n\nimport { NotFound } from './NotFound'\n\nexport interface LoadResultProps<T> {\n /** @deprecated - use error prop */\n apiError?: Error\n /** Defer error handling to the children and load them */\n error?: boolean\n notFound: boolean\n searchResult: T | undefined\n}\n\nexport function LoadResult<T>(props: PropsWithChildren<LoadResultProps<T>>) {\n const { notFound, error, searchResult, children } = props\n if (notFound) {\n return <NotFound />\n }\n if (error) {\n return <>{children}</>\n }\n if (searchResult === undefined) {\n return <FlexGrowRow busy minHeight=\"50px\" />\n } else {\n return <>{children}</>\n }\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'\n\nconst NotFound: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <Typography variant=\"h2\">Sorry!</Typography>\n <Typography marginY={3} variant=\"body2\">\n {\"Can't find anything here\"}\n </Typography>\n </FlexGrowCol>\n )\n}\n\nexport { NotFound }\n","import { Typography, TypographyProps } from '@mui/material'\n\nexport const Pipe: React.FC<TypographyProps> = (props) => {\n return (\n <Typography marginX={1} component=\"span\" {...props}>\n |\n </Typography>\n )\n}\n","import { Alert, AlertProps, AlertTitle } from '@mui/material'\n\nexport interface PayloadDataMissingProps extends AlertProps {\n alertBody?: string\n}\n\nexport const PayloadDataMissing: React.FC<PayloadDataMissingProps> = ({ alertBody, ...props }) => {\n return (\n <Alert severity=\"warning\" {...props}>\n <AlertTitle>Missing Data</AlertTitle>\n {alertBody ?? 'Payload is missing required data to render correctly'}\n </Alert>\n )\n}\n","import { styled } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\n\nconst StyledScrollTableOnSm = styled('div')(({ theme }) => ({\n [theme.breakpoints.down('md')]: {\n overflowX: 'scroll',\n },\n display: 'flex',\n flexGrow: 1,\n}))\n\nconst ScrollTableOnSm: React.FC<WithChildren> = ({ children }) => <StyledScrollTableOnSm>{children}</StyledScrollTableOnSm>\n\nexport { ScrollTableOnSm }\n","import { useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { forwardRef } from 'react'\n\nexport const SectionSpacingRow = forwardRef<HTMLDivElement, FlexBoxProps>(({ children, sx, ...props }, ref) => {\n const theme = useTheme()\n return (\n <FlexGrowRow\n sx={{\n paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },\n paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },\n ...sx,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {children}\n </FlexGrowRow>\n )\n})\n\nSectionSpacingRow.displayName = 'SectionSpacingRow'\n","import { forwardRef } from 'react'\n\nimport { EllipsisTableCell, EllipsisTableCellProps } from './EllipsisTableCell'\n\nexport interface AddressTableCellProps extends EllipsisTableCellProps {\n /** @deprecated - archives are no longer supported */\n archive?: string\n /** @deprecated - use events instead */\n exploreDomain?: string\n link?: boolean\n}\n\nconst AddressTableCell = forwardRef<HTMLTableCellElement, AddressTableCellProps>(({ value, archive, exploreDomain, link, ...props }, ref) => {\n const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : undefined\n const to = exploreDomain === undefined && archive ? `/archive/${archive}/address/${value}` : undefined\n\n return <EllipsisTableCell value={value} href={href} to={to} ref={ref} link={link} {...props} />\n})\n\nAddressTableCell.displayName = 'AddressTableCell'\nexport { AddressTableCell }\n","import { styled, TableCell, TableCellProps } from '@mui/material'\nimport { LinkEx } from '@xylabs/react-link'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { forwardRef, useMemo } from 'react'\nimport { To } from 'react-router-dom'\n\nimport { EllipsizeBox } from '../Ellipsize'\n\nconst EllipsisTableCellRoot = styled(TableCell, {\n name: 'EllipsisTableCell',\n shouldForwardProp: (prop) => prop !== 'width',\n slot: 'Root',\n})(({ width = '100%' }) => ({\n width,\n}))\n\nexport interface EllipsisTableCellProps extends TableCellProps {\n href?: string\n link?: boolean\n to?: To\n value?: string\n /**\n * Width of the table cell.\n *\n * Note: When using percentages, this value can be different than what you expect\n * if used on a cell that is not the first cell in the first row.\n */\n width?: string | number\n}\n\nexport const EllipsisTableCellWithRef: React.FC<WithChildren<EllipsisTableCellProps>> = forwardRef(\n ({ children, href, link = false, to, value, ...props }, ref) => {\n const data = useMemo(() => {\n if (children) {\n return children\n }\n if (href || link || to) {\n return (\n <LinkEx title={value} to={to} href={href} target={href ? '_blank' : undefined}>\n {value}\n </LinkEx>\n )\n }\n return value\n }, [children, href, link, to, value])\n return (\n <EllipsisTableCellRoot ref={ref} {...props}>\n <EllipsizeBox sx={{ cursor: link || to || href ? 'pointer' : 'inherit' }}>{data}</EllipsizeBox>\n </EllipsisTableCellRoot>\n )\n },\n)\n\nEllipsisTableCellWithRef.displayName = 'EllipsisTableCell'\nexport const EllipsisTableCell = EllipsisTableCellWithRef\n","import { useEvent } from '@xyo-network/react-event'\nimport { useRef } from 'react'\n\nimport { EllipsisTableCell, EllipsisTableCellProps } from './EllipsisTableCell'\n\nexport interface HashTableCellProps extends EllipsisTableCellProps {\n archive?: string\n dataType?: 'block' | 'payload'\n exploreDomain?: string\n network?: string\n}\n\nexport const HashTableCell: React.FC<HashTableCellProps> = ({ value, archive, dataType, network, exploreDomain, ...props }) => {\n const ref = useRef<HTMLTableCellElement | null>(null)\n const [tableCellRef, dispatch] = useEvent<HTMLTableCellElement>(undefined, ref)\n const hashPath = `/${dataType}/hash/${value}?network=${network ?? 'main'}`\n const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath\n\n const handleCellClick = () => {\n dispatch?.('hash', 'click', value)\n }\n\n return (\n <EllipsisTableCell\n onClick={handleCellClick}\n ref={tableCellRef}\n value={value}\n href={exploreDomain ? `${exploreDomain}${explorePath}}` : undefined}\n to={exploreDomain ? undefined : explorePath}\n {...props}\n />\n )\n}\n","import { Avatar, AvatarProps, useTheme } from '@mui/material'\n\nexport const ThemeTokenAvatar: React.FC<AvatarProps> = ({ ...props }) => {\n const theme = useTheme()\n return <Avatar sx={{ background: theme.palette.common.white }} {...props} />\n}\n","import { AvatarGroup, AvatarGroupProps } from '@mui/material'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar'\n\nexport interface ThemeTokenAvatarGroupProps extends AvatarGroupProps {\n images?: string[]\n}\n\nexport const ThemeTokenAvatarGroup: React.FC<ThemeTokenAvatarGroupProps> = ({ images, ...props }) => {\n return <AvatarGroup {...props}>{images?.map((image, index) => <ThemeTokenAvatar key={index} src={image} />)}</AvatarGroup>\n}\n","import { Paper, PaperProps, Typography, TypographyProps } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { ReactNode } from 'react'\nexport interface TokenBarProps extends PaperProps {\n text1?: ReactNode\n text1Props?: TypographyProps\n text1Suffix?: ReactNode\n text2?: ReactNode\n text2Props?: TypographyProps\n text2Suffix?: ReactNode\n}\n\nexport const TokenBar: React.FC<TokenBarProps> = ({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {\n return (\n <Paper elevation={0} className=\"TokenBar-root\" {...props}>\n <FlexRow justifyContent=\"space-between\">\n <Typography variant=\"body1\" fontWeight={300} margin={1} {...text1Props}>\n {text1}\n {text1Suffix}\n </Typography>\n <Typography variant=\"body1\" fontWeight={300} textTransform=\"uppercase\" color=\"gray\" margin={1} {...text2Props}>\n {text2}\n {text2Suffix}\n </Typography>\n </FlexRow>\n </Paper>\n )\n}\n","import ada from './ada.png'\nimport btc from './btc.png'\nimport busd from './busd.png'\nimport dai from './dai.png'\nimport dogecoin from './dogecoin.png'\nimport dot from './dot.png'\nimport ethereum from './ethereum.png'\nimport frax from './frax.png'\nimport link from './link.png'\nimport sol from './sol.png'\nimport tether from './tether.png'\nimport usdCoin from './usd-coin.png'\nimport weth from './weth.png'\nimport wrappedBtc from './wrapped-bitcoin.png'\nimport xyo from './xyo.png'\n\nexport { ada, btc, busd, dai, dogecoin, dot, ethereum, frax, link, sol, tether, usdCoin, weth, wrappedBtc, xyo }\n","import * as tokenImages from './img'\n\nexport interface TokenData {\n coinmarketcapLink: string\n etherscanLink: string\n icon: string\n readableName: string\n tokenSymbol: string\n uniqueTokenId: string\n}\n\nexport const TokenData: TokenData[] = [\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/multi-collateral-dai/',\n etherscanLink: 'https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f',\n icon: tokenImages.dai,\n readableName: 'Dai',\n tokenSymbol: 'dai',\n uniqueTokenId: 'dai',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/weth/',\n etherscanLink: 'https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n icon: tokenImages.weth,\n readableName: 'Weth',\n tokenSymbol: 'weth',\n uniqueTokenId: 'weth',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/ethereum/',\n etherscanLink: 'n/a',\n icon: tokenImages.ethereum,\n readableName: 'Ethereum',\n tokenSymbol: 'eth',\n uniqueTokenId: 'ethereum',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/bitcoin/',\n etherscanLink: 'n/a',\n icon: tokenImages.btc,\n readableName: 'Bitcoin',\n tokenSymbol: 'btc',\n uniqueTokenId: 'btc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/xyo/',\n etherscanLink: 'https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758',\n icon: tokenImages.xyo,\n readableName: 'XYO',\n tokenSymbol: 'xyo',\n uniqueTokenId: 'xyo',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/frax/',\n etherscanLink: 'https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e',\n icon: tokenImages.frax,\n readableName: 'Frax',\n tokenSymbol: 'frax',\n uniqueTokenId: 'frax',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/wrapped-bitcoin/',\n etherscanLink: 'https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n icon: tokenImages.wrappedBtc,\n readableName: 'Wrapped BTC',\n tokenSymbol: 'wbtc',\n uniqueTokenId: 'wbtc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/usd-coin/',\n etherscanLink: 'https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n icon: tokenImages.usdCoin,\n readableName: 'USDC',\n tokenSymbol: 'usdc',\n uniqueTokenId: 'usdc',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/tether/',\n etherscanLink: 'https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7',\n icon: tokenImages.tether,\n readableName: 'Tether',\n tokenSymbol: 'usdt',\n uniqueTokenId: 'usdt',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/cardano/',\n etherscanLink: 'https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98',\n icon: tokenImages.ada,\n readableName: 'Cardano',\n tokenSymbol: 'ada',\n uniqueTokenId: 'ada',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/binance-usd/',\n etherscanLink: 'https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53',\n icon: tokenImages.busd,\n readableName: 'Binance USD',\n tokenSymbol: 'busd',\n uniqueTokenId: 'busd',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/dogecoin/',\n etherscanLink: 'https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e',\n icon: tokenImages.dogecoin,\n readableName: 'Dogecoin',\n tokenSymbol: 'doge',\n uniqueTokenId: 'doge',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/polkadot-new/',\n etherscanLink: 'https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221',\n icon: tokenImages.dot,\n readableName: 'Polkadot',\n tokenSymbol: 'dot',\n uniqueTokenId: 'dot',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/chainlink/',\n etherscanLink: 'https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca',\n icon: tokenImages.link,\n readableName: 'ChainLink',\n tokenSymbol: 'link',\n uniqueTokenId: 'link',\n },\n {\n coinmarketcapLink: 'https://coinmarketcap.com/currencies/solana/',\n etherscanLink: 'https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8',\n icon: tokenImages.sol,\n readableName: 'Solana',\n tokenSymbol: 'sol',\n uniqueTokenId: 'sol',\n },\n]\n","import { TokenData } from './TokenData'\n\nexport const useGetTokenData = (symbols: (string | undefined)[]) => {\n return symbols?.map((symbol) => {\n const additionalTokenData = TokenData.find((x) => x.tokenSymbol === symbol)\n const checkedTokenData = additionalTokenData ? additionalTokenData : TokenData[0]\n return checkedTokenData\n })\n}\n","import { AvatarProps, CardHeader, CardHeaderProps, Typography } from '@mui/material'\nimport { ReactNode } from 'react'\n\nimport { ThemeTokenAvatar } from '../ThemeTokenAvatar'\n\nexport interface TokenSummaryProps extends CardHeaderProps {\n icon?: string\n imgBgProps?: AvatarProps\n symbol?: string\n symbolElement?: ReactNode\n}\n\nexport const TokenSummary: React.FC<TokenSummaryProps> = ({ icon, symbol, symbolElement, children, ...props }) => {\n return (\n <>\n <CardHeader\n avatar={<ThemeTokenAvatar src={icon} alt={symbol} />}\n title={\n <Typography variant=\"h6\" fontWeight={300} textTransform=\"uppercase\">\n {symbolElement ?? symbol}\n </Typography>\n }\n {...props}\n />\n {children}\n </>\n )\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { useGradientStyles } from '../hooks'\n\nexport interface TypographyExProps extends TypographyProps {\n gradient?: 'text'\n}\n\nexport const TypographyEx: React.FC<TypographyExProps> = ({ gradient, ...props }) => {\n const { classes } = useGradientStyles()\n return <Typography className={gradient === 'text' ? classes().heading : undefined} {...props} />\n}\n","import { createContext } from 'react'\n\nimport { ContextExState } from './State'\n\nexport const createContextEx = <T>() => createContext<T & ContextExState>({ provided: false } as T & ContextExState)\n","import { Context, useContext } from 'react'\n\nimport { ContextExState } from './State'\n\nexport const useContextEx = <T extends ContextExState>(context: Context<T>, contextName: string, required = true) => {\n const { provided, ...props } = useContext(context)\n if (!provided && required) {\n throw Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`)\n }\n return props\n}\n\nexport const useProvided = <T extends ContextExState>(context: Context<T>) => {\n const { provided } = useContext(context)\n return provided\n}\n","import { createContextEx } from '../contextEx'\n\nexport const ResolvedDivinerContext = <T,>() => createContextEx<T>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { Context, useEffect, useState } from 'react'\n\nimport { ContextExProviderProps } from '../contextEx'\nimport { ResolvedDivinerState } from './State'\n\nexport interface DivinerProviderProps<D> extends ContextExProviderProps, WithChildren {\n context: Context<ResolvedDivinerState<D>>\n diviner?: D\n}\n\n/** Exposes a resolved diviner */\nexport const ResolvedDivinerProvider = <D,>({ diviner: divinerProp, required = false, children, context }: DivinerProviderProps<D>) => {\n const [diviner, setDiviner] = useState<D | undefined>(divinerProp)\n\n useEffect(() => {\n if (divinerProp) {\n setDiviner(divinerProp)\n }\n }, [divinerProp, setDiviner])\n\n const resolveDiviner = () => {\n if (divinerProp) {\n return diviner === divinerProp ? diviner : undefined\n } else {\n return diviner\n }\n }\n\n return (\n <context.Provider\n value={{\n diviner: resolveDiviner(),\n provided: true,\n setDiviner,\n }}\n >\n {diviner ? children : required ? null : children}\n </context.Provider>\n )\n}\n","import { createContextEx } from '../contextEx'\nimport { ListModeContextState } from './State'\n\nexport const ListModeContext = createContextEx<ListModeContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { ListMode } from '../../models'\nimport { ListModeContext } from './Context'\n\nexport interface ListModeProviderProps {\n defaultListMode?: ListMode\n}\n\nexport const ListModeProvider: React.FC<WithChildren<ListModeProviderProps>> = ({ children, defaultListMode }) => {\n const [listMode, setListMode] = useState(defaultListMode ?? 'default')\n\n return (\n <ListModeContext.Provider\n value={{\n listMode,\n provided: true,\n setListMode,\n }}\n >\n {children}\n </ListModeContext.Provider>\n )\n}\n","import { useContextEx } from '../contextEx'\nimport { ListModeContext } from './Context'\n\nexport const useListMode = (required = false) => {\n return useContextEx(ListModeContext, 'ListMode', required)\n}\n","export const assertDefinedEx = <T>(expr?: T | null, message?: string): T => {\n if (expr !== null && expr !== undefined) return expr\n throw Error(message)\n}\n","export const parseMeausureString = (measure?: string, absolute?: number) => {\n if (measure !== undefined && measure !== null && measure.length > 0) {\n if (measure.endsWith('px')) {\n return parseFloat(measure.substring(0, measure.length - 2))\n } else if (measure.endsWith('%')) {\n if (absolute !== undefined) {\n return (parseFloat(measure.substring(0, measure.length - 1)) / 100) * absolute\n }\n throw Error('Error Parsing Measure [missing absolute]')\n } else if (measure.endsWith('vw')) {\n return (parseFloat(measure.substring(0, measure.length - 2)) / 100) * window.innerWidth\n } else if (measure.endsWith('vh')) {\n return (parseFloat(measure.substring(0, measure.length - 2)) / 100) * window.innerHeight\n }\n throw Error(`Error Parsing Measure [${measure}]`)\n }\n}\n\nexport const parsePadding = (padding: string) => {\n const parts = padding.split(' ')\n switch (parts.length) {\n case 4: {\n return {\n bottom: parts[2],\n left: parts[3],\n right: parts[1],\n top: parts[0],\n }\n }\n case 3: {\n return {\n bottom: parts[2],\n right: parts[1],\n top: parts[0],\n }\n }\n case 2: {\n return {\n bottom: parts[0],\n left: parts[1],\n right: parts[1],\n top: parts[0],\n }\n }\n case 1: {\n return {\n bottom: parts[0],\n left: parts[0],\n right: parts[0],\n top: parts[0],\n }\n }\n }\n}\n\nexport const getActualPaddingX = (element: HTMLElement) => {\n const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue('padding'))\n const paddingLeft =\n parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-left') ?? padding?.left, element.clientWidth) ?? 0\n const paddingRight =\n parseMeausureString(window.getComputedStyle(element, null).getPropertyValue('padding-right') ?? padding?.right, element.clientWidth) ?? 0\n return paddingLeft + paddingRight\n}\n","import {\n BubbleChartRounded as BubbleChartRoundedIcon,\n HubRounded as HubRoundedIcon,\n InsertLinkRounded as InsertLinkRoundedIcon,\n Inventory2Rounded as Inventory2RoundedIcon,\n TimerRounded as TimerRoundedIcon,\n VisibilityRounded as VisibilityRoundedIcon,\n} from '@mui/icons-material'\nimport { SvgIconProps } from '@mui/material'\nimport { ReactElement } from 'react'\n\nexport type NetworkComponentSlug = 'sentinel' | 'bridge' | 'archivist' | 'diviner' | 'node' | 'witness'\n\nexport interface NetworkComponentDetails {\n icon: (props?: SvgIconProps) => ReactElement\n name: string\n slug: NetworkComponentSlug\n}\n\nexport const networkComponents: NetworkComponentDetails[] = [\n { icon: (props) => <HubRoundedIcon {...props} />, name: 'Node', slug: 'node' },\n { icon: (props) => <TimerRoundedIcon {...props} />, name: 'Sentinel', slug: 'sentinel' },\n { icon: (props) => <InsertLinkRoundedIcon {...props} />, name: 'Bridge', slug: 'bridge' },\n { icon: (props) => <Inventory2RoundedIcon {...props} />, name: 'Archivist', slug: 'archivist' },\n { icon: (props) => <BubbleChartRoundedIcon {...props} />, name: 'Diviner', slug: 'diviner' },\n { icon: (props) => <VisibilityRoundedIcon {...props} />, name: 'Witness', slug: 'witness' },\n]\n\nexport const findNetworkComponentIndex = (slug: string) => {\n return networkComponents.findIndex((info) => info.slug === slug)\n}\n\nexport const findNetworkComponent = (slug: string) => {\n return networkComponents.find((info) => info.slug === slug)\n}\n"],"mappings":"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","names":["usePromise","import_material","import_material","import_material","import_material","import_react_promise","usePromise","importedUsePromise","import_react","import_jsx_runtime","import_material","import_react","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_react_flexbox","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_jsx_runtime","import_react","import_material","import_react_link","import_react","import_jsx_runtime","link","import_jsx_runtime","link","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","dai","weth","ethereum","btc","xyo","frax","wrappedBtc","usdCoin","tether","ada","busd","dogecoin","dot","link","sol","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_react","import_react","import_react","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","HubRoundedIcon","TimerRoundedIcon","InsertLinkRoundedIcon","Inventory2RoundedIcon","BubbleChartRoundedIcon","VisibilityRoundedIcon"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -814,33 +814,6 @@ var useListMode = (required = false) => {
|
|
|
814
814
|
return useContextEx(ListModeContext, "ListMode", required);
|
|
815
815
|
};
|
|
816
816
|
|
|
817
|
-
// src/contexts/Pixel/Context.ts
|
|
818
|
-
var PixelContext = createContextEx();
|
|
819
|
-
|
|
820
|
-
// src/contexts/Pixel/Provider.tsx
|
|
821
|
-
import { XyPixel } from "@xylabs/pixel";
|
|
822
|
-
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
823
|
-
var PixelProvider = (props) => {
|
|
824
|
-
const { children, id } = props;
|
|
825
|
-
XyPixel.init(id);
|
|
826
|
-
return /* @__PURE__ */ jsx22(
|
|
827
|
-
PixelContext.Provider,
|
|
828
|
-
{
|
|
829
|
-
value: {
|
|
830
|
-
pixel: XyPixel.instance,
|
|
831
|
-
provided: true
|
|
832
|
-
},
|
|
833
|
-
children
|
|
834
|
-
}
|
|
835
|
-
);
|
|
836
|
-
};
|
|
837
|
-
|
|
838
|
-
// src/contexts/Pixel/use.ts
|
|
839
|
-
var usePixel = (required = true) => {
|
|
840
|
-
const { pixel } = useContextEx(PixelContext, "Pixel", required);
|
|
841
|
-
return pixel;
|
|
842
|
-
};
|
|
843
|
-
|
|
844
817
|
// src/lib/assertDefinedEx.ts
|
|
845
818
|
var assertDefinedEx = (expr, message) => {
|
|
846
819
|
if (expr !== null && expr !== void 0)
|
|
@@ -918,14 +891,14 @@ import {
|
|
|
918
891
|
TimerRounded as TimerRoundedIcon,
|
|
919
892
|
VisibilityRounded as VisibilityRoundedIcon
|
|
920
893
|
} from "@mui/icons-material";
|
|
921
|
-
import { jsx as
|
|
894
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
922
895
|
var networkComponents = [
|
|
923
|
-
{ icon: (props) => /* @__PURE__ */
|
|
924
|
-
{ icon: (props) => /* @__PURE__ */
|
|
925
|
-
{ icon: (props) => /* @__PURE__ */
|
|
926
|
-
{ icon: (props) => /* @__PURE__ */
|
|
927
|
-
{ icon: (props) => /* @__PURE__ */
|
|
928
|
-
{ icon: (props) => /* @__PURE__ */
|
|
896
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(HubRoundedIcon, { ...props }), name: "Node", slug: "node" },
|
|
897
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(TimerRoundedIcon, { ...props }), name: "Sentinel", slug: "sentinel" },
|
|
898
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(InsertLinkRoundedIcon, { ...props }), name: "Bridge", slug: "bridge" },
|
|
899
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(Inventory2RoundedIcon, { ...props }), name: "Archivist", slug: "archivist" },
|
|
900
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(BubbleChartRoundedIcon, { ...props }), name: "Diviner", slug: "diviner" },
|
|
901
|
+
{ icon: (props) => /* @__PURE__ */ jsx22(VisibilityRoundedIcon, { ...props }), name: "Witness", slug: "witness" }
|
|
929
902
|
];
|
|
930
903
|
var findNetworkComponentIndex = (slug) => {
|
|
931
904
|
return networkComponents.findIndex((info) => info.slug === slug);
|
|
@@ -950,8 +923,6 @@ export {
|
|
|
950
923
|
NotFound,
|
|
951
924
|
PayloadDataMissing,
|
|
952
925
|
Pipe,
|
|
953
|
-
PixelContext,
|
|
954
|
-
PixelProvider,
|
|
955
926
|
ResolvedDivinerContext,
|
|
956
927
|
ResolvedDivinerProvider,
|
|
957
928
|
ScrollTableOnSm,
|
|
@@ -981,7 +952,6 @@ export {
|
|
|
981
952
|
useMediaQuery,
|
|
982
953
|
usePayloadHash,
|
|
983
954
|
usePayloadHashes,
|
|
984
|
-
usePixel,
|
|
985
955
|
usePromise2 as usePromise,
|
|
986
956
|
useProvided,
|
|
987
957
|
useShareForwardedRef
|