@xyo-network/react-shared 2.62.3 → 2.64.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  export declare const usePayloadHash: <TPayload extends {
2
2
  schema: string;
3
- }>(payload: TPayload | null | undefined) => string | undefined;
3
+ } & import("@xyo-network/payload-model").PayloadFields>(payload: TPayload | null | undefined) => string | undefined;
4
4
  export declare const usePayloadHashes: <TPayload extends {
5
5
  schema: string;
6
- }>(payloads: TPayload[] | null | undefined) => [TPayload, string][] | undefined;
6
+ } & import("@xyo-network/payload-model").PayloadFields>(payloads: TPayload[] | null | undefined) => [TPayload, string][] | undefined;
7
7
  //# sourceMappingURL=usePayloadHash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePayloadHash.d.ts","sourceRoot":"","sources":["../../src/hooks/usePayloadHash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;8DAE1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;+EAQ5B,CAAA"}
1
+ {"version":3,"file":"usePayloadHash.d.ts","sourceRoot":"","sources":["../../src/hooks/usePayloadHash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;mHAE1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;oIAQ5B,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export declare const usePayloadHash: <TPayload extends {
2
2
  schema: string;
3
- }>(payload: TPayload | null | undefined) => string | undefined;
3
+ } & import("@xyo-network/payload-model").PayloadFields>(payload: TPayload | null | undefined) => string | undefined;
4
4
  export declare const usePayloadHashes: <TPayload extends {
5
5
  schema: string;
6
- }>(payloads: TPayload[] | null | undefined) => [TPayload, string][] | undefined;
6
+ } & import("@xyo-network/payload-model").PayloadFields>(payloads: TPayload[] | null | undefined) => [TPayload, string][] | undefined;
7
7
  //# sourceMappingURL=usePayloadHash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePayloadHash.d.ts","sourceRoot":"","sources":["../../src/hooks/usePayloadHash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;8DAE1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;+EAQ5B,CAAA"}
1
+ {"version":3,"file":"usePayloadHash.d.ts","sourceRoot":"","sources":["../../src/hooks/usePayloadHash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;mHAE1B,CAAA;AAED,eAAO,MAAM,gBAAgB;;oIAQ5B,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
 
30
20
  // src/index.ts
@@ -1024,20 +1014,15 @@ var getActualPaddingX = (element) => {
1024
1014
  };
1025
1015
 
1026
1016
  // src/lib/networkComponents.tsx
1027
- var import_BubbleChartRounded = __toESM(require("@mui/icons-material/BubbleChartRounded"));
1028
- var import_HubRounded = __toESM(require("@mui/icons-material/HubRounded"));
1029
- var import_InsertLinkRounded = __toESM(require("@mui/icons-material/InsertLinkRounded"));
1030
- var import_Inventory2Rounded = __toESM(require("@mui/icons-material/Inventory2Rounded"));
1031
- var import_TimerRounded = __toESM(require("@mui/icons-material/TimerRounded"));
1032
- var import_VisibilityRounded = __toESM(require("@mui/icons-material/VisibilityRounded"));
1017
+ var import_icons_material = require("@mui/icons-material");
1033
1018
  var import_jsx_runtime23 = require("react/jsx-runtime");
1034
1019
  var networkComponents = [
1035
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_HubRounded.default, { ...props }), name: "Node", slug: "node" },
1036
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_TimerRounded.default, { ...props }), name: "Sentinel", slug: "sentinel" },
1037
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_InsertLinkRounded.default, { ...props }), name: "Bridge", slug: "bridge" },
1038
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_Inventory2Rounded.default, { ...props }), name: "Archivist", slug: "archivist" },
1039
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_BubbleChartRounded.default, { ...props }), name: "Diviner", slug: "diviner" },
1040
- { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_VisibilityRounded.default, { ...props }), name: "Witness", slug: "witness" }
1020
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.HubRounded, { ...props }), name: "Node", slug: "node" },
1021
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.TimerRounded, { ...props }), name: "Sentinel", slug: "sentinel" },
1022
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.InsertLinkRounded, { ...props }), name: "Bridge", slug: "bridge" },
1023
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.Inventory2Rounded, { ...props }), name: "Archivist", slug: "archivist" },
1024
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.BubbleChartRounded, { ...props }), name: "Diviner", slug: "diviner" },
1025
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons_material.VisibilityRounded, { ...props }), name: "Witness", slug: "witness" }
1041
1026
  ];
