@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.
Files changed (154) hide show
  1. package/package.json +18 -18
  2. package/dist/browser/components/DynamicTable/DynamicTableRow.cjs +0 -128
  3. package/dist/browser/components/DynamicTable/DynamicTableRow.cjs.map +0 -1
  4. package/dist/browser/components/DynamicTable/DynamicTableRow.js +0 -111
  5. package/dist/browser/components/DynamicTable/DynamicTableRow.js.map +0 -1
  6. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +0 -60
  7. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +0 -1
  8. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js +0 -39
  9. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +0 -1
  10. package/dist/browser/components/DynamicTable/Table.cjs +0 -241
  11. package/dist/browser/components/DynamicTable/Table.cjs.map +0 -1
  12. package/dist/browser/components/DynamicTable/Table.js +0 -237
  13. package/dist/browser/components/DynamicTable/Table.js.map +0 -1
  14. package/dist/browser/components/DynamicTable/index.cjs +0 -243
  15. package/dist/browser/components/DynamicTable/index.cjs.map +0 -1
  16. package/dist/browser/components/DynamicTable/index.js +0 -237
  17. package/dist/browser/components/DynamicTable/index.js.map +0 -1
  18. package/dist/browser/components/Table/PayloadTableColumnConfig.cjs +0 -40
  19. package/dist/browser/components/Table/PayloadTableColumnConfig.cjs.map +0 -1
  20. package/dist/browser/components/Table/PayloadTableColumnConfig.js +0 -19
  21. package/dist/browser/components/Table/PayloadTableColumnConfig.js.map +0 -1
  22. package/dist/browser/components/Table/Table.cjs +0 -366
  23. package/dist/browser/components/Table/Table.cjs.map +0 -1
  24. package/dist/browser/components/Table/Table.js +0 -349
  25. package/dist/browser/components/Table/Table.js.map +0 -1
  26. package/dist/browser/components/Table/TableBody.cjs +0 -152
  27. package/dist/browser/components/Table/TableBody.cjs.map +0 -1
  28. package/dist/browser/components/Table/TableBody.js +0 -135
  29. package/dist/browser/components/Table/TableBody.js.map +0 -1
  30. package/dist/browser/components/Table/TableFooter.cjs +0 -109
  31. package/dist/browser/components/Table/TableFooter.cjs.map +0 -1
  32. package/dist/browser/components/Table/TableFooter.js +0 -88
  33. package/dist/browser/components/Table/TableFooter.js.map +0 -1
  34. package/dist/browser/components/Table/TableHead.cjs +0 -52
  35. package/dist/browser/components/Table/TableHead.cjs.map +0 -1
  36. package/dist/browser/components/Table/TableHead.js +0 -31
  37. package/dist/browser/components/Table/TableHead.js.map +0 -1
  38. package/dist/browser/components/Table/TablePagination.cjs +0 -68
  39. package/dist/browser/components/Table/TablePagination.cjs.map +0 -1
  40. package/dist/browser/components/Table/TablePagination.js +0 -47
  41. package/dist/browser/components/Table/TablePagination.js.map +0 -1
  42. package/dist/browser/components/Table/TableRow.cjs +0 -100
  43. package/dist/browser/components/Table/TableRow.cjs.map +0 -1
  44. package/dist/browser/components/Table/TableRow.js +0 -83
  45. package/dist/browser/components/Table/TableRow.js.map +0 -1
  46. package/dist/browser/components/Table/TableRowNoData.cjs +0 -40
  47. package/dist/browser/components/Table/TableRowNoData.cjs.map +0 -1
  48. package/dist/browser/components/Table/TableRowNoData.js +0 -19
  49. package/dist/browser/components/Table/TableRowNoData.js.map +0 -1
  50. package/dist/browser/components/Table/index.cjs +0 -371
  51. package/dist/browser/components/Table/index.cjs.map +0 -1
  52. package/dist/browser/components/Table/index.js +0 -352
  53. package/dist/browser/components/Table/index.js.map +0 -1
  54. package/dist/browser/components/Table/types/PaginationEventNouns.cjs +0 -19
  55. package/dist/browser/components/Table/types/PaginationEventNouns.cjs.map +0 -1
  56. package/dist/browser/components/Table/types/PaginationEventNouns.js +0 -1
  57. package/dist/browser/components/Table/types/PaginationEventNouns.js.map +0 -1
  58. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs +0 -19
  59. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs.map +0 -1
  60. package/dist/browser/components/Table/types/PayloadTableBodyProps.js +0 -1
  61. package/dist/browser/components/Table/types/PayloadTableBodyProps.js.map +0 -1
  62. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs +0 -19
  63. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs.map +0 -1
  64. package/dist/browser/components/Table/types/PayloadTableFooterProps.js +0 -1
  65. package/dist/browser/components/Table/types/PayloadTableFooterProps.js.map +0 -1
  66. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs +0 -19
  67. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs.map +0 -1
  68. package/dist/browser/components/Table/types/PayloadTableHeadProps.js +0 -1
  69. package/dist/browser/components/Table/types/PayloadTableHeadProps.js.map +0 -1
  70. package/dist/browser/components/Table/types/index.cjs +0 -19
  71. package/dist/browser/components/Table/types/index.cjs.map +0 -1
  72. package/dist/browser/components/Table/types/index.js +0 -1
  73. package/dist/browser/components/Table/types/index.js.map +0 -1
  74. package/dist/browser/components/index.cjs +0 -589
  75. package/dist/browser/components/index.cjs.map +0 -1
  76. package/dist/browser/components/index.js +0 -587
  77. package/dist/browser/components/index.js.map +0 -1
  78. package/dist/docs.json +0 -4590
  79. package/dist/node/components/DynamicTable/DynamicTableRow.cjs +0 -135
  80. package/dist/node/components/DynamicTable/DynamicTableRow.cjs.map +0 -1
  81. package/dist/node/components/DynamicTable/DynamicTableRow.js +0 -114
  82. package/dist/node/components/DynamicTable/DynamicTableRow.js.map +0 -1
  83. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +0 -64
  84. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +0 -1
  85. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js +0 -39
  86. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +0 -1
  87. package/dist/node/components/DynamicTable/Table.cjs +0 -249
  88. package/dist/node/components/DynamicTable/Table.cjs.map +0 -1
  89. package/dist/node/components/DynamicTable/Table.js +0 -241
  90. package/dist/node/components/DynamicTable/Table.js.map +0 -1
  91. package/dist/node/components/DynamicTable/index.cjs +0 -253
  92. package/dist/node/components/DynamicTable/index.cjs.map +0 -1
  93. package/dist/node/components/DynamicTable/index.js +0 -241
  94. package/dist/node/components/DynamicTable/index.js.map +0 -1
  95. package/dist/node/components/Table/PayloadTableColumnConfig.cjs +0 -45
  96. package/dist/node/components/Table/PayloadTableColumnConfig.cjs.map +0 -1
  97. package/dist/node/components/Table/PayloadTableColumnConfig.js +0 -19
  98. package/dist/node/components/Table/PayloadTableColumnConfig.js.map +0 -1
  99. package/dist/node/components/Table/Table.cjs +0 -375
  100. package/dist/node/components/Table/Table.cjs.map +0 -1
  101. package/dist/node/components/Table/Table.js +0 -353
  102. package/dist/node/components/Table/Table.js.map +0 -1
  103. package/dist/node/components/Table/TableBody.cjs +0 -157
  104. package/dist/node/components/Table/TableBody.cjs.map +0 -1
  105. package/dist/node/components/Table/TableBody.js +0 -136
  106. package/dist/node/components/Table/TableBody.js.map +0 -1
  107. package/dist/node/components/Table/TableFooter.cjs +0 -115
  108. package/dist/node/components/Table/TableFooter.cjs.map +0 -1
  109. package/dist/node/components/Table/TableFooter.js +0 -90
  110. package/dist/node/components/Table/TableFooter.js.map +0 -1
  111. package/dist/node/components/Table/TableHead.cjs +0 -57
  112. package/dist/node/components/Table/TableHead.cjs.map +0 -1
  113. package/dist/node/components/Table/TableHead.js +0 -32
  114. package/dist/node/components/Table/TableHead.js.map +0 -1
  115. package/dist/node/components/Table/TablePagination.cjs +0 -74
  116. package/dist/node/components/Table/TablePagination.cjs.map +0 -1
  117. package/dist/node/components/Table/TablePagination.js +0 -49
  118. package/dist/node/components/Table/TablePagination.js.map +0 -1
  119. package/dist/node/components/Table/TableRow.cjs +0 -105
  120. package/dist/node/components/Table/TableRow.cjs.map +0 -1
  121. package/dist/node/components/Table/TableRow.js +0 -84
  122. package/dist/node/components/Table/TableRow.js.map +0 -1
  123. package/dist/node/components/Table/TableRowNoData.cjs +0 -44
  124. package/dist/node/components/Table/TableRowNoData.cjs.map +0 -1
  125. package/dist/node/components/Table/TableRowNoData.js +0 -19
  126. package/dist/node/components/Table/TableRowNoData.js.map +0 -1
  127. package/dist/node/components/Table/index.cjs +0 -385
  128. package/dist/node/components/Table/index.cjs.map +0 -1
  129. package/dist/node/components/Table/index.js +0 -356
  130. package/dist/node/components/Table/index.js.map +0 -1
  131. package/dist/node/components/Table/types/PaginationEventNouns.cjs +0 -19
  132. package/dist/node/components/Table/types/PaginationEventNouns.cjs.map +0 -1
  133. package/dist/node/components/Table/types/PaginationEventNouns.js +0 -1
  134. package/dist/node/components/Table/types/PaginationEventNouns.js.map +0 -1
  135. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs +0 -19
  136. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs.map +0 -1
  137. package/dist/node/components/Table/types/PayloadTableBodyProps.js +0 -1
  138. package/dist/node/components/Table/types/PayloadTableBodyProps.js.map +0 -1
  139. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs +0 -19
  140. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs.map +0 -1
  141. package/dist/node/components/Table/types/PayloadTableFooterProps.js +0 -1
  142. package/dist/node/components/Table/types/PayloadTableFooterProps.js.map +0 -1
  143. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs +0 -19
  144. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs.map +0 -1
  145. package/dist/node/components/Table/types/PayloadTableHeadProps.js +0 -1
  146. package/dist/node/components/Table/types/PayloadTableHeadProps.js.map +0 -1
  147. package/dist/node/components/Table/types/index.cjs +0 -19
  148. package/dist/node/components/Table/types/index.cjs.map +0 -1
  149. package/dist/node/components/Table/types/index.js +0 -1
  150. package/dist/node/components/Table/types/index.js.map +0 -1
  151. package/dist/node/components/index.cjs +0 -610
  152. package/dist/node/components/index.cjs.map +0 -1
  153. package/dist/node/components/index.js +0 -595
  154. package/dist/node/components/index.js.map +0 -1
