@xyo-network/react-payload-table 2.64.9 → 2.65.0
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/package.json +18 -18
- package/dist/browser/components/DynamicTable/DynamicTableRow.cjs +0 -128
- package/dist/browser/components/DynamicTable/DynamicTableRow.cjs.map +0 -1
- package/dist/browser/components/DynamicTable/DynamicTableRow.js +0 -111
- package/dist/browser/components/DynamicTable/DynamicTableRow.js.map +0 -1
- package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +0 -60
- package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +0 -1
- package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js +0 -39
- package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +0 -1
- package/dist/browser/components/DynamicTable/Table.cjs +0 -241
- package/dist/browser/components/DynamicTable/Table.cjs.map +0 -1
- package/dist/browser/components/DynamicTable/Table.js +0 -237
- package/dist/browser/components/DynamicTable/Table.js.map +0 -1
- package/dist/browser/components/DynamicTable/index.cjs +0 -243
- package/dist/browser/components/DynamicTable/index.cjs.map +0 -1
- package/dist/browser/components/DynamicTable/index.js +0 -237
- package/dist/browser/components/DynamicTable/index.js.map +0 -1
- package/dist/browser/components/Table/PayloadTableColumnConfig.cjs +0 -40
- package/dist/browser/components/Table/PayloadTableColumnConfig.cjs.map +0 -1
- package/dist/browser/components/Table/PayloadTableColumnConfig.js +0 -19
- package/dist/browser/components/Table/PayloadTableColumnConfig.js.map +0 -1
- package/dist/browser/components/Table/Table.cjs +0 -366
- package/dist/browser/components/Table/Table.cjs.map +0 -1
- package/dist/browser/components/Table/Table.js +0 -349
- package/dist/browser/components/Table/Table.js.map +0 -1
- package/dist/browser/components/Table/TableBody.cjs +0 -152
- package/dist/browser/components/Table/TableBody.cjs.map +0 -1
- package/dist/browser/components/Table/TableBody.js +0 -135
- package/dist/browser/components/Table/TableBody.js.map +0 -1
- package/dist/browser/components/Table/TableFooter.cjs +0 -109
- package/dist/browser/components/Table/TableFooter.cjs.map +0 -1
- package/dist/browser/components/Table/TableFooter.js +0 -88
- package/dist/browser/components/Table/TableFooter.js.map +0 -1
- package/dist/browser/components/Table/TableHead.cjs +0 -52
- package/dist/browser/components/Table/TableHead.cjs.map +0 -1
- package/dist/browser/components/Table/TableHead.js +0 -31
- package/dist/browser/components/Table/TableHead.js.map +0 -1
- package/dist/browser/components/Table/TablePagination.cjs +0 -68
- package/dist/browser/components/Table/TablePagination.cjs.map +0 -1
- package/dist/browser/components/Table/TablePagination.js +0 -47
- package/dist/browser/components/Table/TablePagination.js.map +0 -1
- package/dist/browser/components/Table/TableRow.cjs +0 -100
- package/dist/browser/components/Table/TableRow.cjs.map +0 -1
- package/dist/browser/components/Table/TableRow.js +0 -83
- package/dist/browser/components/Table/TableRow.js.map +0 -1
- package/dist/browser/components/Table/TableRowNoData.cjs +0 -40
- package/dist/browser/components/Table/TableRowNoData.cjs.map +0 -1
- package/dist/browser/components/Table/TableRowNoData.js +0 -19
- package/dist/browser/components/Table/TableRowNoData.js.map +0 -1
- package/dist/browser/components/Table/index.cjs +0 -371
- package/dist/browser/components/Table/index.cjs.map +0 -1
- package/dist/browser/components/Table/index.js +0 -352
- package/dist/browser/components/Table/index.js.map +0 -1
- package/dist/browser/components/Table/types/PaginationEventNouns.cjs +0 -19
- package/dist/browser/components/Table/types/PaginationEventNouns.cjs.map +0 -1
- package/dist/browser/components/Table/types/PaginationEventNouns.js +0 -1
- package/dist/browser/components/Table/types/PaginationEventNouns.js.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs +0 -19
- package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableBodyProps.js +0 -1
- package/dist/browser/components/Table/types/PayloadTableBodyProps.js.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs +0 -19
- package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableFooterProps.js +0 -1
- package/dist/browser/components/Table/types/PayloadTableFooterProps.js.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs +0 -19
- package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs.map +0 -1
- package/dist/browser/components/Table/types/PayloadTableHeadProps.js +0 -1
- package/dist/browser/components/Table/types/PayloadTableHeadProps.js.map +0 -1
- package/dist/browser/components/Table/types/index.cjs +0 -19
- package/dist/browser/components/Table/types/index.cjs.map +0 -1
- package/dist/browser/components/Table/types/index.js +0 -1
- package/dist/browser/components/Table/types/index.js.map +0 -1
- package/dist/browser/components/index.cjs +0 -589
- package/dist/browser/components/index.cjs.map +0 -1
- package/dist/browser/components/index.js +0 -587
- package/dist/browser/components/index.js.map +0 -1
- package/dist/docs.json +0 -4590
- package/dist/node/components/DynamicTable/DynamicTableRow.cjs +0 -135
- package/dist/node/components/DynamicTable/DynamicTableRow.cjs.map +0 -1
- package/dist/node/components/DynamicTable/DynamicTableRow.js +0 -114
- package/dist/node/components/DynamicTable/DynamicTableRow.js.map +0 -1
- package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +0 -64
- package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +0 -1
- package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js +0 -39
- package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +0 -1
- package/dist/node/components/DynamicTable/Table.cjs +0 -249
- package/dist/node/components/DynamicTable/Table.cjs.map +0 -1
- package/dist/node/components/DynamicTable/Table.js +0 -241
- package/dist/node/components/DynamicTable/Table.js.map +0 -1
- package/dist/node/components/DynamicTable/index.cjs +0 -253
- package/dist/node/components/DynamicTable/index.cjs.map +0 -1
- package/dist/node/components/DynamicTable/index.js +0 -241
- package/dist/node/components/DynamicTable/index.js.map +0 -1
- package/dist/node/components/Table/PayloadTableColumnConfig.cjs +0 -45
- package/dist/node/components/Table/PayloadTableColumnConfig.cjs.map +0 -1
- package/dist/node/components/Table/PayloadTableColumnConfig.js +0 -19
- package/dist/node/components/Table/PayloadTableColumnConfig.js.map +0 -1
- package/dist/node/components/Table/Table.cjs +0 -375
- package/dist/node/components/Table/Table.cjs.map +0 -1
- package/dist/node/components/Table/Table.js +0 -353
- package/dist/node/components/Table/Table.js.map +0 -1
- package/dist/node/components/Table/TableBody.cjs +0 -157
- package/dist/node/components/Table/TableBody.cjs.map +0 -1
- package/dist/node/components/Table/TableBody.js +0 -136
- package/dist/node/components/Table/TableBody.js.map +0 -1
- package/dist/node/components/Table/TableFooter.cjs +0 -115
- package/dist/node/components/Table/TableFooter.cjs.map +0 -1
- package/dist/node/components/Table/TableFooter.js +0 -90
- package/dist/node/components/Table/TableFooter.js.map +0 -1
- package/dist/node/components/Table/TableHead.cjs +0 -57
- package/dist/node/components/Table/TableHead.cjs.map +0 -1
- package/dist/node/components/Table/TableHead.js +0 -32
- package/dist/node/components/Table/TableHead.js.map +0 -1
- package/dist/node/components/Table/TablePagination.cjs +0 -74
- package/dist/node/components/Table/TablePagination.cjs.map +0 -1
- package/dist/node/components/Table/TablePagination.js +0 -49
- package/dist/node/components/Table/TablePagination.js.map +0 -1
- package/dist/node/components/Table/TableRow.cjs +0 -105
- package/dist/node/components/Table/TableRow.cjs.map +0 -1
- package/dist/node/components/Table/TableRow.js +0 -84
- package/dist/node/components/Table/TableRow.js.map +0 -1
- package/dist/node/components/Table/TableRowNoData.cjs +0 -44
- package/dist/node/components/Table/TableRowNoData.cjs.map +0 -1
- package/dist/node/components/Table/TableRowNoData.js +0 -19
- package/dist/node/components/Table/TableRowNoData.js.map +0 -1
- package/dist/node/components/Table/index.cjs +0 -385
- package/dist/node/components/Table/index.cjs.map +0 -1
- package/dist/node/components/Table/index.js +0 -356
- package/dist/node/components/Table/index.js.map +0 -1
- package/dist/node/components/Table/types/PaginationEventNouns.cjs +0 -19
- package/dist/node/components/Table/types/PaginationEventNouns.cjs.map +0 -1
- package/dist/node/components/Table/types/PaginationEventNouns.js +0 -1
- package/dist/node/components/Table/types/PaginationEventNouns.js.map +0 -1
- package/dist/node/components/Table/types/PayloadTableBodyProps.cjs +0 -19
- package/dist/node/components/Table/types/PayloadTableBodyProps.cjs.map +0 -1
- package/dist/node/components/Table/types/PayloadTableBodyProps.js +0 -1
- package/dist/node/components/Table/types/PayloadTableBodyProps.js.map +0 -1
- package/dist/node/components/Table/types/PayloadTableFooterProps.cjs +0 -19
- package/dist/node/components/Table/types/PayloadTableFooterProps.cjs.map +0 -1
- package/dist/node/components/Table/types/PayloadTableFooterProps.js +0 -1
- package/dist/node/components/Table/types/PayloadTableFooterProps.js.map +0 -1
- package/dist/node/components/Table/types/PayloadTableHeadProps.cjs +0 -19
- package/dist/node/components/Table/types/PayloadTableHeadProps.cjs.map +0 -1
- package/dist/node/components/Table/types/PayloadTableHeadProps.js +0 -1
- package/dist/node/components/Table/types/PayloadTableHeadProps.js.map +0 -1
- package/dist/node/components/Table/types/index.cjs +0 -19
- package/dist/node/components/Table/types/index.cjs.map +0 -1
- package/dist/node/components/Table/types/index.js +0 -1
- package/dist/node/components/Table/types/index.js.map +0 -1
- package/dist/node/components/index.cjs +0 -610
- package/dist/node/components/index.cjs.map +0 -1
- package/dist/node/components/index.js +0 -595
- package/dist/node/components/index.js.map +0 -1
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
// src/components/Table/TableBody.tsx
|
|
2
|
-
import { Alert, TableBody, Typography as Typography2 } from "@mui/material";
|
|
3
|
-
import { ThrownErrorBoundary } from "@xyo-network/react-error";
|
|
4
|
-
import { usePayloadHashes } from "@xyo-network/react-shared";
|
|
5
|
-
|
|
6
|
-
// src/components/Table/TableRow.tsx
|
|
7
|
-
import {
|
|
8
|
-
CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,
|
|
9
|
-
ErrorOutlineRounded as ErrorOutlineRoundedIcon,
|
|
10
|
-
WarningAmberRounded as WarningAmberRoundedIcon
|
|
11
|
-
} from "@mui/icons-material";
|
|
12
|
-
import { alpha, TableCell, TableRow, Typography } from "@mui/material";
|
|
13
|
-
import { usePromise } from "@xylabs/react-promise";
|
|
14
|
-
import { useBreakpoint } from "@xylabs/react-shared";
|
|
15
|
-
import { PayloadValidator } from "@xyo-network/payload-validator";
|
|
16
|
-
import { useNetwork } from "@xyo-network/react-network";
|
|
17
|
-
import { HashTableCell, usePayloadHash } from "@xyo-network/react-shared";
|
|
18
|
-
|
|
19
|
-
// src/components/Table/PayloadTableColumnConfig.ts
|
|
20
|
-
var payloadTableColumnConfigDefaults = () => {
|
|
21
|
-
const xs = ["hash", "schema", "valid"];
|
|
22
|
-
const sm = ["hash", "schema", "valid"];
|
|
23
|
-
const md = ["hash", "schema", "valid"];
|
|
24
|
-
const lg = ["hash", "schema", "valid"];
|
|
25
|
-
const xl = ["hash", "schema", "valid"];
|
|
26
|
-
return { lg, md, sm, xl, xs };
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
// src/components/Table/TableRow.tsx
|
|
30
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
31
|
-
var PayloadTableRow = ({
|
|
32
|
-
archive,
|
|
33
|
-
columns = payloadTableColumnConfigDefaults(),
|
|
34
|
-
exploreDomain,
|
|
35
|
-
maxSchemaDepth,
|
|
36
|
-
network: networkProp,
|
|
37
|
-
payload,
|
|
38
|
-
...props
|
|
39
|
-
}) => {
|
|
40
|
-
const breakPoint = useBreakpoint();
|
|
41
|
-
const payloadHash = usePayloadHash(payload);
|
|
42
|
-
const { network } = useNetwork();
|
|
43
|
-
const [errors = []] = usePromise(async () => payload ? await new PayloadValidator(payload).validate() : void 0, [payload]);
|
|
44
|
-
const isValid = errors.length === 0;
|
|
45
|
-
const hash = (props2) => /* @__PURE__ */ jsx(
|
|
46
|
-
HashTableCell,
|
|
47
|
-
{
|
|
48
|
-
archive,
|
|
49
|
-
width: "100%",
|
|
50
|
-
value: payloadHash,
|
|
51
|
-
dataType: "payload",
|
|
52
|
-
exploreDomain,
|
|
53
|
-
network: networkProp ?? network?.slug,
|
|
54
|
-
...props2
|
|
55
|
-
},
|
|
56
|
-
"hash"
|
|
57
|
-
);
|
|
58
|
-
const reduceSchemaDepth = (schema2, maxSchemaDepth2) => {
|
|
59
|
-
if (maxSchemaDepth2) {
|
|
60
|
-
const parts = schema2?.split(".") ?? [];
|
|
61
|
-
const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
|
|
62
|
-
if (partsToRemove > 0) {
|
|
63
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Fragment, { children: "\u2026" }),
|
|
65
|
-
`${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
|
|
66
|
-
] });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return schema2;
|
|
70
|
-
};
|
|
71
|
-
const schema = (props2) => /* @__PURE__ */ jsx(TableCell, { title: payload?.schema, align: "center", ...props2, children: /* @__PURE__ */ jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload?.schema, maxSchemaDepth) }) }, "payloads");
|
|
72
|
-
const valid = (props2) => /* @__PURE__ */ jsx(TableCell, { align: "center", ...props2, children: isValid === void 0 && payload != void 0 ? /* @__PURE__ */ jsx(WarningAmberRoundedIcon, { fontSize: "small", color: "warning" }) : isValid === true ? /* @__PURE__ */ jsx(CheckCircleOutlineRoundedIcon, { fontSize: "small", color: "success" }) : isValid === false ? /* @__PURE__ */ jsx(ErrorOutlineRoundedIcon, { color: "error", fontSize: "small" }) : (
|
|
73
|
-
//to keep row height consistent when no data provided, may need fix later
|
|
74
|
-
/* @__PURE__ */ jsx(ErrorOutlineRoundedIcon, { sx: { color: alpha("#fff", 0) }, fontSize: "small" })
|
|
75
|
-
) }, "valid");
|
|
76
|
-
const tableCells = {
|
|
77
|
-
hash,
|
|
78
|
-
schema,
|
|
79
|
-
valid
|
|
80
|
-
};
|
|
81
|
-
return breakPoint ? /* @__PURE__ */ jsx(TableRow, { style: { maxWidth: "100vw" }, ...props, children: columns[breakPoint]?.map((column) => {
|
|
82
|
-
return tableCells[column]({});
|
|
83
|
-
}) }) : null;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
// src/components/Table/TableBody.tsx
|
|
87
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
88
|
-
var PayloadTableBody = ({
|
|
89
|
-
children,
|
|
90
|
-
exploreDomain,
|
|
91
|
-
payloads,
|
|
92
|
-
archive,
|
|
93
|
-
maxSchemaDepth,
|
|
94
|
-
onRowClick,
|
|
95
|
-
emptyRows,
|
|
96
|
-
noResults,
|
|
97
|
-
NoResultRowComponent,
|
|
98
|
-
...props
|
|
99
|
-
}) => {
|
|
100
|
-
const payloadPairs = usePayloadHashes(payloads);
|
|
101
|
-
return /* @__PURE__ */ jsxs2(TableBody, { ...props, children: [
|
|
102
|
-
noResults && NoResultRowComponent ? /* @__PURE__ */ jsx2(NoResultRowComponent, {}) : null,
|
|
103
|
-
payloadPairs?.map(([payload, hash], index) => {
|
|
104
|
-
return /* @__PURE__ */ jsx2(
|
|
105
|
-
ThrownErrorBoundary,
|
|
106
|
-
{
|
|
107
|
-
boundaryName: "PayloadTableBody",
|
|
108
|
-
errorComponent: (e) => /* @__PURE__ */ jsxs2(Alert, { severity: "error", children: [
|
|
109
|
-
"Error Loading Payload: ",
|
|
110
|
-
/* @__PURE__ */ jsx2(Typography2, { fontWeight: "bold", children: e.message })
|
|
111
|
-
] }),
|
|
112
|
-
children: /* @__PURE__ */ jsx2(
|
|
113
|
-
PayloadTableRow,
|
|
114
|
-
{
|
|
115
|
-
maxSchemaDepth,
|
|
116
|
-
archive,
|
|
117
|
-
onClick: onRowClick ? () => {
|
|
118
|
-
onRowClick(payload);
|
|
119
|
-
} : void 0,
|
|
120
|
-
exploreDomain,
|
|
121
|
-
payload
|
|
122
|
-
}
|
|
123
|
-
)
|
|
124
|
-
},
|
|
125
|
-
`${hash}-${index}`
|
|
126
|
-
);
|
|
127
|
-
}),
|
|
128
|
-
children,
|
|
129
|
-
(emptyRows ?? 0) > 0 && Array(emptyRows).fill(/* @__PURE__ */ jsx2(PayloadTableRow, {}))
|
|
130
|
-
] });
|
|
131
|
-
};
|
|
132
|
-
export {
|
|
133
|
-
PayloadTableBody
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=TableBody.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TableBody.tsx","../../../../src/components/Table/TableRow.tsx","../../../../src/components/Table/PayloadTableColumnConfig.ts"],"sourcesContent":["import { Alert, TableBody, Typography } from '@mui/material'\nimport { ThrownErrorBoundary } from '@xyo-network/react-error'\nimport { usePayloadHashes } from '@xyo-network/react-shared'\n\nimport { PayloadTableRow } from './TableRow'\nimport { PayloadTableBodyProps } from './types'\n\nexport const PayloadTableBody: React.FC<PayloadTableBodyProps> = ({\n children,\n exploreDomain,\n payloads,\n archive,\n maxSchemaDepth,\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 ? <NoResultRowComponent /> : 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: <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 exploreDomain={exploreDomain}\n payload={payload}\n />\n </ThrownErrorBoundary>\n )\n })}\n {children}\n {(emptyRows ?? 0) > 0 && Array(emptyRows).fill(<PayloadTableRow />)}\n </TableBody>\n )\n}\n","import {\n CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,\n ErrorOutlineRounded as ErrorOutlineRoundedIcon,\n WarningAmberRounded as WarningAmberRoundedIcon,\n} from '@mui/icons-material'\nimport { alpha, TableCell, TableCellProps, TableRow, TableRowProps, Typography } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport { 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'\n\nimport { PayloadTableColumnConfig, payloadTableColumnConfigDefaults, PayloadTableColumnSlug } from './PayloadTableColumnConfig'\n\nexport interface PayloadTableRowProps extends TableRowProps {\n archive?: string\n columns?: PayloadTableColumnConfig\n exploreDomain?: string\n maxSchemaDepth?: number\n network?: string\n payload?: Payload\n}\n\nexport const PayloadTableRow: React.FC<PayloadTableRowProps> = ({\n archive,\n columns = payloadTableColumnConfigDefaults(),\n exploreDomain,\n maxSchemaDepth,\n network: networkProp,\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 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 = parts.length - maxSchemaDepth > 0 ? parts.length - maxSchemaDepth : 0\n if (partsToRemove > 0) {\n return (\n <>\n <>…</>\n {`${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`}\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 ) : (\n //to keep row height consistent when no data provided, may need fix later\n <ErrorOutlineRoundedIcon sx={{ color: alpha('#fff', 0) }} fontSize=\"small\" />\n )}\n </TableCell>\n )\n\n const tableCells: Record<PayloadTableColumnSlug, React.FC<TableCellProps>> = {\n hash,\n schema,\n valid,\n }\n\n return breakPoint ? (\n <TableRow style={{ maxWidth: '100vw' }} {...props}>\n {columns[breakPoint]?.map((column) => {\n return tableCells[column]({})\n })}\n </TableRow>\n ) : null\n}\n","export type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid'\n\nexport interface PayloadTableColumnConfig<T = PayloadTableColumnSlug> {\n xs?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n sm?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n md?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n lg?: T[]\n xl?: T[]\n}\n\nexport const payloadColumnNames: Record<PayloadTableColumnSlug, string> = {\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 { lg, md, sm, xl, xs }\n}\n"],"mappings":"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","names":["Typography","props","schema","maxSchemaDepth","jsx","jsxs","Typography"]}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Table/TableFooter.tsx
|
|
21
|
-
var TableFooter_exports = {};
|
|
22
|
-
__export(TableFooter_exports, {
|
|
23
|
-
PayloadTableFooter: () => PayloadTableFooter
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(TableFooter_exports);
|
|
26
|
-
var import_material2 = require("@mui/material");
|
|
27
|
-
var import_react_table = require("@xyo-network/react-table");
|
|
28
|
-
|
|
29
|
-
// src/components/Table/TablePagination.tsx
|
|
30
|
-
var import_icons_material = require("@mui/icons-material");
|
|
31
|
-
var import_material = require("@mui/material");
|
|
32
|
-
var import_react_event = require("@xyo-network/react-event");
|
|
33
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
|
-
function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
|
|
35
|
-
const theme = (0, import_material.useTheme)();
|
|
36
|
-
const [paginationRef, paginationDispatch] = (0, import_react_event.useEvent)();
|
|
37
|
-
const handleFirstPageButtonClick = (event) => {
|
|
38
|
-
paginationDispatch("firstPage", "click", "true");
|
|
39
|
-
onPageChange(event, 0);
|
|
40
|
-
};
|
|
41
|
-
const handleBackButtonClick = (event) => {
|
|
42
|
-
paginationDispatch("previousPage", "click", (page - 1)?.toString());
|
|
43
|
-
onPageChange(event, page - 1);
|
|
44
|
-
};
|
|
45
|
-
const handleNextButtonClick = (event) => {
|
|
46
|
-
paginationDispatch("nextPage", "click", (page + 1)?.toString());
|
|
47
|
-
onPageChange(event, page + 1);
|
|
48
|
-
};
|
|
49
|
-
const handleLastPageButtonClick = (event) => {
|
|
50
|
-
paginationDispatch("lastPage", "click", "true");
|
|
51
|
-
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
|
52
|
-
};
|
|
53
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
54
|
-
loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
|
|
55
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
|
|
56
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.LastPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.FirstPage, {}) }),
|
|
57
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowRight, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowLeft, {}) }),
|
|
58
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
59
|
-
import_material.IconButton,
|
|
60
|
-
{
|
|
61
|
-
ref: paginationRef,
|
|
62
|
-
onClick: handleNextButtonClick,
|
|
63
|
-
disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
|
|
64
|
-
"aria-label": "next page",
|
|
65
|
-
children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowLeft, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowRight, {})
|
|
66
|
-
}
|
|
67
|
-
),
|
|
68
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.FirstPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.LastPage, {}) })
|
|
69
|
-
] })
|
|
70
|
-
] });
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// src/components/Table/TableFooter.tsx
|
|
74
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
75
|
-
var PayloadTableFooter = ({
|
|
76
|
-
count,
|
|
77
|
-
variant,
|
|
78
|
-
page,
|
|
79
|
-
rowsPerPage,
|
|
80
|
-
handleChangePage = () => void 0,
|
|
81
|
-
handleChangeRowsPerPage = () => void 0,
|
|
82
|
-
fetchMorePayloads,
|
|
83
|
-
loading
|
|
84
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_table.TableFooterEx, { variant, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
85
|
-
StyledTablePagination,
|
|
86
|
-
{
|
|
87
|
-
rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
|
|
88
|
-
count: count ?? 0,
|
|
89
|
-
rowsPerPage: rowsPerPage ?? 10,
|
|
90
|
-
page: page ?? 0,
|
|
91
|
-
SelectProps: {
|
|
92
|
-
inputProps: {
|
|
93
|
-
"aria-label": "rows per page"
|
|
94
|
-
},
|
|
95
|
-
native: true
|
|
96
|
-
},
|
|
97
|
-
onPageChange: handleChangePage,
|
|
98
|
-
onRowsPerPageChange: handleChangeRowsPerPage,
|
|
99
|
-
ActionsComponent: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TablePaginationActions, { enableNextPage: !!fetchMorePayloads, loading, ...props })
|
|
100
|
-
}
|
|
101
|
-
) }) });
|
|
102
|
-
var StyledTablePagination = (0, import_material2.styled)(import_material2.TablePagination)(({ theme }) => ({
|
|
103
|
-
"& > .MuiToolbar-root": {
|
|
104
|
-
paddingLeft: theme.spacing(1)
|
|
105
|
-
},
|
|
106
|
-
borderTop: "1px solid",
|
|
107
|
-
borderTopColor: theme.palette.divider
|
|
108
|
-
}));
|
|
109
|
-
//# sourceMappingURL=TableFooter.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TableFooter.tsx","../../../../src/components/Table/TablePagination.tsx"],"sourcesContent":["import { styled, TablePagination, TableRow } from '@mui/material'\nimport { TableFooterEx } from '@xyo-network/react-table'\n\nimport { TablePaginationActions } from './TablePagination'\nimport { PayloadTableFooterProps } from './types'\n\nexport const PayloadTableFooter: React.FC<PayloadTableFooterProps> = ({\n count,\n variant,\n page,\n rowsPerPage,\n handleChangePage = () => undefined,\n handleChangeRowsPerPage = () => undefined,\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: {\n 'aria-label': 'rows per page',\n },\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': {\n paddingLeft: theme.spacing(1),\n },\n borderTop: '1px solid',\n borderTopColor: theme.palette.divider,\n}))\n","import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from '@mui/icons-material'\nimport { Box, CircularProgress, IconButton, useTheme } from '@mui/material'\nimport { useEvent } from '@xyo-network/react-event'\n\nimport { PaginationNouns } from './types'\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({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }: 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 ? <CircularProgress size={'small'} sx={{ height: theme.spacing(2), position: 'absolute', width: theme.spacing(2) }} /> : null}\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl' ? <LastPageIcon /> : <FirstPageIcon />}\n </IconButton>\n <IconButton ref={paginationRef} onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl' ? <KeyboardArrowRight /> : <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' ? <KeyboardArrowLeft /> : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl' ? <FirstPageIcon /> : <LastPageIcon />}\n </IconButton>\n </Box>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,mBAAkD;AAClD,yBAA8B;;;ACD9B,4BAA4G;AAC5G,sBAA4D;AAC5D,yBAAyB;AAsCrB;AAzBG,SAAS,uBAAuB,EAAE,OAAO,gBAAgB,SAAS,cAAc,MAAM,YAAY,GAAgC;AACvI,QAAM,YAAQ,0BAAS;AACvB,QAAM,CAAC,eAAe,kBAAkB,QAAI,6BAA6C;AAEzF,QAAM,6BAA6B,CAAC,UAA+C;AACjF,uBAAmB,aAAa,SAAS,MAAM;AAC/C,iBAAa,OAAO,CAAC;AAAA,EACvB;AAEA,QAAM,wBAAwB,CAAC,UAA+C;AAC5E,uBAAmB,gBAAgB,UAAU,OAAO,IAAI,SAAS,CAAC;AAClE,iBAAa,OAAO,OAAO,CAAC;AAAA,EAC9B;AAEA,QAAM,wBAAwB,CAAC,UAA+C;AAC5E,uBAAmB,YAAY,UAAU,OAAO,IAAI,SAAS,CAAC;AAC9D,iBAAa,OAAO,OAAO,CAAC;AAAA,EAC9B;AAEA,QAAM,4BAA4B,CAAC,UAA+C;AAChF,uBAAmB,YAAY,SAAS,MAAM;AAC9C,iBAAa,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,QAAQ,WAAW,IAAI,CAAC,CAAC;AAAA,EACrE;AAEA,SACE,4EACG;AAAA,cAAU,4CAAC,oCAAiB,MAAM,SAAS,IAAI,EAAE,QAAQ,MAAM,QAAQ,CAAC,GAAG,UAAU,YAAY,OAAO,MAAM,QAAQ,CAAC,EAAE,GAAG,IAAK;AAAA,IAClI,6CAAC,uBAAI,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,GAChC;AAAA,kDAAC,8BAAW,SAAS,4BAA4B,UAAU,SAAS,GAAG,cAAW,cAC/E,gBAAM,cAAc,QAAQ,4CAAC,sBAAAC,UAAA,EAAa,IAAK,4CAAC,sBAAAC,WAAA,EAAc,GACjE;AAAA,MACA,4CAAC,8BAAW,KAAK,eAAe,SAAS,uBAAuB,UAAU,SAAS,GAAG,cAAW,iBAC9F,gBAAM,cAAc,QAAQ,4CAAC,4CAAmB,IAAK,4CAAC,2CAAkB,GAC3E;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAC,kBAAkB,QAAQ,KAAK,KAAK,QAAQ,WAAW,IAAI;AAAA,UACtE,cAAW;AAAA,UAEV,gBAAM,cAAc,QAAQ,4CAAC,2CAAkB,IAAK,4CAAC,4CAAmB;AAAA;AAAA,MAC3E;AAAA,MACA,4CAAC,8BAAW,SAAS,2BAA2B,UAAU,QAAQ,KAAK,KAAK,QAAQ,WAAW,IAAI,GAAG,cAAW,aAC9G,gBAAM,cAAc,QAAQ,4CAAC,sBAAAA,WAAA,EAAc,IAAK,4CAAC,sBAAAD,UAAA,EAAa,GACjE;AAAA,OACF;AAAA,KACF;AAEJ;;;AD/B0C,IAAAE,sBAAA;AA1BnC,IAAM,qBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB,MAAM;AAAA,EACzB,0BAA0B,MAAM;AAAA,EAChC;AAAA,EACA;AACF,MACE,6CAAC,oCAAc,SACb,uDAAC,6BACC;AAAA,EAAC;AAAA;AAAA,IACC,oBAAoB,CAAC,GAAG,IAAI,IAAI,EAAE,OAAO,OAAO,OAAO,GAAG,CAAC;AAAA,IAC3D,OAAO,SAAS;AAAA,IAChB,aAAa,eAAe;AAAA,IAC5B,MAAM,QAAQ;AAAA,IACd,aAAa;AAAA,MACX,YAAY;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IACA,cAAc;AAAA,IACd,qBAAqB;AAAA,IAErB,kBAAkB,CAAC,UAAe,6CAAC,0BAAuB,gBAAgB,CAAC,CAAC,mBAAmB,SAAmB,GAAG,OAAO;AAAA;AAC9H,GACF,GACF;AAGF,IAAM,4BAAwB,yBAAO,gCAAe,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACpE,wBAAwB;AAAA,IACtB,aAAa,MAAM,QAAQ,CAAC;AAAA,EAC9B;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB,MAAM,QAAQ;AAChC,EAAE;","names":["import_material","LastPageIcon","FirstPageIcon","import_jsx_runtime"]}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
// src/components/Table/TableFooter.tsx
|
|
2
|
-
import { styled, TablePagination, TableRow } from "@mui/material";
|
|
3
|
-
import { TableFooterEx } from "@xyo-network/react-table";
|
|
4
|
-
|
|
5
|
-
// src/components/Table/TablePagination.tsx
|
|
6
|
-
import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from "@mui/icons-material";
|
|
7
|
-
import { Box, CircularProgress, IconButton, useTheme } from "@mui/material";
|
|
8
|
-
import { useEvent } from "@xyo-network/react-event";
|
|
9
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
|
|
11
|
-
const theme = useTheme();
|
|
12
|
-
const [paginationRef, paginationDispatch] = useEvent();
|
|
13
|
-
const handleFirstPageButtonClick = (event) => {
|
|
14
|
-
paginationDispatch("firstPage", "click", "true");
|
|
15
|
-
onPageChange(event, 0);
|
|
16
|
-
};
|
|
17
|
-
const handleBackButtonClick = (event) => {
|
|
18
|
-
paginationDispatch("previousPage", "click", (page - 1)?.toString());
|
|
19
|
-
onPageChange(event, page - 1);
|
|
20
|
-
};
|
|
21
|
-
const handleNextButtonClick = (event) => {
|
|
22
|
-
paginationDispatch("nextPage", "click", (page + 1)?.toString());
|
|
23
|
-
onPageChange(event, page + 1);
|
|
24
|
-
};
|
|
25
|
-
const handleLastPageButtonClick = (event) => {
|
|
26
|
-
paginationDispatch("lastPage", "click", "true");
|
|
27
|
-
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
|
28
|
-
};
|
|
29
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30
|
-
loading ? /* @__PURE__ */ jsx(CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
|
|
31
|
-
/* @__PURE__ */ jsxs(Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
|
|
32
|
-
/* @__PURE__ */ jsx(IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(LastPageIcon, {}) : /* @__PURE__ */ jsx(FirstPageIcon, {}) }),
|
|
33
|
-
/* @__PURE__ */ jsx(IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(KeyboardArrowRight, {}) : /* @__PURE__ */ jsx(KeyboardArrowLeft, {}) }),
|
|
34
|
-
/* @__PURE__ */ jsx(
|
|
35
|
-
IconButton,
|
|
36
|
-
{
|
|
37
|
-
ref: paginationRef,
|
|
38
|
-
onClick: handleNextButtonClick,
|
|
39
|
-
disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
|
|
40
|
-
"aria-label": "next page",
|
|
41
|
-
children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(KeyboardArrowLeft, {}) : /* @__PURE__ */ jsx(KeyboardArrowRight, {})
|
|
42
|
-
}
|
|
43
|
-
),
|
|
44
|
-
/* @__PURE__ */ jsx(IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(FirstPageIcon, {}) : /* @__PURE__ */ jsx(LastPageIcon, {}) })
|
|
45
|
-
] })
|
|
46
|
-
] });
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// src/components/Table/TableFooter.tsx
|
|
50
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
51
|
-
var PayloadTableFooter = ({
|
|
52
|
-
count,
|
|
53
|
-
variant,
|
|
54
|
-
page,
|
|
55
|
-
rowsPerPage,
|
|
56
|
-
handleChangePage = () => void 0,
|
|
57
|
-
handleChangeRowsPerPage = () => void 0,
|
|
58
|
-
fetchMorePayloads,
|
|
59
|
-
loading
|
|
60
|
-
}) => /* @__PURE__ */ jsx2(TableFooterEx, { variant, children: /* @__PURE__ */ jsx2(TableRow, { children: /* @__PURE__ */ jsx2(
|
|
61
|
-
StyledTablePagination,
|
|
62
|
-
{
|
|
63
|
-
rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
|
|
64
|
-
count: count ?? 0,
|
|
65
|
-
rowsPerPage: rowsPerPage ?? 10,
|
|
66
|
-
page: page ?? 0,
|
|
67
|
-
SelectProps: {
|
|
68
|
-
inputProps: {
|
|
69
|
-
"aria-label": "rows per page"
|
|
70
|
-
},
|
|
71
|
-
native: true
|
|
72
|
-
},
|
|
73
|
-
onPageChange: handleChangePage,
|
|
74
|
-
onRowsPerPageChange: handleChangeRowsPerPage,
|
|
75
|
-
ActionsComponent: (props) => /* @__PURE__ */ jsx2(TablePaginationActions, { enableNextPage: !!fetchMorePayloads, loading, ...props })
|
|
76
|
-
}
|
|
77
|
-
) }) });
|
|
78
|
-
var StyledTablePagination = styled(TablePagination)(({ theme }) => ({
|
|
79
|
-
"& > .MuiToolbar-root": {
|
|
80
|
-
paddingLeft: theme.spacing(1)
|
|
81
|
-
},
|
|
82
|
-
borderTop: "1px solid",
|
|
83
|
-
borderTopColor: theme.palette.divider
|
|
84
|
-
}));
|
|
85
|
-
export {
|
|
86
|
-
PayloadTableFooter
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=TableFooter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TableFooter.tsx","../../../../src/components/Table/TablePagination.tsx"],"sourcesContent":["import { styled, TablePagination, TableRow } from '@mui/material'\nimport { TableFooterEx } from '@xyo-network/react-table'\n\nimport { TablePaginationActions } from './TablePagination'\nimport { PayloadTableFooterProps } from './types'\n\nexport const PayloadTableFooter: React.FC<PayloadTableFooterProps> = ({\n count,\n variant,\n page,\n rowsPerPage,\n handleChangePage = () => undefined,\n handleChangeRowsPerPage = () => undefined,\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: {\n 'aria-label': 'rows per page',\n },\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': {\n paddingLeft: theme.spacing(1),\n },\n borderTop: '1px solid',\n borderTopColor: theme.palette.divider,\n}))\n","import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from '@mui/icons-material'\nimport { Box, CircularProgress, IconButton, useTheme } from '@mui/material'\nimport { useEvent } from '@xyo-network/react-event'\n\nimport { PaginationNouns } from './types'\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({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }: 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 ? <CircularProgress size={'small'} sx={{ height: theme.spacing(2), position: 'absolute', width: theme.spacing(2) }} /> : null}\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl' ? <LastPageIcon /> : <FirstPageIcon />}\n </IconButton>\n <IconButton ref={paginationRef} onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl' ? <KeyboardArrowRight /> : <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' ? <KeyboardArrowLeft /> : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl' ? <FirstPageIcon /> : <LastPageIcon />}\n </IconButton>\n </Box>\n </>\n )\n}\n"],"mappings":"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","names":["jsx"]}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Table/TableHead.tsx
|
|
21
|
-
var TableHead_exports = {};
|
|
22
|
-
__export(TableHead_exports, {
|
|
23
|
-
PayloadTableHead: () => PayloadTableHead
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(TableHead_exports);
|
|
26
|
-
var import_material = require("@mui/material");
|
|
27
|
-
var import_react_shared = require("@xylabs/react-shared");
|
|
28
|
-
|
|
29
|
-
// src/components/Table/PayloadTableColumnConfig.ts
|
|
30
|
-
var payloadColumnNames = {
|
|
31
|
-
hash: "Hash",
|
|
32
|
-
schema: "Schema",
|
|
33
|
-
valid: "Valid"
|
|
34
|
-
};
|
|
35
|
-
var payloadTableColumnConfigDefaults = () => {
|
|
36
|
-
const xs = ["hash", "schema", "valid"];
|
|
37
|
-
const sm = ["hash", "schema", "valid"];
|
|
38
|
-
const md = ["hash", "schema", "valid"];
|
|
39
|
-
const lg = ["hash", "schema", "valid"];
|
|
40
|
-
const xl = ["hash", "schema", "valid"];
|
|
41
|
-
return { lg, md, sm, xl, xs };
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
// src/components/Table/TableHead.tsx
|
|
45
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
46
|
-
var PayloadTableHead = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
|
|
47
|
-
const breakPoint = (0, import_react_shared.useBreakpoint)();
|
|
48
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableHead, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableRow, { children: breakPoint && columns ? columns[breakPoint]?.map((column, index) => {
|
|
49
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableCell, { width: index === 0 ? "100%" : void 0, align: index === 0 ? "left" : "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "body2", noWrap: true, children: payloadColumnNames[column] }) }, index);
|
|
50
|
-
}) : null }) });
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=TableHead.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TableHead.tsx","../../../../src/components/Table/PayloadTableColumnConfig.ts"],"sourcesContent":["import { TableCell, TableHead, TableRow, Typography } from '@mui/material'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { payloadColumnNames, payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig'\nimport { PayloadTableHeadProps } from './types'\n\nexport const PayloadTableHead: React.FC<PayloadTableHeadProps> = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {\n const breakPoint = useBreakpoint()\n return (\n <TableHead {...props}>\n <TableRow>\n {breakPoint && columns\n ? columns[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","export type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid'\n\nexport interface PayloadTableColumnConfig<T = PayloadTableColumnSlug> {\n xs?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n sm?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n md?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n lg?: T[]\n xl?: T[]\n}\n\nexport const payloadColumnNames: Record<PayloadTableColumnSlug, string> = {\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 { lg, md, sm, xl, xs }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2D;AAC3D,0BAA8B;;;ACYvB,IAAM,qBAA6D;AAAA,EACxE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,IAAM,mCAAmC,MAAgC;AAC9E,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,SAAO,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG;AAC9B;;;ADXkB;AATX,IAAM,mBAAoD,CAAC,EAAE,UAAU,iCAAiC,GAAG,GAAG,MAAM,MAAM;AAC/H,QAAM,iBAAa,mCAAc;AACjC,SACE,4CAAC,6BAAW,GAAG,OACb,sDAAC,4BACE,wBAAc,UACX,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,UAAU;AAC1C,WACE,4CAAC,6BAAsB,OAAO,UAAU,IAAI,SAAS,QAAW,OAAO,UAAU,IAAI,SAAS,UAC5F,sDAAC,8BAAW,SAAQ,SAAQ,QAAM,MAC/B,6BAAmB,MAAM,GAC5B,KAHc,KAIhB;AAAA,EAEJ,CAAC,IACD,MACN,GACF;AAEJ;","names":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// src/components/Table/TableHead.tsx
|
|
2
|
-
import { TableCell, TableHead, TableRow, Typography } from "@mui/material";
|
|
3
|
-
import { useBreakpoint } from "@xylabs/react-shared";
|
|
4
|
-
|
|
5
|
-
// src/components/Table/PayloadTableColumnConfig.ts
|
|
6
|
-
var payloadColumnNames = {
|
|
7
|
-
hash: "Hash",
|
|
8
|
-
schema: "Schema",
|
|
9
|
-
valid: "Valid"
|
|
10
|
-
};
|
|
11
|
-
var payloadTableColumnConfigDefaults = () => {
|
|
12
|
-
const xs = ["hash", "schema", "valid"];
|
|
13
|
-
const sm = ["hash", "schema", "valid"];
|
|
14
|
-
const md = ["hash", "schema", "valid"];
|
|
15
|
-
const lg = ["hash", "schema", "valid"];
|
|
16
|
-
const xl = ["hash", "schema", "valid"];
|
|
17
|
-
return { lg, md, sm, xl, xs };
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
// src/components/Table/TableHead.tsx
|
|
21
|
-
import { jsx } from "react/jsx-runtime";
|
|
22
|
-
var PayloadTableHead = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
|
|
23
|
-
const breakPoint = useBreakpoint();
|
|
24
|
-
return /* @__PURE__ */ jsx(TableHead, { ...props, children: /* @__PURE__ */ jsx(TableRow, { children: breakPoint && columns ? columns[breakPoint]?.map((column, index) => {
|
|
25
|
-
return /* @__PURE__ */ jsx(TableCell, { width: index === 0 ? "100%" : void 0, align: index === 0 ? "left" : "center", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", noWrap: true, children: payloadColumnNames[column] }) }, index);
|
|
26
|
-
}) : null }) });
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
PayloadTableHead
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=TableHead.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TableHead.tsx","../../../../src/components/Table/PayloadTableColumnConfig.ts"],"sourcesContent":["import { TableCell, TableHead, TableRow, Typography } from '@mui/material'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { payloadColumnNames, payloadTableColumnConfigDefaults } from './PayloadTableColumnConfig'\nimport { PayloadTableHeadProps } from './types'\n\nexport const PayloadTableHead: React.FC<PayloadTableHeadProps> = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {\n const breakPoint = useBreakpoint()\n return (\n <TableHead {...props}>\n <TableRow>\n {breakPoint && columns\n ? columns[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","export type PayloadTableColumnSlug = 'hash' | 'schema' | 'valid'\n\nexport interface PayloadTableColumnConfig<T = PayloadTableColumnSlug> {\n xs?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n sm?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n md?: T[]\n // eslint-disable-next-line @typescript-eslint/member-ordering\n lg?: T[]\n xl?: T[]\n}\n\nexport const payloadColumnNames: Record<PayloadTableColumnSlug, string> = {\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 { lg, md, sm, xl, xs }\n}\n"],"mappings":";AAAA,SAAS,WAAW,WAAW,UAAU,kBAAkB;AAC3D,SAAS,qBAAqB;;;ACYvB,IAAM,qBAA6D;AAAA,EACxE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,IAAM,mCAAmC,MAAgC;AAC9E,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,QAAM,KAA+B,CAAC,QAAQ,UAAU,OAAO;AAC/D,SAAO,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG;AAC9B;;;ADXkB;AATX,IAAM,mBAAoD,CAAC,EAAE,UAAU,iCAAiC,GAAG,GAAG,MAAM,MAAM;AAC/H,QAAM,aAAa,cAAc;AACjC,SACE,oBAAC,aAAW,GAAG,OACb,8BAAC,YACE,wBAAc,UACX,QAAQ,UAAU,GAAG,IAAI,CAAC,QAAQ,UAAU;AAC1C,WACE,oBAAC,aAAsB,OAAO,UAAU,IAAI,SAAS,QAAW,OAAO,UAAU,IAAI,SAAS,UAC5F,8BAAC,cAAW,SAAQ,SAAQ,QAAM,MAC/B,6BAAmB,MAAM,GAC5B,KAHc,KAIhB;AAAA,EAEJ,CAAC,IACD,MACN,GACF;AAEJ;","names":[]}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Table/TablePagination.tsx
|
|
21
|
-
var TablePagination_exports = {};
|
|
22
|
-
__export(TablePagination_exports, {
|
|
23
|
-
TablePaginationActions: () => TablePaginationActions
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(TablePagination_exports);
|
|
26
|
-
var import_icons_material = require("@mui/icons-material");
|
|
27
|
-
var import_material = require("@mui/material");
|
|
28
|
-
var import_react_event = require("@xyo-network/react-event");
|
|
29
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
-
function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
|
|
31
|
-
const theme = (0, import_material.useTheme)();
|
|
32
|
-
const [paginationRef, paginationDispatch] = (0, import_react_event.useEvent)();
|
|
33
|
-
const handleFirstPageButtonClick = (event) => {
|
|
34
|
-
paginationDispatch("firstPage", "click", "true");
|
|
35
|
-
onPageChange(event, 0);
|
|
36
|
-
};
|
|
37
|
-
const handleBackButtonClick = (event) => {
|
|
38
|
-
paginationDispatch("previousPage", "click", (page - 1)?.toString());
|
|
39
|
-
onPageChange(event, page - 1);
|
|
40
|
-
};
|
|
41
|
-
const handleNextButtonClick = (event) => {
|
|
42
|
-
paginationDispatch("nextPage", "click", (page + 1)?.toString());
|
|
43
|
-
onPageChange(event, page + 1);
|
|
44
|
-
};
|
|
45
|
-
const handleLastPageButtonClick = (event) => {
|
|
46
|
-
paginationDispatch("lastPage", "click", "true");
|
|
47
|
-
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
|
48
|
-
};
|
|
49
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
50
|
-
loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
|
|
51
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
|
|
52
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.LastPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.FirstPage, {}) }),
|
|
53
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowRight, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowLeft, {}) }),
|
|
54
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
55
|
-
import_material.IconButton,
|
|
56
|
-
{
|
|
57
|
-
ref: paginationRef,
|
|
58
|
-
onClick: handleNextButtonClick,
|
|
59
|
-
disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
|
|
60
|
-
"aria-label": "next page",
|
|
61
|
-
children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowLeft, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.KeyboardArrowRight, {})
|
|
62
|
-
}
|
|
63
|
-
),
|
|
64
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.FirstPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.LastPage, {}) })
|
|
65
|
-
] })
|
|
66
|
-
] });
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=TablePagination.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/TablePagination.tsx"],"sourcesContent":["import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from '@mui/icons-material'\nimport { Box, CircularProgress, IconButton, useTheme } from '@mui/material'\nimport { useEvent } from '@xyo-network/react-event'\n\nimport { PaginationNouns } from './types'\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({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }: 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 ? <CircularProgress size={'small'} sx={{ height: theme.spacing(2), position: 'absolute', width: theme.spacing(2) }} /> : null}\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton onClick={handleFirstPageButtonClick} disabled={page === 0} aria-label=\"first page\">\n {theme.direction === 'rtl' ? <LastPageIcon /> : <FirstPageIcon />}\n </IconButton>\n <IconButton ref={paginationRef} onClick={handleBackButtonClick} disabled={page === 0} aria-label=\"previous page\">\n {theme.direction === 'rtl' ? <KeyboardArrowRight /> : <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' ? <KeyboardArrowLeft /> : <KeyboardArrowRight />}\n </IconButton>\n <IconButton onClick={handleLastPageButtonClick} disabled={page >= Math.ceil(count / rowsPerPage) - 1} aria-label=\"last page\">\n {theme.direction === 'rtl' ? <FirstPageIcon /> : <LastPageIcon />}\n </IconButton>\n </Box>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA4G;AAC5G,sBAA4D;AAC5D,yBAAyB;AAsCrB;AAzBG,SAAS,uBAAuB,EAAE,OAAO,gBAAgB,SAAS,cAAc,MAAM,YAAY,GAAgC;AACvI,QAAM,YAAQ,0BAAS;AACvB,QAAM,CAAC,eAAe,kBAAkB,QAAI,6BAA6C;AAEzF,QAAM,6BAA6B,CAAC,UAA+C;AACjF,uBAAmB,aAAa,SAAS,MAAM;AAC/C,iBAAa,OAAO,CAAC;AAAA,EACvB;AAEA,QAAM,wBAAwB,CAAC,UAA+C;AAC5E,uBAAmB,gBAAgB,UAAU,OAAO,IAAI,SAAS,CAAC;AAClE,iBAAa,OAAO,OAAO,CAAC;AAAA,EAC9B;AAEA,QAAM,wBAAwB,CAAC,UAA+C;AAC5E,uBAAmB,YAAY,UAAU,OAAO,IAAI,SAAS,CAAC;AAC9D,iBAAa,OAAO,OAAO,CAAC;AAAA,EAC9B;AAEA,QAAM,4BAA4B,CAAC,UAA+C;AAChF,uBAAmB,YAAY,SAAS,MAAM;AAC9C,iBAAa,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,QAAQ,WAAW,IAAI,CAAC,CAAC;AAAA,EACrE;AAEA,SACE,4EACG;AAAA,cAAU,4CAAC,oCAAiB,MAAM,SAAS,IAAI,EAAE,QAAQ,MAAM,QAAQ,CAAC,GAAG,UAAU,YAAY,OAAO,MAAM,QAAQ,CAAC,EAAE,GAAG,IAAK;AAAA,IAClI,6CAAC,uBAAI,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,GAChC;AAAA,kDAAC,8BAAW,SAAS,4BAA4B,UAAU,SAAS,GAAG,cAAW,cAC/E,gBAAM,cAAc,QAAQ,4CAAC,sBAAAA,UAAA,EAAa,IAAK,4CAAC,sBAAAC,WAAA,EAAc,GACjE;AAAA,MACA,4CAAC,8BAAW,KAAK,eAAe,SAAS,uBAAuB,UAAU,SAAS,GAAG,cAAW,iBAC9F,gBAAM,cAAc,QAAQ,4CAAC,4CAAmB,IAAK,4CAAC,2CAAkB,GAC3E;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAC,kBAAkB,QAAQ,KAAK,KAAK,QAAQ,WAAW,IAAI;AAAA,UACtE,cAAW;AAAA,UAEV,gBAAM,cAAc,QAAQ,4CAAC,2CAAkB,IAAK,4CAAC,4CAAmB;AAAA;AAAA,MAC3E;AAAA,MACA,4CAAC,8BAAW,SAAS,2BAA2B,UAAU,QAAQ,KAAK,KAAK,QAAQ,WAAW,IAAI,GAAG,cAAW,aAC9G,gBAAM,cAAc,QAAQ,4CAAC,sBAAAA,WAAA,EAAc,IAAK,4CAAC,sBAAAD,UAAA,EAAa,GACjE;AAAA,OACF;AAAA,KACF;AAEJ;","names":["LastPageIcon","FirstPageIcon"]}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// src/components/Table/TablePagination.tsx
|
|
2
|
-
import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from "@mui/icons-material";
|
|
3
|
-
import { Box, CircularProgress, IconButton, useTheme } from "@mui/material";
|
|
4
|
-
import { useEvent } from "@xyo-network/react-event";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
|
|
7
|
-
const theme = useTheme();
|
|
8
|
-
const [paginationRef, paginationDispatch] = useEvent();
|
|
9
|
-
const handleFirstPageButtonClick = (event) => {
|
|
10
|
-
paginationDispatch("firstPage", "click", "true");
|
|
11
|
-
onPageChange(event, 0);
|
|
12
|
-
};
|
|
13
|
-
const handleBackButtonClick = (event) => {
|
|
14
|
-
paginationDispatch("previousPage", "click", (page - 1)?.toString());
|
|
15
|
-
onPageChange(event, page - 1);
|
|
16
|
-
};
|
|
17
|
-
const handleNextButtonClick = (event) => {
|
|
18
|
-
paginationDispatch("nextPage", "click", (page + 1)?.toString());
|
|
19
|
-
onPageChange(event, page + 1);
|
|
20
|
-
};
|
|
21
|
-
const handleLastPageButtonClick = (event) => {
|
|
22
|
-
paginationDispatch("lastPage", "click", "true");
|
|
23
|
-
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
|
24
|
-
};
|
|
25
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
-
loading ? /* @__PURE__ */ jsx(CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
|
|
27
|
-
/* @__PURE__ */ jsxs(Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
|
|
28
|
-
/* @__PURE__ */ jsx(IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(LastPageIcon, {}) : /* @__PURE__ */ jsx(FirstPageIcon, {}) }),
|
|
29
|
-
/* @__PURE__ */ jsx(IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(KeyboardArrowRight, {}) : /* @__PURE__ */ jsx(KeyboardArrowLeft, {}) }),
|
|
30
|
-
/* @__PURE__ */ jsx(
|
|
31
|
-
IconButton,
|
|
32
|
-
{
|
|
33
|
-
ref: paginationRef,
|
|
34
|
-
onClick: handleNextButtonClick,
|
|
35
|
-
disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
|
|
36
|
-
"aria-label": "next page",
|
|
37
|
-
children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(KeyboardArrowLeft, {}) : /* @__PURE__ */ jsx(KeyboardArrowRight, {})
|
|
38
|
-
}
|
|
39
|
-
),
|
|
40
|
-
/* @__PURE__ */ jsx(IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx(FirstPageIcon, {}) : /* @__PURE__ */ jsx(LastPageIcon, {}) })
|
|
41
|
-
] })
|
|
42
|
-
] });
|
|
43
|
-
}
|
|
44
|
-
export {
|
|
45
|
-
TablePaginationActions
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=TablePagination.js.map
|