1042
1027
  var findNetworkComponentIndex = (slug) => {
1043
1028
  return networkComponents.findIndex((info) => info.slug === slug);
package/dist/index.js.map CHANGED
@@ -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/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 &amp;\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}&nbsp;</span> : null}\n <Typography>{subLinkText1}&nbsp;</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 * 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 BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'\nimport HubRoundedIcon from '@mui/icons-material/HubRounded'\nimport InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded'\nimport Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'\nimport TimerRoundedIcon from '@mui/icons-material/TimerRounded'\nimport VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'\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","import_jsx_runtime","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","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/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 &amp;\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}&nbsp;</span> : null}\n <Typography>{subLinkText1}&nbsp;</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 * 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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;;;ACAA,sBAA4C;AAIxC;AAFG,IAAM,YAAuC,CAAC,UAAU;AAC7D,SACE,4CAAC,8BAAW,SAAS,GAAG,WAAU,QAAQ,GAAG,OAAO,eAEpD;AAEJ;;;ACRA,IAAAC,mBAA4C;AAC5C,0BAAyB;AACzB,2BAAuD;AACvD,wBAAuB;;;ACHvB,IAAAC,mBAAyB;AACzB,oBAA2B;AASpB,IAAM,4BAA4B,MAAM;AAC7C,SAAO;AAAA,IACL,YAAY;AAAA,MACV,iBAAiB;AAAA,IACnB;AAAA,IACA,QAAQ;AAAA,MACN,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,sBAAsB;AAAA,MACtB,qBAAqB;AAAA,MACrB,YAAY;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,YAAY;AAAA,MACV,iBAAiB;AAAA,IACnB;AAAA,IACA,QAAQ;AAAA,MACN,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,sBAAsB;AAAA,MACtB,qBAAqB;AAAA,MACrB,YAAY;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,YAAQ,2BAAS;AACvB,QAAM,SAAS,MAAM,QAAQ,SAAS,SAAS,yBAAyB,IAAI,0BAA0B;AACtG,QAAM,cAAU,0BAAW,MAAM;AACjC,SAAO,EAAE,SAAS,OAAO;AAC3B;;;AC3DA,mBAAmD;AAE5C,IAAM,eAAe,CAAI,iBAA0F;AACxH,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,YAAY;AAE/C,QAAM,eAAwD,CAAC,UAAyC;AACtG,QAAI;AACF,UAAI,KAAK,UAAU,KAAK,MAAM,KAAK,UAAU,KAAK,GAAG;AACnD,iBAAS,KAAK;AAAA,MAChB;AAAA,IACF,SAAS,IAAI;AACX,cAAQ,MAAM,6DAA6D;AAAA,IAC7E;AAAA,EACF;AAEA,SAAO,CAAC,OAAO,YAAY;AAC7B;;;AChBA,IAAAC,mBAAyB;;;ACCzB,IAAAC,mBAA8B;;;ADGvB,IAAM,cAAc,MAAM;AAC/B,QAAM,YAAQ,2BAAS;AACvB,aAAO,gCAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AACnD;;;AEPA,2BAA2B;AAC3B,kBAA8B;AAGvB,IAAM,iBAAiB,CAA2B,YAAyC;AAChG,aAAO,iCAAW,YAAa,UAAU,MAAM,0BAAc,UAAU,OAAO,IAAI,QAAY,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5G;AAEO,IAAM,mBAAmB,CAA2B,aAA4C;AACrG,aAAO;AAAA,IACL,YACE,WACI,MAAM,QAAQ,IAAI,SAAS,IAAiC,OAAO,YAAY,CAAC,SAAS,MAAM,0BAAc,UAAU,OAAO,CAAC,CAAC,CAAC,IACjI;AAAA,IACN,CAAC,QAAQ;AAAA,EACX,EAAE,CAAC;AACL;;;AChBA,IAAAC,wBAAiD;AAG1C,IAAMC,cAAa,sBAAAC;;;ACH1B,IAAAC,gBAAgD;AAEzC,IAAM,uBAAuB,CAAI,cAA+B,UAAU,MAAM;AAErF,QAAM,eAAW,sBAAU,IAAI;AAE/B,+BAAU,MAAM;AACd,QAAI,CAAC,cAAc;AACjB;AAAA,IACF;AACA,QAAI,OAAO,iBAAiB,YAAY;AACtC,mBAAa,SAAS,OAAO;AAC7B;AAAA,IACF,OAAO;AACL,mBAAa,UAAU,SAAS;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,cAAc,OAAO,CAAC;AAE1B,SAAO;AACT;;;AP8BqB,IAAAC,sBAAA;AANrB,IAAM,iBAAgD,CAAC,EAAE,0BAA0B,aAAa,aAAa,cAAc,aAAa,MAAM;AAC5I,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,IAAI,EAAE,eAAe,EAAE,IAAI,OAAO,IAAI,SAAS,GAAG,gBAAgB,EAAE,IAAI,2BAA2B,eAAe,UAAU,IAAI,SAAS,EAAE;AAAA,MAE1I;AAAA,sBAAc,8CAAC,UAAM;AAAA;AAAA,UAAY;AAAA,WAAM,IAAU;AAAA,QAClD,8CAAC,+BAAY;AAAA;AAAA,UAAa;AAAA,WAAM;AAAA,QAChC,6CAAC,4BAAO,MAAM,aAAa,WAAU,UAAS,QAAO,UAAS,OAAM,WAClE,uDAAC,+BAAY,wBAAa,GAC5B;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAM,gBAA8C,CAAC,EAAE,MAAM,IAAI,WAAW,MAAM;AAChF,QAAM,WAAW,YAAY;AAC7B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,WAAW;AAAA,MACX,cAAc;AAAA,MACd,aAAa,WAAW,IAAI;AAAA,MAC5B,YAAY,WAAW,IAAI;AAAA,MAC3B,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA;AAAA,MACA,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,UAAU;AAAA,MACV,IAAI,EAAE,SAAS,QAAQ,KAAK,SAAS,OAAO;AAAA,MAE3C;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,QAAQ,IAAI,kBAAkB;AACtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,iBAAiB,OAAO,eAAe;AAAA,QACvC,oBAAoB,EAAE,IAAI,UAAU,IAAI,eAAe,IAAI,WAAW;AAAA,QACtE,WAAW;AAAA,UACT,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,QACA,GAAI,MAAM,CAAC;AAAA,MACb;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB,mBAAmB;AAAA,QACpC,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,QAChB,OAAO,aAAa;AAAA,MACtB;AAAA,MACC,GAAG;AAAA,MAEJ,uDAAC,8BACC;AAAA,QAAC;AAAA;AAAA,UACC,WAAS;AAAA,UACT,gBAAe;AAAA,UACf,YAAW;AAAA,UACX,IAAI;AAAA,YACF,YAAY,EAAE,IAAI,SAAS;AAAA,YAC3B,gBAAgB,EAAE,IAAI,SAAS;AAAA,UACjC;AAAA,UAEA;AAAA,yDAAC,yBAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,kBAAkB,IAAI,GAAG,IAAI,kBAAkB,IAAI,GAC/E,wDAAC,oCAAY,UAAU,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,mBAAmB,CAAC,WAAW,eAAe,SAAS,EAAE,GACzG;AAAA,4DAAC,+BAAW,SAAQ,MAAK,WAAU,MAAK,cAAY,MAAC,WAAW,mBAAmB,CAAC,WAAW,SAAS,UACrG;AAAA,wBAAQ,6CAAC,UAAM,aAAG,KAAK,KAAI,IAAU;AAAA,gBACrC,gBAAgB,8CAAC,UAAK,WAAW,QAAQ,EAAE,SAAS;AAAA;AAAA,kBAAE,IAAI,aAAa;AAAA,mBAAG,IAAU;AAAA,gBACpF,SAAS,6CAAC,UAAM,cAAI,MAAM,IAAG,IAAU;AAAA,iBAC1C;AAAA,cACA,6CAAC,+BAAW,SAAQ,SAAQ,WAAU,MAAK,cAAY,MAAC,WAAW,mBAAmB,CAAC,WAAW,SAAS,UACxG,gBACH;AAAA,cACA,8CAAC,oCAAY,IAAI,EAAE,eAAe,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE,GAAG,OAAM,QAAO,WAAW,GACvF;AAAA,6DAAC,iBAAc,MAAM,aAAa,IAAI,WAAW,YAAY,aAAa;AAAA,gBAC1E,6CAAC,iBAAc,MAAM,aAAa,IAAI,WAAW,YAAY,aAAa;AAAA,iBAC5E;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA,0BAA0B,kBAAkB,OAAO;AAAA;AAAA,cACrD;AAAA,eACF,GACF;AAAA,YACA,6CAAC,yBAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GACpB,sBAAY,6CAAC,SAAI,KAAK,WAAW,OAAM,QAAO,IAAK,MACtD;AAAA;AAAA;AAAA,MACF,GACF;AAAA;AAAA,EACF;AAEJ;;;AQpKA,IAAAC,mBAAsF;AAEtF,IAAAC,gBAAkD;AAgGxC,IAAAC,sBAAA;AAxFV,IAAM,gBAAgB;AAMtB,IAAM,oBAAgB,yBAAO,sBAAK;AAAA,EAChC,MAAM;AAAA,EACN,mBAAmB,CAAC,SAAS,SAAS;AAAA,EACtC,MAAM;AACR,CAAC,EAAsB,CAAC,EAAE,iBAAiB,OAAO;AAAA,EAChD,KAAK;AAAA;AAAA;AAAA,IAGH,WAAW;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAET,OAAO;AAAA,MACP,YAAY;AAAA;AAAA,MAEZ,GAAI,oBAAoB,EAAE,YAAY,iBAAiB;AAAA,IACzD;AAAA,EACF;AACF,EAAE;AAEF,IAAM,yBAAqB,yBAAO,sBAAK;AAAA,EACrC,MAAM;AAAA,EACN,MAAM;AACR,CAAC,EAAE,OAAO;AAAA,EACR,UAAU;AACZ,EAAE;AAEF,IAAM,2BAAuB,yBAAO,6BAAY;AAAA,EAC9C,MAAM;AAAA,EACN,mBAAmB,CAAC,SAAS,SAAS;AAAA,EACtC,MAAM;AACR,CAAC,EAAgC,CAAC,EAAE,OAAO,kBAAkB,WAAW,MAAM;AAC5E,SAAO,MAAM,YAAY;AAAA,IACvB,YAAY,cAAc;AAAA,IAC1B,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,GAAI,qBAAqB,UACrB;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,IACb,IACA,CAAC;AAAA,EACP,CAAC;AACH,CAAC;AAED,IAAM,kBAAkB,MAAM;AAC5B,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,wBAAiB;AAEnE,QAAM,qBAAiB,2BAAY,CAAC,SAAsB;AACxD,QAAI,SAAS,MAAM;AACjB,2BAAqB,KAAK,eAAe,IAAI;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO,EAAE,mBAAmB,eAAe;AAC7C;AAcO,IAAM,mBAAe;AAAA,EAC1B,CAAC,EAAE,UAAU,mBAAmB,SAAS,kBAAkB,iBAAiB,GAAG,MAAM,GAAG,QAAQ;AAE9F,UAAM,EAAE,gBAAgB,kBAAkB,IAAI,gBAAgB;AAC9D,UAAM,YAAY,qBAAqB,GAAG;AAE1C,WACE,6CAAC,iBAAc,kBAAkB,CAAC,CAAC,aAAa,CAAC,mBAAmB,oBAAoB,QAAY,GAAG,OAAO,KAC5G,uDAAC,sBACC,uDAAC,wBAAqB,KAAK,gBAAgB,WAAW,QAAQ,kBAAoC,SAAQ,SAAS,GAAG,iBACnH,UACH,GACF,GACF;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;;;AC1G3B,IAAAC,mBAA2B;AAC3B,IAAAC,wBAAwB;AACxB,IAAAC,gBAAgD;AAoCpC,IAAAC,sBAAA;AAtBL,IAAM,gBAAN,cAA4B,wBAAkD;AAAA,EACnF,YAAY,OAA2B;AACrC,UAAM,KAAK;AACX,SAAK,QAAQ,EAAE,OAAO,OAAU;AAAA,EAClC;AAAA,EAEA,OAAO,yBAAyB,OAAc;AAC5C,WAAO,EAAE,MAAM;AAAA,EACjB;AAAA,EAES,kBAAkB,OAAc,WAAsB;AAC7D,YAAQ,MAAM,GAAG,KAAK,KAAK,SAAS,EAAE;AAAA,EACxC;AAAA,EAES,SAAS;AAChB,QAAI,KAAK,MAAM,OAAO;AACpB,UAAI,KAAK,MAAM,mBAAmB;AAChC,eAAO,KAAK,MAAM,kBAAkB,KAAK,MAAM,KAAK;AAAA,MACtD;AACA,aACE,KAAK,MAAM,YACT,8CAAC,iCACC;AAAA,qDAAC,+BAAW,SAAQ,MAAK,mCAAqB;AAAA,QAC9C,8CAAC,+BAAW,SAAQ,SAAQ;AAAA;AAAA,UAAE,KAAK,MAAM,OAAO;AAAA,UAAQ;AAAA,WAAC;AAAA,SAC3D;AAAA,IAGN;AAEA,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;;;AC/CA,IAAAC,mBAAoD;AAEpD,8BAAiD;AAiBxC,IAAAC,sBAAA;AATF,IAAM,qBAAsD,CAAC,EAAE,IAAI,WAAW,SAAS,GAAG,MAAM,MAAM;AAC3G,QAAM,eAAW,qCAAY;AAC7B,QAAM,eAAe,CAAC,UAAsC;AAC1D,cAAU,KAAK;AACf,QAAI,IAAI;AACN,eAAS,IAAI,SAAS;AAAA,IACxB;AAAA,EACF;AAEA,SAAO,6CAAC,mCAAe,SAAS,cAAe,GAAG,OAAO;AAC3D;AAEO,IAAM,mBAAoD,CAAC,EAAE,IAAI,GAAG,MAAM,MAAM;AACrF,MAAI,IAAI;AACN,WAAO,6CAAC,sBAAmB,IAAS,GAAG,OAAO;AAAA,EAChD,OAAO;AACL,WAAO,6CAAC,mCAAgB,GAAG,OAAO;AAAA,EACpC;AACF;;;AC5BA,IAAAC,wBAA4B;;;ACA5B,IAAAC,mBAA2B;AAC3B,IAAAC,wBAA0C;AAItC,IAAAC,sBAAA;AAFJ,IAAM,WAAmC,CAAC,UAAU;AAClD,SACE,8CAAC,qCAAa,GAAG,OACf;AAAA,iDAAC,+BAAW,SAAQ,MAAK,oBAAM;AAAA,IAC/B,6CAAC,+BAAW,SAAS,GAAG,SAAQ,SAC7B,sCACH;AAAA,KACF;AAEJ;;;ADKW,IAAAC,sBAAA;AAHJ,SAAS,WAAc,OAA8C;AAC1E,QAAM,EAAE,UAAU,OAAO,cAAc,SAAS,IAAI;AACpD,MAAI,UAAU;AACZ,WAAO,6CAAC,YAAS;AAAA,EACnB;AACA,MAAI,OAAO;AACT,WAAO,6EAAG,UAAS;AAAA,EACrB;AACA,MAAI,iBAAiB,QAAW;AAC9B,WAAO,6CAAC,qCAAY,MAAI,MAAC,WAAU,QAAO;AAAA,EAC5C,OAAO;AACL,WAAO,6EAAG,UAAS;AAAA,EACrB;AACF;;;AE3BA,IAAAC,oBAA4C;AAIxC,IAAAC,sBAAA;AAFG,IAAM,OAAkC,CAAC,UAAU;AACxD,SACE,6CAAC,gCAAW,SAAS,GAAG,WAAU,QAAQ,GAAG,OAAO,eAEpD;AAEJ;;;ACRA,IAAAC,oBAA8C;AAQ1C,IAAAC,sBAAA;AAFG,IAAM,qBAAwD,CAAC,EAAE,WAAW,GAAG,MAAM,MAAM;AAChG,SACE,8CAAC,2BAAM,UAAS,WAAW,GAAG,OAC5B;AAAA,iDAAC,gCAAW,0BAAY;AAAA,IACvB,aAAa;AAAA,KAChB;AAEJ;;;ACbA,IAAAC,oBAAuB;AAW2C,IAAAC,uBAAA;AARlE,IAAM,4BAAwB,0BAAO,KAAK,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC1D,CAAC,MAAM,YAAY,KAAK,IAAI,CAAC,GAAG;AAAA,IAC9B,WAAW;AAAA,EACb;AAAA,EACA,SAAS;AAAA,EACT,UAAU;AACZ,EAAE;AAEF,IAAM,kBAA0C,CAAC,EAAE,SAAS,MAAM,8CAAC,yBAAuB,UAAS;;;ACXnG,IAAAC,oBAAyB;AACzB,IAAAC,wBAA0C;AAC1C,IAAAC,gBAA2B;AAKvB,IAAAC,uBAAA;AAHG,IAAM,wBAAoB,0BAAyC,CAAC,EAAE,UAAU,IAAI,GAAG,MAAM,GAAG,QAAQ;AAC7G,QAAM,YAAQ,4BAAS;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,eAAe,EAAE,IAAI,MAAM,QAAQ,CAAC,GAAG,IAAI,MAAM,QAAQ,CAAC,EAAE;AAAA,QAC5D,YAAY,EAAE,IAAI,MAAM,QAAQ,CAAC,GAAG,IAAI,MAAM,QAAQ,CAAC,EAAE;AAAA,QACzD,GAAG;AAAA,MACL;AAAA,MACA,OAAM;AAAA,MACN;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,kBAAkB,cAAc;;;ACtBhC,IAAAC,gBAA2B;;;ACA3B,IAAAC,oBAAkD;AAClD,IAAAC,qBAAuB;AAEvB,IAAAC,gBAAoC;AAmC1B,IAAAC,uBAAA;AA9BV,IAAM,4BAAwB,0BAAO,6BAAW;AAAA,EAC9C,MAAM;AAAA,EACN,mBAAmB,CAAC,SAAS,SAAS;AAAA,EACtC,MAAM;AACR,CAAC,EAAE,CAAC,EAAE,QAAQ,OAAO,OAAO;AAAA,EAC1B;AACF,EAAE;AAgBK,IAAM,+BAA2E;AAAA,EACtF,CAAC,EAAE,UAAU,MAAM,OAAO,OAAO,IAAI,OAAO,GAAG,MAAM,GAAG,QAAQ;AAC9D,UAAM,WAAO,uBAAQ,MAAM;AACzB,UAAI,UAAU;AACZ,eAAO;AAAA,MACT;AACA,UAAI,QAAQ,QAAQ,IAAI;AACtB,eACE,8CAAC,6BAAO,OAAO,OAAO,IAAQ,MAAY,QAAQ,OAAO,WAAW,QACjE,iBACH;AAAA,MAEJ;AACA,aAAO;AAAA,IACT,GAAG,CAAC,UAAU,MAAM,MAAM,IAAI,KAAK,CAAC;AACpC,WACE,8CAAC,yBAAsB,KAAW,GAAG,OACnC,wDAAC,gBAAa,IAAI,EAAE,QAAQ,QAAQ,MAAM,OAAO,YAAY,UAAU,GAAI,gBAAK,GAClF;AAAA,EAEJ;AACF;AAEA,yBAAyB,cAAc;AAChC,IAAM,oBAAoB;;;ADtCxB,IAAAC,uBAAA;AAJT,IAAM,uBAAmB,0BAAwD,CAAC,EAAE,OAAO,SAAS,eAAe,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC3I,QAAM,OAAO,iBAAiB,UAAU,GAAG,aAAa,YAAY,OAAO,YAAY,KAAK,KAAK;AACjG,QAAM,KAAK,kBAAkB,UAAa,UAAU,YAAY,OAAO,YAAY,KAAK,KAAK;AAE7F,SAAO,8CAAC,qBAAkB,OAAc,MAAY,IAAQ,KAAU,MAAa,GAAG,OAAO;AAC/F,CAAC;AAED,iBAAiB,cAAc;;;AEnB/B,yBAAyB;AACzB,IAAAC,gBAAuB;AAsBnB,IAAAC,uBAAA;AAXG,IAAM,gBAA8C,CAAC,EAAE,OAAO,SAAS,UAAU,SAAS,eAAe,GAAG,MAAM,MAAM;AAC7H,QAAM,UAAM,sBAAoC,IAAI;AACpD,QAAM,CAAC,cAAc,QAAQ,QAAI,6BAA+B,QAAW,GAAG;AAC9E,QAAM,WAAW,IAAI,QAAQ,SAAS,KAAK,YAAY,WAAW,MAAM;AACxE,QAAM,cAAc,UAAU,YAAY,OAAO,GAAG,QAAQ,KAAK;AAEjE,QAAM,kBAAkB,MAAM;AAC5B,eAAW,QAAQ,SAAS,KAAK;AAAA,EACnC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,KAAK;AAAA,MACL;AAAA,MACA,MAAM,gBAAgB,GAAG,aAAa,GAAG,WAAW,MAAM;AAAA,MAC1D,IAAI,gBAAgB,SAAY;AAAA,MAC/B,GAAG;AAAA;AAAA,EACN;AAEJ;;;AChCA,IAAAC,oBAA8C;AAIrC,IAAAC,uBAAA;AAFF,IAAM,mBAA0C,CAAC,EAAE,GAAG,MAAM,MAAM;AACvE,QAAM,YAAQ,4BAAS;AACvB,SAAO,8CAAC,4BAAO,IAAI,EAAE,YAAY,MAAM,QAAQ,OAAO,MAAM,GAAI,GAAG,OAAO;AAC5E;;;ACLA,IAAAC,oBAA8C;AASkB,IAAAC,uBAAA;AADzD,IAAM,wBAA8D,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACnG,SAAO,8CAAC,iCAAa,GAAG,OAAQ,kBAAQ,IAAI,CAAC,OAAO,UAAU,8CAAC,oBAA6B,KAAK,SAAZ,KAAmB,CAAE,GAAE;AAC9G;;;ACVA,IAAAC,oBAA+D;AAC/D,IAAAC,wBAAwB;AAapB,IAAAC,uBAAA;AAFG,IAAM,WAAoC,CAAC,EAAE,OAAO,YAAY,aAAa,OAAO,YAAY,aAAa,GAAG,MAAM,MAAM;AACjI,SACE,8CAAC,2BAAM,WAAW,GAAG,WAAU,iBAAiB,GAAG,OACjD,yDAAC,iCAAQ,gBAAe,iBACtB;AAAA,mDAAC,gCAAW,SAAQ,SAAQ,YAAY,KAAK,QAAQ,GAAI,GAAG,YACzD;AAAA;AAAA,MACA;AAAA,OACH;AAAA,IACA,+CAAC,gCAAW,SAAQ,SAAQ,YAAY,KAAK,eAAc,aAAY,OAAM,QAAO,QAAQ,GAAI,GAAG,YAChG;AAAA;AAAA,MACA;AAAA,OACH;AAAA,KACF,GACF;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBO,IAAM,YAAyB;AAAA,EACpC;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,MAAkB;AAAA,IAClB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,EACjB;AACF;;;AClIO,IAAM,kBAAkB,CAAC,YAAoC;AAClE,SAAO,SAAS,IAAI,CAAC,WAAW;AAC9B,UAAM,sBAAsB,UAAU,KAAK,CAAC,MAAM,EAAE,gBAAgB,MAAM;AAC1E,UAAM,mBAAmB,sBAAsB,sBAAsB,UAAU,CAAC;AAChF,WAAO;AAAA,EACT,CAAC;AACH;;;ACRA,IAAAC,oBAAqE;AAcjE,IAAAC,uBAAA;AAFG,IAAM,eAA4C,CAAC,EAAE,MAAM,QAAQ,eAAe,UAAU,GAAG,MAAM,MAAM;AAChH,SACE,gFACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,8CAAC,oBAAiB,KAAK,MAAM,KAAK,QAAQ;AAAA,QAClD,OACE,8CAAC,gCAAW,SAAQ,MAAK,YAAY,KAAK,eAAc,aACrD,2BAAiB,QACpB;AAAA,QAED,GAAG;AAAA;AAAA,IACN;AAAA,IACC;AAAA,KACH;AAEJ;;;AC3BA,IAAAC,oBAA4C;AAUnC,IAAAC,uBAAA;AAFF,IAAM,eAA4C,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AACnF,QAAM,EAAE,QAAQ,IAAI,kBAAkB;AACtC,SAAO,8CAAC,gCAAW,WAAW,aAAa,SAAS,QAAQ,EAAE,UAAU,QAAY,GAAG,OAAO;AAChG;;;ACXA,IAAAC,gBAA8B;AAIvB,IAAM,kBAAkB,UAAS,6BAAkC,EAAE,UAAU,MAAM,CAAuB;;;ACJnH,IAAAC,iBAAoC;AAI7B,IAAM,eAAe,CAA2B,SAAqB,aAAqB,WAAW,SAAS;AACnH,QAAM,EAAE,UAAU,GAAG,MAAM,QAAI,2BAAW,OAAO;AACjD,MAAI,CAAC,YAAY,UAAU;AACzB,UAAM,MAAM,MAAM,WAAW,iCAAiC,WAAW,4BAA4B;AAAA,EACvG;AACA,SAAO;AACT;AAEO,IAAM,cAAc,CAA2B,YAAwB;AAC5E,QAAM,EAAE,SAAS,QAAI,2BAAW,OAAO;AACvC,SAAO;AACT;;;ACbO,IAAM,yBAAyB,MAAU,gBAAmB;;;ACDnE,IAAAC,iBAA6C;AA6BzC,IAAAC,uBAAA;AAlBG,IAAM,0BAA0B,CAAK,EAAE,SAAS,aAAa,WAAW,OAAO,UAAU,QAAQ,MAA+B;AACrI,QAAM,CAAC,SAAS,UAAU,QAAI,yBAAwB,WAAW;AAEjE,gCAAU,MAAM;AACd,QAAI,aAAa;AACf,iBAAW,WAAW;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,QAAM,iBAAiB,MAAM;AAC3B,QAAI,aAAa;AACf,aAAO,YAAY,cAAc,UAAU;AAAA,IAC7C,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SACE;AAAA,IAAC,QAAQ;AAAA,IAAR;AAAA,MACC,OAAO;AAAA,QACL,SAAS,eAAe;AAAA,QACxB,UAAU;AAAA,QACV;AAAA,MACF;AAAA,MAEC,oBAAU,WAAW,WAAW,OAAO;AAAA;AAAA,EAC1C;AAEJ;;;ACrCO,IAAM,kBAAkB,gBAAsC;;;ACFrE,IAAAC,iBAAyB;AAarB,IAAAC,uBAAA;AAJG,IAAM,mBAAkE,CAAC,EAAE,UAAU,gBAAgB,MAAM;AAChH,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,mBAAmB,SAAS;AAErE,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,UAAU;AAAA,QACV;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;ACrBO,IAAM,cAAc,CAAC,WAAW,UAAU;AAC/C,SAAO,aAAa,iBAAiB,YAAY,QAAQ;AAC3D;;;ACFO,IAAM,eAAe,gBAAmC;;;ACH/D,mBAAwB;AAcpB,IAAAC,uBAAA;AALG,IAAM,gBAA4D,CAAC,UAAU;AAClF,QAAM,EAAE,UAAU,GAAG,IAAI;AACzB,uBAAQ,KAAK,EAAE;AAEf,SACE;AAAA,IAAC,aAAa;AAAA,IAAb;AAAA,MACC,OAAO;AAAA,QACL,OAAO,qBAAQ;AAAA,QACf,UAAU;AAAA,MACZ;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;ACpBO,IAAM,WAAW,CAAC,WAAW,SAAS;AAC3C,QAAM,EAAE,MAAM,IAAI,aAAa,cAAc,SAAS,QAAQ;AAC9D,SAAO;AACT;;;ACNO,IAAM,kBAAkB,CAAI,MAAiB,YAAwB;AAC1E,MAAI,SAAS,QAAQ,SAAS;AAAW,WAAO;AAChD,QAAM,MAAM,OAAO;AACrB;;;ACHO,IAAM,sBAAsB,CAAC,SAAkB,aAAsB;AAC1E,MAAI,YAAY,UAAa,YAAY,QAAQ,QAAQ,SAAS,GAAG;AACnE,QAAI,QAAQ,SAAS,IAAI,GAAG;AAC1B,aAAO,WAAW,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,CAAC;AAAA,IAC5D,WAAW,QAAQ,SAAS,GAAG,GAAG;AAChC,UAAI,aAAa,QAAW;AAC1B,eAAQ,WAAW,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,CAAC,IAAI,MAAO;AAAA,MACxE;AACA,YAAM,MAAM,0CAA0C;AAAA,IACxD,WAAW,QAAQ,SAAS,IAAI,GAAG;AACjC,aAAQ,WAAW,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,CAAC,IAAI,MAAO,OAAO;AAAA,IAC/E,WAAW,QAAQ,SAAS,IAAI,GAAG;AACjC,aAAQ,WAAW,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,CAAC,IAAI,MAAO,OAAO;AAAA,IAC/E;AACA,UAAM,MAAM,0BAA0B,OAAO,GAAG;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,CAAC,YAAoB;AAC/C,QAAM,QAAQ,QAAQ,MAAM,GAAG;AAC/B,UAAQ,MAAM,QAAQ;AAAA,IACpB,KAAK,GAAG;AACN,aAAO;AAAA,QACL,QAAQ,MAAM,CAAC;AAAA,QACf,MAAM,MAAM,CAAC;AAAA,QACb,OAAO,MAAM,CAAC;AAAA,QACd,KAAK,MAAM,CAAC;AAAA,MACd;AAAA,IACF;AAAA,IACA,KAAK,GAAG;AACN,aAAO;AAAA,QACL,QAAQ,MAAM,CAAC;AAAA,QACf,OAAO,MAAM,CAAC;AAAA,QACd,KAAK,MAAM,CAAC;AAAA,MACd;AAAA,IACF;AAAA,IACA,KAAK,GAAG;AACN,aAAO;AAAA,QACL,QAAQ,MAAM,CAAC;AAAA,QACf,MAAM,MAAM,CAAC;AAAA,QACb,OAAO,MAAM,CAAC;AAAA,QACd,KAAK,MAAM,CAAC;AAAA,MACd;AAAA,IACF;AAAA,IACA,KAAK,GAAG;AACN,aAAO;AAAA,QACL,QAAQ,MAAM,CAAC;AAAA,QACf,MAAM,MAAM,CAAC;AAAA,QACb,OAAO,MAAM,CAAC;AAAA,QACd,KAAK,MAAM,CAAC;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,YAAyB;AACzD,QAAM,UAAU,aAAa,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,SAAS,CAAC;AAC/F,QAAM,cACJ,oBAAoB,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,cAAc,KAAK,SAAS,MAAM,QAAQ,WAAW,KAAK;AACxI,QAAM,eACJ,oBAAoB,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,eAAe,KAAK,SAAS,OAAO,QAAQ,WAAW,KAAK;AAC1I,SAAO,cAAc;AACvB;;;AC9DA,4BAOO;AAac,IAAAC,uBAAA;AADd,IAAM,oBAA+C;AAAA,EAC1D,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,YAAA,EAAgB,GAAG,OAAO,GAAI,MAAM,QAAQ,MAAM,OAAO;AAAA,EAC7E,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,cAAA,EAAkB,GAAG,OAAO,GAAI,MAAM,YAAY,MAAM,WAAW;AAAA,EACvF,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,mBAAA,EAAuB,GAAG,OAAO,GAAI,MAAM,UAAU,MAAM,SAAS;AAAA,EACxF,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,mBAAA,EAAuB,GAAG,OAAO,GAAI,MAAM,aAAa,MAAM,YAAY;AAAA,EAC9F,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,oBAAA,EAAwB,GAAG,OAAO,GAAI,MAAM,WAAW,MAAM,UAAU;AAAA,EAC3F,EAAE,MAAM,CAAC,UAAU,8CAAC,sBAAAC,mBAAA,EAAuB,GAAG,OAAO,GAAI,MAAM,WAAW,MAAM,UAAU;AAC5F;AAEO,IAAM,4BAA4B,CAAC,SAAiB;AACzD,SAAO,kBAAkB,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI;AACjE;AAEO,IAAM,uBAAuB,CAAC,SAAiB;AACpD,SAAO,kBAAkB,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;AAC5D;","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","import_jsx_runtime","import_react","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","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"]}
package/dist/index.mjs CHANGED
@@ -938,12 +938,14 @@ var getActualPaddingX = (element) => {
938
938
  };
