@xyo-network/react-payload-table 4.4.10 → 5.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.mjs +3 -3
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/DynamicTable/DynamicTableRow.d.ts +15 -0
- package/dist/types/components/DynamicTable/DynamicTableRow.d.ts.map +1 -0
- package/dist/types/components/DynamicTable/PayloadDynamicTableColumnConfig.d.ts +16 -0
- package/dist/types/components/DynamicTable/PayloadDynamicTableColumnConfig.d.ts.map +1 -0
- package/dist/types/components/DynamicTable/Table.d.ts +14 -0
- package/dist/types/components/DynamicTable/Table.d.ts.map +1 -0
- package/dist/types/components/DynamicTable/index.d.ts +4 -0
- package/dist/types/components/DynamicTable/index.d.ts.map +1 -0
- package/dist/types/components/Table/PayloadTableColumnConfig.d.ts +6 -0
- package/dist/types/components/Table/PayloadTableColumnConfig.d.ts.map +1 -0
- package/dist/types/components/Table/Table.d.ts +39 -0
- package/dist/types/components/Table/Table.d.ts.map +1 -0
- package/dist/types/components/Table/TableBody.d.ts +4 -0
- package/dist/types/components/Table/TableBody.d.ts.map +1 -0
- package/dist/types/components/Table/TableFooter.d.ts +4 -0
- package/dist/types/components/Table/TableFooter.d.ts.map +1 -0
- package/dist/types/components/Table/TableHead.d.ts +5 -0
- package/dist/types/components/Table/TableHead.d.ts.map +1 -0
- package/dist/types/components/Table/TablePagination.d.ts +11 -0
- package/dist/types/components/Table/TablePagination.d.ts.map +1 -0
- package/dist/types/components/Table/TableRow.d.ts +16 -0
- package/dist/types/components/Table/TableRow.d.ts.map +1 -0
- package/dist/types/components/Table/TableRowNoData.d.ts +9 -0
- package/dist/types/components/Table/TableRowNoData.d.ts.map +1 -0
- package/dist/types/components/Table/index.d.ts +8 -0
- package/dist/types/components/Table/index.d.ts.map +1 -0
- package/dist/types/components/Table/lib/TableColumns.d.ts +9 -0
- package/dist/types/components/Table/lib/TableColumns.d.ts.map +1 -0
- package/dist/types/components/Table/lib/index.d.ts +2 -0
- package/dist/types/components/Table/lib/index.d.ts.map +1 -0
- package/dist/types/components/Table/types/PaginationEventNouns.d.ts +2 -0
- package/dist/types/components/Table/types/PaginationEventNouns.d.ts.map +1 -0
- package/dist/types/components/Table/types/PayloadTableBodyProps.d.ts +16 -0
- package/dist/types/components/Table/types/PayloadTableBodyProps.d.ts.map +1 -0
- package/dist/types/components/Table/types/PayloadTableFooterProps.d.ts +13 -0
- package/dist/types/components/Table/types/PayloadTableFooterProps.d.ts.map +1 -0
- package/dist/types/components/Table/types/PayloadTableHeadProps.d.ts +6 -0
- package/dist/types/components/Table/types/PayloadTableHeadProps.d.ts.map +1 -0
- package/dist/types/components/Table/types/index.d.ts +5 -0
- package/dist/types/components/Table/types/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +36 -34
- package/src/components/Table/Table.tsx +87 -91
- package/dist/browser/index.d.ts +0 -135
package/dist/browser/index.mjs
CHANGED
|
@@ -425,7 +425,7 @@ var payloadTableColumnConfigDefaults = /* @__PURE__ */ __name(() => {
|
|
|
425
425
|
|
|
426
426
|
// src/components/Table/Table.tsx
|
|
427
427
|
import { TableEx } from "@xyo-network/react-table";
|
|
428
|
-
import React9, {
|
|
428
|
+
import React9, { useMemo as useMemo5, useState as useState2 } from "react";
|
|
429
429
|
|
|
430
430
|
// src/components/Table/TableBody.tsx
|
|
431
431
|
import { Alert as Alert2, TableBody as TableBody2, Typography as Typography4 } from "@mui/material";
|
|
@@ -702,7 +702,7 @@ var StyledTableCell = styled2(TableCell5, {
|
|
|
702
702
|
}));
|
|
703
703
|
|
|
704
704
|
// src/components/Table/Table.tsx
|
|
705
|
-
var PayloadTableWithRef = /* @__PURE__ */
|
|
705
|
+
var PayloadTableWithRef = /* @__PURE__ */ __name(({ ref, exploreDomain, archive, onHashClick, onRowClick, fetchMorePayloads, rowsPerPage: rowsPerPageProp = 25, payloads, columns, PayloadTableHeadComponent = PayloadTableHead, PayloadTableBodyComponent = PayloadTableBody, PayloadTableFooterComponent = PayloadTableFooter, maxSchemaDepth, count = 0, loading = false, variant = "scrollable", ...props }) => {
|
|
706
706
|
const [page, setPage] = useState2(0);
|
|
707
707
|
const [rowsPerPage, setRowsPerPage] = useState2(rowsPerPageProp);
|
|
708
708
|
const [visiblePayloads, setVisiblePayloads] = useState2([]);
|
|
@@ -779,7 +779,7 @@ var PayloadTableWithRef = /* @__PURE__ */ forwardRef(({ exploreDomain, archive,
|
|
|
779
779
|
loading,
|
|
780
780
|
page
|
|
781
781
|
}));
|
|
782
|
-
});
|
|
782
|
+
}, "PayloadTableWithRef");
|
|
783
783
|
PayloadTableWithRef.displayName = "PayloadTable";
|
|
784
784
|
var PayloadTable = PayloadTableWithRef;
|
|
785
785
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/DynamicTable/DynamicTableRow.tsx","../../src/components/DynamicTable/PayloadDynamicTableColumnConfig.ts","../../src/components/DynamicTable/Table.tsx","../../src/components/Table/PayloadTableColumnConfig.ts","../../src/components/Table/Table.tsx","../../src/components/Table/TableBody.tsx","../../src/components/Table/TableRow.tsx","../../src/components/Table/TableFooter.tsx","../../src/components/Table/TablePagination.tsx","../../src/components/Table/TableHead.tsx","../../src/components/Table/TableRowNoData.tsx"],"sourcesContent":["import {\n CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,\n ErrorOutlineRounded as ErrorOutlineRoundedIcon,\n WarningAmberRounded as WarningAmberRoundedIcon,\n} from '@mui/icons-material'\nimport type {\n AvatarProps, TableCellProps, TableRowProps,\n} from '@mui/material'\nimport {\n TableCell, TableRow, Typography,\n} from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { useNetwork } from '@xyo-network/react-network'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver'\nimport type { HashTableCellProps } from '@xyo-network/react-shared'\nimport { HashTableCell, usePayloadHash } from '@xyo-network/react-shared'\nimport type { ComponentType } from 'react'\nimport React, { useMemo } from 'react'\n\nimport type {\n PayloadDynamicTableColumnConfig,\n PayloadDynamicTableColumnSlug,\n} from './PayloadDynamicTableColumnConfig.ts'\nimport { payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig.ts'\n\nexport interface PayloadDynamicTableRowProps extends TableRowProps {\n archive?: string\n columns?: PayloadDynamicTableColumnConfig\n exploreDomain?: string\n network?: string\n payload?: Payload & { sources?: string[] }\n}\n\nexport const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps> = ({\n archive,\n columns,\n exploreDomain,\n network: networkProp,\n payload,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const payloadHash = usePayloadHash(payload)\n const { network } = useNetwork()\n const { resolver } = usePayloadRenderPluginResolver()\n const [validationErrors = []] = usePromise(async () => (payload ? await new PayloadValidator(payload).validate() : undefined), [payload])\n const isValid = validationErrors.length === 0\n const payloadFieldCount = payload ? Object.keys(PayloadHasher.hashFields(payload)).length : 0\n const hash: React.FC<HashTableCellProps> = props => (\n <HashTableCell\n key=\"hash\"\n align=\"left\"\n archive={archive}\n value={payloadHash}\n dataType=\"payload\"\n exploreDomain={exploreDomain}\n network={networkProp ?? network?.slug}\n {...props}\n />\n )\n\n const schema: React.FC<TableCellProps> = props => (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {payload?.schema}\n </Typography>\n </TableCell>\n )\n\n const details: React.FC<TableCellProps> = props => (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {payloadFieldCount}\n </Typography>\n </TableCell>\n )\n\n const render: React.FC<TableCellProps> = (props) => {\n const Render: ComponentType<PayloadRenderProps & TableCellProps> | undefined\n = payload ? resolver?.resolve(payload)?.components.table.cell : undefined\n return Render ? <Render payload={payload} {...props} /> : <TableCell key=\"payloads\" align=\"left\" {...props}></TableCell>\n }\n\n const icon: React.FC<TableCellProps> = (props) => {\n const Avatar: ComponentType<PayloadRenderProps & AvatarProps> | undefined\n = payload ? resolver?.resolve(payload)?.components.avatar.image : undefined\n\n return (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n {Avatar\n ? <Avatar payload={payload} />\n : null}\n </TableCell>\n )\n }\n\n const valid: React.FC<TableCellProps> = props => (\n <TableCell key=\"valid\" align=\"center\" {...props}>\n {isValid === undefined && payload != undefined\n ? <WarningAmberRoundedIcon fontSize=\"small\" color=\"warning\" />\n : isValid === true\n ? <CheckCircleOutlineRoundedIcon fontSize=\"small\" color=\"success\" />\n : isValid === false\n ? <ErrorOutlineRoundedIcon color=\"error\" fontSize=\"small\" />\n // nbsp to keep row height consistent even when no data is provided for the row\n : <Typography> </Typography>}\n </TableCell>\n )\n\n const tableCells: Record<PayloadDynamicTableColumnSlug, React.FC<TableCellProps>> = {\n details,\n hash,\n icon,\n render,\n schema,\n valid,\n }\n\n const columnsMemo = useMemo(() => columns ?? payloadDynamicTableColumnConfigDefaults(), [columns])\n\n return breakPoint\n ? (\n <TableRow style={{ maxWidth: '100vw' }} {...props}>\n {columnsMemo[breakPoint]?.map((column) => {\n return column.slug ? tableCells[column.slug]({}) : null\n })}\n </TableRow>\n )\n : null\n}\n","export type PayloadDynamicTableColumnSlug = 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon'\n\nexport interface PayloadDynamicTableColumnHeadData {\n alignment?: 'left' | 'center' | 'right'\n name?: string\n slug?: 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon'\n width?: string | number\n}\n\nexport interface PayloadDynamicTableColumnConfig {\n xs?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n sm?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n md?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n lg?: PayloadDynamicTableColumnHeadData[]\n xl?: PayloadDynamicTableColumnHeadData[]\n}\n\nexport const payloadDynamicTableColumnConfigDefaults = (): PayloadDynamicTableColumnConfig => {\n const xs: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const sm: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const md: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const lg: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Render', slug: 'render', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const xl: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Render', slug: 'render', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n return {\n lg, md, sm, xl, xs,\n }\n}\n","import {\n FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon,\n} from '@mui/icons-material'\nimport type { TableProps } from '@mui/material'\nimport {\n Alert,\n Box,\n IconButton,\n Table,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TablePagination,\n TableRow,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { ThrownErrorBoundary } from '@xylabs/react-error'\nimport { useResetState } from '@xylabs/react-hooks'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { usePayloadHashes } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadDynamicTableRow } from './DynamicTableRow.tsx'\nimport type { PayloadDynamicTableColumnConfig } from './PayloadDynamicTableColumnConfig.ts'\nimport { payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig.ts'\n\nexport interface PayloadDynamicTableProps extends TableProps {\n archive?: string\n columns?: PayloadDynamicTableColumnConfig\n exploreDomain?: string\n onRowClick?: (value: Payload) => void\n payloads?: Payload[] | null\n rowsPerPage?: number\n}\n\ninterface TablePaginationActionsProps {\n count: number\n onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void\n page: number\n rowsPerPage: number\n}\n\nfunction TablePaginationActions(props: TablePaginationActionsProps) {\n const theme = useTheme()\n const {\n count, page, rowsPerPage, onPageChange,\n } = props\n\n const handleFirstPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, 0)\n }\n\n const handleBackButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page - 1)\n }\n\n const handleNextButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page + 1)\n }\n\n const handleLastPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1))\n }\n\n return (\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl'\n ? <LastPageIcon />\n : <FirstPageIcon />}\n </IconButton>\n <IconButton onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowRight />\n : <KeyboardArrowLeft />}\n </IconButton>\n <IconButton onClick={handleNextButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"next page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowLeft />\n : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl'\n ? <FirstPageIcon />\n : <LastPageIcon />}\n </IconButton>\n </Box>\n )\n}\n\nexport const PayloadDynamicTable: React.FC<PayloadDynamicTableProps> = ({\n archive,\n children,\n columns,\n exploreDomain,\n onRowClick,\n rowsPerPage: rowsPerPageProp = 10,\n payloads,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const [page, setPage] = useState(0)\n const [rowsPerPage, setRowsPerPage] = useResetState(rowsPerPageProp)\n const payloadCount = payloads ? payloads.length : 0\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0\n\n const pagedPayloads = useMemo(() => payloads?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [payloads, page, rowsPerPage])\n\n const payloadPairs = usePayloadHashes(pagedPayloads)\n\n const handleChangePage = (event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setRowsPerPage(Number.parseInt(event.target.value, 10))\n setPage(0)\n }\n\n return breakPoint\n ? (\n <Table stickyHeader {...props}>\n <TableHead>\n <TableRow>\n {(columns ?? payloadDynamicTableColumnConfigDefaults())[breakPoint]?.map((column, index) => {\n return (\n <TableCell key={index} align={column.alignment ?? 'left'} width={column.width}>\n <Typography variant=\"body2\" noWrap>\n {column.name}\n </Typography>\n </TableCell>\n )\n })}\n </TableRow>\n </TableHead>\n <TableBody sx={{ overflowY: 'scroll ' }}>\n {payloadPairs?.map(([payload, hash], index) => {\n return (\n <ThrownErrorBoundary\n boundaryName=\"PayloadTableBody\"\n key={`${hash}-${index}`}\n errorComponent={e => (\n <Alert severity=\"error\">\n Error Loading Payload:\n {' '}\n <Typography fontWeight=\"bold\">{e.message}</Typography>\n </Alert>\n )}\n >\n <PayloadDynamicTableRow\n archive={archive}\n onClick={\n onRowClick\n ? () => {\n onRowClick(payload)\n }\n : undefined\n }\n exploreDomain={exploreDomain}\n payload={payload}\n />\n </ThrownErrorBoundary>\n )\n })}\n {children}\n {emptyRows ? (Array.from({ length: emptyRows }).fill(<PayloadDynamicTableRow />) as ReactNode[]) : null}\n </TableBody>\n <TableFooter>\n <TableRow>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}\n colSpan={5}\n count={payloadCount}\n rowsPerPage={rowsPerPage}\n page={page}\n SelectProps={{\n inputProps: { 'aria-label': 'rows per page' },\n native: true,\n }}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n ActionsComponent={TablePaginationActions}\n />\n </TableRow>\n </TableFooter>\n </Table>\n )\n : null\n}\n","import type { TableColumnConfig, TableColumnNames } from './lib/index.ts'\n\nexport type PayloadTableColumnConfig = TableColumnConfig<PayloadTableColumnSlug>\n\nexport type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid' | string\n\nexport const payloadColumnNames: TableColumnNames<PayloadTableColumnSlug> = {\n hash: 'Hash',\n schema: 'Schema',\n valid: 'Valid',\n}\n\nexport const payloadTableColumnConfigDefaults = (): PayloadTableColumnConfig => {\n const xs: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const sm: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const md: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const lg: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const xl: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n return {\n lg, md, sm, xl, xs,\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { TableExProps } from '@xyo-network/react-table'\nimport { TableEx } from '@xyo-network/react-table'\nimport type { ComponentType } from 'react'\nimport React, {\n forwardRef, useMemo, useState,\n} from 'react'\n\nimport type { PayloadTableColumnConfig } from './PayloadTableColumnConfig.ts'\nimport { PayloadTableBody } from './TableBody.tsx'\nimport { PayloadTableFooter } from './TableFooter.tsx'\nimport { PayloadTableHead } from './TableHead.tsx'\nimport { TableRowNoData } from './TableRowNoData.tsx'\nimport type {\n PayloadTableBodyProps, PayloadTableFooterProps, PayloadTableHeadProps,\n} from './types/index.ts'\n\nexport interface PayloadTableProps extends TableExProps {\n PayloadTableBodyComponent?: ComponentType<PayloadTableBodyProps>\n PayloadTableFooterComponent?: ComponentType<PayloadTableFooterProps>\n PayloadTableHeadComponent?: ComponentType<PayloadTableHeadProps>\n archive?: string\n columns?: PayloadTableColumnConfig\n /** Total number of payloads passed */\n count?: number\n exploreDomain?: string\n /** External trigger to fetch more payloads */\n fetchMorePayloads?: () => void\n loading?: boolean\n /** set number of schema parts to display starting from the end */\n maxSchemaDepth?: number\n onHashClick?: (value: Hash) => void\n onRowClick?: (value: Payload) => void\n payloads?: Payload[] | null\n rowsPerPage?: number\n}\n\nexport const PayloadTableWithRef = forwardRef<HTMLTableElement, PayloadTableProps>(\n (\n {\n exploreDomain,\n archive,\n onHashClick,\n onRowClick,\n fetchMorePayloads,\n rowsPerPage: rowsPerPageProp = 25,\n payloads,\n columns,\n PayloadTableHeadComponent = PayloadTableHead,\n PayloadTableBodyComponent = PayloadTableBody,\n PayloadTableFooterComponent = PayloadTableFooter,\n maxSchemaDepth,\n count = 0,\n loading = false,\n variant = 'scrollable',\n ...props\n },\n ref,\n ) => {\n const [page, setPage] = useState(0)\n const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp)\n const [visiblePayloads, setVisiblePayloads] = useState<Payload[]>([])\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0\n\n useMemo(() => {\n setRowsPerPage(rowsPerPageProp)\n }, [rowsPerPageProp])\n\n // React to various prop changes to derive new visible payloads\n // count is needed to show initial payloads added async to the same payloads reference\n useMemo(() => {\n if (payloads) {\n setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage))\n }\n }, [count, page, payloads, rowsPerPage])\n\n // If the payload reference changes, assume we have a new list and reset current page\n useMemo(() => {\n setPage(0)\n }, [payloads])\n\n const handleAdditionalPayloads = () => {\n if (fetchMorePayloads && payloads) {\n const buffer = rowsPerPage * 2\n const lastVisiblePayload = visiblePayloads?.at(-1)\n if (lastVisiblePayload) {\n const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload)\n if (lastVisibleIndex !== undefined && payloads.length - (lastVisibleIndex + 1) <= buffer) {\n fetchMorePayloads()\n }\n }\n }\n }\n\n const handleChangePage = (_event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {\n handleAdditionalPayloads()\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setRowsPerPage(Number.parseInt(event.target.value, 10))\n setPage(0)\n }\n\n const noResults = useMemo(() => {\n return !loading && (!visiblePayloads || visiblePayloads.length === 0)\n }, [loading, visiblePayloads])\n\n return (\n <TableEx variant={variant} ref={ref} {...props}>\n <PayloadTableHeadComponent columns={columns} />\n <PayloadTableBodyComponent\n payloads={visiblePayloads}\n exploreDomain={exploreDomain}\n archive={archive}\n maxSchemaDepth={maxSchemaDepth}\n onRowClick={onRowClick}\n onHashClick={onHashClick}\n emptyRows={emptyRows}\n noResults={noResults}\n NoResultRowComponent={TableRowNoData}\n />\n <PayloadTableFooterComponent\n count={count}\n variant={variant}\n rowsPerPage={rowsPerPage}\n handleChangePage={handleChangePage}\n handleChangeRowsPerPage={handleChangeRowsPerPage}\n fetchMorePayloads={fetchMorePayloads}\n loading={loading}\n page={page}\n />\n </TableEx>\n )\n },\n)\n\nPayloadTableWithRef.displayName = 'PayloadTable'\n\nexport const PayloadTable = PayloadTableWithRef\n","import {\n Alert, TableBody, Typography,\n} from '@mui/material'\nimport { ThrownErrorBoundary } from '@xylabs/react-error'\nimport { usePayloadHashes } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { PayloadTableRow } from './TableRow.tsx'\nimport type { PayloadTableBodyProps } from './types/index.ts'\n\nexport const PayloadTableBody: React.FC<PayloadTableBodyProps> = ({\n children,\n exploreDomain,\n payloads,\n archive,\n maxSchemaDepth,\n onHashClick,\n onRowClick,\n emptyRows,\n noResults,\n NoResultRowComponent,\n ...props\n}) => {\n const payloadPairs = usePayloadHashes(payloads)\n\n return (\n <TableBody {...props}>\n {noResults && NoResultRowComponent\n ? <NoResultRowComponent />\n : null}\n {payloadPairs?.map(([payload, hash], index) => {\n return (\n <ThrownErrorBoundary\n boundaryName=\"PayloadTableBody\"\n key={`${hash}-${index}`}\n errorComponent={e => (\n <Alert severity=\"error\">\n Error Loading Payload:\n {' '}\n <Typography fontWeight=\"bold\">{e.message}</Typography>\n </Alert>\n )}\n >\n <PayloadTableRow\n maxSchemaDepth={maxSchemaDepth}\n archive={archive}\n onClick={\n onRowClick\n ? () => {\n onRowClick(payload)\n }\n : undefined\n }\n onHashClick={onHashClick}\n exploreDomain={exploreDomain}\n payload={payload}\n />\n </ThrownErrorBoundary>\n )\n })}\n {children}\n {emptyRows ? (Array.from({ length: emptyRows }).fill(<PayloadTableRow />) as ReactNode[]) : null}\n </TableBody>\n )\n}\n","import {\n CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,\n ErrorOutlineRounded as ErrorOutlineRoundedIcon,\n WarningAmberRounded as WarningAmberRoundedIcon,\n} from '@mui/icons-material'\nimport type { TableCellProps, TableRowProps } from '@mui/material'\nimport {\n alpha, TableCell, TableRow, Typography,\n} from '@mui/material'\nimport type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { HashTableCell, usePayloadHash } from '@xyo-network/react-shared'\nimport React, { useMemo } from 'react'\n\nimport type { PayloadTableColumnConfig, PayloadTableColumnSlug } from './PayloadTableColumnConfig.ts'\nimport { payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig.ts'\n\nexport interface PayloadTableRowProps extends TableRowProps {\n archive?: string\n columns?: PayloadTableColumnConfig\n exploreDomain?: string\n maxSchemaDepth?: number\n network?: string\n onHashClick?: (value: Hash) => void\n payload?: Payload\n}\n\nexport const PayloadTableRow: React.FC<PayloadTableRowProps> = ({\n archive,\n columns,\n exploreDomain,\n maxSchemaDepth,\n network: networkProp,\n onHashClick,\n payload,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const payloadHash = usePayloadHash(payload)\n const { network } = useNetwork()\n const [errors = []] = usePromise(async () => (payload ? await new PayloadValidator(payload).validate() : undefined), [payload])\n const isValid = errors.length === 0\n\n const hash: React.FC<TableCellProps> = props => (\n <HashTableCell\n key=\"hash\"\n archive={archive}\n width=\"100%\"\n value={payloadHash}\n onHashClick={onHashClick}\n dataType=\"payload\"\n exploreDomain={exploreDomain}\n network={networkProp ?? network?.slug}\n {...props}\n />\n )\n\n const reduceSchemaDepth = (schema?: string, maxSchemaDepth?: number) => {\n if (maxSchemaDepth) {\n const parts = schema?.split('.') ?? []\n const partsToRemove = Math.max(parts.length - maxSchemaDepth, 0)\n if (partsToRemove > 0) {\n return (\n <>\n <>…</>\n {\n // eslint-disable-next-line unicorn/no-array-reduce\n `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`\n }\n </>\n )\n }\n }\n return schema\n }\n\n const schema: React.FC<TableCellProps> = props => (\n <TableCell title={payload?.schema} key=\"payloads\" align=\"center\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {reduceSchemaDepth(payload?.schema, maxSchemaDepth)}\n </Typography>\n </TableCell>\n )\n\n const valid: React.FC<TableCellProps> = props => (\n <TableCell key=\"valid\" align=\"center\" {...props}>\n {isValid === undefined && payload != undefined\n ? <WarningAmberRoundedIcon fontSize=\"small\" color=\"warning\" />\n : isValid === true\n ? <CheckCircleOutlineRoundedIcon fontSize=\"small\" color=\"success\" />\n : isValid === false\n ? <ErrorOutlineRoundedIcon color=\"error\" fontSize=\"small\" />\n // to keep row height consistent when no data provided, may need fix later\n : <ErrorOutlineRoundedIcon sx={{ color: alpha('#fff', 0) }} fontSize=\"small\" />}\n </TableCell>\n )\n\n const tableCells: Record<PayloadTableColumnSlug, React.FC<TableCellProps>> = {\n hash,\n schema,\n valid,\n }\n\n const columnsMemo = useMemo(() => columns ?? payloadTableColumnConfigDefaults(), [columns])\n\n return breakPoint\n ? (\n <TableRow style={{ maxWidth: '100vw' }} {...props}>\n {columnsMemo[breakPoint]?.map((column) => {\n return tableCells[column]({})\n })}\n </TableRow>\n )\n : null\n}\n","import {\n styled, TablePagination, TableRow,\n} from '@mui/material'\nimport { TableFooterEx } from '@xyo-network/react-table'\nimport React from 'react'\n\nimport { TablePaginationActions } from './TablePagination.tsx'\nimport type { PayloadTableFooterProps } from './types/index.ts'\n\nexport const PayloadTableFooter: React.FC<PayloadTableFooterProps> = ({\n count,\n variant,\n page,\n rowsPerPage,\n handleChangePage,\n handleChangeRowsPerPage,\n fetchMorePayloads,\n loading,\n}) => (\n <TableFooterEx variant={variant}>\n <TableRow>\n <StyledTablePagination\n rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}\n count={count ?? 0}\n rowsPerPage={rowsPerPage ?? 10}\n page={page ?? 0}\n SelectProps={{\n inputProps: { 'aria-label': 'rows per page' },\n native: true,\n }}\n onPageChange={handleChangePage ?? (() => {})}\n onRowsPerPageChange={handleChangeRowsPerPage ?? (() => {})}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ActionsComponent={(props: any) => <TablePaginationActions enableNextPage={!!fetchMorePayloads} loading={loading} {...props} />}\n />\n </TableRow>\n </TableFooterEx>\n)\n\nconst StyledTablePagination = styled(TablePagination)(({ theme }) => ({\n '& > .MuiToolbar-root': { paddingLeft: theme.spacing(1) },\n 'borderTop': '1px solid',\n 'borderTopColor': theme.palette.divider,\n}))\n","import {\n FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon,\n} from '@mui/icons-material'\nimport {\n Box, CircularProgress, IconButton, useTheme,\n} from '@mui/material'\nimport { useEvent } from '@xyo-network/react-event'\nimport React from 'react'\n\nimport type { PaginationNouns } from './types/index.ts'\n\nexport interface TablePaginationActionsProps {\n count: number\n enableNextPage?: boolean\n loading?: boolean\n onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void\n page: number\n rowsPerPage: number\n}\n\nexport function TablePaginationActions({\n count, enableNextPage, loading, onPageChange, page, rowsPerPage,\n}: TablePaginationActionsProps) {\n const theme = useTheme()\n const [paginationRef, paginationDispatch] = useEvent<HTMLButtonElement, PaginationNouns>()\n\n const handleFirstPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('firstPage', 'click', 'true')\n onPageChange(event, 0)\n }\n\n const handleBackButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('previousPage', 'click', (page - 1)?.toString())\n onPageChange(event, page - 1)\n }\n\n const handleNextButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('nextPage', 'click', (page + 1)?.toString())\n onPageChange(event, page + 1)\n }\n\n const handleLastPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('lastPage', 'click', 'true')\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1))\n }\n\n return (\n <>\n {loading\n ? (\n <CircularProgress\n size=\"small\"\n sx={{\n height: theme.spacing(2), position: 'absolute', width: theme.spacing(2),\n }}\n />\n )\n : null}\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl'\n ? <LastPageIcon />\n : <FirstPageIcon />}\n </IconButton>\n <IconButton ref={paginationRef} onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowRight />\n : <KeyboardArrowLeft />}\n </IconButton>\n <IconButton\n ref={paginationRef}\n onClick={handleNextButtonClick}\n disabled={!enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl'\n ? <KeyboardArrowLeft />\n : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl'\n ? <FirstPageIcon />\n : <LastPageIcon />}\n </IconButton>\n </Box>\n </>\n )\n}\n","import {\n TableCell, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport React, { useMemo } from 'react'\n\nimport type { PayloadTableColumnSlug } from './PayloadTableColumnConfig.ts'\nimport { payloadColumnNames, payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig.ts'\nimport type { PayloadTableHeadProps } from './types/index.ts'\n\nexport const PayloadTableHead: React.FC<PayloadTableHeadProps<PayloadTableColumnSlug>> = ({ columns, ...props }) => {\n const breakPoint = useBreakpoint()\n const columnsMemo = useMemo(() => columns ?? payloadTableColumnConfigDefaults(), [columns])\n return (\n <TableHead {...props}>\n <TableRow>\n {breakPoint\n ? columnsMemo[breakPoint]?.map((column, index) => {\n return (\n <TableCell key={index} width={index === 0 ? '100%' : undefined} align={index === 0 ? 'left' : 'center'}>\n <Typography variant=\"body2\" noWrap>\n {payloadColumnNames[column]}\n </Typography>\n </TableCell>\n )\n })\n : null}\n </TableRow>\n </TableHead>\n )\n}\n","import type { TableRowProps, TypographyProps } from '@mui/material'\nimport {\n styled, TableCell, TableRow, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface TableRowNoDataProps extends TableRowProps {\n additionalCells?: number\n hideBorder?: boolean\n typographyProps?: TypographyProps\n}\n\nexport const TableRowNoData: React.FC<TableRowNoDataProps> = ({\n additionalCells, hideBorder = false, typographyProps, ...props\n}) => {\n return (\n <TableRow {...props}>\n <StyledTableCell hideBorder={hideBorder}>\n <Typography variant=\"body2\" {...typographyProps}>\n No Data To Display...\n </Typography>\n </StyledTableCell>\n {additionalCells\n ? Array.from({ length: additionalCells })\n .fill(null)\n .map((_fill, index) => <StyledTableCell key={index} hideBorder={hideBorder} />)\n : null}\n </TableRow>\n )\n}\n\ninterface StyledTableCellProps {\n hideBorder?: boolean\n}\n\nconst StyledTableCell = styled(TableCell, {\n name: 'StyledTableCell',\n shouldForwardProp: (prop: string) => prop !== 'hideBorder',\n})<StyledTableCellProps>(({ hideBorder }) => ({ ...(hideBorder && { border: 'none' }) }))\n"],"mappings":"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","names":["CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","ErrorOutlineRounded","ErrorOutlineRoundedIcon","WarningAmberRounded","WarningAmberRoundedIcon","TableCell","TableRow","Typography","usePromise","useBreakpoint","PayloadHasher","PayloadValidator","useNetwork","usePayloadRenderPluginResolver","HashTableCell","usePayloadHash","React","useMemo","payloadDynamicTableColumnConfigDefaults","xs","alignment","name","slug","width","sm","md","lg","xl","PayloadDynamicTableRow","archive","columns","exploreDomain","network","networkProp","payload","props","breakPoint","useBreakpoint","payloadHash","usePayloadHash","useNetwork","resolver","usePayloadRenderPluginResolver","validationErrors","usePromise","PayloadValidator","validate","undefined","isValid","length","payloadFieldCount","Object","keys","PayloadHasher","hashFields","hash","HashTableCell","key","align","value","dataType","slug","schema","TableCell","Typography","fontFamily","variant","noWrap","details","render","Render","resolve","components","table","cell","icon","Avatar","avatar","image","valid","WarningAmberRoundedIcon","fontSize","color","CheckCircleOutlineRoundedIcon","ErrorOutlineRoundedIcon","tableCells","columnsMemo","useMemo","payloadDynamicTableColumnConfigDefaults","TableRow","style","maxWidth","map","column","FirstPage","FirstPageIcon","KeyboardArrowLeft","KeyboardArrowRight","LastPage","LastPageIcon","Alert","Box","IconButton","Table","TableBody","TableCell","TableFooter","TableHead","TablePagination","TableRow","Typography","useTheme","ThrownErrorBoundary","useResetState","useBreakpoint","usePayloadHashes","React","useMemo","useState","TablePaginationActions","props","theme","useTheme","count","page","rowsPerPage","onPageChange","handleFirstPageButtonClick","event","handleBackButtonClick","handleNextButtonClick","handleLastPageButtonClick","Math","max","ceil","React","Box","sx","flexShrink","ml","IconButton","onClick","disabled","aria-label","direction","LastPageIcon","FirstPageIcon","KeyboardArrowRight","KeyboardArrowLeft","PayloadDynamicTable","archive","children","columns","exploreDomain","onRowClick","rowsPerPageProp","payloads","breakPoint","useBreakpoint","setPage","useState","setRowsPerPage","useResetState","payloadCount","length","emptyRows","pagedPayloads","useMemo","slice","payloadPairs","usePayloadHashes","handleChangePage","newPage","handleChangeRowsPerPage","Number","parseInt","target","value","Table","stickyHeader","TableHead","TableRow","payloadDynamicTableColumnConfigDefaults","map","column","index","TableCell","key","align","alignment","width","Typography","variant","noWrap","name","TableBody","overflowY","payload","hash","ThrownErrorBoundary","boundaryName","errorComponent","e","Alert","severity","fontWeight","message","PayloadDynamicTableRow","undefined","Array","from","fill","TableFooter","TablePagination","rowsPerPageOptions","label","colSpan","SelectProps","inputProps","native","onRowsPerPageChange","ActionsComponent","payloadColumnNames","hash","schema","valid","payloadTableColumnConfigDefaults","xs","sm","md","lg","xl","TableEx","React","forwardRef","useMemo","useState","Alert","TableBody","Typography","ThrownErrorBoundary","usePayloadHashes","React","CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","ErrorOutlineRounded","ErrorOutlineRoundedIcon","WarningAmberRounded","WarningAmberRoundedIcon","alpha","TableCell","TableRow","Typography","usePromise","useBreakpoint","PayloadValidator","useNetwork","HashTableCell","usePayloadHash","React","useMemo","PayloadTableRow","archive","columns","exploreDomain","maxSchemaDepth","network","networkProp","onHashClick","payload","props","breakPoint","useBreakpoint","payloadHash","usePayloadHash","useNetwork","errors","usePromise","PayloadValidator","validate","undefined","isValid","length","hash","React","HashTableCell","key","width","value","dataType","slug","reduceSchemaDepth","schema","parts","split","partsToRemove","Math","max","slice","reduce","previousValue","part","TableCell","title","align","Typography","fontFamily","variant","noWrap","valid","WarningAmberRoundedIcon","fontSize","color","CheckCircleOutlineRoundedIcon","ErrorOutlineRoundedIcon","sx","alpha","tableCells","columnsMemo","useMemo","payloadTableColumnConfigDefaults","TableRow","style","maxWidth","map","column","PayloadTableBody","children","exploreDomain","payloads","archive","maxSchemaDepth","onHashClick","onRowClick","emptyRows","noResults","NoResultRowComponent","props","payloadPairs","usePayloadHashes","React","TableBody","map","payload","hash","index","ThrownErrorBoundary","boundaryName","key","errorComponent","e","Alert","severity","Typography","fontWeight","message","PayloadTableRow","onClick","undefined","Array","from","length","fill","styled","TablePagination","TableRow","TableFooterEx","React","FirstPage","FirstPageIcon","KeyboardArrowLeft","KeyboardArrowRight","LastPage","LastPageIcon","Box","CircularProgress","IconButton","useTheme","useEvent","React","TablePaginationActions","count","enableNextPage","loading","onPageChange","page","rowsPerPage","theme","useTheme","paginationRef","paginationDispatch","useEvent","handleFirstPageButtonClick","event","handleBackButtonClick","toString","handleNextButtonClick","handleLastPageButtonClick","Math","max","ceil","React","CircularProgress","size","sx","height","spacing","position","width","Box","flexShrink","ml","IconButton","onClick","disabled","aria-label","direction","LastPageIcon","FirstPageIcon","ref","KeyboardArrowRight","KeyboardArrowLeft","PayloadTableFooter","count","variant","page","rowsPerPage","handleChangePage","handleChangeRowsPerPage","fetchMorePayloads","loading","React","TableFooterEx","TableRow","StyledTablePagination","rowsPerPageOptions","label","value","SelectProps","inputProps","native","onPageChange","onRowsPerPageChange","ActionsComponent","props","TablePaginationActions","enableNextPage","styled","TablePagination","theme","paddingLeft","spacing","palette","divider","TableCell","TableHead","TableRow","Typography","useBreakpoint","React","useMemo","PayloadTableHead","columns","props","breakPoint","useBreakpoint","columnsMemo","useMemo","payloadTableColumnConfigDefaults","React","TableHead","TableRow","map","column","index","TableCell","key","width","undefined","align","Typography","variant","noWrap","payloadColumnNames","styled","TableCell","TableRow","Typography","React","TableRowNoData","additionalCells","hideBorder","typographyProps","props","React","TableRow","StyledTableCell","Typography","variant","Array","from","length","fill","map","_fill","index","key","styled","TableCell","name","shouldForwardProp","prop","border","PayloadTableWithRef","forwardRef","exploreDomain","archive","onHashClick","onRowClick","fetchMorePayloads","rowsPerPage","rowsPerPageProp","payloads","columns","PayloadTableHeadComponent","PayloadTableHead","PayloadTableBodyComponent","PayloadTableBody","PayloadTableFooterComponent","PayloadTableFooter","maxSchemaDepth","count","loading","variant","props","ref","page","setPage","useState","setRowsPerPage","visiblePayloads","setVisiblePayloads","emptyRows","Math","max","useMemo","slice","handleAdditionalPayloads","buffer","lastVisiblePayload","at","lastVisibleIndex","indexOf","undefined","length","handleChangePage","_event","newPage","handleChangeRowsPerPage","event","Number","parseInt","target","value","noResults","React","TableEx","NoResultRowComponent","TableRowNoData","displayName","PayloadTable"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/DynamicTable/DynamicTableRow.tsx","../../src/components/DynamicTable/PayloadDynamicTableColumnConfig.ts","../../src/components/DynamicTable/Table.tsx","../../src/components/Table/PayloadTableColumnConfig.ts","../../src/components/Table/Table.tsx","../../src/components/Table/TableBody.tsx","../../src/components/Table/TableRow.tsx","../../src/components/Table/TableFooter.tsx","../../src/components/Table/TablePagination.tsx","../../src/components/Table/TableHead.tsx","../../src/components/Table/TableRowNoData.tsx"],"sourcesContent":["import {\n CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,\n ErrorOutlineRounded as ErrorOutlineRoundedIcon,\n WarningAmberRounded as WarningAmberRoundedIcon,\n} from '@mui/icons-material'\nimport type {\n AvatarProps, TableCellProps, TableRowProps,\n} from '@mui/material'\nimport {\n TableCell, TableRow, Typography,\n} from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport { PayloadHasher } from '@xyo-network/hash'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { useNetwork } from '@xyo-network/react-network'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { usePayloadRenderPluginResolver } from '@xyo-network/react-payload-plugin-resolver'\nimport type { HashTableCellProps } from '@xyo-network/react-shared'\nimport { HashTableCell, usePayloadHash } from '@xyo-network/react-shared'\nimport type { ComponentType } from 'react'\nimport React, { useMemo } from 'react'\n\nimport type {\n PayloadDynamicTableColumnConfig,\n PayloadDynamicTableColumnSlug,\n} from './PayloadDynamicTableColumnConfig.ts'\nimport { payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig.ts'\n\nexport interface PayloadDynamicTableRowProps extends TableRowProps {\n archive?: string\n columns?: PayloadDynamicTableColumnConfig\n exploreDomain?: string\n network?: string\n payload?: Payload & { sources?: string[] }\n}\n\nexport const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps> = ({\n archive,\n columns,\n exploreDomain,\n network: networkProp,\n payload,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const payloadHash = usePayloadHash(payload)\n const { network } = useNetwork()\n const { resolver } = usePayloadRenderPluginResolver()\n const [validationErrors = []] = usePromise(async () => (payload ? await new PayloadValidator(payload).validate() : undefined), [payload])\n const isValid = validationErrors.length === 0\n const payloadFieldCount = payload ? Object.keys(PayloadHasher.hashFields(payload)).length : 0\n const hash: React.FC<HashTableCellProps> = props => (\n <HashTableCell\n key=\"hash\"\n align=\"left\"\n archive={archive}\n value={payloadHash}\n dataType=\"payload\"\n exploreDomain={exploreDomain}\n network={networkProp ?? network?.slug}\n {...props}\n />\n )\n\n const schema: React.FC<TableCellProps> = props => (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {payload?.schema}\n </Typography>\n </TableCell>\n )\n\n const details: React.FC<TableCellProps> = props => (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {payloadFieldCount}\n </Typography>\n </TableCell>\n )\n\n const render: React.FC<TableCellProps> = (props) => {\n const Render: ComponentType<PayloadRenderProps & TableCellProps> | undefined\n = payload ? resolver?.resolve(payload)?.components.table.cell : undefined\n return Render ? <Render payload={payload} {...props} /> : <TableCell key=\"payloads\" align=\"left\" {...props}></TableCell>\n }\n\n const icon: React.FC<TableCellProps> = (props) => {\n const Avatar: ComponentType<PayloadRenderProps & AvatarProps> | undefined\n = payload ? resolver?.resolve(payload)?.components.avatar.image : undefined\n\n return (\n <TableCell key=\"payloads\" align=\"left\" {...props}>\n {Avatar\n ? <Avatar payload={payload} />\n : null}\n </TableCell>\n )\n }\n\n const valid: React.FC<TableCellProps> = props => (\n <TableCell key=\"valid\" align=\"center\" {...props}>\n {isValid === undefined && payload != undefined\n ? <WarningAmberRoundedIcon fontSize=\"small\" color=\"warning\" />\n : isValid === true\n ? <CheckCircleOutlineRoundedIcon fontSize=\"small\" color=\"success\" />\n : isValid === false\n ? <ErrorOutlineRoundedIcon color=\"error\" fontSize=\"small\" />\n // nbsp to keep row height consistent even when no data is provided for the row\n : <Typography> </Typography>}\n </TableCell>\n )\n\n const tableCells: Record<PayloadDynamicTableColumnSlug, React.FC<TableCellProps>> = {\n details,\n hash,\n icon,\n render,\n schema,\n valid,\n }\n\n const columnsMemo = useMemo(() => columns ?? payloadDynamicTableColumnConfigDefaults(), [columns])\n\n return breakPoint\n ? (\n <TableRow style={{ maxWidth: '100vw' }} {...props}>\n {columnsMemo[breakPoint]?.map((column) => {\n return column.slug ? tableCells[column.slug]({}) : null\n })}\n </TableRow>\n )\n : null\n}\n","export type PayloadDynamicTableColumnSlug = 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon'\n\nexport interface PayloadDynamicTableColumnHeadData {\n alignment?: 'left' | 'center' | 'right'\n name?: string\n slug?: 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon'\n width?: string | number\n}\n\nexport interface PayloadDynamicTableColumnConfig {\n xs?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n sm?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n md?: PayloadDynamicTableColumnHeadData[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n lg?: PayloadDynamicTableColumnHeadData[]\n xl?: PayloadDynamicTableColumnHeadData[]\n}\n\nexport const payloadDynamicTableColumnConfigDefaults = (): PayloadDynamicTableColumnConfig => {\n const xs: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const sm: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const md: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const lg: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Render', slug: 'render', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n const xl: PayloadDynamicTableColumnHeadData[] = [\n {\n alignment: 'left', name: 'Icon', slug: 'icon', width: '50px',\n },\n {\n alignment: 'left', name: 'Hash', slug: 'hash', width: '100%',\n },\n {\n alignment: 'left', name: 'Schema', slug: 'schema', width: '50px',\n },\n {\n alignment: 'left', name: 'Render', slug: 'render', width: '50px',\n },\n {\n alignment: 'left', name: 'Valid', slug: 'valid', width: '50px',\n },\n ]\n return {\n lg, md, sm, xl, xs,\n }\n}\n","import {\n FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon,\n} from '@mui/icons-material'\nimport type { TableProps } from '@mui/material'\nimport {\n Alert,\n Box,\n IconButton,\n Table,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TablePagination,\n TableRow,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { ThrownErrorBoundary } from '@xylabs/react-error'\nimport { useResetState } from '@xylabs/react-hooks'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { usePayloadHashes } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { PayloadDynamicTableRow } from './DynamicTableRow.tsx'\nimport type { PayloadDynamicTableColumnConfig } from './PayloadDynamicTableColumnConfig.ts'\nimport { payloadDynamicTableColumnConfigDefaults } from './PayloadDynamicTableColumnConfig.ts'\n\nexport interface PayloadDynamicTableProps extends TableProps {\n archive?: string\n columns?: PayloadDynamicTableColumnConfig\n exploreDomain?: string\n onRowClick?: (value: Payload) => void\n payloads?: Payload[] | null\n rowsPerPage?: number\n}\n\ninterface TablePaginationActionsProps {\n count: number\n onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void\n page: number\n rowsPerPage: number\n}\n\nfunction TablePaginationActions(props: TablePaginationActionsProps) {\n const theme = useTheme()\n const {\n count, page, rowsPerPage, onPageChange,\n } = props\n\n const handleFirstPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, 0)\n }\n\n const handleBackButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page - 1)\n }\n\n const handleNextButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page + 1)\n }\n\n const handleLastPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1))\n }\n\n return (\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl'\n ? <LastPageIcon />\n : <FirstPageIcon />}\n </IconButton>\n <IconButton onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowRight />\n : <KeyboardArrowLeft />}\n </IconButton>\n <IconButton onClick={handleNextButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"next page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowLeft />\n : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl'\n ? <FirstPageIcon />\n : <LastPageIcon />}\n </IconButton>\n </Box>\n )\n}\n\nexport const PayloadDynamicTable: React.FC<PayloadDynamicTableProps> = ({\n archive,\n children,\n columns,\n exploreDomain,\n onRowClick,\n rowsPerPage: rowsPerPageProp = 10,\n payloads,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const [page, setPage] = useState(0)\n const [rowsPerPage, setRowsPerPage] = useResetState(rowsPerPageProp)\n const payloadCount = payloads ? payloads.length : 0\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0\n\n const pagedPayloads = useMemo(() => payloads?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [payloads, page, rowsPerPage])\n\n const payloadPairs = usePayloadHashes(pagedPayloads)\n\n const handleChangePage = (event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setRowsPerPage(Number.parseInt(event.target.value, 10))\n setPage(0)\n }\n\n return breakPoint\n ? (\n <Table stickyHeader {...props}>\n <TableHead>\n <TableRow>\n {(columns ?? payloadDynamicTableColumnConfigDefaults())[breakPoint]?.map((column, index) => {\n return (\n <TableCell key={index} align={column.alignment ?? 'left'} width={column.width}>\n <Typography variant=\"body2\" noWrap>\n {column.name}\n </Typography>\n </TableCell>\n )\n })}\n </TableRow>\n </TableHead>\n <TableBody sx={{ overflowY: 'scroll ' }}>\n {payloadPairs?.map(([payload, hash], index) => {\n return (\n <ThrownErrorBoundary\n boundaryName=\"PayloadTableBody\"\n key={`${hash}-${index}`}\n errorComponent={e => (\n <Alert severity=\"error\">\n Error Loading Payload:\n {' '}\n <Typography fontWeight=\"bold\">{e.message}</Typography>\n </Alert>\n )}\n >\n <PayloadDynamicTableRow\n archive={archive}\n onClick={\n onRowClick\n ? () => {\n onRowClick(payload)\n }\n : undefined\n }\n exploreDomain={exploreDomain}\n payload={payload}\n />\n </ThrownErrorBoundary>\n )\n })}\n {children}\n {emptyRows ? (Array.from({ length: emptyRows }).fill(<PayloadDynamicTableRow />) as ReactNode[]) : null}\n </TableBody>\n <TableFooter>\n <TableRow>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}\n colSpan={5}\n count={payloadCount}\n rowsPerPage={rowsPerPage}\n page={page}\n SelectProps={{\n inputProps: { 'aria-label': 'rows per page' },\n native: true,\n }}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n ActionsComponent={TablePaginationActions}\n />\n </TableRow>\n </TableFooter>\n </Table>\n )\n : null\n}\n","import type { TableColumnConfig, TableColumnNames } from './lib/index.ts'\n\nexport type PayloadTableColumnConfig = TableColumnConfig<PayloadTableColumnSlug>\n\nexport type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid' | string\n\nexport const payloadColumnNames: TableColumnNames<PayloadTableColumnSlug> = {\n hash: 'Hash',\n schema: 'Schema',\n valid: 'Valid',\n}\n\nexport const payloadTableColumnConfigDefaults = (): PayloadTableColumnConfig => {\n const xs: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const sm: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const md: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const lg: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n const xl: PayloadTableColumnSlug[] = ['hash', 'schema', 'valid']\n return {\n lg, md, sm, xl, xs,\n }\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { TableExProps } from '@xyo-network/react-table'\nimport { TableEx } from '@xyo-network/react-table'\nimport type { ComponentType } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { PayloadTableColumnConfig } from './PayloadTableColumnConfig.ts'\nimport { PayloadTableBody } from './TableBody.tsx'\nimport { PayloadTableFooter } from './TableFooter.tsx'\nimport { PayloadTableHead } from './TableHead.tsx'\nimport { TableRowNoData } from './TableRowNoData.tsx'\nimport type {\n PayloadTableBodyProps, PayloadTableFooterProps, PayloadTableHeadProps,\n} from './types/index.ts'\n\nexport interface PayloadTableProps extends TableExProps {\n PayloadTableBodyComponent?: ComponentType<PayloadTableBodyProps>\n PayloadTableFooterComponent?: ComponentType<PayloadTableFooterProps>\n PayloadTableHeadComponent?: ComponentType<PayloadTableHeadProps>\n archive?: string\n columns?: PayloadTableColumnConfig\n /** Total number of payloads passed */\n count?: number\n exploreDomain?: string\n /** External trigger to fetch more payloads */\n fetchMorePayloads?: () => void\n loading?: boolean\n /** set number of schema parts to display starting from the end */\n maxSchemaDepth?: number\n onHashClick?: (value: Hash) => void\n onRowClick?: (value: Payload) => void\n payloads?: Payload[] | null\n rowsPerPage?: number\n}\n\nexport const PayloadTableWithRef = (\n {\n ref,\n exploreDomain,\n archive,\n onHashClick,\n onRowClick,\n fetchMorePayloads,\n rowsPerPage: rowsPerPageProp = 25,\n payloads,\n columns,\n PayloadTableHeadComponent = PayloadTableHead,\n PayloadTableBodyComponent = PayloadTableBody,\n PayloadTableFooterComponent = PayloadTableFooter,\n maxSchemaDepth,\n count = 0,\n loading = false,\n variant = 'scrollable',\n ...props\n }: PayloadTableProps & { ref?: React.RefObject<HTMLTableElement | null> },\n) => {\n const [page, setPage] = useState(0)\n const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp)\n const [visiblePayloads, setVisiblePayloads] = useState<Payload[]>([])\n\n // Avoid a layout jump when reaching the last page with empty rows.\n const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0\n\n useMemo(() => {\n setRowsPerPage(rowsPerPageProp)\n }, [rowsPerPageProp])\n\n // React to various prop changes to derive new visible payloads\n // count is needed to show initial payloads added async to the same payloads reference\n useMemo(() => {\n if (payloads) {\n setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage))\n }\n }, [count, page, payloads, rowsPerPage])\n\n // If the payload reference changes, assume we have a new list and reset current page\n useMemo(() => {\n setPage(0)\n }, [payloads])\n\n const handleAdditionalPayloads = () => {\n if (fetchMorePayloads && payloads) {\n const buffer = rowsPerPage * 2\n const lastVisiblePayload = visiblePayloads?.at(-1)\n if (lastVisiblePayload) {\n const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload)\n if (lastVisibleIndex !== undefined && payloads.length - (lastVisibleIndex + 1) <= buffer) {\n fetchMorePayloads()\n }\n }\n }\n }\n\n const handleChangePage = (_event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {\n handleAdditionalPayloads()\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setRowsPerPage(Number.parseInt(event.target.value, 10))\n setPage(0)\n }\n\n const noResults = useMemo(() => {\n return !loading && (!visiblePayloads || visiblePayloads.length === 0)\n }, [loading, visiblePayloads])\n\n return (\n <TableEx variant={variant} ref={ref} {...props}>\n <PayloadTableHeadComponent columns={columns} />\n <PayloadTableBodyComponent\n payloads={visiblePayloads}\n exploreDomain={exploreDomain}\n archive={archive}\n maxSchemaDepth={maxSchemaDepth}\n onRowClick={onRowClick}\n onHashClick={onHashClick}\n emptyRows={emptyRows}\n noResults={noResults}\n NoResultRowComponent={TableRowNoData}\n />\n <PayloadTableFooterComponent\n count={count}\n variant={variant}\n rowsPerPage={rowsPerPage}\n handleChangePage={handleChangePage}\n handleChangeRowsPerPage={handleChangeRowsPerPage}\n fetchMorePayloads={fetchMorePayloads}\n loading={loading}\n page={page}\n />\n </TableEx>\n )\n}\n\nPayloadTableWithRef.displayName = 'PayloadTable'\n\nexport const PayloadTable = PayloadTableWithRef\n","import {\n Alert, TableBody, Typography,\n} from '@mui/material'\nimport { ThrownErrorBoundary } from '@xylabs/react-error'\nimport { usePayloadHashes } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { PayloadTableRow } from './TableRow.tsx'\nimport type { PayloadTableBodyProps } from './types/index.ts'\n\nexport const PayloadTableBody: React.FC<PayloadTableBodyProps> = ({\n children,\n exploreDomain,\n payloads,\n archive,\n maxSchemaDepth,\n onHashClick,\n onRowClick,\n emptyRows,\n noResults,\n NoResultRowComponent,\n ...props\n}) => {\n const payloadPairs = usePayloadHashes(payloads)\n\n return (\n <TableBody {...props}>\n {noResults && NoResultRowComponent\n ? <NoResultRowComponent />\n : null}\n {payloadPairs?.map(([payload, hash], index) => {\n return (\n <ThrownErrorBoundary\n boundaryName=\"PayloadTableBody\"\n key={`${hash}-${index}`}\n errorComponent={e => (\n <Alert severity=\"error\">\n Error Loading Payload:\n {' '}\n <Typography fontWeight=\"bold\">{e.message}</Typography>\n </Alert>\n )}\n >\n <PayloadTableRow\n maxSchemaDepth={maxSchemaDepth}\n archive={archive}\n onClick={\n onRowClick\n ? () => {\n onRowClick(payload)\n }\n : undefined\n }\n onHashClick={onHashClick}\n exploreDomain={exploreDomain}\n payload={payload}\n />\n </ThrownErrorBoundary>\n )\n })}\n {children}\n {emptyRows ? (Array.from({ length: emptyRows }).fill(<PayloadTableRow />) as ReactNode[]) : null}\n </TableBody>\n )\n}\n","import {\n CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,\n ErrorOutlineRounded as ErrorOutlineRoundedIcon,\n WarningAmberRounded as WarningAmberRoundedIcon,\n} from '@mui/icons-material'\nimport type { TableCellProps, TableRowProps } from '@mui/material'\nimport {\n alpha, TableCell, TableRow, Typography,\n} from '@mui/material'\nimport type { Hash } from '@xylabs/hex'\nimport { usePromise } from '@xylabs/react-promise'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { HashTableCell, usePayloadHash } from '@xyo-network/react-shared'\nimport React, { useMemo } from 'react'\n\nimport type { PayloadTableColumnConfig, PayloadTableColumnSlug } from './PayloadTableColumnConfig.ts'\nimport { payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig.ts'\n\nexport interface PayloadTableRowProps extends TableRowProps {\n archive?: string\n columns?: PayloadTableColumnConfig\n exploreDomain?: string\n maxSchemaDepth?: number\n network?: string\n onHashClick?: (value: Hash) => void\n payload?: Payload\n}\n\nexport const PayloadTableRow: React.FC<PayloadTableRowProps> = ({\n archive,\n columns,\n exploreDomain,\n maxSchemaDepth,\n network: networkProp,\n onHashClick,\n payload,\n ...props\n}) => {\n const breakPoint = useBreakpoint()\n const payloadHash = usePayloadHash(payload)\n const { network } = useNetwork()\n const [errors = []] = usePromise(async () => (payload ? await new PayloadValidator(payload).validate() : undefined), [payload])\n const isValid = errors.length === 0\n\n const hash: React.FC<TableCellProps> = props => (\n <HashTableCell\n key=\"hash\"\n archive={archive}\n width=\"100%\"\n value={payloadHash}\n onHashClick={onHashClick}\n dataType=\"payload\"\n exploreDomain={exploreDomain}\n network={networkProp ?? network?.slug}\n {...props}\n />\n )\n\n const reduceSchemaDepth = (schema?: string, maxSchemaDepth?: number) => {\n if (maxSchemaDepth) {\n const parts = schema?.split('.') ?? []\n const partsToRemove = Math.max(parts.length - maxSchemaDepth, 0)\n if (partsToRemove > 0) {\n return (\n <>\n <>…</>\n {\n // eslint-disable-next-line unicorn/no-array-reduce\n `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`\n }\n </>\n )\n }\n }\n return schema\n }\n\n const schema: React.FC<TableCellProps> = props => (\n <TableCell title={payload?.schema} key=\"payloads\" align=\"center\" {...props}>\n <Typography fontFamily=\"monospace\" variant=\"body2\" noWrap>\n {reduceSchemaDepth(payload?.schema, maxSchemaDepth)}\n </Typography>\n </TableCell>\n )\n\n const valid: React.FC<TableCellProps> = props => (\n <TableCell key=\"valid\" align=\"center\" {...props}>\n {isValid === undefined && payload != undefined\n ? <WarningAmberRoundedIcon fontSize=\"small\" color=\"warning\" />\n : isValid === true\n ? <CheckCircleOutlineRoundedIcon fontSize=\"small\" color=\"success\" />\n : isValid === false\n ? <ErrorOutlineRoundedIcon color=\"error\" fontSize=\"small\" />\n // to keep row height consistent when no data provided, may need fix later\n : <ErrorOutlineRoundedIcon sx={{ color: alpha('#fff', 0) }} fontSize=\"small\" />}\n </TableCell>\n )\n\n const tableCells: Record<PayloadTableColumnSlug, React.FC<TableCellProps>> = {\n hash,\n schema,\n valid,\n }\n\n const columnsMemo = useMemo(() => columns ?? payloadTableColumnConfigDefaults(), [columns])\n\n return breakPoint\n ? (\n <TableRow style={{ maxWidth: '100vw' }} {...props}>\n {columnsMemo[breakPoint]?.map((column) => {\n return tableCells[column]({})\n })}\n </TableRow>\n )\n : null\n}\n","import {\n styled, TablePagination, TableRow,\n} from '@mui/material'\nimport { TableFooterEx } from '@xyo-network/react-table'\nimport React from 'react'\n\nimport { TablePaginationActions } from './TablePagination.tsx'\nimport type { PayloadTableFooterProps } from './types/index.ts'\n\nexport const PayloadTableFooter: React.FC<PayloadTableFooterProps> = ({\n count,\n variant,\n page,\n rowsPerPage,\n handleChangePage,\n handleChangeRowsPerPage,\n fetchMorePayloads,\n loading,\n}) => (\n <TableFooterEx variant={variant}>\n <TableRow>\n <StyledTablePagination\n rowsPerPageOptions={[5, 10, 25, { label: 'All', value: -1 }]}\n count={count ?? 0}\n rowsPerPage={rowsPerPage ?? 10}\n page={page ?? 0}\n SelectProps={{\n inputProps: { 'aria-label': 'rows per page' },\n native: true,\n }}\n onPageChange={handleChangePage ?? (() => {})}\n onRowsPerPageChange={handleChangeRowsPerPage ?? (() => {})}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ActionsComponent={(props: any) => <TablePaginationActions enableNextPage={!!fetchMorePayloads} loading={loading} {...props} />}\n />\n </TableRow>\n </TableFooterEx>\n)\n\nconst StyledTablePagination = styled(TablePagination)(({ theme }) => ({\n '& > .MuiToolbar-root': { paddingLeft: theme.spacing(1) },\n 'borderTop': '1px solid',\n 'borderTopColor': theme.palette.divider,\n}))\n","import {\n FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon,\n} from '@mui/icons-material'\nimport {\n Box, CircularProgress, IconButton, useTheme,\n} from '@mui/material'\nimport { useEvent } from '@xyo-network/react-event'\nimport React from 'react'\n\nimport type { PaginationNouns } from './types/index.ts'\n\nexport interface TablePaginationActionsProps {\n count: number\n enableNextPage?: boolean\n loading?: boolean\n onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void\n page: number\n rowsPerPage: number\n}\n\nexport function TablePaginationActions({\n count, enableNextPage, loading, onPageChange, page, rowsPerPage,\n}: TablePaginationActionsProps) {\n const theme = useTheme()\n const [paginationRef, paginationDispatch] = useEvent<HTMLButtonElement, PaginationNouns>()\n\n const handleFirstPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('firstPage', 'click', 'true')\n onPageChange(event, 0)\n }\n\n const handleBackButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('previousPage', 'click', (page - 1)?.toString())\n onPageChange(event, page - 1)\n }\n\n const handleNextButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('nextPage', 'click', (page + 1)?.toString())\n onPageChange(event, page + 1)\n }\n\n const handleLastPageButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n paginationDispatch('lastPage', 'click', 'true')\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1))\n }\n\n return (\n <>\n {loading\n ? (\n <CircularProgress\n size=\"small\"\n sx={{\n height: theme.spacing(2), position: 'absolute', width: theme.spacing(2),\n }}\n />\n )\n : null}\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl'\n ? <LastPageIcon />\n : <FirstPageIcon />}\n </IconButton>\n <IconButton ref={paginationRef} onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl'\n ? <KeyboardArrowRight />\n : <KeyboardArrowLeft />}\n </IconButton>\n <IconButton\n ref={paginationRef}\n onClick={handleNextButtonClick}\n disabled={!enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"next page\"\n >\n {theme.direction === 'rtl'\n ? <KeyboardArrowLeft />\n : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl'\n ? <FirstPageIcon />\n : <LastPageIcon />}\n </IconButton>\n </Box>\n </>\n )\n}\n","import {\n TableCell, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport React, { useMemo } from 'react'\n\nimport type { PayloadTableColumnSlug } from './PayloadTableColumnConfig.ts'\nimport { payloadColumnNames, payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig.ts'\nimport type { PayloadTableHeadProps } from './types/index.ts'\n\nexport const PayloadTableHead: React.FC<PayloadTableHeadProps<PayloadTableColumnSlug>> = ({ columns, ...props }) => {\n const breakPoint = useBreakpoint()\n const columnsMemo = useMemo(() => columns ?? payloadTableColumnConfigDefaults(), [columns])\n return (\n <TableHead {...props}>\n <TableRow>\n {breakPoint\n ? columnsMemo[breakPoint]?.map((column, index) => {\n return (\n <TableCell key={index} width={index === 0 ? '100%' : undefined} align={index === 0 ? 'left' : 'center'}>\n <Typography variant=\"body2\" noWrap>\n {payloadColumnNames[column]}\n </Typography>\n </TableCell>\n )\n })\n : null}\n </TableRow>\n </TableHead>\n )\n}\n","import type { TableRowProps, TypographyProps } from '@mui/material'\nimport {\n styled, TableCell, TableRow, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface TableRowNoDataProps extends TableRowProps {\n additionalCells?: number\n hideBorder?: boolean\n typographyProps?: TypographyProps\n}\n\nexport const TableRowNoData: React.FC<TableRowNoDataProps> = ({\n additionalCells, hideBorder = false, typographyProps, ...props\n}) => {\n return (\n <TableRow {...props}>\n <StyledTableCell hideBorder={hideBorder}>\n <Typography variant=\"body2\" {...typographyProps}>\n No Data To Display...\n </Typography>\n </StyledTableCell>\n {additionalCells\n ? Array.from({ length: additionalCells })\n .fill(null)\n .map((_fill, index) => <StyledTableCell key={index} hideBorder={hideBorder} />)\n : null}\n </TableRow>\n )\n}\n\ninterface StyledTableCellProps {\n hideBorder?: boolean\n}\n\nconst StyledTableCell = styled(TableCell, {\n name: 'StyledTableCell',\n shouldForwardProp: (prop: string) => prop !== 'hideBorder',\n})<StyledTableCellProps>(({ hideBorder }) => ({ ...(hideBorder && { border: 'none' }) }))\n"],"mappings":"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","names":["CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","ErrorOutlineRounded","ErrorOutlineRoundedIcon","WarningAmberRounded","WarningAmberRoundedIcon","TableCell","TableRow","Typography","usePromise","useBreakpoint","PayloadHasher","PayloadValidator","useNetwork","usePayloadRenderPluginResolver","HashTableCell","usePayloadHash","React","useMemo","payloadDynamicTableColumnConfigDefaults","xs","alignment","name","slug","width","sm","md","lg","xl","PayloadDynamicTableRow","archive","columns","exploreDomain","network","networkProp","payload","props","breakPoint","useBreakpoint","payloadHash","usePayloadHash","useNetwork","resolver","usePayloadRenderPluginResolver","validationErrors","usePromise","PayloadValidator","validate","undefined","isValid","length","payloadFieldCount","Object","keys","PayloadHasher","hashFields","hash","HashTableCell","key","align","value","dataType","slug","schema","TableCell","Typography","fontFamily","variant","noWrap","details","render","Render","resolve","components","table","cell","icon","Avatar","avatar","image","valid","WarningAmberRoundedIcon","fontSize","color","CheckCircleOutlineRoundedIcon","ErrorOutlineRoundedIcon","tableCells","columnsMemo","useMemo","payloadDynamicTableColumnConfigDefaults","TableRow","style","maxWidth","map","column","FirstPage","FirstPageIcon","KeyboardArrowLeft","KeyboardArrowRight","LastPage","LastPageIcon","Alert","Box","IconButton","Table","TableBody","TableCell","TableFooter","TableHead","TablePagination","TableRow","Typography","useTheme","ThrownErrorBoundary","useResetState","useBreakpoint","usePayloadHashes","React","useMemo","useState","TablePaginationActions","props","theme","useTheme","count","page","rowsPerPage","onPageChange","handleFirstPageButtonClick","event","handleBackButtonClick","handleNextButtonClick","handleLastPageButtonClick","Math","max","ceil","React","Box","sx","flexShrink","ml","IconButton","onClick","disabled","aria-label","direction","LastPageIcon","FirstPageIcon","KeyboardArrowRight","KeyboardArrowLeft","PayloadDynamicTable","archive","children","columns","exploreDomain","onRowClick","rowsPerPageProp","payloads","breakPoint","useBreakpoint","setPage","useState","setRowsPerPage","useResetState","payloadCount","length","emptyRows","pagedPayloads","useMemo","slice","payloadPairs","usePayloadHashes","handleChangePage","newPage","handleChangeRowsPerPage","Number","parseInt","target","value","Table","stickyHeader","TableHead","TableRow","payloadDynamicTableColumnConfigDefaults","map","column","index","TableCell","key","align","alignment","width","Typography","variant","noWrap","name","TableBody","overflowY","payload","hash","ThrownErrorBoundary","boundaryName","errorComponent","e","Alert","severity","fontWeight","message","PayloadDynamicTableRow","undefined","Array","from","fill","TableFooter","TablePagination","rowsPerPageOptions","label","colSpan","SelectProps","inputProps","native","onRowsPerPageChange","ActionsComponent","payloadColumnNames","hash","schema","valid","payloadTableColumnConfigDefaults","xs","sm","md","lg","xl","TableEx","React","useMemo","useState","Alert","TableBody","Typography","ThrownErrorBoundary","usePayloadHashes","React","CheckCircleOutlineRounded","CheckCircleOutlineRoundedIcon","ErrorOutlineRounded","ErrorOutlineRoundedIcon","WarningAmberRounded","WarningAmberRoundedIcon","alpha","TableCell","TableRow","Typography","usePromise","useBreakpoint","PayloadValidator","useNetwork","HashTableCell","usePayloadHash","React","useMemo","PayloadTableRow","archive","columns","exploreDomain","maxSchemaDepth","network","networkProp","onHashClick","payload","props","breakPoint","useBreakpoint","payloadHash","usePayloadHash","useNetwork","errors","usePromise","PayloadValidator","validate","undefined","isValid","length","hash","React","HashTableCell","key","width","value","dataType","slug","reduceSchemaDepth","schema","parts","split","partsToRemove","Math","max","slice","reduce","previousValue","part","TableCell","title","align","Typography","fontFamily","variant","noWrap","valid","WarningAmberRoundedIcon","fontSize","color","CheckCircleOutlineRoundedIcon","ErrorOutlineRoundedIcon","sx","alpha","tableCells","columnsMemo","useMemo","payloadTableColumnConfigDefaults","TableRow","style","maxWidth","map","column","PayloadTableBody","children","exploreDomain","payloads","archive","maxSchemaDepth","onHashClick","onRowClick","emptyRows","noResults","NoResultRowComponent","props","payloadPairs","usePayloadHashes","React","TableBody","map","payload","hash","index","ThrownErrorBoundary","boundaryName","key","errorComponent","e","Alert","severity","Typography","fontWeight","message","PayloadTableRow","onClick","undefined","Array","from","length","fill","styled","TablePagination","TableRow","TableFooterEx","React","FirstPage","FirstPageIcon","KeyboardArrowLeft","KeyboardArrowRight","LastPage","LastPageIcon","Box","CircularProgress","IconButton","useTheme","useEvent","React","TablePaginationActions","count","enableNextPage","loading","onPageChange","page","rowsPerPage","theme","useTheme","paginationRef","paginationDispatch","useEvent","handleFirstPageButtonClick","event","handleBackButtonClick","toString","handleNextButtonClick","handleLastPageButtonClick","Math","max","ceil","React","CircularProgress","size","sx","height","spacing","position","width","Box","flexShrink","ml","IconButton","onClick","disabled","aria-label","direction","LastPageIcon","FirstPageIcon","ref","KeyboardArrowRight","KeyboardArrowLeft","PayloadTableFooter","count","variant","page","rowsPerPage","handleChangePage","handleChangeRowsPerPage","fetchMorePayloads","loading","React","TableFooterEx","TableRow","StyledTablePagination","rowsPerPageOptions","label","value","SelectProps","inputProps","native","onPageChange","onRowsPerPageChange","ActionsComponent","props","TablePaginationActions","enableNextPage","styled","TablePagination","theme","paddingLeft","spacing","palette","divider","TableCell","TableHead","TableRow","Typography","useBreakpoint","React","useMemo","PayloadTableHead","columns","props","breakPoint","useBreakpoint","columnsMemo","useMemo","payloadTableColumnConfigDefaults","React","TableHead","TableRow","map","column","index","TableCell","key","width","undefined","align","Typography","variant","noWrap","payloadColumnNames","styled","TableCell","TableRow","Typography","React","TableRowNoData","additionalCells","hideBorder","typographyProps","props","React","TableRow","StyledTableCell","Typography","variant","Array","from","length","fill","map","_fill","index","key","styled","TableCell","name","shouldForwardProp","prop","border","PayloadTableWithRef","ref","exploreDomain","archive","onHashClick","onRowClick","fetchMorePayloads","rowsPerPage","rowsPerPageProp","payloads","columns","PayloadTableHeadComponent","PayloadTableHead","PayloadTableBodyComponent","PayloadTableBody","PayloadTableFooterComponent","PayloadTableFooter","maxSchemaDepth","count","loading","variant","props","page","setPage","useState","setRowsPerPage","visiblePayloads","setVisiblePayloads","emptyRows","Math","max","useMemo","slice","handleAdditionalPayloads","buffer","lastVisiblePayload","at","lastVisibleIndex","indexOf","undefined","length","handleChangePage","_event","newPage","handleChangeRowsPerPage","event","Number","parseInt","target","value","noResults","React","TableEx","NoResultRowComponent","TableRowNoData","displayName","PayloadTable"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TableRowProps } from '@mui/material';
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import type { PayloadDynamicTableColumnConfig } from './PayloadDynamicTableColumnConfig.ts';
|
|
5
|
+
export interface PayloadDynamicTableRowProps extends TableRowProps {
|
|
6
|
+
archive?: string;
|
|
7
|
+
columns?: PayloadDynamicTableColumnConfig;
|
|
8
|
+
exploreDomain?: string;
|
|
9
|
+
network?: string;
|
|
10
|
+
payload?: Payload & {
|
|
11
|
+
sources?: string[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps>;
|
|
15
|
+
//# sourceMappingURL=DynamicTableRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicTableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/DynamicTableRow.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACmB,aAAa,EAC3C,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAQzD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,sCAAsC,CAAA;AAG7C,MAAM,WAAW,2BAA4B,SAAQ,aAAa;IAChE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3C;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAgGxE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type PayloadDynamicTableColumnSlug = 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon';
|
|
2
|
+
export interface PayloadDynamicTableColumnHeadData {
|
|
3
|
+
alignment?: 'left' | 'center' | 'right';
|
|
4
|
+
name?: string;
|
|
5
|
+
slug?: 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon';
|
|
6
|
+
width?: string | number;
|
|
7
|
+
}
|
|
8
|
+
export interface PayloadDynamicTableColumnConfig {
|
|
9
|
+
xs?: PayloadDynamicTableColumnHeadData[];
|
|
10
|
+
sm?: PayloadDynamicTableColumnHeadData[];
|
|
11
|
+
md?: PayloadDynamicTableColumnHeadData[];
|
|
12
|
+
lg?: PayloadDynamicTableColumnHeadData[];
|
|
13
|
+
xl?: PayloadDynamicTableColumnHeadData[];
|
|
14
|
+
}
|
|
15
|
+
export declare const payloadDynamicTableColumnConfigDefaults: () => PayloadDynamicTableColumnConfig;
|
|
16
|
+
//# sourceMappingURL=PayloadDynamicTableColumnConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadDynamicTableColumnConfig.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/PayloadDynamicTableColumnConfig.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEvG,MAAM,WAAW,iCAAiC;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAA;IAExC,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAA;IAExC,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAA;IAExC,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAA;IACxC,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAA;CACzC;AAED,eAAO,MAAM,uCAAuC,QAAO,+BA6E1D,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TableProps } from '@mui/material';
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import type { PayloadDynamicTableColumnConfig } from './PayloadDynamicTableColumnConfig.ts';
|
|
5
|
+
export interface PayloadDynamicTableProps extends TableProps {
|
|
6
|
+
archive?: string;
|
|
7
|
+
columns?: PayloadDynamicTableColumnConfig;
|
|
8
|
+
exploreDomain?: string;
|
|
9
|
+
onRowClick?: (value: Payload) => void;
|
|
10
|
+
payloads?: Payload[] | null;
|
|
11
|
+
rowsPerPage?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const PayloadDynamicTable: React.FC<PayloadDynamicTableProps>;
|
|
14
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAkB/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,KAA4B,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAG3F,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAyDD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmGlE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DynamicTable/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sCAAsC,CAAA;AACpD,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TableColumnConfig, TableColumnNames } from './lib/index.ts';
|
|
2
|
+
export type PayloadTableColumnConfig = TableColumnConfig<PayloadTableColumnSlug>;
|
|
3
|
+
export type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid' | string;
|
|
4
|
+
export declare const payloadColumnNames: TableColumnNames<PayloadTableColumnSlug>;
|
|
5
|
+
export declare const payloadTableColumnConfigDefaults: () => PayloadTableColumnConfig;
|
|
6
|
+
//# sourceMappingURL=PayloadTableColumnConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadTableColumnConfig.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/PayloadTableColumnConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEzE,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;AAEhF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAEzE,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,sBAAsB,CAIvE,CAAA;AAED,eAAO,MAAM,gCAAgC,QAAO,wBASnD,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex';
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import type { TableExProps } from '@xyo-network/react-table';
|
|
4
|
+
import type { ComponentType } from 'react';
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { PayloadTableColumnConfig } from './PayloadTableColumnConfig.ts';
|
|
7
|
+
import type { PayloadTableBodyProps, PayloadTableFooterProps, PayloadTableHeadProps } from './types/index.ts';
|
|
8
|
+
export interface PayloadTableProps extends TableExProps {
|
|
9
|
+
PayloadTableBodyComponent?: ComponentType<PayloadTableBodyProps>;
|
|
10
|
+
PayloadTableFooterComponent?: ComponentType<PayloadTableFooterProps>;
|
|
11
|
+
PayloadTableHeadComponent?: ComponentType<PayloadTableHeadProps>;
|
|
12
|
+
archive?: string;
|
|
13
|
+
columns?: PayloadTableColumnConfig;
|
|
14
|
+
/** Total number of payloads passed */
|
|
15
|
+
count?: number;
|
|
16
|
+
exploreDomain?: string;
|
|
17
|
+
/** External trigger to fetch more payloads */
|
|
18
|
+
fetchMorePayloads?: () => void;
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
/** set number of schema parts to display starting from the end */
|
|
21
|
+
maxSchemaDepth?: number;
|
|
22
|
+
onHashClick?: (value: Hash) => void;
|
|
23
|
+
onRowClick?: (value: Payload) => void;
|
|
24
|
+
payloads?: Payload[] | null;
|
|
25
|
+
rowsPerPage?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare const PayloadTableWithRef: {
|
|
28
|
+
({ ref, exploreDomain, archive, onHashClick, onRowClick, fetchMorePayloads, rowsPerPage: rowsPerPageProp, payloads, columns, PayloadTableHeadComponent, PayloadTableBodyComponent, PayloadTableFooterComponent, maxSchemaDepth, count, loading, variant, ...props }: PayloadTableProps & {
|
|
29
|
+
ref?: React.RefObject<HTMLTableElement | null>;
|
|
30
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const PayloadTable: {
|
|
34
|
+
({ ref, exploreDomain, archive, onHashClick, onRowClick, fetchMorePayloads, rowsPerPage: rowsPerPageProp, payloads, columns, PayloadTableHeadComponent, PayloadTableBodyComponent, PayloadTableFooterComponent, maxSchemaDepth, count, loading, variant, ...props }: PayloadTableProps & {
|
|
35
|
+
ref?: React.RefObject<HTMLTableElement | null>;
|
|
36
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAK7E,OAAO,KAAK,EACV,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EACtE,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,yBAAyB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAA;IAChE,2BAA2B,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;IACpE,yBAAyB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAA;IAChE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IACnC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,mBAAmB;yQAmB3B,iBAAiB,GAAG;QAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;KAAE;;CA+E1E,CAAA;AAID,eAAO,MAAM,YAAY;yQAnFpB,iBAAiB,GAAG;QAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;KAAE;;CAmF5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableBody.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsD5D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableFooter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA4BhE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PayloadTableColumnSlug } from './PayloadTableColumnConfig.ts';
|
|
3
|
+
import type { PayloadTableHeadProps } from './types/index.ts';
|
|
4
|
+
export declare const PayloadTableHead: React.FC<PayloadTableHeadProps<PayloadTableColumnSlug>>;
|
|
5
|
+
//# sourceMappingURL=TableHead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableHead.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAoBpF,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface TablePaginationActionsProps {
|
|
3
|
+
count: number;
|
|
4
|
+
enableNextPage?: boolean;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void;
|
|
7
|
+
page: number;
|
|
8
|
+
rowsPerPage: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage, }: TablePaginationActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=TablePagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TablePagination.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAChE,EAAE,2BAA2B,2CAiE7B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TableRowProps } from '@mui/material';
|
|
2
|
+
import type { Hash } from '@xylabs/hex';
|
|
3
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { PayloadTableColumnConfig } from './PayloadTableColumnConfig.ts';
|
|
6
|
+
export interface PayloadTableRowProps extends TableRowProps {
|
|
7
|
+
archive?: string;
|
|
8
|
+
columns?: PayloadTableColumnConfig;
|
|
9
|
+
exploreDomain?: string;
|
|
10
|
+
maxSchemaDepth?: number;
|
|
11
|
+
network?: string;
|
|
12
|
+
onHashClick?: (value: Hash) => void;
|
|
13
|
+
payload?: Payload;
|
|
14
|
+
}
|
|
15
|
+
export declare const PayloadTableRow: React.FC<PayloadTableRowProps>;
|
|
16
|
+
//# sourceMappingURL=TableRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,eAAe,CAAA;AAIlE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,wBAAwB,EAA0B,MAAM,+BAA+B,CAAA;AAGrG,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuF1D,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TableRowProps, TypographyProps } from '@mui/material';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface TableRowNoDataProps extends TableRowProps {
|
|
4
|
+
additionalCells?: number;
|
|
5
|
+
hideBorder?: boolean;
|
|
6
|
+
typographyProps?: TypographyProps;
|
|
7
|
+
}
|
|
8
|
+
export declare const TableRowNoData: React.FC<TableRowNoDataProps>;
|
|
9
|
+
//# sourceMappingURL=TableRowNoData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRowNoData.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TableRowNoData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiBxD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './lib/index.ts';
|
|
2
|
+
export * from './PayloadTableColumnConfig.ts';
|
|
3
|
+
export * from './Table.tsx';
|
|
4
|
+
export * from './TablePagination.tsx';
|
|
5
|
+
export * from './TableRow.tsx';
|
|
6
|
+
export * from './TableRowNoData.tsx';
|
|
7
|
+
export * from './types/index.ts';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableColumns.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/lib/TableColumns.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAElE,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAER,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAER,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAER,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACR,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaginationEventNouns.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/types/PaginationEventNouns.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TableBodyProps, TableRowProps } from '@mui/material';
|
|
2
|
+
import type { Hash } from '@xylabs/hex';
|
|
3
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import type { ComponentType, PropsWithChildren } from 'react';
|
|
5
|
+
export interface PayloadTableBodyProps<TPayload extends Payload = Payload> extends TableBodyProps, PropsWithChildren {
|
|
6
|
+
NoResultRowComponent?: ComponentType<TableRowProps>;
|
|
7
|
+
archive?: string;
|
|
8
|
+
emptyRows?: number;
|
|
9
|
+
exploreDomain?: string;
|
|
10
|
+
maxSchemaDepth?: number;
|
|
11
|
+
noResults?: boolean;
|
|
12
|
+
onHashClick?: (value: Hash) => void;
|
|
13
|
+
onRowClick?: (value: Payload) => void;
|
|
14
|
+
payloads?: TPayload[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=PayloadTableBodyProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadTableBodyProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/types/PayloadTableBodyProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE7D,MAAM,WAAW,qBAAqB,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,cAAc,EAAE,iBAAiB;IAClH,oBAAoB,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IACnC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;CACtB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TableExVariants } from '@xyo-network/react-table';
|
|
2
|
+
import type { ChangeEvent, MouseEvent } from 'react';
|
|
3
|
+
export interface PayloadTableFooterProps {
|
|
4
|
+
count?: number;
|
|
5
|
+
fetchMorePayloads?: () => void;
|
|
6
|
+
handleChangePage?: (event: MouseEvent<HTMLButtonElement> | null, newPage: number) => void;
|
|
7
|
+
handleChangeRowsPerPage?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
page?: number;
|
|
10
|
+
rowsPerPage?: number;
|
|
11
|
+
variant?: TableExVariants;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=PayloadTableFooterProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadTableFooterProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/types/PayloadTableFooterProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEpD,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACzF,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TableHeadProps } from '@mui/material';
|
|
2
|
+
import type { TableColumnConfig } from '../lib/index.ts';
|
|
3
|
+
export interface PayloadTableHeadProps<TSlugs extends string = string> extends TableHeadProps {
|
|
4
|
+
columns?: TableColumnConfig<TSlugs>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=PayloadTableHeadProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadTableHeadProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/types/PayloadTableHeadProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,cAAc;IAC3F,OAAO,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-payload-table",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-rc.1",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"exports": {
|
|
29
29
|
".": {
|
|
30
30
|
"browser": {
|
|
31
|
-
"types": "./dist/
|
|
31
|
+
"types": "./dist/types/index.d.ts",
|
|
32
32
|
"default": "./dist/browser/index.mjs"
|
|
33
33
|
},
|
|
34
|
-
"types": "./dist/
|
|
34
|
+
"types": "./dist/types/index.d.ts",
|
|
35
35
|
"default": "./dist/browser/index.mjs"
|
|
36
36
|
},
|
|
37
37
|
"./package.json": "./package.json"
|
|
@@ -43,38 +43,39 @@
|
|
|
43
43
|
"lint-pkg": "npmPkgJsonLint ."
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/hex": "^4.5.
|
|
47
|
-
"@xylabs/react-error": "^
|
|
48
|
-
"@xylabs/react-hooks": "^
|
|
49
|
-
"@xylabs/react-promise": "^
|
|
50
|
-
"@xylabs/react-shared": "^
|
|
51
|
-
"@xyo-network/hash": "^3.9.
|
|
52
|
-
"@xyo-network/payload-model": "^3.9.
|
|
53
|
-
"@xyo-network/payload-validator": "^3.9.
|
|
54
|
-
"@xyo-network/react-event": "^
|
|
55
|
-
"@xyo-network/react-network": "^
|
|
56
|
-
"@xyo-network/react-payload-plugin": "^
|
|
57
|
-
"@xyo-network/react-payload-plugin-resolver": "^
|
|
58
|
-
"@xyo-network/react-shared": "^
|
|
59
|
-
"@xyo-network/react-table": "^
|
|
46
|
+
"@xylabs/hex": "^4.5.10",
|
|
47
|
+
"@xylabs/react-error": "^6.0.0-rc.2",
|
|
48
|
+
"@xylabs/react-hooks": "^6.0.0-rc.2",
|
|
49
|
+
"@xylabs/react-promise": "^6.0.0-rc.2",
|
|
50
|
+
"@xylabs/react-shared": "^6.0.0-rc.2",
|
|
51
|
+
"@xyo-network/hash": "^3.9.35",
|
|
52
|
+
"@xyo-network/payload-model": "^3.9.35",
|
|
53
|
+
"@xyo-network/payload-validator": "^3.9.35",
|
|
54
|
+
"@xyo-network/react-event": "^5.0.0-rc.1",
|
|
55
|
+
"@xyo-network/react-network": "^5.0.0-rc.1",
|
|
56
|
+
"@xyo-network/react-payload-plugin": "^5.0.0-rc.1",
|
|
57
|
+
"@xyo-network/react-payload-plugin-resolver": "^5.0.0-rc.1",
|
|
58
|
+
"@xyo-network/react-shared": "^5.0.0-rc.1",
|
|
59
|
+
"@xyo-network/react-table": "^5.0.0-rc.1"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@emotion/react": "^11.14.0",
|
|
63
63
|
"@emotion/styled": "^11.14.0",
|
|
64
|
-
"@mui/icons-material": "^6.4.
|
|
65
|
-
"@mui/material": "^6.4.
|
|
66
|
-
"@mui/styles": "^6.4.
|
|
67
|
-
"@storybook/react": "^8.6.
|
|
68
|
-
"@
|
|
69
|
-
"@xylabs/
|
|
70
|
-
"@xylabs/
|
|
71
|
-
"@
|
|
72
|
-
"@xyo-network/react-
|
|
73
|
-
"react": "^
|
|
74
|
-
"react
|
|
75
|
-
"react-
|
|
76
|
-
"
|
|
77
|
-
"
|
|
64
|
+
"@mui/icons-material": "^6.4.7",
|
|
65
|
+
"@mui/material": "^6.4.7",
|
|
66
|
+
"@mui/styles": "^6.4.7",
|
|
67
|
+
"@storybook/react": "^8.6.4",
|
|
68
|
+
"@types/react": "^19.0.10",
|
|
69
|
+
"@xylabs/delay": "^4.5.10",
|
|
70
|
+
"@xylabs/ts-scripts-yarn3": "^6.0.3",
|
|
71
|
+
"@xylabs/tsconfig-react": "^6.0.3",
|
|
72
|
+
"@xyo-network/react-crypto-market-uniswap-plugin": "^5.0.0-rc.1",
|
|
73
|
+
"@xyo-network/react-storybook": "^5.0.0-rc.1",
|
|
74
|
+
"react": "^19.0.0",
|
|
75
|
+
"react-dom": "^19.0.0",
|
|
76
|
+
"react-router-dom": "^7.3.0",
|
|
77
|
+
"storybook": "^8.6.4",
|
|
78
|
+
"typescript": "^5.8.2"
|
|
78
79
|
},
|
|
79
80
|
"peerDependencies": {
|
|
80
81
|
"@emotion/react": "^11",
|
|
@@ -82,12 +83,13 @@
|
|
|
82
83
|
"@mui/icons-material": "^6",
|
|
83
84
|
"@mui/material": "^6",
|
|
84
85
|
"@mui/styles": "^6",
|
|
85
|
-
"react": "^
|
|
86
|
-
"react-dom": "^
|
|
86
|
+
"react": "^19",
|
|
87
|
+
"react-dom": "^19",
|
|
87
88
|
"react-router-dom": "^7"
|
|
88
89
|
},
|
|
89
90
|
"publishConfig": {
|
|
90
91
|
"access": "public"
|
|
91
92
|
},
|
|
92
|
-
"docs": "dist/docs.json"
|
|
93
|
+
"docs": "dist/docs.json",
|
|
94
|
+
"stableVersion": "4.4.11"
|
|
93
95
|
}
|
|
@@ -3,9 +3,7 @@ import type { Payload } from '@xyo-network/payload-model'
|
|
|
3
3
|
import type { TableExProps } from '@xyo-network/react-table'
|
|
4
4
|
import { TableEx } from '@xyo-network/react-table'
|
|
5
5
|
import type { ComponentType } from 'react'
|
|
6
|
-
import React, {
|
|
7
|
-
forwardRef, useMemo, useState,
|
|
8
|
-
} from 'react'
|
|
6
|
+
import React, { useMemo, useState } from 'react'
|
|
9
7
|
|
|
10
8
|
import type { PayloadTableColumnConfig } from './PayloadTableColumnConfig.ts'
|
|
11
9
|
import { PayloadTableBody } from './TableBody.tsx'
|
|
@@ -36,107 +34,105 @@ export interface PayloadTableProps extends TableExProps {
|
|
|
36
34
|
rowsPerPage?: number
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
export const PayloadTableWithRef =
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
exploreDomain,
|
|
43
|
-
archive,
|
|
44
|
-
onHashClick,
|
|
45
|
-
onRowClick,
|
|
46
|
-
fetchMorePayloads,
|
|
47
|
-
rowsPerPage: rowsPerPageProp = 25,
|
|
48
|
-
payloads,
|
|
49
|
-
columns,
|
|
50
|
-
PayloadTableHeadComponent = PayloadTableHead,
|
|
51
|
-
PayloadTableBodyComponent = PayloadTableBody,
|
|
52
|
-
PayloadTableFooterComponent = PayloadTableFooter,
|
|
53
|
-
maxSchemaDepth,
|
|
54
|
-
count = 0,
|
|
55
|
-
loading = false,
|
|
56
|
-
variant = 'scrollable',
|
|
57
|
-
...props
|
|
58
|
-
},
|
|
37
|
+
export const PayloadTableWithRef = (
|
|
38
|
+
{
|
|
59
39
|
ref,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
40
|
+
exploreDomain,
|
|
41
|
+
archive,
|
|
42
|
+
onHashClick,
|
|
43
|
+
onRowClick,
|
|
44
|
+
fetchMorePayloads,
|
|
45
|
+
rowsPerPage: rowsPerPageProp = 25,
|
|
46
|
+
payloads,
|
|
47
|
+
columns,
|
|
48
|
+
PayloadTableHeadComponent = PayloadTableHead,
|
|
49
|
+
PayloadTableBodyComponent = PayloadTableBody,
|
|
50
|
+
PayloadTableFooterComponent = PayloadTableFooter,
|
|
51
|
+
maxSchemaDepth,
|
|
52
|
+
count = 0,
|
|
53
|
+
loading = false,
|
|
54
|
+
variant = 'scrollable',
|
|
55
|
+
...props
|
|
56
|
+
}: PayloadTableProps & { ref?: React.RefObject<HTMLTableElement | null> },
|
|
57
|
+
) => {
|
|
58
|
+
const [page, setPage] = useState(0)
|
|
59
|
+
const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp)
|
|
60
|
+
const [visiblePayloads, setVisiblePayloads] = useState<Payload[]>([])
|
|
64
61
|
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
// Avoid a layout jump when reaching the last page with empty rows.
|
|
63
|
+
const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0
|
|
67
64
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
useMemo(() => {
|
|
66
|
+
setRowsPerPage(rowsPerPageProp)
|
|
67
|
+
}, [rowsPerPageProp])
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
// React to various prop changes to derive new visible payloads
|
|
70
|
+
// count is needed to show initial payloads added async to the same payloads reference
|
|
71
|
+
useMemo(() => {
|
|
72
|
+
if (payloads) {
|
|
73
|
+
setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage))
|
|
74
|
+
}
|
|
75
|
+
}, [count, page, payloads, rowsPerPage])
|
|
79
76
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
// If the payload reference changes, assume we have a new list and reset current page
|
|
78
|
+
useMemo(() => {
|
|
79
|
+
setPage(0)
|
|
80
|
+
}, [payloads])
|
|
84
81
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
82
|
+
const handleAdditionalPayloads = () => {
|
|
83
|
+
if (fetchMorePayloads && payloads) {
|
|
84
|
+
const buffer = rowsPerPage * 2
|
|
85
|
+
const lastVisiblePayload = visiblePayloads?.at(-1)
|
|
86
|
+
if (lastVisiblePayload) {
|
|
87
|
+
const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload)
|
|
88
|
+
if (lastVisibleIndex !== undefined && payloads.length - (lastVisibleIndex + 1) <= buffer) {
|
|
89
|
+
fetchMorePayloads()
|
|
94
90
|
}
|
|
95
91
|
}
|
|
96
92
|
}
|
|
93
|
+
}
|
|
97
94
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
const handleChangePage = (_event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => {
|
|
96
|
+
handleAdditionalPayloads()
|
|
97
|
+
setPage(newPage)
|
|
98
|
+
}
|
|
102
99
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
|
101
|
+
setRowsPerPage(Number.parseInt(event.target.value, 10))
|
|
102
|
+
setPage(0)
|
|
103
|
+
}
|
|
107
104
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
const noResults = useMemo(() => {
|
|
106
|
+
return !loading && (!visiblePayloads || visiblePayloads.length === 0)
|
|
107
|
+
}, [loading, visiblePayloads])
|
|
111
108
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
)
|
|
109
|
+
return (
|
|
110
|
+
<TableEx variant={variant} ref={ref} {...props}>
|
|
111
|
+
<PayloadTableHeadComponent columns={columns} />
|
|
112
|
+
<PayloadTableBodyComponent
|
|
113
|
+
payloads={visiblePayloads}
|
|
114
|
+
exploreDomain={exploreDomain}
|
|
115
|
+
archive={archive}
|
|
116
|
+
maxSchemaDepth={maxSchemaDepth}
|
|
117
|
+
onRowClick={onRowClick}
|
|
118
|
+
onHashClick={onHashClick}
|
|
119
|
+
emptyRows={emptyRows}
|
|
120
|
+
noResults={noResults}
|
|
121
|
+
NoResultRowComponent={TableRowNoData}
|
|
122
|
+
/>
|
|
123
|
+
<PayloadTableFooterComponent
|
|
124
|
+
count={count}
|
|
125
|
+
variant={variant}
|
|
126
|
+
rowsPerPage={rowsPerPage}
|
|
127
|
+
handleChangePage={handleChangePage}
|
|
128
|
+
handleChangeRowsPerPage={handleChangeRowsPerPage}
|
|
129
|
+
fetchMorePayloads={fetchMorePayloads}
|
|
130
|
+
loading={loading}
|
|
131
|
+
page={page}
|
|
132
|
+
/>
|
|
133
|
+
</TableEx>
|
|
134
|
+
)
|
|
135
|
+
}
|
|
140
136
|
|
|
141
137
|
PayloadTableWithRef.displayName = 'PayloadTable'
|
|
142
138
|
|
package/dist/browser/index.d.ts
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { TableRowProps, TableProps, TableBodyProps, TableHeadProps, TypographyProps } from '@mui/material';
|
|
2
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
3
|
-
import React, { PropsWithChildren, ComponentType, MouseEvent, ChangeEvent } from 'react';
|
|
4
|
-
import { Hash } from '@xylabs/hex';
|
|
5
|
-
import { TableExVariants, TableExProps } from '@xyo-network/react-table';
|
|
6
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
type PayloadDynamicTableColumnSlug = 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon';
|
|
9
|
-
interface PayloadDynamicTableColumnHeadData {
|
|
10
|
-
alignment?: 'left' | 'center' | 'right';
|
|
11
|
-
name?: string;
|
|
12
|
-
slug?: 'hash' | 'schema' | 'valid' | 'details' | 'render' | 'icon';
|
|
13
|
-
width?: string | number;
|
|
14
|
-
}
|
|
15
|
-
interface PayloadDynamicTableColumnConfig {
|
|
16
|
-
xs?: PayloadDynamicTableColumnHeadData[];
|
|
17
|
-
sm?: PayloadDynamicTableColumnHeadData[];
|
|
18
|
-
md?: PayloadDynamicTableColumnHeadData[];
|
|
19
|
-
lg?: PayloadDynamicTableColumnHeadData[];
|
|
20
|
-
xl?: PayloadDynamicTableColumnHeadData[];
|
|
21
|
-
}
|
|
22
|
-
declare const payloadDynamicTableColumnConfigDefaults: () => PayloadDynamicTableColumnConfig;
|
|
23
|
-
|
|
24
|
-
interface PayloadDynamicTableRowProps extends TableRowProps {
|
|
25
|
-
archive?: string;
|
|
26
|
-
columns?: PayloadDynamicTableColumnConfig;
|
|
27
|
-
exploreDomain?: string;
|
|
28
|
-
network?: string;
|
|
29
|
-
payload?: Payload & {
|
|
30
|
-
sources?: string[];
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
declare const PayloadDynamicTableRow: React.FC<PayloadDynamicTableRowProps>;
|
|
34
|
-
|
|
35
|
-
interface PayloadDynamicTableProps extends TableProps {
|
|
36
|
-
archive?: string;
|
|
37
|
-
columns?: PayloadDynamicTableColumnConfig;
|
|
38
|
-
exploreDomain?: string;
|
|
39
|
-
onRowClick?: (value: Payload) => void;
|
|
40
|
-
payloads?: Payload[] | null;
|
|
41
|
-
rowsPerPage?: number;
|
|
42
|
-
}
|
|
43
|
-
declare const PayloadDynamicTable: React.FC<PayloadDynamicTableProps>;
|
|
44
|
-
|
|
45
|
-
type TableColumnNames<T extends string> = Record<T, string>;
|
|
46
|
-
interface TableColumnConfig<T> {
|
|
47
|
-
xs?: T[];
|
|
48
|
-
sm?: T[];
|
|
49
|
-
md?: T[];
|
|
50
|
-
lg?: T[];
|
|
51
|
-
xl?: T[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
type PayloadTableColumnConfig = TableColumnConfig<PayloadTableColumnSlug>;
|
|
55
|
-
type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid' | string;
|
|
56
|
-
declare const payloadColumnNames: TableColumnNames<PayloadTableColumnSlug>;
|
|
57
|
-
declare const payloadTableColumnConfigDefaults: () => PayloadTableColumnConfig;
|
|
58
|
-
|
|
59
|
-
type PaginationNouns = 'nextPage' | 'previousPage' | 'firstPage' | 'lastPage';
|
|
60
|
-
|
|
61
|
-
interface PayloadTableBodyProps<TPayload extends Payload = Payload> extends TableBodyProps, PropsWithChildren {
|
|
62
|
-
NoResultRowComponent?: ComponentType<TableRowProps>;
|
|
63
|
-
archive?: string;
|
|
64
|
-
emptyRows?: number;
|
|
65
|
-
exploreDomain?: string;
|
|
66
|
-
maxSchemaDepth?: number;
|
|
67
|
-
noResults?: boolean;
|
|
68
|
-
onHashClick?: (value: Hash) => void;
|
|
69
|
-
onRowClick?: (value: Payload) => void;
|
|
70
|
-
payloads?: TPayload[];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
interface PayloadTableFooterProps {
|
|
74
|
-
count?: number;
|
|
75
|
-
fetchMorePayloads?: () => void;
|
|
76
|
-
handleChangePage?: (event: MouseEvent<HTMLButtonElement> | null, newPage: number) => void;
|
|
77
|
-
handleChangeRowsPerPage?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
78
|
-
loading?: boolean;
|
|
79
|
-
page?: number;
|
|
80
|
-
rowsPerPage?: number;
|
|
81
|
-
variant?: TableExVariants;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
interface PayloadTableHeadProps<TSlugs extends string = string> extends TableHeadProps {
|
|
85
|
-
columns?: TableColumnConfig<TSlugs>;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
interface PayloadTableProps extends TableExProps {
|
|
89
|
-
PayloadTableBodyComponent?: ComponentType<PayloadTableBodyProps>;
|
|
90
|
-
PayloadTableFooterComponent?: ComponentType<PayloadTableFooterProps>;
|
|
91
|
-
PayloadTableHeadComponent?: ComponentType<PayloadTableHeadProps>;
|
|
92
|
-
archive?: string;
|
|
93
|
-
columns?: PayloadTableColumnConfig;
|
|
94
|
-
count?: number;
|
|
95
|
-
exploreDomain?: string;
|
|
96
|
-
fetchMorePayloads?: () => void;
|
|
97
|
-
loading?: boolean;
|
|
98
|
-
maxSchemaDepth?: number;
|
|
99
|
-
onHashClick?: (value: Hash) => void;
|
|
100
|
-
onRowClick?: (value: Payload) => void;
|
|
101
|
-
payloads?: Payload[] | null;
|
|
102
|
-
rowsPerPage?: number;
|
|
103
|
-
}
|
|
104
|
-
declare const PayloadTableWithRef: React.ForwardRefExoticComponent<Omit<PayloadTableProps, "ref"> & React.RefAttributes<HTMLTableElement>>;
|
|
105
|
-
declare const PayloadTable: React.ForwardRefExoticComponent<Omit<PayloadTableProps, "ref"> & React.RefAttributes<HTMLTableElement>>;
|
|
106
|
-
|
|
107
|
-
interface TablePaginationActionsProps {
|
|
108
|
-
count: number;
|
|
109
|
-
enableNextPage?: boolean;
|
|
110
|
-
loading?: boolean;
|
|
111
|
-
onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void;
|
|
112
|
-
page: number;
|
|
113
|
-
rowsPerPage: number;
|
|
114
|
-
}
|
|
115
|
-
declare function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage, }: TablePaginationActionsProps): react_jsx_runtime.JSX.Element;
|
|
116
|
-
|
|
117
|
-
interface PayloadTableRowProps extends TableRowProps {
|
|
118
|
-
archive?: string;
|
|
119
|
-
columns?: PayloadTableColumnConfig;
|
|
120
|
-
exploreDomain?: string;
|
|
121
|
-
maxSchemaDepth?: number;
|
|
122
|
-
network?: string;
|
|
123
|
-
onHashClick?: (value: Hash) => void;
|
|
124
|
-
payload?: Payload;
|
|
125
|
-
}
|
|
126
|
-
declare const PayloadTableRow: React.FC<PayloadTableRowProps>;
|
|
127
|
-
|
|
128
|
-
interface TableRowNoDataProps extends TableRowProps {
|
|
129
|
-
additionalCells?: number;
|
|
130
|
-
hideBorder?: boolean;
|
|
131
|
-
typographyProps?: TypographyProps;
|
|
132
|
-
}
|
|
133
|
-
declare const TableRowNoData: React.FC<TableRowNoDataProps>;
|
|
134
|
-
|
|
135
|
-
export { type PaginationNouns, PayloadDynamicTable, type PayloadDynamicTableColumnConfig, type PayloadDynamicTableColumnHeadData, type PayloadDynamicTableColumnSlug, type PayloadDynamicTableProps, PayloadDynamicTableRow, type PayloadDynamicTableRowProps, PayloadTable, type PayloadTableBodyProps, type PayloadTableColumnConfig, type PayloadTableColumnSlug, type PayloadTableFooterProps, type PayloadTableHeadProps, type PayloadTableProps, PayloadTableRow, type PayloadTableRowProps, PayloadTableWithRef, type TableColumnConfig, type TableColumnNames, TablePaginationActions, type TablePaginationActionsProps, TableRowNoData, type TableRowNoDataProps, payloadColumnNames, payloadDynamicTableColumnConfigDefaults, payloadTableColumnConfigDefaults };
|