@@ -1,19 +0,0 @@
1
- // src/components/Table/PayloadTableColumnConfig.ts
2
- var payloadColumnNames = {
3
- hash: "Hash",
4
- schema: "Schema",
5
- valid: "Valid"
6
- };
7
- var payloadTableColumnConfigDefaults = () => {
8
- const xs = ["hash", "schema", "valid"];
9
- const sm = ["hash", "schema", "valid"];
10
- const md = ["hash", "schema", "valid"];
11
- const lg = ["hash", "schema", "valid"];
12
- const xl = ["hash", "schema", "valid"];
13
- return { lg, md, sm, xl, xs };
14
- };
15
- export {
16
- payloadColumnNames,
17
- payloadTableColumnConfigDefaults
18
- };
19
- //# sourceMappingURL=PayloadTableColumnConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/Table/PayloadTableColumnConfig.ts"],"sourcesContent":["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":";AAaO,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;","names":[]}
@@ -1,366 +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/Table.tsx
21
- var Table_exports = {};
22
- __export(Table_exports, {
23
- PayloadTable: () => PayloadTable,
24
- PayloadTableWithRef: () => PayloadTableWithRef
25
- });
26
- module.exports = __toCommonJS(Table_exports);
27
- var import_react_table2 = require("@xyo-network/react-table");
28
- var import_react = require("react");
29
-
30
- // src/components/Table/TableBody.tsx
31
- var import_material2 = require("@mui/material");
32
- var import_react_error = require("@xyo-network/react-error");
33
- var import_react_shared3 = require("@xyo-network/react-shared");
34
-
35
- // src/components/Table/TableRow.tsx
36
- var import_icons_material = require("@mui/icons-material");
37
- var import_material = require("@mui/material");
38
- var import_react_promise = require("@xylabs/react-promise");
39
- var import_react_shared = require("@xylabs/react-shared");
40
- var import_payload_validator = require("@xyo-network/payload-validator");
41
- var import_react_network = require("@xyo-network/react-network");
42
- var import_react_shared2 = require("@xyo-network/react-shared");
43
-
44
- // src/components/Table/PayloadTableColumnConfig.ts
45
- var payloadColumnNames = {
46
- hash: "Hash",
47
- schema: "Schema",
48
- valid: "Valid"
49
- };
50
- var payloadTableColumnConfigDefaults = () => {
51
- const xs = ["hash", "schema", "valid"];
52
- const sm = ["hash", "schema", "valid"];
53
- const md = ["hash", "schema", "valid"];
54
- const lg = ["hash", "schema", "valid"];
55
- const xl = ["hash", "schema", "valid"];
56
- return { lg, md, sm, xl, xs };
57
- };
58
-
59
- // src/components/Table/TableRow.tsx
60
- var import_jsx_runtime = require("react/jsx-runtime");
61
- var PayloadTableRow = ({
62
- archive,
63
- columns = payloadTableColumnConfigDefaults(),
64
- exploreDomain,
65
- maxSchemaDepth,
66
- network: networkProp,
67
- payload,
68
- ...props
69
- }) => {
70
- const breakPoint = (0, import_react_shared.useBreakpoint)();
71
- const payloadHash = (0, import_react_shared2.usePayloadHash)(payload);
72
- const { network } = (0, import_react_network.useNetwork)();
73
- const [errors = []] = (0, import_react_promise.usePromise)(async () => payload ? await new import_payload_validator.PayloadValidator(payload).validate() : void 0, [payload]);
74
- const isValid = errors.length === 0;
75
- const hash = (props2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
- import_react_shared2.HashTableCell,
77
- {
78
- archive,
79
- width: "100%",
80
- value: payloadHash,
81
- dataType: "payload",
82
- exploreDomain,
83
- network: networkProp ?? network?.slug,
84
- ...props2
85
- },
86
- "hash"
87
- );
88
- const reduceSchemaDepth = (schema2, maxSchemaDepth2) => {
89
- if (maxSchemaDepth2) {
90
- const parts = schema2?.split(".") ?? [];
91
- const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
92
- if (partsToRemove > 0) {
93
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
94
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "\u2026" }),
95
- `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
96
- ] });
97
- }
98
- }
99
- return schema2;
100
- };
101
- const schema = (props2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableCell, { title: payload?.schema, align: "center", ...props2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload?.schema, maxSchemaDepth) }) }, "payloads");
102
- const valid = (props2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableCell, { align: "center", ...props2, children: isValid === void 0 && payload != void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.WarningAmberRounded, { fontSize: "small", color: "warning" }) : isValid === true ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.CheckCircleOutlineRounded, { fontSize: "small", color: "success" }) : isValid === false ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ErrorOutlineRounded, { color: "error", fontSize: "small" }) : (
103
- //to keep row height consistent when no data provided, may need fix later
104
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ErrorOutlineRounded, { sx: { color: (0, import_material.alpha)("#fff", 0) }, fontSize: "small" })
105
- ) }, "valid");
106
- const tableCells = {
107
- hash,
108
- schema,
109
- valid
110
- };
111
- return breakPoint ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableRow, { style: { maxWidth: "100vw" }, ...props, children: columns[breakPoint]?.map((column) => {
112
- return tableCells[column]({});
113
- }) }) : null;
114
- };
115
-
116
- // src/components/Table/TableBody.tsx
117
- var import_jsx_runtime2 = require("react/jsx-runtime");
118
- var PayloadTableBody = ({
119
- children,
120
- exploreDomain,
121
- payloads,
122
- archive,
123
- maxSchemaDepth,
124
- onRowClick,
125
- emptyRows,
126
- noResults,
127
- NoResultRowComponent,
128
- ...props
129
- }) => {
130
- const payloadPairs = (0, import_react_shared3.usePayloadHashes)(payloads);
131
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.TableBody, { ...props, children: [
132
- noResults && NoResultRowComponent ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NoResultRowComponent, {}) : null,
133
- payloadPairs?.map(([payload, hash], index) => {
134
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
135
- import_react_error.ThrownErrorBoundary,
136
- {
137
- boundaryName: "PayloadTableBody",
138
- errorComponent: (e) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.Alert, { severity: "error", children: [
139
- "Error Loading Payload: ",
140
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { fontWeight: "bold", children: e.message })
141
- ] }),
142
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
143
- PayloadTableRow,
144
- {
145
- maxSchemaDepth,
146
- archive,
147
- onClick: onRowClick ? () => {
148
- onRowClick(payload);
149
- } : void 0,
150
- exploreDomain,
151
- payload
152
- }
153
- )
154
- },
155
- `${hash}-${index}`
156
- );
157
- }),
158
- children,
159
- (emptyRows ?? 0) > 0 && Array(emptyRows).fill(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PayloadTableRow, {}))
160
- ] });
161
- };
162
-
163
- // src/components/Table/TableFooter.tsx
164
- var import_material4 = require("@mui/material");
165
- var import_react_table = require("@xyo-network/react-table");
166
-
167
- // src/components/Table/TablePagination.tsx
168
- var import_icons_material2 = require("@mui/icons-material");
169
- var import_material3 = require("@mui/material");
170
- var import_react_event = require("@xyo-network/react-event");
171
- var import_jsx_runtime3 = require("react/jsx-runtime");
172
- function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
173
- const theme = (0, import_material3.useTheme)();
174
- const [paginationRef, paginationDispatch] = (0, import_react_event.useEvent)();
175
- const handleFirstPageButtonClick = (event) => {
176
- paginationDispatch("firstPage", "click", "true");
177
- onPageChange(event, 0);
178
- };
179
- const handleBackButtonClick = (event) => {
180
- paginationDispatch("previousPage", "click", (page - 1)?.toString());
181
- onPageChange(event, page - 1);
182
- };
183
- const handleNextButtonClick = (event) => {
184
- paginationDispatch("nextPage", "click", (page + 1)?.toString());
185
- onPageChange(event, page + 1);
186
- };
187
- const handleLastPageButtonClick = (event) => {
188
- paginationDispatch("lastPage", "click", "true");
189
- onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
190
- };
191
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
192
- loading ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
193
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_material3.Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
194
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.LastPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.FirstPage, {}) }),
195
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.KeyboardArrowRight, {}) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.KeyboardArrowLeft, {}) }),
196
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
197
- import_material3.IconButton,
198
- {
199
- ref: paginationRef,
200
- onClick: handleNextButtonClick,
201
- disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
202
- "aria-label": "next page",
203
- children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.KeyboardArrowLeft, {}) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.KeyboardArrowRight, {})
204
- }
205
- ),
206
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.FirstPage, {}) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material2.LastPage, {}) })
207
- ] })
208
- ] });
209
- }
210
-
211
- // src/components/Table/TableFooter.tsx
212
- var import_jsx_runtime4 = require("react/jsx-runtime");
213
- var PayloadTableFooter = ({
214
- count,
215
- variant,
216
- page,
217
- rowsPerPage,
218
- handleChangePage = () => void 0,
219
- handleChangeRowsPerPage = () => void 0,
220
- fetchMorePayloads,
221
- loading
222
- }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_table.TableFooterEx, { variant, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
223
- StyledTablePagination,
224
- {
225
- rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
226
- count: count ?? 0,
227
- rowsPerPage: rowsPerPage ?? 10,
228
- page: page ?? 0,
229
- SelectProps: {
230
- inputProps: {
231
- "aria-label": "rows per page"
232
- },
233
- native: true
234
- },
235
- onPageChange: handleChangePage,
236
- onRowsPerPageChange: handleChangeRowsPerPage,
237
- ActionsComponent: (props) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TablePaginationActions, { enableNextPage: !!fetchMorePayloads, loading, ...props })
238
- }
239
- ) }) });
240
- var StyledTablePagination = (0, import_material4.styled)(import_material4.TablePagination)(({ theme }) => ({
241
- "& > .MuiToolbar-root": {
242
- paddingLeft: theme.spacing(1)
243
- },
244
- borderTop: "1px solid",
245
- borderTopColor: theme.palette.divider
246
- }));
247
-
248
- // src/components/Table/TableHead.tsx
249
- var import_material5 = require("@mui/material");
250
- var import_react_shared4 = require("@xylabs/react-shared");
251
- var import_jsx_runtime5 = require("react/jsx-runtime");
252
- var PayloadTableHead = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
253
- const breakPoint = (0, import_react_shared4.useBreakpoint)();
254
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.TableHead, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.TableRow, { children: breakPoint && columns ? columns[breakPoint]?.map((column, index) => {
255
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.TableCell, { width: index === 0 ? "100%" : void 0, align: index === 0 ? "left" : "center", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.Typography, { variant: "body2", noWrap: true, children: payloadColumnNames[column] }) }, index);
256
- }) : null }) });
257
- };
258
-
259
- // src/components/Table/TableRowNoData.tsx
260
- var import_material6 = require("@mui/material");
261
- var import_jsx_runtime6 = require("react/jsx-runtime");
262
- var TableRowNoData = ({ additionalCells, hideBorder = false, typographyProps, ...props }) => {
263
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_material6.TableRow, { ...props, children: [
264
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledTableCell, { hideBorder, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material6.Typography, { variant: "body2", ...typographyProps, children: "No Data To Display..." }) }),
265
- additionalCells ? Array(additionalCells).fill(void 0).map((_fill, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledTableCell, { hideBorder }, index)) : null
266
- ] });
267
- };
268
- var StyledTableCell = (0, import_material6.styled)(import_material6.TableCell, {
269
- name: "StyledTableCell",
270
- shouldForwardProp: (prop) => prop !== "hideBorder"
271
- })(({ hideBorder }) => ({
272
- ...hideBorder && { border: "none" }
273
- }));
274
-
275
- // src/components/Table/Table.tsx
276
- var import_jsx_runtime7 = require("react/jsx-runtime");
277
- var PayloadTableWithRef = (0, import_react.forwardRef)(
278
- ({
279
- exploreDomain,
280
- archive,
281
- onRowClick,
282
- fetchMorePayloads,
283
- rowsPerPage: rowsPerPageProp = 25,
284
- payloads,
285
- columns,
286
- PayloadTableHeadComponent = PayloadTableHead,
287
- PayloadTableBodyComponent = PayloadTableBody,
288
- PayloadTableFooterComponent = PayloadTableFooter,
289
- maxSchemaDepth,
290
- count = 0,
291
- loading = false,
292
- variant = "scrollable",
293
- ...props
294
- }, ref) => {
295
- const [page, setPage] = (0, import_react.useState)(0);
296
- const [rowsPerPage, setRowsPerPage] = (0, import_react.useState)(rowsPerPageProp);
297
- const [visiblePayloads, setVisiblePayloads] = (0, import_react.useState)([]);
298
- const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0;
299
- (0, import_react.useEffect)(() => {
300
- setRowsPerPage(rowsPerPageProp);
301
- }, [rowsPerPageProp]);
302
- (0, import_react.useEffect)(() => {
303
- if (payloads) {
304
- setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage));
305
- }
306
- }, [count, page, payloads, rowsPerPage]);
307
- (0, import_react.useEffect)(() => {
308
- setPage(0);
309
- }, [payloads]);
310
- const handleAdditionalPayloads = () => {
311
- if (fetchMorePayloads && payloads) {
312
- const buffer = rowsPerPage * 2;
313
- const lastVisiblePayload = visiblePayloads?.at(-1);
314
- if (lastVisiblePayload) {
315
- const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload);
316
- if (lastVisibleIndex !== void 0 && payloads.length - (lastVisibleIndex + 1) <= buffer) {
317
- fetchMorePayloads();
318
- }
319
- }
320
- }
321
- };
322
- const handleChangePage = (_event, newPage) => {
323
- handleAdditionalPayloads();
324
- setPage(newPage);
325
- };
326
- const handleChangeRowsPerPage = (event) => {
327
- setRowsPerPage(parseInt(event.target.value, 10));
328
- setPage(0);
329
- };
330
- const noResults = (0, import_react.useMemo)(() => {
331
- return !loading && (!visiblePayloads || visiblePayloads.length === 0);
332
- }, [loading, visiblePayloads]);
333
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_table2.TableEx, { variant, ref, ...props, children: [
334
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(PayloadTableHeadComponent, { columns }),
335
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
336
- PayloadTableBodyComponent,
337
- {
338
- payloads: visiblePayloads,
339
- exploreDomain,
340
- archive,
341
- maxSchemaDepth,
342
- onRowClick,
343
- emptyRows,
344
- noResults,
345
- NoResultRowComponent: TableRowNoData
346
- }
347
- ),
348
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
349
- PayloadTableFooterComponent,
350
- {
351
- count,
352
- variant,
353
- rowsPerPage,
354
- handleChangePage,
355
- handleChangeRowsPerPage,
356
- fetchMorePayloads,
357
- loading,
358
- page
359
- }
360
- )
361
- ] });
362
- }
363
- );
364
- PayloadTableWithRef.displayName = "PayloadTable";
365
- var PayloadTable = PayloadTableWithRef;
366
- //# sourceMappingURL=Table.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/Table/Table.tsx","../../../../src/components/Table/TableBody.tsx","../../../../src/components/Table/TableRow.tsx","../../../../src/components/Table/PayloadTableColumnConfig.ts","../../../../src/components/Table/TableFooter.tsx","../../../../src/components/Table/TablePagination.tsx","../../../../src/components/Table/TableHead.tsx","../../../../src/components/Table/TableRowNoData.tsx"],"sourcesContent":["import { Payload } from '@xyo-network/payload-model'\nimport { TableEx, TableExProps } from '@xyo-network/react-table'\nimport { ComponentType, forwardRef, useEffect, useMemo, useState } from 'react'\n\nimport { PayloadTableColumnConfig } from './PayloadTableColumnConfig'\nimport { PayloadTableBody } from './TableBody'\nimport { PayloadTableFooter } from './TableFooter'\nimport { PayloadTableHead } from './TableHead'\nimport { TableRowNoData } from './TableRowNoData'\nimport { PayloadTableBodyProps, PayloadTableFooterProps, PayloadTableHeadProps } from './types'\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 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 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 useEffect(() => {\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 useEffect(() => {\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 useEffect(() => {\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(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 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 { 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 <>&#x2026;</>\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","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","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","import { styled, TableCell, TableRow, TableRowProps, Typography, TypographyProps } from '@mui/material'\n\nexport interface TableRowNoDataProps extends TableRowProps {\n additionalCells?: number\n hideBorder?: boolean\n typographyProps?: TypographyProps\n}\n\nexport const TableRowNoData: React.FC<TableRowNoDataProps> = ({ additionalCells, hideBorder = false, typographyProps, ...props }) => {\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(additionalCells)\n .fill(undefined)\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 }) => ({\n ...(hideBorder && { border: 'none' }),\n}))\n"],"mappings":"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","names":["import_react_table","import_material","import_react_shared","import_react_shared","props","schema","maxSchemaDepth","WarningAmberRoundedIcon","CheckCircleOutlineRoundedIcon","ErrorOutlineRoundedIcon","import_jsx_runtime","import_material","import_icons_material","import_material","import_jsx_runtime","LastPageIcon","FirstPageIcon","import_jsx_runtime","import_material","import_react_shared","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime"]}