@xyo-network/react-chain-boundwitness 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/Plugin.d.ts +1 -1
- package/dist/types/Plugin.d.ts.map +1 -1
- package/dist/types/components/Card/Card.d.ts +2 -2
- package/dist/types/components/Card/Card.d.ts.map +1 -1
- package/dist/types/components/Card/CardContent/AddressAvatarGroup.d.ts +1 -1
- package/dist/types/components/Card/CardContent/AddressAvatarGroup.d.ts.map +1 -1
- package/dist/types/components/Card/CardContent/CardContent.d.ts +2 -2
- package/dist/types/components/Card/CardContent/CardContent.d.ts.map +1 -1
- package/dist/types/components/Card/CardContent/SchemaAvatarGroup.d.ts +1 -1
- package/dist/types/components/Card/CardContent/SchemaAvatarGroup.d.ts.map +1 -1
- package/dist/types/components/Card/CardContent/layout/CardColumnTitle.d.ts +1 -1
- package/dist/types/components/Card/CardContent/layout/CardColumnTitle.d.ts.map +1 -1
- package/dist/types/components/Card/CardHeader/CardHeader.d.ts +4 -3
- package/dist/types/components/Card/CardHeader/CardHeader.d.ts.map +1 -1
- package/dist/types/components/Details/BoundWitnessLinksDetails.d.ts +2 -2
- package/dist/types/components/Details/BoundWitnessLinksDetails.d.ts.map +1 -1
- package/dist/types/components/Details/Box/DetailsBox.d.ts +2 -2
- package/dist/types/components/Details/Box/DetailsBox.d.ts.map +1 -1
- package/dist/types/components/Details/Card/DetailsCard.d.ts +1 -1
- package/dist/types/components/Details/Card/DetailsCard.d.ts.map +1 -1
- package/dist/types/components/Details/Card/DetailsCardContent.d.ts +4 -3
- package/dist/types/components/Details/Card/DetailsCardContent.d.ts.map +1 -1
- package/dist/types/components/Details/Card/DetailsCardInner.d.ts +1 -1
- package/dist/types/components/Details/Card/DetailsCardInner.d.ts.map +1 -1
- package/dist/types/components/Details/Card/Navigation/BottomNavigation.d.ts +4 -3
- package/dist/types/components/Details/Card/Navigation/BottomNavigation.d.ts.map +1 -1
- package/dist/types/components/Details/Card/Navigation/NavigationTabs.d.ts +4 -3
- package/dist/types/components/Details/Card/Navigation/NavigationTabs.d.ts.map +1 -1
- package/dist/types/components/Details/Details.d.ts +2 -2
- package/dist/types/components/Details/Details.d.ts.map +1 -1
- package/dist/types/components/Details/ValidationDetails.d.ts +2 -2
- package/dist/types/components/Details/ValidationDetails.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/BWActions.d.ts +4 -3
- package/dist/types/components/_shared/Actions/BWActions.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/Verification.d.ts +2 -2
- package/dist/types/components/_shared/Actions/Verification.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/_shared/ActionMenuItemProps.d.ts +2 -2
- package/dist/types/components/_shared/Actions/_shared/ActionMenuItemProps.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/_shared/MenuItemDialog.d.ts +1 -1
- package/dist/types/components/_shared/Actions/_shared/MenuItemDialog.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/json/MenuItem.d.ts +1 -1
- package/dist/types/components/_shared/Actions/json/MenuItem.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/previous-hash/DialogContent.d.ts +2 -2
- package/dist/types/components/_shared/Actions/previous-hash/DialogContent.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/previous-hash/MenuItem.d.ts +1 -1
- package/dist/types/components/_shared/Actions/previous-hash/MenuItem.d.ts.map +1 -1
- package/dist/types/components/_shared/Actions/previous-hash/QuickTipButton.d.ts +2 -2
- package/dist/types/components/_shared/Actions/previous-hash/QuickTipButton.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/BackPaperAdornment.d.ts +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/BackPaperAdornment.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornment.d.ts +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornment.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornmentIconButton.d.ts +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornmentIconButton.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.d.ts +2 -2
- package/dist/types/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/Heading.d.ts +1 -1
- package/dist/types/components/_shared/Heading/Heading.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HeadingPaper/HeadingPaper.d.ts +2 -2
- package/dist/types/components/_shared/Heading/HeadingPaper/HeadingPaper.d.ts.map +1 -1
- package/dist/types/components/_shared/Heading/HeadingProps.d.ts +3 -3
- package/dist/types/components/_shared/Heading/HeadingProps.d.ts.map +1 -1
- package/dist/types/components/_shared/Payloads/PayloadsPropertyGroup.d.ts +3 -3
- package/dist/types/components/_shared/Payloads/PayloadsPropertyGroup.d.ts.map +1 -1
- package/dist/types/components/_shared/Payloads/PayloadsTable.d.ts +4 -3
- package/dist/types/components/_shared/Payloads/PayloadsTable.d.ts.map +1 -1
- package/dist/types/components/_shared/Payloads/payloads-table/TableBody.d.ts +2 -2
- package/dist/types/components/_shared/Payloads/payloads-table/TableBody.d.ts.map +1 -1
- package/dist/types/components/_shared/Payloads/payloads-table/TableBodyFiltered.d.ts +1 -1
- package/dist/types/components/_shared/Payloads/payloads-table/TableBodyFiltered.d.ts.map +1 -1
- package/dist/types/components/_shared/Payloads/payloads-table/TableHead.d.ts +1 -1
- package/dist/types/components/_shared/Payloads/payloads-table/TableHead.d.ts.map +1 -1
- package/dist/types/components/_shared/Signatures/SignatureDetails.d.ts +2 -2
- package/dist/types/components/_shared/Signatures/SignatureDetails.d.ts.map +1 -1
- package/dist/types/components/_shared/Signatures/SignatureTable.d.ts +2 -2
- package/dist/types/components/_shared/Signatures/SignatureTable.d.ts.map +1 -1
- package/dist/types/components/_shared/Signatures/SignatureTableRow.d.ts +1 -1
- package/dist/types/components/_shared/Signatures/SignatureTableRow.d.ts.map +1 -1
- package/eslint.config.mjs +24 -0
- package/package.json +13 -13
- package/src/Plugin.ts +3 -2
- package/src/components/Card/Card.stories.tsx +1 -1
- package/src/components/Card/Card.tsx +4 -3
- package/src/components/Card/CardContent/AddressAvatarGroup.tsx +2 -3
- package/src/components/Card/CardContent/CardContent.tsx +3 -3
- package/src/components/Card/CardContent/SchemaAvatarGroup.tsx +2 -3
- package/src/components/Card/CardContent/layout/CardColumnTitle.tsx +2 -3
- package/src/components/Card/CardHeader/CardHeader.tsx +6 -4
- package/src/components/Details/BoundWitnessLinksDetails.tsx +3 -4
- package/src/components/Details/Box/DetailsBox.stories.tsx +2 -2
- package/src/components/Details/Box/DetailsBox.tsx +6 -4
- package/src/components/Details/Card/DetailsCard.stories.tsx +1 -1
- package/src/components/Details/Card/DetailsCard.tsx +2 -2
- package/src/components/Details/Card/DetailsCardContent.tsx +5 -5
- package/src/components/Details/Card/DetailsCardInner.tsx +4 -3
- package/src/components/Details/Card/Navigation/BottomNavigation.stories.tsx +1 -1
- package/src/components/Details/Card/Navigation/BottomNavigation.tsx +6 -5
- package/src/components/Details/Card/Navigation/NavigationTabs.stories.tsx +1 -1
- package/src/components/Details/Card/Navigation/NavigationTabs.tsx +6 -3
- package/src/components/Details/Details.stories.tsx +3 -3
- package/src/components/Details/Details.tsx +4 -3
- package/src/components/Details/ValidationDetails.tsx +3 -4
- package/src/components/_shared/Actions/BWActions.tsx +5 -3
- package/src/components/_shared/Actions/Verification.tsx +5 -3
- package/src/components/_shared/Actions/_shared/ActionMenuItemProps.ts +2 -2
- package/src/components/_shared/Actions/_shared/MenuItemDialog.tsx +2 -1
- package/src/components/_shared/Actions/json/MenuItem.tsx +4 -2
- package/src/components/_shared/Actions/previous-hash/DialogContent.tsx +3 -2
- package/src/components/_shared/Actions/previous-hash/MenuItem.tsx +4 -2
- package/src/components/_shared/Actions/previous-hash/QuickTipButton.tsx +3 -2
- package/src/components/_shared/Heading/HashHeadingPaper/Adornment/BackPaperAdornment.tsx +1 -1
- package/src/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornment.tsx +2 -1
- package/src/components/_shared/Heading/HashHeadingPaper/Adornment/PaperAdornmentIconButton.tsx +2 -3
- package/src/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.stories.tsx +1 -1
- package/src/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.tsx +4 -2
- package/src/components/_shared/Heading/Heading.tsx +2 -2
- package/src/components/_shared/Heading/HeadingPaper/HeadingPaper.tsx +3 -4
- package/src/components/_shared/Heading/HeadingProps.tsx +3 -3
- package/src/components/_shared/Payloads/PayloadsPropertyGroup.tsx +4 -3
- package/src/components/_shared/Payloads/PayloadsTable.tsx +5 -3
- package/src/components/_shared/Payloads/payloads-table/TableBody.tsx +4 -2
- package/src/components/_shared/Payloads/payloads-table/TableBodyFiltered.tsx +2 -1
- package/src/components/_shared/Payloads/payloads-table/TableHead.tsx +1 -1
- package/src/components/_shared/Signatures/SignatureDetails.tsx +3 -2
- package/src/components/_shared/Signatures/SignatureTable.stories.tsx +1 -1
- package/src/components/_shared/Signatures/SignatureTable.tsx +3 -4
- package/src/components/_shared/Signatures/SignatureTableRow.tsx +2 -1
- package/xy.config.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/_shared/Actions/BWActions.tsx","../../src/components/_shared/Actions/previous-hash/DialogContent.tsx","../../src/components/_shared/Actions/previous-hash/MenuItem.tsx","../../src/components/_shared/Actions/_shared/MenuItemDialog.tsx","../../src/components/_shared/Actions/previous-hash/QuickTipButton.tsx","../../src/components/_shared/Actions/Verification.tsx","../../src/components/_shared/Actions/json/MenuItem.tsx","../../src/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.tsx","../../src/components/_shared/Heading/HeadingPaper/HeadingPaper.tsx","../../src/components/_shared/Heading/Heading.tsx","../../src/components/_shared/Payloads/PayloadsPropertyGroup.tsx","../../src/components/_shared/Payloads/PayloadsTable.tsx","../../src/components/_shared/Payloads/payloads-table/TableBody.tsx","../../src/components/_shared/Payloads/payloads-table/TableBodyFiltered.tsx","../../src/components/_shared/Payloads/payloads-table/TableHead.tsx","../../src/components/_shared/Signatures/SignatureDetails.tsx","../../src/components/_shared/Signatures/SignatureTable.tsx","../../src/components/_shared/Signatures/SignatureTableRow.tsx","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent/CardContent.tsx","../../src/components/Card/CardContent/AddressAvatarGroup.tsx","../../src/components/Card/CardContent/layout/CardColumnsFlex.tsx","../../src/components/Card/CardContent/layout/CardColumnTitle.tsx","../../src/components/Card/CardContent/layout/CardContentFlex.tsx","../../src/components/Card/CardContent/SchemaAvatarGroup.tsx","../../src/components/Card/CardHeader/CardHeader.tsx","../../src/components/Details/Box/DetailsBox.tsx","../../src/components/Details/Card/DetailsCard.tsx","../../src/components/Details/Card/DetailsCardInner.tsx","../../src/components/Details/Card/DetailsCardContent.tsx","../../src/components/Details/Card/Navigation/BottomNavigation.tsx","../../src/components/Details/Card/Navigation/NavigationTabs.tsx","../../src/components/Details/Details.tsx","../../src/components/Details/ValidationDetails.tsx","../../src/Plugin.ts"],"sourcesContent":["import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React, { ReactNode } from 'react'\n\nimport { BWPreviousHashQuickTipButton } from './previous-hash/index.ts'\nimport { BWVerification } from './Verification.tsx'\n\nexport interface BWActionsProps extends FlexBoxProps {\n additionalActions?: ReactNode\n boundwitness?: BoundWitness\n hideJSONButton?: boolean\n hidePreviousHash?: boolean\n hideValidation?: boolean\n priorActions?: ReactNode\n validationIconColors?: boolean\n}\n\nexport const BWActions: React.FC<BWActionsProps> = ({\n additionalActions,\n boundwitness,\n hideJSONButton,\n hideValidation,\n hidePreviousHash,\n priorActions,\n validationIconColors,\n ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n return (\n <FlexRow {...props}>\n {priorActions}\n {hidePreviousHash || boundwitness?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={boundwitness} />}\n {hideValidation ? null : <BWVerification iconColors={validationIconColors} boundwitness={boundwitness} />}\n {hideJSONButton\n ? null\n : (\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{boundwitness ? JSON.stringify(boundwitness, null, 2) : null}</pre>\n </QuickTipButton>\n )}\n {additionalActions}\n </FlexRow>\n )\n}\n","import { ContentCopy } from '@mui/icons-material'\nimport {\n Alert, AlertTitle, Collapse,\n DialogContent, DialogContentProps,\n} from '@mui/material'\nimport { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nexport interface PreviousHashDialogProps extends DialogContentProps {\n boundwitness?: BoundWitness\n}\n\nexport const PreviousHashDialogContent: React.FC<PreviousHashDialogProps> = ({ boundwitness, ...props }) => {\n const [copied, setCopied] = useState(false)\n\n const onCopy = async () => {\n await navigator.clipboard.writeText(boundwitness?.previous_hashes[0] ?? '')\n setCopied(true)\n setTimeout(() => {\n setCopied(false)\n }, 5000)\n }\n\n return (\n <DialogContent {...props}>\n <FlexGrowRow columnGap={2}>\n <ContentCopy sx={{ cursor: 'pointer' }} onClick={() => void onCopy()} />\n <EllipsizeBox flexGrow=\"1\" typographyProps={{ variant: 'body1' }}>\n {boundwitness?.previous_hashes.join(',')}\n </EllipsizeBox>\n </FlexGrowRow>\n <FlexRow>\n <Collapse in={copied} unmountOnExit>\n <Alert>\n <AlertTitle>Previous hash copied to clipboard</AlertTitle>\n </Alert>\n </Collapse>\n </FlexRow>\n </DialogContent>\n )\n}\n","import { Link } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport React, { MouseEventHandler, useState } from 'react'\n\nimport { ActionMenuItemProps, MenuItemDialog } from '../_shared/index.ts'\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\nexport interface BWPreviousHashMenuItemProps extends ActionMenuItemProps {}\n\nexport const BWPreviousHashMenuItem: React.FC<BWPreviousHashMenuItemProps> = ({\n boundwitness, onClick, onDialogClose, ...props\n}) => {\n const [open, setOpen] = useState(false)\n const onClose = () => {\n onDialogClose?.()\n setOpen(false)\n }\n\n const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n onClick?.(e)\n setOpen(true)\n }\n\n return (\n <>\n <MenuItem onClick={handleMenuClick} {...props}>\n <ListItemIcon><Link /></ListItemIcon>\n Previous Hash\n </MenuItem>\n <MenuItemDialog open={open} onClose={onClose} dialogTitle=\"Previous Hash\">\n <PreviousHashDialogContent boundwitness={boundwitness} />\n </MenuItemDialog>\n </>\n )\n}\n","import {\n Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface MenuItemDialogProps extends DialogProps {\n dialogTitle?: string\n}\n\nexport const MenuItemDialog: React.FC<MenuItemDialogProps> = ({\n children, dialogTitle, open, onClose, ...props\n}) => {\n return (\n <Dialog open={open} onClose={onClose} sx={{ '& .MuiPaper-root': { minWidth: '75%' } }} {...props}>\n <DialogTitle>{dialogTitle}</DialogTitle>\n <DialogContent>\n {children}\n </DialogContent>\n <DialogActions sx={{\n display: 'flex', flexDirection: 'row', justifyContent: 'end',\n }}\n >\n <Button variant=\"contained\" onClick={e => onClose?.(e, 'escapeKeyDown')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { LinkRounded as LinkRoundedIcon } from '@mui/icons-material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { QuickTipButton, QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport React from 'react'\n\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\nexport interface BWPreviousHashQuickTipButtonProps extends QuickTipButtonProps {\n boundwitness?: BoundWitness\n}\n\nexport const BWPreviousHashQuickTipButton: React.FC<BWPreviousHashQuickTipButtonProps> = ({ boundwitness, ...props }) => {\n const previousHash = boundwitness?.previous_hashes[0] ?? null\n const formattedPreviousHash = previousHash === null ? 'No Previous Hash' : `Previous Hash - ${ellipsize(previousHash, 8)}`\n\n return (\n <QuickTipButton\n Icon={LinkRoundedIcon}\n disabled={previousHash === null}\n hoverText={formattedPreviousHash}\n disableDialog={previousHash === null}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n {...props}\n >\n {previousHash === null\n ? null\n : <PreviousHashDialogContent boundwitness={boundwitness} />}\n </QuickTipButton>\n )\n}\n","import { CancelRounded as CancelRoundedIcon, CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon } from '@mui/icons-material'\nimport { SvgIconProps, Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { QuickTipButton, QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport React, { forwardRef } from 'react'\n\nconst InvalidIcon = forwardRef<SVGSVGElement, SvgIconProps>((props, ref) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />)\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface BWVerification extends QuickTipButtonProps {\n boundwitness?: BoundWitness\n iconColors?: boolean\n}\n\nexport const BWVerification: React.FC<BWVerification> = ({ boundwitness, iconColors }) => {\n const [errors = []] = usePromise(async () => await (boundwitness ? new BoundWitnessValidator(boundwitness) : undefined)?.validate(), [boundwitness])\n\n return (\n <QuickTipButton\n Icon={errors.length > 0\n ? forwardRef((props, ref) => {\n return <InvalidIcon color={iconColors ? 'error' : undefined} ref={ref} {...props} />\n })\n : forwardRef((props, ref) => {\n return <CheckCircleOutlineRoundedIcon color={iconColors ? 'success' : undefined} ref={ref} {...props} />\n })}\n hoverText={errors.length > 0 ? 'Invalid Bound Witness' : 'Valid'}\n >\n {errors.length > 0\n ? (\n <FlexCol flexWrap=\"wrap\" alignItems=\"start\">\n {errors.map((error, index) => {\n return <Typography key={index}>{error.toString()}</Typography>\n })}\n </FlexCol>\n )\n : <Typography>No Errors</Typography>}\n </QuickTipButton>\n )\n}\n","import { Code } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React, { MouseEventHandler, useState } from 'react'\n\nimport { ActionMenuItemProps, MenuItemDialog } from '../_shared/index.ts'\n\nexport interface BWJsonMenuItemProps extends ActionMenuItemProps {}\n\nexport const BWJsonMenuItem: React.FC<BWJsonMenuItemProps> = ({\n boundwitness, onClick, onDialogClose, ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n const [open, setOpen] = useState(false)\n const onClose = () => {\n onDialogClose?.()\n setOpen(false)\n }\n\n const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n onClick?.(e)\n setOpen(true)\n }\n\n const title = hash ? `JSON for ${ellipsize(hash, 5)}` : 'JSON'\n\n return (\n <>\n <MenuItem onClick={handleMenuClick} {...props}>\n <ListItemIcon><Code /></ListItemIcon>\n JSON\n </MenuItem>\n <MenuItemDialog open={open} onClose={onClose} dialogTitle={title}>\n <JsonViewerEx value={boundwitness} />\n </MenuItemDialog>\n </>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { Identicon, IdenticonProps } from '@xylabs/react-identicon'\nimport React, { forwardRef } from 'react'\n\nimport { HeadingPaper, HeadingPaperProps } from '../HeadingPaper/index.ts'\n\nexport interface HashHeadingPaperProps extends HeadingPaperProps {\n hash?: string\n identiconProps?: IdenticonProps\n}\n\nconst HashHeadingPaper = forwardRef<HTMLDivElement, HashHeadingPaperProps>(({\n hash, identiconProps, ...props\n}, ref) => {\n const theme = useTheme()\n\n return (\n <HeadingPaper\n heading={hash}\n fallbackText=\"No hash provided\"\n ref={ref}\n IconComponent={\n hash\n ? (\n <Identicon\n size={Number.parseInt(theme.spacing(3).replace('px', ''))}\n p={0.25}\n value={hash}\n sx={{ background: theme.palette.background.paper }}\n {...identiconProps}\n />\n )\n : null\n }\n sx={{ columnGap: 1 }}\n {...props}\n />\n )\n})\n\nHashHeadingPaper.displayName = 'HashHeadingPaper'\n\nexport { HashHeadingPaper }\n","import {\n Paper, PaperProps, styled,\n} from '@mui/material'\nimport React, { forwardRef } from 'react'\n\nimport { BWHeading } from '../Heading.tsx'\nimport { BWHeadingProps } from '../HeadingProps.tsx'\n\nexport interface HeadingPaperProps extends BWHeadingProps {\n paperProps?: PaperProps\n}\n\nconst HeadingPaper = forwardRef<HTMLDivElement, HeadingPaperProps>((props, ref) => {\n const {\n AdornmentStart, AdornmentEnd, paperProps,\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { paperProps: excludedPaperProps, ...bwHeadingProps } = props\n return (\n <StyledHeadingPaper hasAdornmentStart={!!AdornmentStart} hasAdornmentEnd={!!AdornmentEnd} elevation={4} ref={ref} {...paperProps}>\n <BWHeading {...bwHeadingProps} />\n </StyledHeadingPaper>\n )\n})\n\nHeadingPaper.displayName = 'HeadingPaper'\n\nexport { HeadingPaper }\n\ninterface StyledHeadingPaperProps extends PaperProps {\n hasAdornmentEnd?: boolean\n hasAdornmentStart?: boolean\n}\n\nconst StyledHeadingPaper = styled(Paper, {\n name: 'StyledHeadingPaper',\n shouldForwardProp: prop => !['hasAdornmentEnd', 'hasAdornmentStart', 'paperProps'].includes(prop as string),\n})<StyledHeadingPaperProps>(({\n hasAdornmentEnd, hasAdornmentStart, theme,\n}) => ({\n alignItems: 'center',\n columnGap: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n padding: theme.spacing(1),\n ...(hasAdornmentStart && { paddingLeft: 0 }),\n ...(hasAdornmentEnd && { paddingRight: 0 }),\n ...((hasAdornmentStart || hasAdornmentEnd) && { paddingBottom: 0, paddingTop: 0 }),\n paddingRight: theme.spacing(1),\n}))\n","import { TypographyVariant } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React, { useRef } from 'react'\n\nimport { BWHeadingProps, HeadingTextSizes } from './HeadingProps.tsx'\n\nexport const BWHeading: React.FC<BWHeadingProps> = ({\n AdornmentEnd,\n AdornmentStart,\n heading,\n headingProps,\n IconComponent,\n size = 'medium',\n fallbackText = 'No heading Provided',\n ...props\n}) => {\n const ellipsizeRef = useRef<HTMLDivElement | null>(null)\n const headingText = heading ?? fallbackText\n\n const sizeParser = (size: HeadingTextSizes) => {\n const map: Record<HeadingTextSizes, TypographyVariant> = {\n large: 'h4',\n medium: 'body1',\n small: 'caption',\n }\n const mappedSize = map[size]\n if (mappedSize === undefined) {\n throw new Error(`${size} is not a recognized TextSize`)\n }\n return mappedSize\n }\n\n return (\n <FlexGrowRow columnGap={2} {...props}>\n {AdornmentStart}\n {IconComponent}\n <EllipsizeBox\n title={headingText}\n width=\"100%\"\n typographyProps={{ variant: sizeParser(size), ...headingProps }}\n ref={ellipsizeRef}\n >\n {headingText}\n </EllipsizeBox>\n {AdornmentEnd}\n </FlexGrowRow>\n )\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadTableProps } from '@xyo-network/react-payload-table'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport React from 'react'\n\nimport { BoundWitnessPayloadsTable } from './PayloadsTable.tsx'\n\nexport type BoundWitnessPayloadsProps = PropertyGroupProps & {\n payload?: BoundWitness\n payloadTableProps?: PayloadTableProps\n}\n\nexport const BoundWitnessPayloads: React.FC<BoundWitnessPayloadsProps> = ({\n payload: boundwitness, payloadTableProps, ...props\n}) => {\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Payloads\" tip=\"The hash and schema for each payload witnessed\" {...props}>\n <BoundWitnessPayloadsTable boundwitness={boundwitness} {...payloadTableProps} />\n </PropertyGroup>\n )\n}\n","import { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadTableProps } from '@xyo-network/react-payload-table'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { TableEx } from '@xyo-network/react-table'\nimport React, { PropsWithChildren } from 'react'\n\nimport { BoundWitnessFilteredPayloadTableBody, BoundWitnessPayloadTableHead } from './payloads-table/index.ts'\n\nexport interface BoundWitnessPayloadTableProps extends PayloadTableProps {\n boundwitness?: BoundWitness\n}\n\nexport const BoundWitnessPayloadsTable: React.FC<BoundWitnessPayloadTableProps> = ({ boundwitness, ...props }) => {\n const hash = usePayloadHash(boundwitness)\n return (\n <BoundWitnessPayloadsTableInner {...props}>\n <BoundWitnessFilteredPayloadTableBody\n eventNoun=\"payload\"\n schemaFilter={BoundWitnessSchema}\n bwFilterType=\"notEqual\"\n noResults={boundwitness?.payload_hashes.length === 0}\n payloadHashes={boundwitness?.payload_hashes}\n payloadSchemas={boundwitness?.payload_schemas}\n boundwitnessHash={boundwitness ? hash : ''}\n />\n </BoundWitnessPayloadsTableInner>\n )\n}\n\nexport const BoundWitnessPayloadsTableForBWs: React.FC<BoundWitnessPayloadTableProps> = ({ boundwitness, ...props }) => {\n const hash = usePayloadHash(boundwitness)\n return (\n <BoundWitnessPayloadsTableInner {...props}>\n <BoundWitnessFilteredPayloadTableBody\n eventNoun=\"boundwitness\"\n schemaFilter={BoundWitnessSchema}\n noResults={boundwitness?.payload_hashes.length === 0}\n payloadHashes={boundwitness?.payload_hashes}\n payloadSchemas={boundwitness?.payload_schemas}\n boundwitnessHash={boundwitness ? hash : ''}\n />\n </BoundWitnessPayloadsTableInner>\n )\n}\n\nexport const BoundWitnessPayloadsTableInner: React.FC<PropsWithChildren<BoundWitnessPayloadTableProps>> = ({ children, ...props }) => (\n <TableEx {...props}>\n <BoundWitnessPayloadTableHead />\n {children}\n </TableEx>\n)\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n TableBody, TableCell, TableRow,\n} from '@mui/material'\nimport { EventNoun, useEvent } from '@xyo-network/react-event'\nimport { PayloadTableBodyProps, TableRowNoData } from '@xyo-network/react-payload-table'\nimport { HashTableCell } from '@xyo-network/react-shared'\nimport { useTableHeight } from '@xyo-network/react-table'\nimport React, { useLayoutEffect, useRef } from 'react'\n\nexport interface BoundWitnessPayloadTableBodyProps extends PayloadTableBodyProps {\n boundwitnessHash?: string\n eventNoun?: EventNoun\n payloadHashes?: string[]\n payloadSchemas?: string[]\n}\n\nexport const BoundWitnessPayloadTableBody: React.FC<BoundWitnessPayloadTableBodyProps> = ({\n boundwitnessHash,\n eventNoun = 'payload',\n payloadHashes,\n payloadSchemas,\n ...props\n}) => {\n const {\n payloads, archive, maxSchemaDepth, onRowClick, exploreDomain, emptyRows, noResults, NoResultRowComponent, ...tableProps\n } = props\n const ref = useRef<HTMLTableSectionElement | null>(null)\n const [tableRef, dispatch] = useEvent<HTMLTableSectionElement>(undefined, ref)\n\n const { setRowHeight } = useTableHeight()\n const tableRowRef = useRef<HTMLTableRowElement | null>(null)\n\n const handleOnClick = (hash: string) => {\n dispatch(eventNoun, 'click', hash)\n }\n\n useLayoutEffect(() => {\n if (tableRowRef.current) {\n setRowHeight?.(tableRowRef.current.offsetHeight)\n }\n })\n\n return (\n <TableBody ref={tableRef} {...tableProps}>\n {noResults && NoResultRowComponent\n ? <NoResultRowComponent />\n : null}\n {(\n payloadHashes\n && payloadSchemas\n && payloadHashes.length > 0\n && payloadHashes?.map((hash, index) => {\n return (\n <TableRow ref={tableRowRef} key={boundwitnessHash + hash} onClick={() => handleOnClick(hash)} sx={{ cursor: 'pointer' }}>\n <TableCell title={payloadSchemas[index]}>{payloadSchemas[index]}</TableCell>\n <HashTableCell title={hash}>{hash}</HashTableCell>\n </TableRow>\n )\n })) || (\n <>\n <TableRowNoData additionalCells={1} />\n </>\n )}\n </TableBody>\n )\n}\n","import React, { useMemo, useState } from 'react'\n\nimport { BoundWitnessPayloadTableBody, BoundWitnessPayloadTableBodyProps } from './TableBody.tsx'\n\nexport interface BoundWitnessFilteredPayloadTableBodyProps extends BoundWitnessPayloadTableBodyProps {\n bwFilterType?: 'equal' | 'notEqual'\n schemaFilter?: string\n}\n\nexport const BoundWitnessFilteredPayloadTableBody: React.FC<BoundWitnessFilteredPayloadTableBodyProps> = ({\n bwFilterType = 'equal',\n eventNoun = 'payload',\n payloadHashes,\n payloadSchemas,\n schemaFilter,\n ...props\n}) => {\n const [bwPayloadHashes, setBWPayloadHashes] = useState<string[]>()\n const [bwPayloadSchemas, setBWPayloadSchemas] = useState<string[]>()\n\n useMemo(() => {\n // if no filter, display all hashes and schemas\n if (!schemaFilter) {\n setBWPayloadHashes(payloadHashes)\n setBWPayloadSchemas(payloadSchemas)\n }\n }, [payloadHashes, payloadSchemas, schemaFilter])\n\n useMemo(() => {\n if (payloadSchemas && schemaFilter) {\n const filteredSchemas = payloadSchemas.filter((schema) => {\n return bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter\n })\n setBWPayloadSchemas(filteredSchemas)\n }\n }, [bwFilterType, payloadSchemas, schemaFilter])\n\n useMemo(() => {\n if (payloadHashes && payloadSchemas && schemaFilter) {\n // eslint-disable-next-line unicorn/no-array-reduce\n const filteredHashes = payloadSchemas.reduce<string[]>((acc, schema, index) => {\n if (bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter) {\n acc.push(payloadHashes[index])\n }\n return acc\n }, [])\n setBWPayloadHashes(filteredHashes)\n }\n }, [bwFilterType, payloadHashes, payloadSchemas, schemaFilter])\n return <BoundWitnessPayloadTableBody payloadHashes={bwPayloadHashes} payloadSchemas={bwPayloadSchemas} eventNoun={eventNoun} {...props} />\n}\n","import {\n styled, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport { PayloadTableHeadProps } from '@xyo-network/react-payload-table'\nimport { TableCellEx } from '@xyo-network/react-table'\nimport React from 'react'\n\nexport const BoundWitnessPayloadTableHead: React.FC<PayloadTableHeadProps> = (props) => {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n columns, ...tableHeadProps\n } = props\n return (\n <TableHead {...tableHeadProps}>\n <TableRow>\n <TableCellEx>\n <TableCellTypography variant=\"caption\">Schema</TableCellTypography>\n </TableCellEx>\n <TableCellEx>\n <TableCellTypography variant=\"caption\">Hash</TableCellTypography>\n </TableCellEx>\n </TableRow>\n </TableHead>\n )\n}\n\nconst TableCellTypography = styled(Typography, { name: 'TableCellTypography' })(() => ({ fontWeight: 'bold' }))\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PropertyGroup, PropertyGroupProps } from '@xyo-network/react-property'\nimport React from 'react'\n\nimport { BoundWitnessSignatureTable } from './SignatureTable.tsx'\n\nexport type BoundWitnessSignatureDetailsProps = PropertyGroupProps & {\n block?: BoundWitness\n}\n\nexport const BoundWitnessSignatureDetails: React.FC<BoundWitnessSignatureDetailsProps> = ({ block, ...props }) => {\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Signatures\" tip=\"The list of signatures for this block\" {...props}>\n <BoundWitnessSignatureTable block={block} />\n </PropertyGroup>\n )\n}\n","import {\n TableBody, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { TableRowNoData } from '@xyo-network/react-payload-table'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport {\n TableCellEx, TableEx, TableExProps,\n} from '@xyo-network/react-table'\nimport React from 'react'\n\nimport { BoundWitnessSignatureTableRow } from './SignatureTableRow.tsx'\n\nexport interface BoundWitnessSignatureTableProps extends TableExProps {\n block?: BoundWitness\n}\n\ninterface SignatureData {\n address: string\n previous_hash: string | null\n signature?: string\n}\n\nconst signatureDataFromBoundWitness = (boundWitness: BoundWitness) => {\n const result: SignatureData[] = []\n for (let i = 0; i < boundWitness.addresses.length; i++) {\n result.push({\n address: boundWitness.addresses[i],\n previous_hash: boundWitness.previous_hashes?.[i],\n signature: boundWitness.$signatures?.[i] ?? [],\n })\n }\n return result\n}\n\nexport const BoundWitnessSignatureTable: React.FC<BoundWitnessSignatureTableProps> = ({ block, ...props }) => {\n const signatureData = block ? signatureDataFromBoundWitness(block) : []\n const hash = usePayloadHash(block)\n\n return (\n <TableEx {...props}>\n <TableHead>\n <TableRow>\n <TableCellEx align=\"left\">\n <Typography variant=\"caption\">\n <strong>Address</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx\n sx={{ display: { md: 'table-cell', xs: 'none' } }}\n align=\"center\"\n width=\"10px\"\n >\n <Typography variant=\"caption\">\n <strong>Previous</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx\n sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n align=\"center\"\n width=\"10px\"\n >\n <Typography variant=\"caption\">\n <strong>Signature</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx align=\"center\" width=\"10px\">\n <Typography variant=\"caption\">\n <strong>Valid</strong>\n </Typography>\n </TableCellEx>\n </TableRow>\n </TableHead>\n <TableBody>\n {!signatureData || signatureData.length === 0\n ? <TableRowNoData additionalCells={3} />\n : null}\n {signatureData.map((data, index) => {\n return (\n <BoundWitnessSignatureTableRow\n key={`${data.signature}-${data.previous_hash}-${index}`}\n address={data.address}\n previousHash={data.previous_hash}\n hash={hash}\n signature={data.signature}\n clickableFields={['address']}\n />\n )\n })}\n </TableBody>\n </TableEx>\n )\n}\n","import {\n Link, TableCell, TableRow, TableRowProps,\n Typography,\n} from '@mui/material'\nimport { toUint8Array } from '@xylabs/arraybuffer'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { usePromise } from '@xylabs/react-promise'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { useEvent } from '@xyo-network/react-event'\nimport { AddressTableCell } from '@xyo-network/react-shared'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { MdClear, MdDone } from 'react-icons/md'\n\ntype clickableFields = 'address' | 'signature'\n\nexport interface BoundWitnessSignatureTableRowProps extends TableRowProps {\n address?: string\n archive?: string\n clickableFields?: clickableFields[]\n hash?: string\n previousHash?: string | null\n signature?: string\n}\n\nexport const BoundWitnessSignatureTableRow: React.FC<BoundWitnessSignatureTableRowProps> = ({\n address,\n archive,\n clickableFields,\n hash,\n previousHash,\n signature,\n ...props\n}) => {\n const [errors] = usePromise(\n async () =>\n hash && address\n ? await BoundWitnessValidator.validateSignature(\n toUint8Array(hash).buffer,\n toUint8Array(address).buffer,\n toUint8Array(signature)?.buffer,\n )\n : [],\n [hash, address, signature],\n )\n\n const [addressRef, addressDispatch] = useEvent<HTMLTableCellElement>()\n const [signatureRef, signatureDispatch] = useEvent<HTMLTableCellElement>()\n\n const formattedHash = (hash?: string | null) => (hash ? ellipsize(hash, 8) : '-')\n\n return (\n <TableRow {...props}>\n <AddressTableCell\n ref={addressRef}\n archive={archive}\n value={address}\n onClick={() => addressDispatch('address', 'click', address)}\n link={clickableFields?.includes('address')}\n />\n <TableCell\n sx={{ display: { md: 'table-cell', xs: 'none' } }}\n align=\"center\"\n >\n <Typography variant=\"body2\" fontFamily=\"monospace\">\n {formattedHash(previousHash)}\n </Typography>\n </TableCell>\n <TableCell\n sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n align=\"center\"\n >\n <Typography variant=\"body2\" fontFamily=\"monospace\" ref={signatureRef} onClick={() => signatureDispatch('signature', 'click', signature)}>\n {clickableFields?.includes('signature')\n ? <Link>{formattedHash(signature)}</Link>\n : formattedHash(signature)}\n </Typography>\n </TableCell>\n <TableCell key=\"valid\" align=\"center\">\n {errors === undefined\n ? <MdDone fontSize={18} color=\"gray\" />\n : errors?.length === 0\n ? <MdDone fontSize={18} color=\"green\" />\n : <MdClear color=\"red\" fontSize={18} />}\n </TableCell>\n </TableRow>\n )\n}\n","import { Card, CardProps } from '@mui/material'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n\nimport { BoundWitnessCardContent } from './CardContent/index.ts'\nimport { BoundWitnessCardHeader } from './CardHeader/index.ts'\n\nexport interface BoundWitnessCardProps extends CardProps {\n active?: boolean\n payload?: Payload\n}\nexport const BoundWitnessRendererCard: React.FC<BoundWitnessCardProps> = ({\n payload, active, ...props\n}) => {\n const boundwitness = payload as BoundWitness\n\n return (\n <Card {...props}>\n <BoundWitnessCardHeader payload={boundwitness} active={active} hideJSONButton hidePreviousHash hideValidation />\n <BoundWitnessCardContent payload={boundwitness} active={active} />\n </Card>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport React, { forwardRef } from 'react'\n\nimport { AddressAvatarGroup } from './AddressAvatarGroup.tsx'\nimport {\n CardColumnsFlex, CardColumnTitleH2, CardContentFlex,\n} from './layout/index.ts'\nimport { SchemaAvatarGroup } from './SchemaAvatarGroup.tsx'\n\nexport interface BoundWitnessCardContentProps extends CardContentProps {\n active?: boolean\n payload?: Payload\n}\n\nexport const BoundWitnessCardContent = forwardRef<HTMLDivElement, BoundWitnessCardContentProps>(({\n payload, active, ...props\n}, ref) => {\n const boundwitness = payload as Payload<BoundWitness>\n\n return (\n <CardContentFlex ref={ref} active={active} {...props}>\n <CardColumnsFlex>\n <CardColumnTitleH2>Payloads</CardColumnTitleH2>\n <SchemaAvatarGroup schemas={boundwitness?.payload_schemas} />\n </CardColumnsFlex>\n <CardColumnsFlex>\n <CardColumnTitleH2>Signers</CardColumnTitleH2>\n <AddressAvatarGroup addresses={boundwitness?.addresses} />\n </CardColumnsFlex>\n </CardContentFlex>\n )\n})\n\nBoundWitnessCardContent.displayName = 'BoundWitnessCardContent'\n","import {\n Avatar, AvatarGroup, AvatarGroupProps,\n} from '@mui/material'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useRef } from 'react'\n\nexport interface AddressAvatarGroupProps extends AvatarGroupProps {\n addresses?: string[]\n maxAvatars?: number\n}\n\nexport const AddressAvatarGroup: React.FC<AddressAvatarGroupProps> = ({\n addresses, maxAvatars = 4, ...props\n}) => {\n const ref = useRef<HTMLDivElement | null>(null)\n\n const size = ref.current ? ref.current.clientWidth * 0.65 : undefined\n\n return (\n <AvatarGroup max={maxAvatars} total={addresses?.length} {...props}>\n {addresses?.map((address, index) => (\n <Avatar key={index + address} title={address} ref={ref} sx={{ bgcolor: 'background.paper' }}>\n <Identicon value={address} position=\"absolute\" p={0.25} top={0} bottom={0} left={0} right={0} size={size} />\n </Avatar>\n ))}\n </AvatarGroup>\n )\n}\n","import { styled } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nexport const CardColumnsFlex = styled(FlexCol, { name: 'CardColumnsFlex' })(({ theme }) => ({\n ['@media only screen and (min-width: 333px)']: { minWidth: '50%' },\n minWidth: '100%',\n rowGap: theme.spacing(1),\n}))\n","import {\n styled, Typography, TypographyProps,\n} from '@mui/material'\nimport React from 'react'\n\nexport const CardColumnTitle = styled(Typography, { name: 'CardColumnTitle' })(({ theme }) => ({\n color: theme.palette.text.primary,\n fontWeight: 500,\n}))\n\nexport const CardColumnTitleH2: React.FC<TypographyProps> = props => <CardColumnTitle {...props} />\n","import {\n alpha, CardContent, styled,\n} from '@mui/material'\n\nexport interface CardContentFlexProps {\n active?: boolean\n}\n\nexport const CardContentFlex = styled(CardContent, { name: 'CardContentFlex', shouldForwardProp: prop => prop !== 'active' })<CardContentFlexProps>(\n ({ theme, active }) => ({\n [':last-child']: { paddingBottom: theme.spacing(1) },\n ...(active && { background: alpha(theme.palette.secondary.dark, 0.33) }),\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n rowGap: theme.spacing(1),\n }),\n)\n","import {\n Avatar, AvatarGroup, AvatarGroupProps,\n} from '@mui/material'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver'\nimport React, { useCallback } from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\ninterface SchemaAvatarGroupProps extends AvatarGroupProps {\n maxAvatars?: number\n schemas?: string[]\n}\n\nexport const SchemaAvatarGroup: React.FC<SchemaAvatarGroupProps> = ({\n schemas, maxAvatars = 4, ...props\n}) => {\n const { resolver } = usePayloadRenderPluginResolver()\n\n const resolveSchemaToIcon = useCallback(\n (schema: string, index: number) => {\n const SchemaAvatar = resolver?.resolve({ schema })?.components.avatar.image\n return SchemaAvatar\n ? <SchemaAvatar key={index + schema} />\n : (\n <Avatar\n key={index + schema}\n title={schema}\n sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }}\n >\n {schema === BoundWitnessSchema\n ? <VscSymbolMethod />\n : <VscSymbolNamespace />}\n </Avatar>\n )\n },\n [resolver],\n )\n\n return (\n <AvatarGroup max={maxAvatars} total={schemas?.length} {...props}>\n {schemas?.map((schema, index) => resolveSchemaToIcon(schema, index))}\n </AvatarGroup>\n )\n}\n","import {\n CardHeader, CardHeaderProps,\n styled, useTheme,\n} from '@mui/material'\nimport { Identicon } from '@xylabs/react-identicon'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React, { forwardRef, ReactNode } from 'react'\n\nimport { BWActions, BWHeading } from '../../_shared/index.ts'\n\nexport interface BoundWitnessCardHeaderProps extends CardHeaderProps {\n active?: boolean\n activeBgColor?: boolean\n additionalActions?: ReactNode\n hideJSONButton?: boolean\n hidePreviousHash?: boolean\n hideValidation?: boolean\n payload?: Payload\n}\n\nexport const BoundWitnessCardHeader = forwardRef<HTMLDivElement, BoundWitnessCardHeaderProps>(\n\n ({\n active = false,\n activeBgColor = true,\n additionalActions,\n hideJSONButton,\n hidePreviousHash,\n hideValidation,\n payload,\n ...props\n }, ref) => {\n const boundwitness = payload as BoundWitness\n const theme = useTheme()\n const hash = usePayloadHash(boundwitness)\n\n return (\n <CardHeaderHash\n ref={ref}\n active={active}\n activeBgColor={activeBgColor}\n title={(\n <BWHeading\n heading={hash}\n IconComponent={(\n <Identicon\n size={Number.parseInt(theme.spacing(2.5).replace('px', ''))}\n p={0.5}\n value={hash}\n sx={{ background: theme.palette.background.paper }}\n />\n )}\n />\n )}\n action={(\n <BWActions\n hideJSONButton={hideJSONButton}\n hideValidation={hideValidation}\n hidePreviousHash={hidePreviousHash}\n boundwitness={boundwitness}\n additionalActions={additionalActions}\n />\n )}\n {...props}\n />\n )\n },\n)\n\nBoundWitnessCardHeader.displayName = 'BoundWitnessCardHeader'\n\ninterface CardHeaderHashProps extends CardHeaderProps {\n active?: boolean\n activeBgColor?: boolean\n}\n\nconst CardHeaderHash = styled(CardHeader, {\n name: 'CardHeaderHash',\n shouldForwardProp: prop => !['active', 'activeBgColor'].includes(prop as string),\n})<CardHeaderHashProps>(({\n theme, active, activeBgColor,\n}) => ({\n '& .MuiCardHeader-action': {\n marginBottom: 0,\n marginTop: 0,\n },\n '& .MuiCardHeader-content': { overflow: 'visible' },\n '&.MuiCardHeader-root': {\n ...(active && activeBgColor && { backgroundColor: theme.palette.info }),\n borderBottom: `1px solid ${theme.palette.divider}`,\n paddingBottom: theme.spacing(1),\n paddingTop: theme.spacing(1),\n },\n 'padding': `${theme.spacing(0.5)} ${theme.spacing(2)}`,\n}))\n","import { Divider } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { PayloadDetailsListRenderProps, PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { TableHeightProvider } from '@xyo-network/react-table'\nimport React, { forwardRef, useMemo } from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessPayloadsTableForBWs,\n BoundWitnessSignatureTable,\n BWActions,\n HashHeadingPaper,\n HeadingPaper,\n} from '../../_shared/index.ts'\n\nconst BoundWitnessDetailsBox: React.FC<PayloadDetailsListRenderProps & FlexBoxProps> = ({ visibleRows, ...props }) => {\n return (\n <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n <BoundWitnessDetailsBoxInner {...props} />\n </TableHeightProvider>\n )\n}\n\nBoundWitnessDetailsBox.displayName = 'BoundWitnessDetailsBox'\n\nconst BoundWitnessDetailsBoxInner: React.FC<PayloadDetailsRenderProps & FlexBoxProps> = ({ payload, ...props }) => {\n const boundWitness = payload as BoundWitness\n const partialBoundWitness = boundWitness as Partial<BoundWitness>\n const hash = usePayloadHash(payload)\n\n const hasBWPayloads = useMemo(() => (partialBoundWitness ? partialBoundWitness.payload_schemas?.includes(BoundWitnessSchema) : false), [partialBoundWitness])\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={4} {...props}>\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <Divider flexItem />\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} />\n </FlexCol>\n {hasBWPayloads\n ? (\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolMethod />} heading=\"Bound Witnesses\" />\n <BoundWitnessPayloadsTableForBWs boundwitness={boundWitness} />\n </FlexCol>\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n\nBoundWitnessDetailsBoxInner.displayName = 'BoundWitnessDetailsBoxInner'\n\nexport { BoundWitnessDetailsBox }\n","import { CardProps } from '@mui/material'\nimport { PayloadDetailsListRenderProps } from '@xyo-network/react-payload-plugin'\nimport { TableHeightProvider } from '@xyo-network/react-table'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessDetailsCardInner } from './DetailsCardInner.tsx'\n\nconst BoundWitnessDetailsCard = forwardRef<HTMLDivElement, PayloadDetailsListRenderProps & CardProps>(({ visibleRows, ...props }, ref) => {\n return (\n <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n <BoundWitnessDetailsCardInner ref={ref} {...props} />\n </TableHeightProvider>\n )\n})\n\nBoundWitnessDetailsCard.displayName = 'BoundWitnessDetailsCard'\n\nexport { BoundWitnessDetailsCard }\n","import { ExpandLessRounded as ExpandLessRoundedIcon, ExpandMoreRounded as ExpandMoreRoundedIcon } from '@mui/icons-material'\nimport {\n Card, CardProps,\n Divider, IconButton,\n} from '@mui/material'\nimport { useResetState } from '@xylabs/react-hooks'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessCardHeader } from '../../Card/index.ts'\nimport { DetailsCardContent } from './DetailsCardContent.tsx'\n\nconst BoundWitnessDetailsCardInner = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & CardProps>(\n\n ({\n payload, active, ...props\n }, ref) => {\n const boundwitness = payload as BoundWitness\n const [collapsed, setCollapsed] = useResetState<boolean>(!active)\n\n return (\n <Card ref={ref} {...props}>\n <BoundWitnessCardHeader\n payload={payload}\n active={active}\n activeBgColor={false}\n hideJSONButton={false}\n hideValidation={false}\n hidePreviousHash={false}\n additionalActions={(\n <>\n <Divider\n flexItem\n orientation=\"vertical\"\n sx={{ ml: 2, mr: 1 }}\n />\n <IconButton onClick={() => setCollapsed(!collapsed)}>\n {collapsed\n ? <ExpandMoreRoundedIcon />\n : <ExpandLessRoundedIcon />}\n </IconButton>\n </>\n )}\n sx={{ columnGap: 2 }}\n />\n <DetailsCardContent boundwitness={boundwitness} collapsed={collapsed} setCollapsed={setCollapsed} ref={ref} />\n </Card>\n )\n },\n)\n\nBoundWitnessDetailsCardInner.displayName = 'BoundWitnessDetailsCardInner'\n\nexport { BoundWitnessDetailsCardInner }\n","import { Collapse } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { CardContentEx, CardContentExProps } from '@xyo-network/react-card'\nimport { useTableHeight } from '@xyo-network/react-table'\nimport React, {\n Dispatch, forwardRef, SetStateAction, useState,\n} from 'react'\n\nimport {\n BoundWitnessPayloadsTable, BoundWitnessPayloadsTableForBWs, BoundWitnessSignatureTable,\n} from '../../_shared/index.ts'\nimport { BoundWitnessBottomNavigation, BWNavigationTabs } from './Navigation/index.ts'\n\nexport interface DetailsCardContentProps extends CardContentExProps {\n boundwitness?: BoundWitness\n collapsed?: boolean\n setCollapsed?: Dispatch<SetStateAction<boolean>>\n}\n\nexport const DetailsCardContent = forwardRef<HTMLDivElement, DetailsCardContentProps>(({\n collapsed, boundwitness, setCollapsed, ...props\n}, ref) => {\n const { height } = useTableHeight()\n const [activeTab, setActiveTab] = useState(0)\n\n return (\n <CardContentEx removePadding>\n <FlexGrowCol alignItems=\"stretch\" height={height !== undefined && collapsed ? height : 'auto'} justifyContent=\"start\" ref={ref}>\n <Collapse in={collapsed}>\n <FlexRow alignItems=\"stretch\" height={height !== undefined && collapsed ? height : 'auto'} {...props}>\n <BWNavigationTabs value={activeTab} setValue={setActiveTab} boundWitness={boundwitness} />\n <FlexGrowCol\n justifyContent=\"start\"\n overflow=\"scroll\"\n sx={{ borderLeft: '1px solid', borderLeftColor: 'divider' }}\n >\n {activeTab === 0\n ? <BoundWitnessPayloadsTable boundwitness={boundwitness} variant=\"scrollable\" />\n : null}\n {activeTab === 1\n ? <BoundWitnessPayloadsTableForBWs boundwitness={boundwitness} variant=\"scrollable\" />\n : null}\n {activeTab === 2\n ? <BoundWitnessSignatureTable block={boundwitness} variant=\"scrollable\" />\n : null}\n </FlexGrowCol>\n </FlexRow>\n </Collapse>\n </FlexGrowCol>\n <Collapse in={!collapsed} unmountOnExit>\n <BoundWitnessBottomNavigation\n onClick={() => setCollapsed?.(true)}\n activeTab={activeTab}\n setActiveTab={setActiveTab}\n boundWitness={boundwitness}\n />\n </Collapse>\n </CardContentEx>\n )\n})\n\nDetailsCardContent.displayName = 'DetailsCardContent'\n","import {\n BottomNavigation, BottomNavigationAction, BottomNavigationProps,\n styled,\n} from '@mui/material'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport React, {\n Dispatch, forwardRef, SetStateAction,\n} from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nexport interface BoundWitnessBottomNavigationProps extends BottomNavigationProps {\n activeTab?: number\n boundWitness?: BoundWitness\n setActiveTab?: Dispatch<SetStateAction<number>>\n}\n\nconst BoundWitnessBottomNavigation = forwardRef<HTMLDivElement, BoundWitnessBottomNavigationProps>(\n ({\n activeTab = 0, setActiveTab, boundWitness, ...props\n }, ref) => {\n const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n const signers = boundWitness?.addresses.length ?? 0\n\n return (\n <StyledBottomNavigation\n showLabels\n value={activeTab}\n\n onChange={(_event, newValue) => {\n setActiveTab?.(newValue)\n }}\n ref={ref}\n {...props}\n >\n <BottomNavigationAction label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n <BottomNavigationAction label={`Bound Witnesses - ${boundWitnessCount}`} icon={<VscSymbolMethod />} />\n <BottomNavigationAction label={`Signatures - ${signers}`} icon={<FaSignature />} />\n </StyledBottomNavigation>\n )\n },\n)\n\nBoundWitnessBottomNavigation.displayName = 'BoundWitnessBottomNavigation'\nexport { BoundWitnessBottomNavigation }\n\nconst StyledBottomNavigation = styled(BottomNavigation, { name: 'StyledBottomNavigation' })(() => ({ background: 'inherit' }))\n","import {\n Paper, Tab, TabProps, Tabs, TabsProps,\n useTheme,\n} from '@mui/material'\nimport { BoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport React, {\n Dispatch, SetStateAction, SyntheticEvent,\n} from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nexport interface BWNavigationTabs extends TabsProps {\n boundWitness?: BoundWitness\n setValue?: Dispatch<SetStateAction<number>>\n value?: number\n}\n\nexport const BWNavigationTabs: React.FC<BWNavigationTabs> = ({\n setValue, value, boundWitness, ...props\n}) => {\n const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n const signers = boundWitness?.addresses.length ?? 0\n const theme = useTheme()\n\n const handleChange = (_event: SyntheticEvent, newValue: number) => {\n setValue?.(newValue)\n }\n\n const tabProps: TabProps = {\n iconPosition: 'start',\n sx: {\n boxShadow: 'none', fontSize: theme.spacing(1.75), justifyContent: 'start', lineHeight: 3, minHeight: 0, overflow: 'hidden',\n },\n }\n\n return (\n <Tabs orientation=\"vertical\" value={value} onChange={handleChange} aria-label=\"BW Vertical tabs\" {...props}>\n <Tab component={Paper} elevation={value === 0 ? 3 : 0} {...tabProps} label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n <Tab\n component={Paper}\n elevation={value === 1 ? 3 : 0}\n {...tabProps}\n label={`Bound Witnesses - ${boundWitnessCount}`}\n icon={<VscSymbolMethod />}\n />\n <Tab component={Paper} elevation={value === 2 ? 3 : 0} {...tabProps} label={`Signatures - ${signers}`} icon={<FaSignature />} />\n </Tabs>\n )\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadDataDetails, PayloadJsonDetails } from '@xyo-network/react-payload-details'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessPayloads, BoundWitnessSignatureDetails } from '../_shared/index.ts'\nimport { BoundWitnessValidationDetails } from './ValidationDetails.tsx'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n payload?: Payload\n /** @field Fetched Payloads for the Bound Witness */\n payloads?: Payload[]\n}\n\nconst BoundWitnessDetails = forwardRef<unknown, BoundWitnessDetailsProps>(({\n paper, payload, children, ...props\n}, ref) => {\n const boundwitness = payload as BoundWitness | undefined\n return (\n <FlexCol justifyContent=\"flex-start\" alignItems=\"stretch\" gap={1} ref={ref} {...props}>\n <PayloadDataDetails paper={paper} payload={boundwitness} size=\"large\" badge />\n <BoundWitnessPayloads paper={paper} payload={boundwitness} />\n <BoundWitnessSignatureDetails paper={paper} block={boundwitness} />\n <BoundWitnessValidationDetails paper={paper} value={boundwitness} />\n <PayloadJsonDetails paper={paper} payload={boundwitness} />\n {children}\n </FlexCol>\n )\n})\n\nBoundWitnessDetails.displayName = 'BoundWitnessDetails [XYO]'\n\nexport { BoundWitnessDetails }\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport {\n Property, PropertyGroup, PropertyGroupProps,\n} from '@xyo-network/react-property'\nimport React from 'react'\n\nexport type BoundWitnessValidationDetailsProps = PropertyGroupProps & {\n value?: BoundWitness\n}\n\nexport const BoundWitnessValidationDetails: React.FC<BoundWitnessValidationDetailsProps> = ({ value, ...props }) => {\n const [errors = []] = usePromise(async () => await (value ? new BoundWitnessValidator(value).validate() : undefined), [value])\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Validation\" tip=\"The results from validating the block\" {...props}>\n <Property\n titleProps={{ elevation }}\n flexGrow={1}\n title=\"Valid\"\n value={errors.length === 0 ? 'True' : 'False'}\n tip={\n errors.length > 0\n ? (\n <FlexCol flexWrap=\"wrap\">\n {errors.map((error, index) => {\n return <Typography key={index}>{error.toString()}</Typography>\n })}\n </FlexCol>\n )\n : <Typography>No Errors</Typography>\n }\n />\n </PropertyGroup>\n )\n}\n","import { Payload } from '@xyo-network/payload-model'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport {\n BoundWitnessCardContent, BoundWitnessCardHeader, BoundWitnessDetailsBox,\n} from './components/index.ts'\n\nexport const BoundWitnessRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === 'network.xyo.boundwitness',\n components: {\n box: { detailsBox: BoundWitnessDetailsBox },\n card: {\n content: BoundWitnessCardContent,\n header: BoundWitnessCardHeader,\n },\n },\n name: 'BoundWitness',\n }),\n}\n"],"mappings":"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","names":["DataObject","DataObjectIcon","ellipsize","FlexRow","QuickTipButton","usePayloadHash","React","ContentCopy","Alert","AlertTitle","Collapse","DialogContent","FlexGrowRow","FlexRow","EllipsizeBox","React","useState","PreviousHashDialogContent","boundwitness","props","copied","setCopied","useState","onCopy","navigator","clipboard","writeText","previous_hashes","setTimeout","DialogContent","FlexGrowRow","columnGap","ContentCopy","sx","cursor","onClick","EllipsizeBox","flexGrow","typographyProps","variant","join","FlexRow","Collapse","in","unmountOnExit","Alert","AlertTitle","Link","ListItemIcon","MenuItem","React","useState","Button","Dialog","DialogActions","DialogContent","DialogTitle","React","MenuItemDialog","children","dialogTitle","open","onClose","props","React","Dialog","sx","minWidth","DialogTitle","DialogContent","DialogActions","display","flexDirection","justifyContent","Button","variant","onClick","e","BWPreviousHashMenuItem","boundwitness","onClick","onDialogClose","props","open","setOpen","useState","onClose","handleMenuClick","e","React","MenuItem","ListItemIcon","Link","MenuItemDialog","dialogTitle","PreviousHashDialogContent","LinkRounded","LinkRoundedIcon","ellipsize","QuickTipButton","React","BWPreviousHashQuickTipButton","boundwitness","props","previousHash","previous_hashes","formattedPreviousHash","ellipsize","React","QuickTipButton","Icon","LinkRoundedIcon","disabled","hoverText","disableDialog","dialogProps","fullWidth","maxWidth","PreviousHashDialogContent","CancelRounded","CancelRoundedIcon","CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","Typography","FlexCol","usePromise","QuickTipButton","BoundWitnessValidator","React","forwardRef","InvalidIcon","forwardRef","props","ref","React","CancelRoundedIcon","color","displayName","BWVerification","boundwitness","iconColors","errors","usePromise","BoundWitnessValidator","undefined","validate","QuickTipButton","Icon","length","CheckCircleOutlineRoundedIcon","hoverText","FlexCol","flexWrap","alignItems","map","error","index","Typography","key","toString","BWActions","additionalActions","boundwitness","hideJSONButton","hideValidation","hidePreviousHash","priorActions","validationIconColors","props","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","BWVerification","iconColors","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Code","ListItemIcon","MenuItem","ellipsize","JsonViewerEx","usePayloadHash","React","useState","BWJsonMenuItem","boundwitness","onClick","onDialogClose","props","hash","usePayloadHash","open","setOpen","useState","onClose","handleMenuClick","e","title","ellipsize","React","MenuItem","ListItemIcon","Code","MenuItemDialog","dialogTitle","JsonViewerEx","value","useTheme","Identicon","React","forwardRef","Paper","styled","React","forwardRef","FlexGrowRow","EllipsizeBox","React","useRef","BWHeading","AdornmentEnd","AdornmentStart","heading","headingProps","IconComponent","size","fallbackText","props","ellipsizeRef","useRef","headingText","sizeParser","map","large","medium","small","mappedSize","undefined","Error","React","FlexGrowRow","columnGap","EllipsizeBox","title","width","typographyProps","variant","ref","HeadingPaper","forwardRef","props","ref","AdornmentStart","AdornmentEnd","paperProps","excludedPaperProps","bwHeadingProps","React","StyledHeadingPaper","hasAdornmentStart","hasAdornmentEnd","elevation","BWHeading","displayName","StyledHeadingPaper","styled","Paper","name","shouldForwardProp","prop","includes","hasAdornmentEnd","hasAdornmentStart","theme","alignItems","columnGap","spacing","display","flexDirection","overflow","padding","paddingLeft","paddingRight","paddingBottom","paddingTop","HashHeadingPaper","forwardRef","hash","identiconProps","props","ref","theme","useTheme","React","HeadingPaper","heading","fallbackText","IconComponent","Identicon","size","Number","parseInt","spacing","replace","p","value","sx","background","palette","paper","columnGap","displayName","PropertyGroup","React","BoundWitnessSchema","usePayloadHash","TableEx","React","TableBody","TableCell","TableRow","useEvent","TableRowNoData","HashTableCell","useTableHeight","React","useLayoutEffect","useRef","BoundWitnessPayloadTableBody","boundwitnessHash","eventNoun","payloadHashes","payloadSchemas","props","payloads","archive","maxSchemaDepth","onRowClick","exploreDomain","emptyRows","noResults","NoResultRowComponent","tableProps","ref","useRef","tableRef","dispatch","useEvent","undefined","setRowHeight","useTableHeight","tableRowRef","handleOnClick","hash","useLayoutEffect","current","offsetHeight","React","TableBody","length","map","index","TableRow","key","onClick","sx","cursor","TableCell","title","HashTableCell","TableRowNoData","additionalCells","React","useMemo","useState","BoundWitnessFilteredPayloadTableBody","bwFilterType","eventNoun","payloadHashes","payloadSchemas","schemaFilter","props","bwPayloadHashes","setBWPayloadHashes","useState","bwPayloadSchemas","setBWPayloadSchemas","useMemo","filteredSchemas","filter","schema","filteredHashes","reduce","acc","index","push","React","BoundWitnessPayloadTableBody","styled","TableHead","TableRow","Typography","TableCellEx","React","BoundWitnessPayloadTableHead","props","columns","tableHeadProps","React","TableHead","TableRow","TableCellEx","TableCellTypography","variant","styled","Typography","name","fontWeight","BoundWitnessPayloadsTable","boundwitness","props","hash","usePayloadHash","React","BoundWitnessPayloadsTableInner","BoundWitnessFilteredPayloadTableBody","eventNoun","schemaFilter","BoundWitnessSchema","bwFilterType","noResults","payload_hashes","length","payloadHashes","payloadSchemas","payload_schemas","boundwitnessHash","BoundWitnessPayloadsTableForBWs","children","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloads","payload","boundwitness","payloadTableProps","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessPayloadsTable","PropertyGroup","React","TableBody","TableHead","TableRow","Typography","TableRowNoData","usePayloadHash","TableCellEx","TableEx","React","Link","TableCell","TableRow","Typography","toUint8Array","ellipsize","usePromise","BoundWitnessValidator","useEvent","AddressTableCell","React","MdClear","MdDone","BoundWitnessSignatureTableRow","address","archive","clickableFields","hash","previousHash","signature","props","errors","usePromise","BoundWitnessValidator","validateSignature","toUint8Array","buffer","addressRef","addressDispatch","useEvent","signatureRef","signatureDispatch","formattedHash","ellipsize","React","TableRow","AddressTableCell","ref","value","onClick","link","includes","TableCell","sx","display","md","xs","align","Typography","variant","fontFamily","sm","Link","key","undefined","MdDone","fontSize","color","length","MdClear","signatureDataFromBoundWitness","boundWitness","result","i","addresses","length","push","address","previous_hash","previous_hashes","signature","$signatures","BoundWitnessSignatureTable","block","props","signatureData","hash","usePayloadHash","React","TableEx","TableHead","TableRow","TableCellEx","align","Typography","variant","strong","sx","display","md","xs","width","sm","TableBody","TableRowNoData","additionalCells","map","data","index","BoundWitnessSignatureTableRow","key","previousHash","clickableFields","BoundWitnessSignatureDetails","block","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessSignatureTable","Card","React","React","forwardRef","Avatar","AvatarGroup","Identicon","React","useRef","AddressAvatarGroup","addresses","maxAvatars","props","ref","useRef","size","current","clientWidth","undefined","React","AvatarGroup","max","total","length","map","address","index","Avatar","key","title","sx","bgcolor","Identicon","value","position","p","top","bottom","left","right","styled","FlexCol","CardColumnsFlex","name","theme","minWidth","rowGap","spacing","styled","Typography","React","CardColumnTitle","styled","Typography","name","theme","color","palette","text","primary","fontWeight","CardColumnTitleH2","props","React","alpha","CardContent","styled","CardContentFlex","styled","CardContent","name","shouldForwardProp","prop","theme","active","paddingBottom","spacing","background","alpha","palette","secondary","dark","display","flexDirection","flexWrap","justifyContent","rowGap","Avatar","AvatarGroup","BoundWitnessSchema","usePayloadRenderPluginResolver","React","useCallback","VscSymbolMethod","VscSymbolNamespace","SchemaAvatarGroup","schemas","maxAvatars","props","resolver","usePayloadRenderPluginResolver","resolveSchemaToIcon","useCallback","schema","index","SchemaAvatar","resolve","components","avatar","image","React","key","Avatar","title","sx","bgcolor","color","BoundWitnessSchema","VscSymbolMethod","VscSymbolNamespace","AvatarGroup","max","total","length","map","BoundWitnessCardContent","forwardRef","payload","active","props","ref","boundwitness","React","CardContentFlex","CardColumnsFlex","CardColumnTitleH2","SchemaAvatarGroup","schemas","payload_schemas","AddressAvatarGroup","addresses","displayName","CardHeader","styled","useTheme","Identicon","usePayloadHash","React","forwardRef","BoundWitnessCardHeader","forwardRef","active","activeBgColor","additionalActions","hideJSONButton","hidePreviousHash","hideValidation","payload","props","ref","boundwitness","theme","useTheme","hash","usePayloadHash","React","CardHeaderHash","title","BWHeading","heading","IconComponent","Identicon","size","Number","parseInt","spacing","replace","p","value","sx","background","palette","paper","action","BWActions","displayName","styled","CardHeader","name","shouldForwardProp","prop","includes","marginBottom","marginTop","overflow","backgroundColor","info","borderBottom","divider","paddingBottom","paddingTop","BoundWitnessRendererCard","payload","active","props","boundwitness","React","Card","BoundWitnessCardHeader","hideJSONButton","hidePreviousHash","hideValidation","BoundWitnessCardContent","Divider","FlexCol","BoundWitnessSchema","usePayloadHash","TableHeightProvider","React","useMemo","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessDetailsBox","visibleRows","props","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsBoxInner","displayName","payload","boundWitness","partialBoundWitness","hash","usePayloadHash","hasBWPayloads","useMemo","payload_schemas","includes","BoundWitnessSchema","FlexCol","alignItems","rowGap","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","Divider","flexItem","mb","HeadingPaper","IconComponent","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","BoundWitnessPayloadsTableForBWs","FaSignature","BoundWitnessSignatureTable","block","TableHeightProvider","React","forwardRef","ExpandLessRounded","ExpandLessRoundedIcon","ExpandMoreRounded","ExpandMoreRoundedIcon","Card","Divider","IconButton","useResetState","React","forwardRef","Collapse","FlexGrowCol","FlexRow","CardContentEx","useTableHeight","React","forwardRef","useState","BottomNavigation","BottomNavigationAction","styled","BoundWitnessSchema","React","forwardRef","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessBottomNavigation","forwardRef","activeTab","setActiveTab","boundWitness","props","ref","payloadCount","payload_schemas","filter","schema","BoundWitnessSchema","length","boundWitnessCount","signers","addresses","React","StyledBottomNavigation","showLabels","value","onChange","_event","newValue","BottomNavigationAction","label","icon","VscSymbolNamespace","VscSymbolMethod","FaSignature","displayName","StyledBottomNavigation","styled","BottomNavigation","name","background","Paper","Tab","Tabs","useTheme","BoundWitnessSchema","React","FaSignature","VscSymbolMethod","VscSymbolNamespace","BWNavigationTabs","setValue","value","boundWitness","props","payloadCount","payload_schemas","filter","schema","BoundWitnessSchema","length","boundWitnessCount","signers","addresses","theme","useTheme","handleChange","_event","newValue","tabProps","iconPosition","sx","boxShadow","fontSize","spacing","justifyContent","lineHeight","minHeight","overflow","React","Tabs","orientation","onChange","aria-label","Tab","component","Paper","elevation","label","icon","VscSymbolNamespace","VscSymbolMethod","FaSignature","DetailsCardContent","forwardRef","collapsed","boundwitness","setCollapsed","props","ref","height","useTableHeight","activeTab","setActiveTab","useState","React","CardContentEx","removePadding","FlexGrowCol","alignItems","undefined","justifyContent","Collapse","in","FlexRow","BWNavigationTabs","value","setValue","boundWitness","overflow","sx","borderLeft","borderLeftColor","BoundWitnessPayloadsTable","variant","BoundWitnessPayloadsTableForBWs","BoundWitnessSignatureTable","block","unmountOnExit","BoundWitnessBottomNavigation","onClick","displayName","BoundWitnessDetailsCardInner","forwardRef","payload","active","props","ref","boundwitness","collapsed","setCollapsed","useResetState","React","Card","BoundWitnessCardHeader","activeBgColor","hideJSONButton","hideValidation","hidePreviousHash","additionalActions","Divider","flexItem","orientation","sx","ml","mr","IconButton","onClick","ExpandMoreRoundedIcon","ExpandLessRoundedIcon","columnGap","DetailsCardContent","displayName","BoundWitnessDetailsCard","forwardRef","visibleRows","props","ref","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsCardInner","displayName","FlexCol","PayloadDataDetails","PayloadJsonDetails","React","forwardRef","Typography","FlexCol","usePromise","BoundWitnessValidator","Property","PropertyGroup","React","BoundWitnessValidationDetails","value","props","errors","usePromise","BoundWitnessValidator","validate","undefined","elevation","paper","React","PropertyGroup","titleProps","title","tip","Property","flexGrow","length","FlexCol","flexWrap","map","error","index","Typography","key","toString","BoundWitnessDetails","forwardRef","paper","payload","children","props","ref","boundwitness","React","FlexCol","justifyContent","alignItems","gap","PayloadDataDetails","size","badge","BoundWitnessPayloads","BoundWitnessSignatureDetails","block","BoundWitnessValidationDetails","value","PayloadJsonDetails","displayName","createPayloadRenderPlugin","BoundWitnessRenderPlugin","createPayloadRenderPlugin","canRender","payload","schema","components","box","detailsBox","BoundWitnessDetailsBox","card","content","BoundWitnessCardContent","header","BoundWitnessCardHeader","name"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/_shared/Actions/BWActions.tsx","../../src/components/_shared/Actions/previous-hash/DialogContent.tsx","../../src/components/_shared/Actions/previous-hash/MenuItem.tsx","../../src/components/_shared/Actions/_shared/MenuItemDialog.tsx","../../src/components/_shared/Actions/previous-hash/QuickTipButton.tsx","../../src/components/_shared/Actions/Verification.tsx","../../src/components/_shared/Actions/json/MenuItem.tsx","../../src/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.tsx","../../src/components/_shared/Heading/HeadingPaper/HeadingPaper.tsx","../../src/components/_shared/Heading/Heading.tsx","../../src/components/_shared/Payloads/PayloadsPropertyGroup.tsx","../../src/components/_shared/Payloads/PayloadsTable.tsx","../../src/components/_shared/Payloads/payloads-table/TableBody.tsx","../../src/components/_shared/Payloads/payloads-table/TableBodyFiltered.tsx","../../src/components/_shared/Payloads/payloads-table/TableHead.tsx","../../src/components/_shared/Signatures/SignatureDetails.tsx","../../src/components/_shared/Signatures/SignatureTable.tsx","../../src/components/_shared/Signatures/SignatureTableRow.tsx","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent/CardContent.tsx","../../src/components/Card/CardContent/AddressAvatarGroup.tsx","../../src/components/Card/CardContent/layout/CardColumnsFlex.tsx","../../src/components/Card/CardContent/layout/CardColumnTitle.tsx","../../src/components/Card/CardContent/layout/CardContentFlex.tsx","../../src/components/Card/CardContent/SchemaAvatarGroup.tsx","../../src/components/Card/CardHeader/CardHeader.tsx","../../src/components/Details/Box/DetailsBox.tsx","../../src/components/Details/Card/DetailsCard.tsx","../../src/components/Details/Card/DetailsCardInner.tsx","../../src/components/Details/Card/DetailsCardContent.tsx","../../src/components/Details/Card/Navigation/BottomNavigation.tsx","../../src/components/Details/Card/Navigation/NavigationTabs.tsx","../../src/components/Details/Details.tsx","../../src/components/Details/ValidationDetails.tsx","../../src/Plugin.ts"],"sourcesContent":["import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { BWPreviousHashQuickTipButton } from './previous-hash/index.ts'\nimport { BWVerification } from './Verification.tsx'\n\nexport interface BWActionsProps extends FlexBoxProps {\n additionalActions?: ReactNode\n boundwitness?: BoundWitness\n hideJSONButton?: boolean\n hidePreviousHash?: boolean\n hideValidation?: boolean\n priorActions?: ReactNode\n validationIconColors?: boolean\n}\n\nexport const BWActions: React.FC<BWActionsProps> = ({\n additionalActions,\n boundwitness,\n hideJSONButton,\n hideValidation,\n hidePreviousHash,\n priorActions,\n validationIconColors,\n ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n return (\n <FlexRow {...props}>\n {priorActions}\n {hidePreviousHash || boundwitness?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={boundwitness} />}\n {hideValidation ? null : <BWVerification iconColors={validationIconColors} boundwitness={boundwitness} />}\n {hideJSONButton\n ? null\n : (\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{boundwitness ? JSON.stringify(boundwitness, null, 2) : null}</pre>\n </QuickTipButton>\n )}\n {additionalActions}\n </FlexRow>\n )\n}\n","import { ContentCopy } from '@mui/icons-material'\nimport type { DialogContentProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Collapse,\n DialogContent,\n} from '@mui/material'\nimport { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nexport interface PreviousHashDialogProps extends DialogContentProps {\n boundwitness?: BoundWitness\n}\n\nexport const PreviousHashDialogContent: React.FC<PreviousHashDialogProps> = ({ boundwitness, ...props }) => {\n const [copied, setCopied] = useState(false)\n\n const onCopy = async () => {\n await navigator.clipboard.writeText(boundwitness?.previous_hashes[0] ?? '')\n setCopied(true)\n setTimeout(() => {\n setCopied(false)\n }, 5000)\n }\n\n return (\n <DialogContent {...props}>\n <FlexGrowRow columnGap={2}>\n <ContentCopy sx={{ cursor: 'pointer' }} onClick={() => void onCopy()} />\n <EllipsizeBox flexGrow=\"1\" typographyProps={{ variant: 'body1' }}>\n {boundwitness?.previous_hashes.join(',')}\n </EllipsizeBox>\n </FlexGrowRow>\n <FlexRow>\n <Collapse in={copied} unmountOnExit>\n <Alert>\n <AlertTitle>Previous hash copied to clipboard</AlertTitle>\n </Alert>\n </Collapse>\n </FlexRow>\n </DialogContent>\n )\n}\n","import { Link } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport type { MouseEventHandler } from 'react'\nimport React, { useState } from 'react'\n\nimport type { ActionMenuItemProps } from '../_shared/index.ts'\nimport { MenuItemDialog } from '../_shared/index.ts'\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\nexport interface BWPreviousHashMenuItemProps extends ActionMenuItemProps {}\n\nexport const BWPreviousHashMenuItem: React.FC<BWPreviousHashMenuItemProps> = ({\n boundwitness, onClick, onDialogClose, ...props\n}) => {\n const [open, setOpen] = useState(false)\n const onClose = () => {\n onDialogClose?.()\n setOpen(false)\n }\n\n const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n onClick?.(e)\n setOpen(true)\n }\n\n return (\n <>\n <MenuItem onClick={handleMenuClick} {...props}>\n <ListItemIcon><Link /></ListItemIcon>\n Previous Hash\n </MenuItem>\n <MenuItemDialog open={open} onClose={onClose} dialogTitle=\"Previous Hash\">\n <PreviousHashDialogContent boundwitness={boundwitness} />\n </MenuItemDialog>\n </>\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface MenuItemDialogProps extends DialogProps {\n dialogTitle?: string\n}\n\nexport const MenuItemDialog: React.FC<MenuItemDialogProps> = ({\n children, dialogTitle, open, onClose, ...props\n}) => {\n return (\n <Dialog open={open} onClose={onClose} sx={{ '& .MuiPaper-root': { minWidth: '75%' } }} {...props}>\n <DialogTitle>{dialogTitle}</DialogTitle>\n <DialogContent>\n {children}\n </DialogContent>\n <DialogActions sx={{\n display: 'flex', flexDirection: 'row', justifyContent: 'end',\n }}\n >\n <Button variant=\"contained\" onClick={e => onClose?.(e, 'escapeKeyDown')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { LinkRounded as LinkRoundedIcon } from '@mui/icons-material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport React from 'react'\n\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\nexport interface BWPreviousHashQuickTipButtonProps extends QuickTipButtonProps {\n boundwitness?: BoundWitness\n}\n\nexport const BWPreviousHashQuickTipButton: React.FC<BWPreviousHashQuickTipButtonProps> = ({ boundwitness, ...props }) => {\n const previousHash = boundwitness?.previous_hashes[0] ?? null\n const formattedPreviousHash = previousHash === null ? 'No Previous Hash' : `Previous Hash - ${ellipsize(previousHash, 8)}`\n\n return (\n <QuickTipButton\n Icon={LinkRoundedIcon}\n disabled={previousHash === null}\n hoverText={formattedPreviousHash}\n disableDialog={previousHash === null}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n {...props}\n >\n {previousHash === null\n ? null\n : <PreviousHashDialogContent boundwitness={boundwitness} />}\n </QuickTipButton>\n )\n}\n","import { CancelRounded as CancelRoundedIcon, CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport React, { forwardRef } from 'react'\n\nconst InvalidIcon = forwardRef<SVGSVGElement, SvgIconProps>((props, ref) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />)\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface BWVerification extends QuickTipButtonProps {\n boundwitness?: BoundWitness\n iconColors?: boolean\n}\n\nexport const BWVerification: React.FC<BWVerification> = ({ boundwitness, iconColors }) => {\n const [errors = []] = usePromise(async () => await (boundwitness ? new BoundWitnessValidator(boundwitness) : undefined)?.validate(), [boundwitness])\n\n return (\n <QuickTipButton\n Icon={errors.length > 0\n ? forwardRef((props, ref) => {\n return <InvalidIcon color={iconColors ? 'error' : undefined} ref={ref} {...props} />\n })\n : forwardRef((props, ref) => {\n return <CheckCircleOutlineRoundedIcon color={iconColors ? 'success' : undefined} ref={ref} {...props} />\n })}\n hoverText={errors.length > 0 ? 'Invalid Bound Witness' : 'Valid'}\n >\n {errors.length > 0\n ? (\n <FlexCol flexWrap=\"wrap\" alignItems=\"start\">\n {errors.map((error, index) => {\n return <Typography key={index}>{error.toString()}</Typography>\n })}\n </FlexCol>\n )\n : <Typography>No Errors</Typography>}\n </QuickTipButton>\n )\n}\n","import { Code } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { MouseEventHandler } from 'react'\nimport React, { useState } from 'react'\n\nimport type { ActionMenuItemProps } from '../_shared/index.ts'\nimport { MenuItemDialog } from '../_shared/index.ts'\n\nexport interface BWJsonMenuItemProps extends ActionMenuItemProps {}\n\nexport const BWJsonMenuItem: React.FC<BWJsonMenuItemProps> = ({\n boundwitness, onClick, onDialogClose, ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n const [open, setOpen] = useState(false)\n const onClose = () => {\n onDialogClose?.()\n setOpen(false)\n }\n\n const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n onClick?.(e)\n setOpen(true)\n }\n\n const title = hash ? `JSON for ${ellipsize(hash, 5)}` : 'JSON'\n\n return (\n <>\n <MenuItem onClick={handleMenuClick} {...props}>\n <ListItemIcon><Code /></ListItemIcon>\n JSON\n </MenuItem>\n <MenuItemDialog open={open} onClose={onClose} dialogTitle={title}>\n <JsonViewerEx value={boundwitness} />\n </MenuItemDialog>\n </>\n )\n}\n","import { useTheme } from '@mui/material'\nimport type { IdenticonProps } from '@xylabs/react-identicon'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { forwardRef } from 'react'\n\nimport type { HeadingPaperProps } from '../HeadingPaper/index.ts'\nimport { HeadingPaper } from '../HeadingPaper/index.ts'\n\nexport interface HashHeadingPaperProps extends HeadingPaperProps {\n hash?: string\n identiconProps?: IdenticonProps\n}\n\nconst HashHeadingPaper = forwardRef<HTMLDivElement, HashHeadingPaperProps>(({\n hash, identiconProps, ...props\n}, ref) => {\n const theme = useTheme()\n\n return (\n <HeadingPaper\n heading={hash}\n fallbackText=\"No hash provided\"\n ref={ref}\n IconComponent={\n hash\n ? (\n <Identicon\n size={Number.parseInt(theme.spacing(3).replace('px', ''))}\n p={0.25}\n value={hash}\n sx={{ background: theme.palette.background.paper }}\n {...identiconProps}\n />\n )\n : null\n }\n sx={{ columnGap: 1 }}\n {...props}\n />\n )\n})\n\nHashHeadingPaper.displayName = 'HashHeadingPaper'\n\nexport { HashHeadingPaper }\n","import type { PaperProps } from '@mui/material'\nimport { Paper, styled } from '@mui/material'\nimport React, { forwardRef } from 'react'\n\nimport { BWHeading } from '../Heading.tsx'\nimport type { BWHeadingProps } from '../HeadingProps.tsx'\n\nexport interface HeadingPaperProps extends BWHeadingProps {\n paperProps?: PaperProps\n}\n\nconst HeadingPaper = forwardRef<HTMLDivElement, HeadingPaperProps>((props, ref) => {\n const {\n AdornmentStart, AdornmentEnd, paperProps,\n } = props\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { paperProps: excludedPaperProps, ...bwHeadingProps } = props\n return (\n <StyledHeadingPaper hasAdornmentStart={!!AdornmentStart} hasAdornmentEnd={!!AdornmentEnd} elevation={4} ref={ref} {...paperProps}>\n <BWHeading {...bwHeadingProps} />\n </StyledHeadingPaper>\n )\n})\n\nHeadingPaper.displayName = 'HeadingPaper'\n\nexport { HeadingPaper }\n\ninterface StyledHeadingPaperProps extends PaperProps {\n hasAdornmentEnd?: boolean\n hasAdornmentStart?: boolean\n}\n\nconst StyledHeadingPaper = styled(Paper, {\n name: 'StyledHeadingPaper',\n shouldForwardProp: prop => !['hasAdornmentEnd', 'hasAdornmentStart', 'paperProps'].includes(prop as string),\n})<StyledHeadingPaperProps>(({\n hasAdornmentEnd, hasAdornmentStart, theme,\n}) => ({\n alignItems: 'center',\n columnGap: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n padding: theme.spacing(1),\n ...(hasAdornmentStart && { paddingLeft: 0 }),\n ...(hasAdornmentEnd && { paddingRight: 0 }),\n ...((hasAdornmentStart || hasAdornmentEnd) && { paddingBottom: 0, paddingTop: 0 }),\n paddingRight: theme.spacing(1),\n}))\n","import type { TypographyVariant } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React, { useRef } from 'react'\n\nimport type { BWHeadingProps, HeadingTextSizes } from './HeadingProps.tsx'\n\nexport const BWHeading: React.FC<BWHeadingProps> = ({\n AdornmentEnd,\n AdornmentStart,\n heading,\n headingProps,\n IconComponent,\n size = 'medium',\n fallbackText = 'No heading Provided',\n ...props\n}) => {\n const ellipsizeRef = useRef<HTMLDivElement | null>(null)\n const headingText = heading ?? fallbackText\n\n const sizeParser = (size: HeadingTextSizes) => {\n const map: Record<HeadingTextSizes, TypographyVariant> = {\n large: 'h4',\n medium: 'body1',\n small: 'caption',\n }\n const mappedSize = map[size]\n if (mappedSize === undefined) {\n throw new Error(`${size} is not a recognized TextSize`)\n }\n return mappedSize\n }\n\n return (\n <FlexGrowRow columnGap={2} {...props}>\n {AdornmentStart}\n {IconComponent}\n <EllipsizeBox\n title={headingText}\n width=\"100%\"\n typographyProps={{ variant: sizeParser(size), ...headingProps }}\n ref={ellipsizeRef}\n >\n {headingText}\n </EllipsizeBox>\n {AdornmentEnd}\n </FlexGrowRow>\n )\n}\n","import type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { PayloadTableProps } from '@xyo-network/react-payload-table'\nimport type { PropertyGroupProps } from '@xyo-network/react-property'\nimport { PropertyGroup } from '@xyo-network/react-property'\nimport React from 'react'\n\nimport { BoundWitnessPayloadsTable } from './PayloadsTable.tsx'\n\nexport type BoundWitnessPayloadsProps = PropertyGroupProps & {\n payload?: BoundWitness\n payloadTableProps?: PayloadTableProps\n}\n\nexport const BoundWitnessPayloads: React.FC<BoundWitnessPayloadsProps> = ({\n payload: boundwitness, payloadTableProps, ...props\n}) => {\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Payloads\" tip=\"The hash and schema for each payload witnessed\" {...props}>\n <BoundWitnessPayloadsTable boundwitness={boundwitness} {...payloadTableProps} />\n </PropertyGroup>\n )\n}\n","import type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { PayloadTableProps } from '@xyo-network/react-payload-table'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { TableEx } from '@xyo-network/react-table'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { BoundWitnessFilteredPayloadTableBody, BoundWitnessPayloadTableHead } from './payloads-table/index.ts'\n\nexport interface BoundWitnessPayloadTableProps extends PayloadTableProps {\n boundwitness?: BoundWitness\n}\n\nexport const BoundWitnessPayloadsTable: React.FC<BoundWitnessPayloadTableProps> = ({ boundwitness, ...props }) => {\n const hash = usePayloadHash(boundwitness)\n return (\n <BoundWitnessPayloadsTableInner {...props}>\n <BoundWitnessFilteredPayloadTableBody\n eventNoun=\"payload\"\n schemaFilter={BoundWitnessSchema}\n bwFilterType=\"notEqual\"\n noResults={boundwitness?.payload_hashes.length === 0}\n payloadHashes={boundwitness?.payload_hashes}\n payloadSchemas={boundwitness?.payload_schemas}\n boundwitnessHash={boundwitness ? hash : ''}\n />\n </BoundWitnessPayloadsTableInner>\n )\n}\n\nexport const BoundWitnessPayloadsTableForBWs: React.FC<BoundWitnessPayloadTableProps> = ({ boundwitness, ...props }) => {\n const hash = usePayloadHash(boundwitness)\n return (\n <BoundWitnessPayloadsTableInner {...props}>\n <BoundWitnessFilteredPayloadTableBody\n eventNoun=\"boundwitness\"\n schemaFilter={BoundWitnessSchema}\n noResults={boundwitness?.payload_hashes.length === 0}\n payloadHashes={boundwitness?.payload_hashes}\n payloadSchemas={boundwitness?.payload_schemas}\n boundwitnessHash={boundwitness ? hash : ''}\n />\n </BoundWitnessPayloadsTableInner>\n )\n}\n\nexport const BoundWitnessPayloadsTableInner: React.FC<PropsWithChildren<BoundWitnessPayloadTableProps>> = ({ children, ...props }) => (\n <TableEx {...props}>\n <BoundWitnessPayloadTableHead />\n {children}\n </TableEx>\n)\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n TableBody, TableCell, TableRow,\n} from '@mui/material'\nimport type { EventNoun } from '@xyo-network/react-event'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { PayloadTableBodyProps } from '@xyo-network/react-payload-table'\nimport { TableRowNoData } from '@xyo-network/react-payload-table'\nimport { HashTableCell } from '@xyo-network/react-shared'\nimport { useTableHeight } from '@xyo-network/react-table'\nimport React, { useLayoutEffect, useRef } from 'react'\n\nexport interface BoundWitnessPayloadTableBodyProps extends PayloadTableBodyProps {\n boundwitnessHash?: string\n eventNoun?: EventNoun\n payloadHashes?: string[]\n payloadSchemas?: string[]\n}\n\nexport const BoundWitnessPayloadTableBody: React.FC<BoundWitnessPayloadTableBodyProps> = ({\n boundwitnessHash,\n eventNoun = 'payload',\n payloadHashes,\n payloadSchemas,\n ...props\n}) => {\n const {\n payloads, archive, maxSchemaDepth, onRowClick, exploreDomain, emptyRows, noResults, NoResultRowComponent, ...tableProps\n } = props\n const ref = useRef<HTMLTableSectionElement | null>(null)\n const [tableRef, dispatch] = useEvent<HTMLTableSectionElement>(undefined, ref)\n\n const { setRowHeight } = useTableHeight()\n const tableRowRef = useRef<HTMLTableRowElement | null>(null)\n\n const handleOnClick = (hash: string) => {\n dispatch(eventNoun, 'click', hash)\n }\n\n useLayoutEffect(() => {\n if (tableRowRef.current) {\n setRowHeight?.(tableRowRef.current.offsetHeight)\n }\n })\n\n return (\n <TableBody ref={tableRef} {...tableProps}>\n {noResults && NoResultRowComponent\n ? <NoResultRowComponent />\n : null}\n {(\n payloadHashes\n && payloadSchemas\n && payloadHashes.length > 0\n && payloadHashes?.map((hash, index) => {\n return (\n <TableRow ref={tableRowRef} key={boundwitnessHash + hash} onClick={() => handleOnClick(hash)} sx={{ cursor: 'pointer' }}>\n <TableCell title={payloadSchemas[index]}>{payloadSchemas[index]}</TableCell>\n <HashTableCell title={hash}>{hash}</HashTableCell>\n </TableRow>\n )\n })) || (\n <>\n <TableRowNoData additionalCells={1} />\n </>\n )}\n </TableBody>\n )\n}\n","import React, { useMemo, useState } from 'react'\n\nimport type { BoundWitnessPayloadTableBodyProps } from './TableBody.tsx'\nimport { BoundWitnessPayloadTableBody } from './TableBody.tsx'\n\nexport interface BoundWitnessFilteredPayloadTableBodyProps extends BoundWitnessPayloadTableBodyProps {\n bwFilterType?: 'equal' | 'notEqual'\n schemaFilter?: string\n}\n\nexport const BoundWitnessFilteredPayloadTableBody: React.FC<BoundWitnessFilteredPayloadTableBodyProps> = ({\n bwFilterType = 'equal',\n eventNoun = 'payload',\n payloadHashes,\n payloadSchemas,\n schemaFilter,\n ...props\n}) => {\n const [bwPayloadHashes, setBWPayloadHashes] = useState<string[]>()\n const [bwPayloadSchemas, setBWPayloadSchemas] = useState<string[]>()\n\n useMemo(() => {\n // if no filter, display all hashes and schemas\n if (!schemaFilter) {\n setBWPayloadHashes(payloadHashes)\n setBWPayloadSchemas(payloadSchemas)\n }\n }, [payloadHashes, payloadSchemas, schemaFilter])\n\n useMemo(() => {\n if (payloadSchemas && schemaFilter) {\n const filteredSchemas = payloadSchemas.filter((schema) => {\n return bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter\n })\n setBWPayloadSchemas(filteredSchemas)\n }\n }, [bwFilterType, payloadSchemas, schemaFilter])\n\n useMemo(() => {\n if (payloadHashes && payloadSchemas && schemaFilter) {\n // eslint-disable-next-line unicorn/no-array-reduce\n const filteredHashes = payloadSchemas.reduce<string[]>((acc, schema, index) => {\n if (bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter) {\n acc.push(payloadHashes[index])\n }\n return acc\n }, [])\n setBWPayloadHashes(filteredHashes)\n }\n }, [bwFilterType, payloadHashes, payloadSchemas, schemaFilter])\n return <BoundWitnessPayloadTableBody payloadHashes={bwPayloadHashes} payloadSchemas={bwPayloadSchemas} eventNoun={eventNoun} {...props} />\n}\n","import {\n styled, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport type { PayloadTableHeadProps } from '@xyo-network/react-payload-table'\nimport { TableCellEx } from '@xyo-network/react-table'\nimport React from 'react'\n\nexport const BoundWitnessPayloadTableHead: React.FC<PayloadTableHeadProps> = (props) => {\n const {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n columns, ...tableHeadProps\n } = props\n return (\n <TableHead {...tableHeadProps}>\n <TableRow>\n <TableCellEx>\n <TableCellTypography variant=\"caption\">Schema</TableCellTypography>\n </TableCellEx>\n <TableCellEx>\n <TableCellTypography variant=\"caption\">Hash</TableCellTypography>\n </TableCellEx>\n </TableRow>\n </TableHead>\n )\n}\n\nconst TableCellTypography = styled(Typography, { name: 'TableCellTypography' })(() => ({ fontWeight: 'bold' }))\n","import type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { PropertyGroupProps } from '@xyo-network/react-property'\nimport { PropertyGroup } from '@xyo-network/react-property'\nimport React from 'react'\n\nimport { BoundWitnessSignatureTable } from './SignatureTable.tsx'\n\nexport type BoundWitnessSignatureDetailsProps = PropertyGroupProps & {\n block?: BoundWitness\n}\n\nexport const BoundWitnessSignatureDetails: React.FC<BoundWitnessSignatureDetailsProps> = ({ block, ...props }) => {\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Signatures\" tip=\"The list of signatures for this block\" {...props}>\n <BoundWitnessSignatureTable block={block} />\n </PropertyGroup>\n )\n}\n","import {\n TableBody, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { TableRowNoData } from '@xyo-network/react-payload-table'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { TableExProps } from '@xyo-network/react-table'\nimport { TableCellEx, TableEx } from '@xyo-network/react-table'\nimport React from 'react'\n\nimport { BoundWitnessSignatureTableRow } from './SignatureTableRow.tsx'\n\nexport interface BoundWitnessSignatureTableProps extends TableExProps {\n block?: BoundWitness\n}\n\ninterface SignatureData {\n address: string\n previous_hash: string | null\n signature?: string\n}\n\nconst signatureDataFromBoundWitness = (boundWitness: BoundWitness) => {\n const result: SignatureData[] = []\n for (let i = 0; i < boundWitness.addresses.length; i++) {\n result.push({\n address: boundWitness.addresses[i],\n previous_hash: boundWitness.previous_hashes?.[i],\n signature: boundWitness.$signatures?.[i] ?? [],\n })\n }\n return result\n}\n\nexport const BoundWitnessSignatureTable: React.FC<BoundWitnessSignatureTableProps> = ({ block, ...props }) => {\n const signatureData = block ? signatureDataFromBoundWitness(block) : []\n const hash = usePayloadHash(block)\n\n return (\n <TableEx {...props}>\n <TableHead>\n <TableRow>\n <TableCellEx align=\"left\">\n <Typography variant=\"caption\">\n <strong>Address</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx\n sx={{ display: { md: 'table-cell', xs: 'none' } }}\n align=\"center\"\n width=\"10px\"\n >\n <Typography variant=\"caption\">\n <strong>Previous</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx\n sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n align=\"center\"\n width=\"10px\"\n >\n <Typography variant=\"caption\">\n <strong>Signature</strong>\n </Typography>\n </TableCellEx>\n <TableCellEx align=\"center\" width=\"10px\">\n <Typography variant=\"caption\">\n <strong>Valid</strong>\n </Typography>\n </TableCellEx>\n </TableRow>\n </TableHead>\n <TableBody>\n {!signatureData || signatureData.length === 0\n ? <TableRowNoData additionalCells={3} />\n : null}\n {signatureData.map((data, index) => {\n return (\n <BoundWitnessSignatureTableRow\n key={`${data.signature}-${data.previous_hash}-${index}`}\n address={data.address}\n previousHash={data.previous_hash}\n hash={hash}\n signature={data.signature}\n clickableFields={['address']}\n />\n )\n })}\n </TableBody>\n </TableEx>\n )\n}\n","import type { TableRowProps } from '@mui/material'\nimport {\n Link, TableCell, TableRow,\n Typography,\n} from '@mui/material'\nimport { toUint8Array } from '@xylabs/arraybuffer'\nimport { ellipsize } from '@xylabs/eth-address'\nimport { usePromise } from '@xylabs/react-promise'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport { useEvent } from '@xyo-network/react-event'\nimport { AddressTableCell } from '@xyo-network/react-shared'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { MdClear, MdDone } from 'react-icons/md'\n\ntype clickableFields = 'address' | 'signature'\n\nexport interface BoundWitnessSignatureTableRowProps extends TableRowProps {\n address?: string\n archive?: string\n clickableFields?: clickableFields[]\n hash?: string\n previousHash?: string | null\n signature?: string\n}\n\nexport const BoundWitnessSignatureTableRow: React.FC<BoundWitnessSignatureTableRowProps> = ({\n address,\n archive,\n clickableFields,\n hash,\n previousHash,\n signature,\n ...props\n}) => {\n const [errors] = usePromise(\n async () =>\n hash && address\n ? await BoundWitnessValidator.validateSignature(\n toUint8Array(hash).buffer,\n toUint8Array(address).buffer,\n toUint8Array(signature)?.buffer,\n )\n : [],\n [hash, address, signature],\n )\n\n const [addressRef, addressDispatch] = useEvent<HTMLTableCellElement>()\n const [signatureRef, signatureDispatch] = useEvent<HTMLTableCellElement>()\n\n const formattedHash = (hash?: string | null) => (hash ? ellipsize(hash, 8) : '-')\n\n return (\n <TableRow {...props}>\n <AddressTableCell\n ref={addressRef}\n archive={archive}\n value={address}\n onClick={() => addressDispatch('address', 'click', address)}\n link={clickableFields?.includes('address')}\n />\n <TableCell\n sx={{ display: { md: 'table-cell', xs: 'none' } }}\n align=\"center\"\n >\n <Typography variant=\"body2\" fontFamily=\"monospace\">\n {formattedHash(previousHash)}\n </Typography>\n </TableCell>\n <TableCell\n sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n align=\"center\"\n >\n <Typography variant=\"body2\" fontFamily=\"monospace\" ref={signatureRef} onClick={() => signatureDispatch('signature', 'click', signature)}>\n {clickableFields?.includes('signature')\n ? <Link>{formattedHash(signature)}</Link>\n : formattedHash(signature)}\n </Typography>\n </TableCell>\n <TableCell key=\"valid\" align=\"center\">\n {errors === undefined\n ? <MdDone fontSize={18} color=\"gray\" />\n : errors?.length === 0\n ? <MdDone fontSize={18} color=\"green\" />\n : <MdClear color=\"red\" fontSize={18} />}\n </TableCell>\n </TableRow>\n )\n}\n","import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\n\nimport { BoundWitnessCardContent } from './CardContent/index.ts'\nimport { BoundWitnessCardHeader } from './CardHeader/index.ts'\n\nexport interface BoundWitnessCardProps extends CardProps {\n active?: boolean\n payload?: Payload\n}\nexport const BoundWitnessRendererCard: React.FC<BoundWitnessCardProps> = ({\n payload, active, ...props\n}) => {\n const boundwitness = payload as BoundWitness\n\n return (\n <Card {...props}>\n <BoundWitnessCardHeader payload={boundwitness} active={active} hideJSONButton hidePreviousHash hideValidation />\n <BoundWitnessCardContent payload={boundwitness} active={active} />\n </Card>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { forwardRef } from 'react'\n\nimport { AddressAvatarGroup } from './AddressAvatarGroup.tsx'\nimport {\n CardColumnsFlex, CardColumnTitleH2, CardContentFlex,\n} from './layout/index.ts'\nimport { SchemaAvatarGroup } from './SchemaAvatarGroup.tsx'\n\nexport interface BoundWitnessCardContentProps extends CardContentProps {\n active?: boolean\n payload?: Payload\n}\n\nexport const BoundWitnessCardContent = forwardRef<HTMLDivElement, BoundWitnessCardContentProps>(({\n payload, active, ...props\n}, ref) => {\n const boundwitness = payload as Payload<BoundWitness>\n\n return (\n <CardContentFlex ref={ref} active={active} {...props}>\n <CardColumnsFlex>\n <CardColumnTitleH2>Payloads</CardColumnTitleH2>\n <SchemaAvatarGroup schemas={boundwitness?.payload_schemas} />\n </CardColumnsFlex>\n <CardColumnsFlex>\n <CardColumnTitleH2>Signers</CardColumnTitleH2>\n <AddressAvatarGroup addresses={boundwitness?.addresses} />\n </CardColumnsFlex>\n </CardContentFlex>\n )\n})\n\nBoundWitnessCardContent.displayName = 'BoundWitnessCardContent'\n","import type { AvatarGroupProps } from '@mui/material'\nimport { Avatar, AvatarGroup } from '@mui/material'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useRef } from 'react'\n\nexport interface AddressAvatarGroupProps extends AvatarGroupProps {\n addresses?: string[]\n maxAvatars?: number\n}\n\nexport const AddressAvatarGroup: React.FC<AddressAvatarGroupProps> = ({\n addresses, maxAvatars = 4, ...props\n}) => {\n const ref = useRef<HTMLDivElement | null>(null)\n\n const size = ref.current ? ref.current.clientWidth * 0.65 : undefined\n\n return (\n <AvatarGroup max={maxAvatars} total={addresses?.length} {...props}>\n {addresses?.map((address, index) => (\n <Avatar key={index + address} title={address} ref={ref} sx={{ bgcolor: 'background.paper' }}>\n <Identicon value={address} position=\"absolute\" p={0.25} top={0} bottom={0} left={0} right={0} size={size} />\n </Avatar>\n ))}\n </AvatarGroup>\n )\n}\n","import { styled } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nexport const CardColumnsFlex = styled(FlexCol, { name: 'CardColumnsFlex' })(({ theme }) => ({\n ['@media only screen and (min-width: 333px)']: { minWidth: '50%' },\n minWidth: '100%',\n rowGap: theme.spacing(1),\n}))\n","import type { TypographyProps } from '@mui/material'\nimport { styled, Typography } from '@mui/material'\nimport React from 'react'\n\nexport const CardColumnTitle = styled(Typography, { name: 'CardColumnTitle' })(({ theme }) => ({\n color: theme.palette.text.primary,\n fontWeight: 500,\n}))\n\nexport const CardColumnTitleH2: React.FC<TypographyProps> = props => <CardColumnTitle {...props} />\n","import {\n alpha, CardContent, styled,\n} from '@mui/material'\n\nexport interface CardContentFlexProps {\n active?: boolean\n}\n\nexport const CardContentFlex = styled(CardContent, { name: 'CardContentFlex', shouldForwardProp: prop => prop !== 'active' })<CardContentFlexProps>(\n ({ theme, active }) => ({\n [':last-child']: { paddingBottom: theme.spacing(1) },\n ...(active && { background: alpha(theme.palette.secondary.dark, 0.33) }),\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n rowGap: theme.spacing(1),\n }),\n)\n","import type { AvatarGroupProps } from '@mui/material'\nimport { Avatar, AvatarGroup } from '@mui/material'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver'\nimport React, { useCallback } from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\ninterface SchemaAvatarGroupProps extends AvatarGroupProps {\n maxAvatars?: number\n schemas?: string[]\n}\n\nexport const SchemaAvatarGroup: React.FC<SchemaAvatarGroupProps> = ({\n schemas, maxAvatars = 4, ...props\n}) => {\n const { resolver } = usePayloadRenderPluginResolver()\n\n const resolveSchemaToIcon = useCallback(\n (schema: string, index: number) => {\n const SchemaAvatar = resolver?.resolve({ schema })?.components.avatar.image\n return SchemaAvatar\n ? <SchemaAvatar key={index + schema} />\n : (\n <Avatar\n key={index + schema}\n title={schema}\n sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }}\n >\n {schema === BoundWitnessSchema\n ? <VscSymbolMethod />\n : <VscSymbolNamespace />}\n </Avatar>\n )\n },\n [resolver],\n )\n\n return (\n <AvatarGroup max={maxAvatars} total={schemas?.length} {...props}>\n {schemas?.map((schema, index) => resolveSchemaToIcon(schema, index))}\n </AvatarGroup>\n )\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport {\n CardHeader,\n styled, useTheme,\n} from '@mui/material'\nimport { Identicon } from '@xylabs/react-identicon'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React, { forwardRef } from 'react'\n\nimport { BWActions, BWHeading } from '../../_shared/index.ts'\n\nexport interface BoundWitnessCardHeaderProps extends CardHeaderProps {\n active?: boolean\n activeBgColor?: boolean\n additionalActions?: ReactNode\n hideJSONButton?: boolean\n hidePreviousHash?: boolean\n hideValidation?: boolean\n payload?: Payload\n}\n\nexport const BoundWitnessCardHeader = forwardRef<HTMLDivElement, BoundWitnessCardHeaderProps>(\n\n ({\n active = false,\n activeBgColor = true,\n additionalActions,\n hideJSONButton,\n hidePreviousHash,\n hideValidation,\n payload,\n ...props\n }, ref) => {\n const boundwitness = payload as BoundWitness\n const theme = useTheme()\n const hash = usePayloadHash(boundwitness)\n\n return (\n <CardHeaderHash\n ref={ref}\n active={active}\n activeBgColor={activeBgColor}\n title={(\n <BWHeading\n heading={hash}\n IconComponent={(\n <Identicon\n size={Number.parseInt(theme.spacing(2.5).replace('px', ''))}\n p={0.5}\n value={hash}\n sx={{ background: theme.palette.background.paper }}\n />\n )}\n />\n )}\n action={(\n <BWActions\n hideJSONButton={hideJSONButton}\n hideValidation={hideValidation}\n hidePreviousHash={hidePreviousHash}\n boundwitness={boundwitness}\n additionalActions={additionalActions}\n />\n )}\n {...props}\n />\n )\n },\n)\n\nBoundWitnessCardHeader.displayName = 'BoundWitnessCardHeader'\n\ninterface CardHeaderHashProps extends CardHeaderProps {\n active?: boolean\n activeBgColor?: boolean\n}\n\nconst CardHeaderHash = styled(CardHeader, {\n name: 'CardHeaderHash',\n shouldForwardProp: prop => !['active', 'activeBgColor'].includes(prop as string),\n})<CardHeaderHashProps>(({\n theme, active, activeBgColor,\n}) => ({\n '& .MuiCardHeader-action': {\n marginBottom: 0,\n marginTop: 0,\n },\n '& .MuiCardHeader-content': { overflow: 'visible' },\n '&.MuiCardHeader-root': {\n ...(active && activeBgColor && { backgroundColor: theme.palette.info }),\n borderBottom: `1px solid ${theme.palette.divider}`,\n paddingBottom: theme.spacing(1),\n paddingTop: theme.spacing(1),\n },\n 'padding': `${theme.spacing(0.5)} ${theme.spacing(2)}`,\n}))\n","import { Divider } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { PayloadDetailsListRenderProps, PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { TableHeightProvider } from '@xyo-network/react-table'\nimport React, { useMemo } from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessPayloadsTableForBWs,\n BoundWitnessSignatureTable,\n BWActions,\n HashHeadingPaper,\n HeadingPaper,\n} from '../../_shared/index.ts'\n\nconst BoundWitnessDetailsBox: React.FC<PayloadDetailsListRenderProps & FlexBoxProps> = ({ visibleRows, ...props }) => {\n return (\n <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n <BoundWitnessDetailsBoxInner {...props} />\n </TableHeightProvider>\n )\n}\n\nBoundWitnessDetailsBox.displayName = 'BoundWitnessDetailsBox'\n\nconst BoundWitnessDetailsBoxInner: React.FC<PayloadDetailsRenderProps & FlexBoxProps> = ({ payload, ...props }) => {\n const boundWitness = payload as BoundWitness\n const partialBoundWitness = boundWitness as Partial<BoundWitness>\n const hash = usePayloadHash(payload)\n\n const hasBWPayloads = useMemo(() => (partialBoundWitness ? partialBoundWitness.payload_schemas?.includes(BoundWitnessSchema) : false), [partialBoundWitness])\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={4} {...props}>\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <Divider flexItem />\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} />\n </FlexCol>\n {hasBWPayloads\n ? (\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolMethod />} heading=\"Bound Witnesses\" />\n <BoundWitnessPayloadsTableForBWs boundwitness={boundWitness} />\n </FlexCol>\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n\nBoundWitnessDetailsBoxInner.displayName = 'BoundWitnessDetailsBoxInner'\n\nexport { BoundWitnessDetailsBox }\n","import type { CardProps } from '@mui/material'\nimport type { PayloadDetailsListRenderProps } from '@xyo-network/react-payload-plugin'\nimport { TableHeightProvider } from '@xyo-network/react-table'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessDetailsCardInner } from './DetailsCardInner.tsx'\n\nconst BoundWitnessDetailsCard = forwardRef<HTMLDivElement, PayloadDetailsListRenderProps & CardProps>(({ visibleRows, ...props }, ref) => {\n return (\n <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n <BoundWitnessDetailsCardInner ref={ref} {...props} />\n </TableHeightProvider>\n )\n})\n\nBoundWitnessDetailsCard.displayName = 'BoundWitnessDetailsCard'\n\nexport { BoundWitnessDetailsCard }\n","import { ExpandLessRounded as ExpandLessRoundedIcon, ExpandMoreRounded as ExpandMoreRoundedIcon } from '@mui/icons-material'\nimport type { CardProps } from '@mui/material'\nimport {\n Card,\n Divider, IconButton,\n} from '@mui/material'\nimport { useResetState } from '@xylabs/react-hooks'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessCardHeader } from '../../Card/index.ts'\nimport { DetailsCardContent } from './DetailsCardContent.tsx'\n\nconst BoundWitnessDetailsCardInner = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & CardProps>(\n\n ({\n payload, active, ...props\n }, ref) => {\n const boundwitness = payload as BoundWitness\n const [collapsed, setCollapsed] = useResetState<boolean>(!active)\n\n return (\n <Card ref={ref} {...props}>\n <BoundWitnessCardHeader\n payload={payload}\n active={active}\n activeBgColor={false}\n hideJSONButton={false}\n hideValidation={false}\n hidePreviousHash={false}\n additionalActions={(\n <>\n <Divider\n flexItem\n orientation=\"vertical\"\n sx={{ ml: 2, mr: 1 }}\n />\n <IconButton onClick={() => setCollapsed(!collapsed)}>\n {collapsed\n ? <ExpandMoreRoundedIcon />\n : <ExpandLessRoundedIcon />}\n </IconButton>\n </>\n )}\n sx={{ columnGap: 2 }}\n />\n <DetailsCardContent boundwitness={boundwitness} collapsed={collapsed} setCollapsed={setCollapsed} ref={ref} />\n </Card>\n )\n },\n)\n\nBoundWitnessDetailsCardInner.displayName = 'BoundWitnessDetailsCardInner'\n\nexport { BoundWitnessDetailsCardInner }\n","import { Collapse } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { CardContentExProps } from '@xyo-network/react-card'\nimport { CardContentEx } from '@xyo-network/react-card'\nimport { useTableHeight } from '@xyo-network/react-table'\nimport type { Dispatch, SetStateAction } from 'react'\nimport React, { forwardRef, useState } from 'react'\n\nimport {\n BoundWitnessPayloadsTable, BoundWitnessPayloadsTableForBWs, BoundWitnessSignatureTable,\n} from '../../_shared/index.ts'\nimport { BoundWitnessBottomNavigation, BWNavigationTabs } from './Navigation/index.ts'\n\nexport interface DetailsCardContentProps extends CardContentExProps {\n boundwitness?: BoundWitness\n collapsed?: boolean\n setCollapsed?: Dispatch<SetStateAction<boolean>>\n}\n\nexport const DetailsCardContent = forwardRef<HTMLDivElement, DetailsCardContentProps>(({\n collapsed, boundwitness, setCollapsed, ...props\n}, ref) => {\n const { height } = useTableHeight()\n const [activeTab, setActiveTab] = useState(0)\n\n return (\n <CardContentEx removePadding>\n <FlexGrowCol alignItems=\"stretch\" height={height !== undefined && collapsed ? height : 'auto'} justifyContent=\"start\" ref={ref}>\n <Collapse in={collapsed}>\n <FlexRow alignItems=\"stretch\" height={height !== undefined && collapsed ? height : 'auto'} {...props}>\n <BWNavigationTabs value={activeTab} setValue={setActiveTab} boundWitness={boundwitness} />\n <FlexGrowCol\n justifyContent=\"start\"\n overflow=\"scroll\"\n sx={{ borderLeft: '1px solid', borderLeftColor: 'divider' }}\n >\n {activeTab === 0\n ? <BoundWitnessPayloadsTable boundwitness={boundwitness} variant=\"scrollable\" />\n : null}\n {activeTab === 1\n ? <BoundWitnessPayloadsTableForBWs boundwitness={boundwitness} variant=\"scrollable\" />\n : null}\n {activeTab === 2\n ? <BoundWitnessSignatureTable block={boundwitness} variant=\"scrollable\" />\n : null}\n </FlexGrowCol>\n </FlexRow>\n </Collapse>\n </FlexGrowCol>\n <Collapse in={!collapsed} unmountOnExit>\n <BoundWitnessBottomNavigation\n onClick={() => setCollapsed?.(true)}\n activeTab={activeTab}\n setActiveTab={setActiveTab}\n boundWitness={boundwitness}\n />\n </Collapse>\n </CardContentEx>\n )\n})\n\nDetailsCardContent.displayName = 'DetailsCardContent'\n","import type { BottomNavigationProps } from '@mui/material'\nimport {\n BottomNavigation, BottomNavigationAction,\n styled,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Dispatch, SetStateAction } from 'react'\nimport React, { forwardRef } from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nexport interface BoundWitnessBottomNavigationProps extends BottomNavigationProps {\n activeTab?: number\n boundWitness?: BoundWitness\n setActiveTab?: Dispatch<SetStateAction<number>>\n}\n\nconst BoundWitnessBottomNavigation = forwardRef<HTMLDivElement, BoundWitnessBottomNavigationProps>(\n ({\n activeTab = 0, setActiveTab, boundWitness, ...props\n }, ref) => {\n const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n const signers = boundWitness?.addresses.length ?? 0\n\n return (\n <StyledBottomNavigation\n showLabels\n value={activeTab}\n\n onChange={(_event, newValue) => {\n setActiveTab?.(newValue)\n }}\n ref={ref}\n {...props}\n >\n <BottomNavigationAction label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n <BottomNavigationAction label={`Bound Witnesses - ${boundWitnessCount}`} icon={<VscSymbolMethod />} />\n <BottomNavigationAction label={`Signatures - ${signers}`} icon={<FaSignature />} />\n </StyledBottomNavigation>\n )\n },\n)\n\nBoundWitnessBottomNavigation.displayName = 'BoundWitnessBottomNavigation'\nexport { BoundWitnessBottomNavigation }\n\nconst StyledBottomNavigation = styled(BottomNavigation, { name: 'StyledBottomNavigation' })(() => ({ background: 'inherit' }))\n","import type { TabProps, TabsProps } from '@mui/material'\nimport {\n Paper, Tab, Tabs,\n useTheme,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type {\n Dispatch, SetStateAction, SyntheticEvent,\n} from 'react'\nimport React from 'react'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { FaSignature } from 'react-icons/fa'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nexport interface BWNavigationTabs extends TabsProps {\n boundWitness?: BoundWitness\n setValue?: Dispatch<SetStateAction<number>>\n value?: number\n}\n\nexport const BWNavigationTabs: React.FC<BWNavigationTabs> = ({\n setValue, value, boundWitness, ...props\n}) => {\n const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n const signers = boundWitness?.addresses.length ?? 0\n const theme = useTheme()\n\n const handleChange = (_event: SyntheticEvent, newValue: number) => {\n setValue?.(newValue)\n }\n\n const tabProps: TabProps = {\n iconPosition: 'start',\n sx: {\n boxShadow: 'none', fontSize: theme.spacing(1.75), justifyContent: 'start', lineHeight: 3, minHeight: 0, overflow: 'hidden',\n },\n }\n\n return (\n <Tabs orientation=\"vertical\" value={value} onChange={handleChange} aria-label=\"BW Vertical tabs\" {...props}>\n <Tab component={Paper} elevation={value === 0 ? 3 : 0} {...tabProps} label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n <Tab\n component={Paper}\n elevation={value === 1 ? 3 : 0}\n {...tabProps}\n label={`Bound Witnesses - ${boundWitnessCount}`}\n icon={<VscSymbolMethod />}\n />\n <Tab component={Paper} elevation={value === 2 ? 3 : 0} {...tabProps} label={`Signatures - ${signers}`} icon={<FaSignature />} />\n </Tabs>\n )\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { PayloadDataDetails, PayloadJsonDetails } from '@xyo-network/react-payload-details'\nimport React, { forwardRef } from 'react'\n\nimport { BoundWitnessPayloads, BoundWitnessSignatureDetails } from '../_shared/index.ts'\nimport { BoundWitnessValidationDetails } from './ValidationDetails.tsx'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n payload?: Payload\n /** @field Fetched Payloads for the Bound Witness */\n payloads?: Payload[]\n}\n\nconst BoundWitnessDetails = forwardRef<unknown, BoundWitnessDetailsProps>(({\n paper, payload, children, ...props\n}, ref) => {\n const boundwitness = payload as BoundWitness | undefined\n return (\n <FlexCol justifyContent=\"flex-start\" alignItems=\"stretch\" gap={1} ref={ref} {...props}>\n <PayloadDataDetails paper={paper} payload={boundwitness} size=\"large\" badge />\n <BoundWitnessPayloads paper={paper} payload={boundwitness} />\n <BoundWitnessSignatureDetails paper={paper} block={boundwitness} />\n <BoundWitnessValidationDetails paper={paper} value={boundwitness} />\n <PayloadJsonDetails paper={paper} payload={boundwitness} />\n {children}\n </FlexCol>\n )\n})\n\nBoundWitnessDetails.displayName = 'BoundWitnessDetails [XYO]'\n\nexport { BoundWitnessDetails }\n","import { Typography } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessValidator } from '@xyo-network/boundwitness-validator'\nimport type { PropertyGroupProps } from '@xyo-network/react-property'\nimport { Property, PropertyGroup } from '@xyo-network/react-property'\nimport React from 'react'\n\nexport type BoundWitnessValidationDetailsProps = PropertyGroupProps & {\n value?: BoundWitness\n}\n\nexport const BoundWitnessValidationDetails: React.FC<BoundWitnessValidationDetailsProps> = ({ value, ...props }) => {\n const [errors = []] = usePromise(async () => await (value ? new BoundWitnessValidator(value).validate() : undefined), [value])\n\n let elevation = 2\n if (props.paper) {\n elevation += props.elevation ?? 0\n }\n\n return (\n <PropertyGroup titleProps={{ elevation }} title=\"Validation\" tip=\"The results from validating the block\" {...props}>\n <Property\n titleProps={{ elevation }}\n flexGrow={1}\n title=\"Valid\"\n value={errors.length === 0 ? 'True' : 'False'}\n tip={\n errors.length > 0\n ? (\n <FlexCol flexWrap=\"wrap\">\n {errors.map((error, index) => {\n return <Typography key={index}>{error.toString()}</Typography>\n })}\n </FlexCol>\n )\n : <Typography>No Errors</Typography>\n }\n />\n </PropertyGroup>\n )\n}\n","import type { Payload } from '@xyo-network/payload-model'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport {\n BoundWitnessCardContent, BoundWitnessCardHeader, BoundWitnessDetailsBox,\n} from './components/index.ts'\n\nexport const BoundWitnessRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === 'network.xyo.boundwitness',\n components: {\n box: { detailsBox: BoundWitnessDetailsBox },\n card: {\n content: BoundWitnessCardContent,\n header: BoundWitnessCardHeader,\n },\n },\n name: 'BoundWitness',\n }),\n}\n"],"mappings":"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","names":["DataObject","DataObjectIcon","ellipsize","FlexRow","QuickTipButton","usePayloadHash","React","ContentCopy","Alert","AlertTitle","Collapse","DialogContent","FlexGrowRow","FlexRow","EllipsizeBox","React","useState","PreviousHashDialogContent","boundwitness","props","copied","setCopied","useState","onCopy","navigator","clipboard","writeText","previous_hashes","setTimeout","DialogContent","FlexGrowRow","columnGap","ContentCopy","sx","cursor","onClick","EllipsizeBox","flexGrow","typographyProps","variant","join","FlexRow","Collapse","in","unmountOnExit","Alert","AlertTitle","Link","ListItemIcon","MenuItem","React","useState","Button","Dialog","DialogActions","DialogContent","DialogTitle","React","MenuItemDialog","children","dialogTitle","open","onClose","props","React","Dialog","sx","minWidth","DialogTitle","DialogContent","DialogActions","display","flexDirection","justifyContent","Button","variant","onClick","e","BWPreviousHashMenuItem","boundwitness","onClick","onDialogClose","props","open","setOpen","useState","onClose","handleMenuClick","e","React","MenuItem","ListItemIcon","Link","MenuItemDialog","dialogTitle","PreviousHashDialogContent","LinkRounded","LinkRoundedIcon","ellipsize","QuickTipButton","React","BWPreviousHashQuickTipButton","boundwitness","props","previousHash","previous_hashes","formattedPreviousHash","ellipsize","React","QuickTipButton","Icon","LinkRoundedIcon","disabled","hoverText","disableDialog","dialogProps","fullWidth","maxWidth","PreviousHashDialogContent","CancelRounded","CancelRoundedIcon","CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","Typography","FlexCol","usePromise","QuickTipButton","BoundWitnessValidator","React","forwardRef","InvalidIcon","forwardRef","props","ref","React","CancelRoundedIcon","color","displayName","BWVerification","boundwitness","iconColors","errors","usePromise","BoundWitnessValidator","undefined","validate","QuickTipButton","Icon","length","CheckCircleOutlineRoundedIcon","hoverText","FlexCol","flexWrap","alignItems","map","error","index","Typography","key","toString","BWActions","additionalActions","boundwitness","hideJSONButton","hideValidation","hidePreviousHash","priorActions","validationIconColors","props","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","BWVerification","iconColors","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Code","ListItemIcon","MenuItem","ellipsize","JsonViewerEx","usePayloadHash","React","useState","BWJsonMenuItem","boundwitness","onClick","onDialogClose","props","hash","usePayloadHash","open","setOpen","useState","onClose","handleMenuClick","e","title","ellipsize","React","MenuItem","ListItemIcon","Code","MenuItemDialog","dialogTitle","JsonViewerEx","value","useTheme","Identicon","React","forwardRef","Paper","styled","React","forwardRef","FlexGrowRow","EllipsizeBox","React","useRef","BWHeading","AdornmentEnd","AdornmentStart","heading","headingProps","IconComponent","size","fallbackText","props","ellipsizeRef","useRef","headingText","sizeParser","map","large","medium","small","mappedSize","undefined","Error","React","FlexGrowRow","columnGap","EllipsizeBox","title","width","typographyProps","variant","ref","HeadingPaper","forwardRef","props","ref","AdornmentStart","AdornmentEnd","paperProps","excludedPaperProps","bwHeadingProps","React","StyledHeadingPaper","hasAdornmentStart","hasAdornmentEnd","elevation","BWHeading","displayName","StyledHeadingPaper","styled","Paper","name","shouldForwardProp","prop","includes","hasAdornmentEnd","hasAdornmentStart","theme","alignItems","columnGap","spacing","display","flexDirection","overflow","padding","paddingLeft","paddingRight","paddingBottom","paddingTop","HashHeadingPaper","forwardRef","hash","identiconProps","props","ref","theme","useTheme","React","HeadingPaper","heading","fallbackText","IconComponent","Identicon","size","Number","parseInt","spacing","replace","p","value","sx","background","palette","paper","columnGap","displayName","PropertyGroup","React","BoundWitnessSchema","usePayloadHash","TableEx","React","TableBody","TableCell","TableRow","useEvent","TableRowNoData","HashTableCell","useTableHeight","React","useLayoutEffect","useRef","BoundWitnessPayloadTableBody","boundwitnessHash","eventNoun","payloadHashes","payloadSchemas","props","payloads","archive","maxSchemaDepth","onRowClick","exploreDomain","emptyRows","noResults","NoResultRowComponent","tableProps","ref","useRef","tableRef","dispatch","useEvent","undefined","setRowHeight","useTableHeight","tableRowRef","handleOnClick","hash","useLayoutEffect","current","offsetHeight","React","TableBody","length","map","index","TableRow","key","onClick","sx","cursor","TableCell","title","HashTableCell","TableRowNoData","additionalCells","React","useMemo","useState","BoundWitnessFilteredPayloadTableBody","bwFilterType","eventNoun","payloadHashes","payloadSchemas","schemaFilter","props","bwPayloadHashes","setBWPayloadHashes","useState","bwPayloadSchemas","setBWPayloadSchemas","useMemo","filteredSchemas","filter","schema","filteredHashes","reduce","acc","index","push","React","BoundWitnessPayloadTableBody","styled","TableHead","TableRow","Typography","TableCellEx","React","BoundWitnessPayloadTableHead","props","columns","tableHeadProps","React","TableHead","TableRow","TableCellEx","TableCellTypography","variant","styled","Typography","name","fontWeight","BoundWitnessPayloadsTable","boundwitness","props","hash","usePayloadHash","React","BoundWitnessPayloadsTableInner","BoundWitnessFilteredPayloadTableBody","eventNoun","schemaFilter","BoundWitnessSchema","bwFilterType","noResults","payload_hashes","length","payloadHashes","payloadSchemas","payload_schemas","boundwitnessHash","BoundWitnessPayloadsTableForBWs","children","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloads","payload","boundwitness","payloadTableProps","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessPayloadsTable","PropertyGroup","React","TableBody","TableHead","TableRow","Typography","TableRowNoData","usePayloadHash","TableCellEx","TableEx","React","Link","TableCell","TableRow","Typography","toUint8Array","ellipsize","usePromise","BoundWitnessValidator","useEvent","AddressTableCell","React","MdClear","MdDone","BoundWitnessSignatureTableRow","address","archive","clickableFields","hash","previousHash","signature","props","errors","usePromise","BoundWitnessValidator","validateSignature","toUint8Array","buffer","addressRef","addressDispatch","useEvent","signatureRef","signatureDispatch","formattedHash","ellipsize","React","TableRow","AddressTableCell","ref","value","onClick","link","includes","TableCell","sx","display","md","xs","align","Typography","variant","fontFamily","sm","Link","key","undefined","MdDone","fontSize","color","length","MdClear","signatureDataFromBoundWitness","boundWitness","result","i","addresses","length","push","address","previous_hash","previous_hashes","signature","$signatures","BoundWitnessSignatureTable","block","props","signatureData","hash","usePayloadHash","React","TableEx","TableHead","TableRow","TableCellEx","align","Typography","variant","strong","sx","display","md","xs","width","sm","TableBody","TableRowNoData","additionalCells","map","data","index","BoundWitnessSignatureTableRow","key","previousHash","clickableFields","BoundWitnessSignatureDetails","block","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessSignatureTable","Card","React","React","forwardRef","Avatar","AvatarGroup","Identicon","React","useRef","AddressAvatarGroup","addresses","maxAvatars","props","ref","useRef","size","current","clientWidth","undefined","React","AvatarGroup","max","total","length","map","address","index","Avatar","key","title","sx","bgcolor","Identicon","value","position","p","top","bottom","left","right","styled","FlexCol","CardColumnsFlex","name","theme","minWidth","rowGap","spacing","styled","Typography","React","CardColumnTitle","styled","Typography","name","theme","color","palette","text","primary","fontWeight","CardColumnTitleH2","props","React","alpha","CardContent","styled","CardContentFlex","styled","CardContent","name","shouldForwardProp","prop","theme","active","paddingBottom","spacing","background","alpha","palette","secondary","dark","display","flexDirection","flexWrap","justifyContent","rowGap","Avatar","AvatarGroup","BoundWitnessSchema","usePayloadRenderPluginResolver","React","useCallback","VscSymbolMethod","VscSymbolNamespace","SchemaAvatarGroup","schemas","maxAvatars","props","resolver","usePayloadRenderPluginResolver","resolveSchemaToIcon","useCallback","schema","index","SchemaAvatar","resolve","components","avatar","image","React","key","Avatar","title","sx","bgcolor","color","BoundWitnessSchema","VscSymbolMethod","VscSymbolNamespace","AvatarGroup","max","total","length","map","BoundWitnessCardContent","forwardRef","payload","active","props","ref","boundwitness","React","CardContentFlex","CardColumnsFlex","CardColumnTitleH2","SchemaAvatarGroup","schemas","payload_schemas","AddressAvatarGroup","addresses","displayName","CardHeader","styled","useTheme","Identicon","usePayloadHash","React","forwardRef","BoundWitnessCardHeader","forwardRef","active","activeBgColor","additionalActions","hideJSONButton","hidePreviousHash","hideValidation","payload","props","ref","boundwitness","theme","useTheme","hash","usePayloadHash","React","CardHeaderHash","title","BWHeading","heading","IconComponent","Identicon","size","Number","parseInt","spacing","replace","p","value","sx","background","palette","paper","action","BWActions","displayName","styled","CardHeader","name","shouldForwardProp","prop","includes","marginBottom","marginTop","overflow","backgroundColor","info","borderBottom","divider","paddingBottom","paddingTop","BoundWitnessRendererCard","payload","active","props","boundwitness","React","Card","BoundWitnessCardHeader","hideJSONButton","hidePreviousHash","hideValidation","BoundWitnessCardContent","Divider","FlexCol","BoundWitnessSchema","usePayloadHash","TableHeightProvider","React","useMemo","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessDetailsBox","visibleRows","props","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsBoxInner","displayName","payload","boundWitness","partialBoundWitness","hash","usePayloadHash","hasBWPayloads","useMemo","payload_schemas","includes","BoundWitnessSchema","FlexCol","alignItems","rowGap","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","Divider","flexItem","mb","HeadingPaper","IconComponent","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","BoundWitnessPayloadsTableForBWs","FaSignature","BoundWitnessSignatureTable","block","TableHeightProvider","React","forwardRef","ExpandLessRounded","ExpandLessRoundedIcon","ExpandMoreRounded","ExpandMoreRoundedIcon","Card","Divider","IconButton","useResetState","React","forwardRef","Collapse","FlexGrowCol","FlexRow","CardContentEx","useTableHeight","React","forwardRef","useState","BottomNavigation","BottomNavigationAction","styled","BoundWitnessSchema","React","forwardRef","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessBottomNavigation","forwardRef","activeTab","setActiveTab","boundWitness","props","ref","payloadCount","payload_schemas","filter","schema","BoundWitnessSchema","length","boundWitnessCount","signers","addresses","React","StyledBottomNavigation","showLabels","value","onChange","_event","newValue","BottomNavigationAction","label","icon","VscSymbolNamespace","VscSymbolMethod","FaSignature","displayName","StyledBottomNavigation","styled","BottomNavigation","name","background","Paper","Tab","Tabs","useTheme","BoundWitnessSchema","React","FaSignature","VscSymbolMethod","VscSymbolNamespace","BWNavigationTabs","setValue","value","boundWitness","props","payloadCount","payload_schemas","filter","schema","BoundWitnessSchema","length","boundWitnessCount","signers","addresses","theme","useTheme","handleChange","_event","newValue","tabProps","iconPosition","sx","boxShadow","fontSize","spacing","justifyContent","lineHeight","minHeight","overflow","React","Tabs","orientation","onChange","aria-label","Tab","component","Paper","elevation","label","icon","VscSymbolNamespace","VscSymbolMethod","FaSignature","DetailsCardContent","forwardRef","collapsed","boundwitness","setCollapsed","props","ref","height","useTableHeight","activeTab","setActiveTab","useState","React","CardContentEx","removePadding","FlexGrowCol","alignItems","undefined","justifyContent","Collapse","in","FlexRow","BWNavigationTabs","value","setValue","boundWitness","overflow","sx","borderLeft","borderLeftColor","BoundWitnessPayloadsTable","variant","BoundWitnessPayloadsTableForBWs","BoundWitnessSignatureTable","block","unmountOnExit","BoundWitnessBottomNavigation","onClick","displayName","BoundWitnessDetailsCardInner","forwardRef","payload","active","props","ref","boundwitness","collapsed","setCollapsed","useResetState","React","Card","BoundWitnessCardHeader","activeBgColor","hideJSONButton","hideValidation","hidePreviousHash","additionalActions","Divider","flexItem","orientation","sx","ml","mr","IconButton","onClick","ExpandMoreRoundedIcon","ExpandLessRoundedIcon","columnGap","DetailsCardContent","displayName","BoundWitnessDetailsCard","forwardRef","visibleRows","props","ref","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsCardInner","displayName","FlexCol","PayloadDataDetails","PayloadJsonDetails","React","forwardRef","Typography","FlexCol","usePromise","BoundWitnessValidator","Property","PropertyGroup","React","BoundWitnessValidationDetails","value","props","errors","usePromise","BoundWitnessValidator","validate","undefined","elevation","paper","React","PropertyGroup","titleProps","title","tip","Property","flexGrow","length","FlexCol","flexWrap","map","error","index","Typography","key","toString","BoundWitnessDetails","forwardRef","paper","payload","children","props","ref","boundwitness","React","FlexCol","justifyContent","alignItems","gap","PayloadDataDetails","size","badge","BoundWitnessPayloads","BoundWitnessSignatureDetails","block","BoundWitnessValidationDetails","value","PayloadJsonDetails","displayName","createPayloadRenderPlugin","BoundWitnessRenderPlugin","createPayloadRenderPlugin","canRender","payload","schema","components","box","detailsBox","BoundWitnessDetailsBox","card","content","BoundWitnessCardContent","header","BoundWitnessCardHeader","name"]}
|
package/dist/types/Plugin.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAO5E,eAAO,MAAM,wBAAwB,EAAE,mBAYtC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CardProps } from '@mui/material';
|
|
2
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
1
|
+
import type { CardProps } from '@mui/material';
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
export interface BoundWitnessCardProps extends CardProps {
|
|
5
5
|
active?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AACD,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAWpE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressAvatarGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardContent/AddressAvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AddressAvatarGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardContent/AddressAvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,KAAiB,MAAM,OAAO,CAAA;AAErC,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgBhE,CAAA"}
|