939
939
 
940
940
  // src/lib/networkComponents.tsx
941
- import BubbleChartRoundedIcon from "@mui/icons-material/BubbleChartRounded";
942
- import HubRoundedIcon from "@mui/icons-material/HubRounded";
943
- import InsertLinkRoundedIcon from "@mui/icons-material/InsertLinkRounded";
944
- import Inventory2RoundedIcon from "@mui/icons-material/Inventory2Rounded";
945
- import TimerRoundedIcon from "@mui/icons-material/TimerRounded";
946
- import VisibilityRoundedIcon from "@mui/icons-material/VisibilityRounded";
941
+ import {
942
+ BubbleChartRounded as BubbleChartRoundedIcon,
943
+ HubRounded as HubRoundedIcon,
944
+ InsertLinkRounded as InsertLinkRoundedIcon,
945
+ Inventory2Rounded as Inventory2RoundedIcon,
946
+ TimerRounded as TimerRoundedIcon,
947
+ VisibilityRounded as VisibilityRoundedIcon
948
+ } from "@mui/icons-material";
947
949
  import { jsx as jsx23 } from "react/jsx-runtime";
948
950
  var networkComponents = [
949
951
  { icon: (props) => /* @__PURE__ */ jsx23(HubRoundedIcon, { ...props }), name: "Node", slug: "node" },