@xyo-network/react-chain-boundwitness 1.0.11 → 1.0.13
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
CHANGED
|
@@ -367,9 +367,9 @@ var BoundWitnessPayloadTableBody = /* @__PURE__ */ __name(({ boundwitnessHash, e
|
|
|
367
367
|
}, payloadSchemas[index]), /* @__PURE__ */ React11.createElement(HashTableCell, {
|
|
368
368
|
title: hash
|
|
369
369
|
}, hash));
|
|
370
|
-
}) || /* @__PURE__ */ React11.createElement(
|
|
370
|
+
}) || /* @__PURE__ */ React11.createElement(TableRowNoData, {
|
|
371
371
|
additionalCells: 1
|
|
372
|
-
}))
|
|
372
|
+
}));
|
|
373
373
|
}, "BoundWitnessPayloadTableBody");
|
|
374
374
|
|
|
375
375
|
// src/components/_shared/Payloads/payloads-table/TableBodyFiltered.tsx
|
|
@@ -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 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 from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps &\n { ref?: React.Ref<SVGSVGElement | null> }) => <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 ? ({ ref, ...props }) => {\n return <InvalidIcon color={iconColors ? 'error' : undefined} ref={ref} {...props} />\n }\n : ({ ref, ...props }) => {\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) => {\n return <Typography key={error.name}>{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 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 = ({\n ref, hash, identiconProps, ...props\n}: HashHeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 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 = ({ ref, ...props }: HeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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) => {\n return (\n <BoundWitnessSignatureTableRow\n key={`${data.signature}-${data.previous_hash}`}\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'\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 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 = ({\n ref, payload, active, ...props\n}: BoundWitnessCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 => (\n <Avatar key={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'\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 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 = ({\n ref, active = false, activeBgColor = true, additionalActions, hideJSONButton, hidePreviousHash, hideValidation, payload, ...props\n}: BoundWitnessCardHeaderProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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'\nimport { FaSignature } from 'react-icons/fa'\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 from 'react'\n\nimport { BoundWitnessDetailsCardInner } from './DetailsCardInner.tsx'\n\nconst BoundWitnessDetailsCard = ({\n ref, visibleRows, ...props\n}: PayloadDetailsListRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 from 'react'\n\nimport { BoundWitnessCardHeader } from '../../Card/index.ts'\nimport { DetailsCardContent } from './DetailsCardContent.tsx'\n\nconst BoundWitnessDetailsCardInner = ({\n ref, payload, active, ...props\n}: PayloadDetailsRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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, { 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 = ({\n ref, collapsed, boundwitness, setCollapsed, ...props\n}: DetailsCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 from 'react'\nimport { FaSignature } from 'react-icons/fa'\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 = ({\n ref, activeTab = 0, setActiveTab, boundWitness, ...props\n}: BoundWitnessBottomNavigationProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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'\nimport { FaSignature } from 'react-icons/fa'\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 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 = ({\n ref, paper, payload, children, ...props\n}: BoundWitnessDetailsProps & { ref?: React.Ref<unknown | null> }) => {\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) => {\n return <Typography key={error.name}>{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","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","BWVerification","boundwitness","iconColors","errors","usePromise","BoundWitnessValidator","undefined","validate","QuickTipButton","Icon","length","CheckCircleOutlineRoundedIcon","hoverText","FlexCol","flexWrap","alignItems","map","error","Typography","key","name","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","Paper","styled","React","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","ref","props","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","ref","hash","identiconProps","props","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","BoundWitnessSignatureTableRow","key","previousHash","clickableFields","BoundWitnessSignatureDetails","block","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessSignatureTable","Card","React","React","Avatar","AvatarGroup","Identicon","React","useRef","AddressAvatarGroup","addresses","maxAvatars","props","ref","useRef","size","current","clientWidth","undefined","React","AvatarGroup","max","total","length","map","address","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","ref","payload","active","props","boundwitness","React","CardContentFlex","CardColumnsFlex","CardColumnTitleH2","SchemaAvatarGroup","schemas","payload_schemas","AddressAvatarGroup","addresses","displayName","CardHeader","styled","useTheme","Identicon","usePayloadHash","React","BoundWitnessCardHeader","ref","active","activeBgColor","additionalActions","hideJSONButton","hidePreviousHash","hideValidation","payload","props","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","ExpandLessRounded","ExpandLessRoundedIcon","ExpandMoreRounded","ExpandMoreRoundedIcon","Card","Divider","IconButton","useResetState","React","Collapse","FlexGrowCol","FlexRow","CardContentEx","useTableHeight","React","useState","BottomNavigation","BottomNavigationAction","styled","BoundWitnessSchema","React","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessBottomNavigation","ref","activeTab","setActiveTab","boundWitness","props","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","ref","collapsed","boundwitness","setCollapsed","props","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","ref","payload","active","props","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","ref","visibleRows","props","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsCardInner","displayName","FlexCol","PayloadDataDetails","PayloadJsonDetails","React","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","Typography","key","name","toString","BoundWitnessDetails","ref","paper","payload","children","props","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 from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps &\n { ref?: React.Ref<SVGSVGElement | null> }) => <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 ? ({ ref, ...props }) => {\n return <InvalidIcon color={iconColors ? 'error' : undefined} ref={ref} {...props} />\n }\n : ({ ref, ...props }) => {\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) => {\n return <Typography key={error.name}>{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 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 = ({\n ref, hash, identiconProps, ...props\n}: HashHeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 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 = ({ ref, ...props }: HeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 <TableRowNoData additionalCells={1} />\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) => {\n return (\n <BoundWitnessSignatureTableRow\n key={`${data.signature}-${data.previous_hash}`}\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'\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 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 = ({\n ref, payload, active, ...props\n}: BoundWitnessCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 => (\n <Avatar key={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'\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 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 = ({\n ref, active = false, activeBgColor = true, additionalActions, hideJSONButton, hidePreviousHash, hideValidation, payload, ...props\n}: BoundWitnessCardHeaderProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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'\nimport { FaSignature } from 'react-icons/fa'\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 from 'react'\n\nimport { BoundWitnessDetailsCardInner } from './DetailsCardInner.tsx'\n\nconst BoundWitnessDetailsCard = ({\n ref, visibleRows, ...props\n}: PayloadDetailsListRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 from 'react'\n\nimport { BoundWitnessCardHeader } from '../../Card/index.ts'\nimport { DetailsCardContent } from './DetailsCardContent.tsx'\n\nconst BoundWitnessDetailsCardInner = ({\n ref, payload, active, ...props\n}: PayloadDetailsRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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, { 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 = ({\n ref, collapsed, boundwitness, setCollapsed, ...props\n}: DetailsCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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 from 'react'\nimport { FaSignature } from 'react-icons/fa'\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 = ({\n ref, activeTab = 0, setActiveTab, boundWitness, ...props\n}: BoundWitnessBottomNavigationProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\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\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'\nimport { FaSignature } from 'react-icons/fa'\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 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 = ({\n ref, paper, payload, children, ...props\n}: BoundWitnessDetailsProps & { ref?: React.Ref<unknown | null> }) => {\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) => {\n return <Typography key={error.name}>{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","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","BWVerification","boundwitness","iconColors","errors","usePromise","BoundWitnessValidator","undefined","validate","QuickTipButton","Icon","length","CheckCircleOutlineRoundedIcon","hoverText","FlexCol","flexWrap","alignItems","map","error","Typography","key","name","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","Paper","styled","React","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","ref","props","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","ref","hash","identiconProps","props","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","BoundWitnessSignatureTableRow","key","previousHash","clickableFields","BoundWitnessSignatureDetails","block","props","elevation","paper","React","PropertyGroup","titleProps","title","tip","BoundWitnessSignatureTable","Card","React","React","Avatar","AvatarGroup","Identicon","React","useRef","AddressAvatarGroup","addresses","maxAvatars","props","ref","useRef","size","current","clientWidth","undefined","React","AvatarGroup","max","total","length","map","address","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","ref","payload","active","props","boundwitness","React","CardContentFlex","CardColumnsFlex","CardColumnTitleH2","SchemaAvatarGroup","schemas","payload_schemas","AddressAvatarGroup","addresses","displayName","CardHeader","styled","useTheme","Identicon","usePayloadHash","React","BoundWitnessCardHeader","ref","active","activeBgColor","additionalActions","hideJSONButton","hidePreviousHash","hideValidation","payload","props","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","ExpandLessRounded","ExpandLessRoundedIcon","ExpandMoreRounded","ExpandMoreRoundedIcon","Card","Divider","IconButton","useResetState","React","Collapse","FlexGrowCol","FlexRow","CardContentEx","useTableHeight","React","useState","BottomNavigation","BottomNavigationAction","styled","BoundWitnessSchema","React","FaSignature","VscSymbolMethod","VscSymbolNamespace","BoundWitnessBottomNavigation","ref","activeTab","setActiveTab","boundWitness","props","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","ref","collapsed","boundwitness","setCollapsed","props","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","ref","payload","active","props","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","ref","visibleRows","props","React","TableHeightProvider","defaultVisibleRows","additionalRows","BoundWitnessDetailsCardInner","displayName","FlexCol","PayloadDataDetails","PayloadJsonDetails","React","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","Typography","key","name","toString","BoundWitnessDetails","ref","paper","payload","children","props","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/_shared/Payloads/payloads-table/TableBody.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAI7E,OAAO,KAAkC,MAAM,OAAO,CAAA;AAEtD,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/_shared/Payloads/payloads-table/TableBody.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAI7E,OAAO,KAAkC,MAAM,OAAO,CAAA;AAEtD,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CA+CpF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/react-chain-boundwitness",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.13",
|
|
5
5
|
"description": "XYO Layer One React SDK BoundWitness",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"@xylabs/react-identicon": "^6.0.9",
|
|
42
42
|
"@xylabs/react-promise": "^6.0.9",
|
|
43
43
|
"@xylabs/react-quick-tip-button": "^6.0.9",
|
|
44
|
-
"@xyo-network/boundwitness-model": "^3.10.
|
|
45
|
-
"@xyo-network/boundwitness-validator": "^3.10.
|
|
46
|
-
"@xyo-network/payload-model": "^3.10.
|
|
44
|
+
"@xyo-network/boundwitness-model": "^3.10.5",
|
|
45
|
+
"@xyo-network/boundwitness-validator": "^3.10.5",
|
|
46
|
+
"@xyo-network/payload-model": "^3.10.5",
|
|
47
47
|
"@xyo-network/react-card": "^5.0.7",
|
|
48
48
|
"@xyo-network/react-event": "^5.0.7",
|
|
49
49
|
"@xyo-network/react-payload-details": "^5.0.7",
|
|
@@ -59,20 +59,20 @@
|
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@emotion/react": "^11.14.0",
|
|
61
61
|
"@emotion/styled": "^11.14.0",
|
|
62
|
-
"@mui/icons-material": "^6.4.
|
|
63
|
-
"@mui/material": "^6.4.
|
|
64
|
-
"@mui/styles": "^6.4.
|
|
65
|
-
"@storybook/react": "^8.6.
|
|
62
|
+
"@mui/icons-material": "^6.4.9",
|
|
63
|
+
"@mui/material": "^6.4.9",
|
|
64
|
+
"@mui/styles": "^6.4.9",
|
|
65
|
+
"@storybook/react": "^8.6.10",
|
|
66
66
|
"@types/react": "^19.0.12",
|
|
67
67
|
"@xylabs/hex": "^4.7.11",
|
|
68
|
-
"@xylabs/ts-scripts-yarn3": "^6.1.
|
|
69
|
-
"@xylabs/tsconfig-react": "^6.1.
|
|
68
|
+
"@xylabs/ts-scripts-yarn3": "^6.1.11",
|
|
69
|
+
"@xylabs/tsconfig-react": "^6.1.11",
|
|
70
70
|
"@xyo-network/react-storybook": "^5.0.7",
|
|
71
|
-
"eslint": "^9.
|
|
71
|
+
"eslint": "^9.23.0",
|
|
72
72
|
"react": "^19.0.0",
|
|
73
73
|
"react-dom": "^19.0.0",
|
|
74
74
|
"react-router-dom": "^7.4.0",
|
|
75
|
-
"storybook": "^8.6.
|
|
75
|
+
"storybook": "^8.6.10",
|
|
76
76
|
"typescript": "^5.8.2"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|