@xyo-network/react-payload-table 2.64.0-rc.7 → 2.64.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 (264) hide show
  1. package/dist/browser/components/DynamicTable/DynamicTableRow.cjs +128 -0
  2. package/dist/browser/components/DynamicTable/DynamicTableRow.cjs.map +1 -0
  3. package/dist/browser/components/DynamicTable/DynamicTableRow.d.cts +15 -0
  4. package/dist/browser/components/DynamicTable/DynamicTableRow.d.cts.map +1 -0
  5. package/dist/browser/components/DynamicTable/DynamicTableRow.d.mts +3 -1
  6. package/dist/browser/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  7. package/dist/browser/components/DynamicTable/DynamicTableRow.d.ts +3 -1
  8. package/dist/browser/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  9. package/dist/browser/components/DynamicTable/DynamicTableRow.js.map +1 -1
  10. package/dist/{node/components/DynamicTable/PayloadDynamicTableColumnConfig.mjs → browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs} +27 -5
  11. package/dist/{node/components/DynamicTable/PayloadDynamicTableColumnConfig.mjs.map → browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map} +1 -1
  12. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts +16 -0
  13. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts.map +1 -0
  14. package/dist/browser/components/DynamicTable/Table.cjs +241 -0
  15. package/dist/browser/components/DynamicTable/Table.cjs.map +1 -0
  16. package/dist/browser/components/DynamicTable/Table.d.cts +14 -0
  17. package/dist/browser/components/DynamicTable/Table.d.cts.map +1 -0
  18. package/dist/browser/components/DynamicTable/index.cjs +243 -0
  19. package/dist/browser/components/DynamicTable/index.cjs.map +1 -0
  20. package/dist/browser/components/DynamicTable/index.d.cts +4 -0
  21. package/dist/browser/components/DynamicTable/index.d.cts.map +1 -0
  22. package/dist/browser/components/Table/PayloadTableColumnConfig.cjs +40 -0
  23. package/dist/{node/components/Table/PayloadTableColumnConfig.mjs.map → browser/components/Table/PayloadTableColumnConfig.cjs.map} +1 -1
  24. package/dist/browser/components/Table/PayloadTableColumnConfig.d.cts +11 -0
  25. package/dist/browser/components/Table/PayloadTableColumnConfig.d.cts.map +1 -0
  26. package/dist/browser/components/Table/Table.cjs +366 -0
  27. package/dist/browser/components/Table/Table.cjs.map +1 -0
  28. package/dist/browser/components/Table/Table.d.cts +26 -0
  29. package/dist/browser/components/Table/Table.d.cts.map +1 -0
  30. package/dist/browser/components/Table/TableBody.cjs +152 -0
  31. package/dist/browser/components/Table/TableBody.cjs.map +1 -0
  32. package/dist/browser/components/Table/TableBody.d.cts +4 -0
  33. package/dist/browser/components/Table/TableBody.d.cts.map +1 -0
  34. package/dist/browser/components/Table/TableFooter.cjs +109 -0
  35. package/dist/browser/components/Table/TableFooter.cjs.map +1 -0
  36. package/dist/browser/components/Table/TableFooter.d.cts +4 -0
  37. package/dist/browser/components/Table/TableFooter.d.cts.map +1 -0
  38. package/dist/browser/components/Table/TableHead.cjs +52 -0
  39. package/dist/browser/components/Table/TableHead.cjs.map +1 -0
  40. package/dist/browser/components/Table/TableHead.d.cts +4 -0
  41. package/dist/browser/components/Table/TableHead.d.cts.map +1 -0
  42. package/dist/browser/components/Table/TablePagination.cjs +68 -0
  43. package/dist/{node/components/Table/TablePagination.mjs.map → browser/components/Table/TablePagination.cjs.map} +1 -1
  44. package/dist/browser/components/Table/TablePagination.d.cts +11 -0
  45. package/dist/browser/components/Table/TablePagination.d.cts.map +1 -0
  46. package/dist/browser/components/Table/TableRow.cjs +100 -0
  47. package/dist/browser/components/Table/TableRow.cjs.map +1 -0
  48. package/dist/browser/components/Table/TableRow.d.cts +14 -0
  49. package/dist/browser/components/Table/TableRow.d.cts.map +1 -0
  50. package/dist/browser/components/Table/TableRowNoData.cjs +40 -0
  51. package/dist/{node/components/Table/TableRowNoData.mjs.map → browser/components/Table/TableRowNoData.cjs.map} +1 -1
  52. package/dist/browser/components/Table/TableRowNoData.d.cts +9 -0
  53. package/dist/browser/components/Table/TableRowNoData.d.cts.map +1 -0
  54. package/dist/browser/components/Table/index.cjs +371 -0
  55. package/dist/browser/components/Table/index.cjs.map +1 -0
  56. package/dist/browser/components/Table/index.d.cts +7 -0
  57. package/dist/browser/components/Table/index.d.cts.map +1 -0
  58. package/dist/browser/components/Table/types/PaginationEventNouns.cjs +19 -0
  59. package/dist/browser/components/Table/types/PaginationEventNouns.cjs.map +1 -0
  60. package/dist/browser/components/Table/types/PaginationEventNouns.d.cts +2 -0
  61. package/dist/browser/components/Table/types/PaginationEventNouns.d.cts.map +1 -0
  62. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs +19 -0
  63. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs.map +1 -0
  64. package/dist/browser/components/Table/types/PayloadTableBodyProps.d.cts +15 -0
  65. package/dist/browser/components/Table/types/PayloadTableBodyProps.d.cts.map +1 -0
  66. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs +19 -0
  67. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs.map +1 -0
  68. package/dist/browser/components/Table/types/PayloadTableFooterProps.d.cts +13 -0
  69. package/dist/browser/components/Table/types/PayloadTableFooterProps.d.cts.map +1 -0
  70. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs +19 -0
  71. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs.map +1 -0
  72. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.cts +6 -0
  73. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.cts.map +1 -0
  74. package/dist/browser/components/Table/types/index.cjs +19 -0
  75. package/dist/{node/components/Table/types/index.mjs.map → browser/components/Table/types/index.cjs.map} +1 -1
  76. package/dist/browser/components/Table/types/index.d.cts +5 -0
  77. package/dist/browser/components/Table/types/index.d.cts.map +1 -0
  78. package/dist/browser/components/index.cjs +589 -0
  79. package/dist/browser/components/index.cjs.map +1 -0
  80. package/dist/browser/components/index.d.cts +3 -0
  81. package/dist/browser/components/index.d.cts.map +1 -0
  82. package/dist/browser/index.cjs +589 -0
  83. package/dist/browser/index.cjs.map +1 -0
  84. package/dist/browser/index.d.cts +2 -0
  85. package/dist/browser/index.d.cts.map +1 -0
  86. package/dist/docs.json +4590 -0
  87. package/dist/node/components/DynamicTable/DynamicTableRow.cjs +135 -0
  88. package/dist/node/components/DynamicTable/DynamicTableRow.cjs.map +1 -0
  89. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts +15 -0
  90. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts.map +1 -0
  91. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts +3 -1
  92. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  93. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts +3 -1
  94. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  95. package/dist/node/components/DynamicTable/DynamicTableRow.js +77 -56
  96. package/dist/node/components/DynamicTable/DynamicTableRow.js.map +1 -1
  97. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +64 -0
  98. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +1 -0
  99. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts +16 -0
  100. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts.map +1 -0
  101. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js +4 -27
  102. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +1 -1
  103. package/dist/node/components/DynamicTable/Table.cjs +249 -0
  104. package/dist/node/components/DynamicTable/Table.cjs.map +1 -0
  105. package/dist/node/components/DynamicTable/Table.d.cts +14 -0
  106. package/dist/node/components/DynamicTable/Table.d.cts.map +1 -0
  107. package/dist/node/components/DynamicTable/Table.js +163 -61
  108. package/dist/node/components/DynamicTable/Table.js.map +1 -1
  109. package/dist/node/components/DynamicTable/index.cjs +253 -0
  110. package/dist/node/components/DynamicTable/index.cjs.map +1 -0
  111. package/dist/node/components/DynamicTable/index.d.cts +4 -0
  112. package/dist/node/components/DynamicTable/index.d.cts.map +1 -0
  113. package/dist/node/components/DynamicTable/index.js +239 -25
  114. package/dist/node/components/DynamicTable/index.js.map +1 -1
  115. package/dist/node/components/Table/PayloadTableColumnConfig.cjs +45 -0
  116. package/dist/node/components/Table/PayloadTableColumnConfig.cjs.map +1 -0
  117. package/dist/node/components/Table/PayloadTableColumnConfig.d.cts +11 -0
  118. package/dist/node/components/Table/PayloadTableColumnConfig.d.cts.map +1 -0
  119. package/dist/node/components/Table/PayloadTableColumnConfig.js +5 -29
  120. package/dist/node/components/Table/PayloadTableColumnConfig.js.map +1 -1
  121. package/dist/node/components/Table/Table.cjs +375 -0
  122. package/dist/node/components/Table/Table.cjs.map +1 -0
  123. package/dist/node/components/Table/Table.d.cts +26 -0
  124. package/dist/node/components/Table/Table.d.cts.map +1 -0
  125. package/dist/node/components/Table/Table.js +277 -50
  126. package/dist/node/components/Table/Table.js.map +1 -1
  127. package/dist/node/components/Table/TableBody.cjs +157 -0
  128. package/dist/node/components/Table/TableBody.cjs.map +1 -0
  129. package/dist/node/components/Table/TableBody.d.cts +4 -0
  130. package/dist/node/components/Table/TableBody.d.cts.map +1 -0
  131. package/dist/node/components/Table/TableBody.js +100 -41
  132. package/dist/node/components/Table/TableBody.js.map +1 -1
  133. package/dist/node/components/Table/TableFooter.cjs +115 -0
  134. package/dist/node/components/Table/TableFooter.cjs.map +1 -0
  135. package/dist/node/components/Table/TableFooter.d.cts +4 -0
  136. package/dist/node/components/Table/TableFooter.d.cts.map +1 -0
  137. package/dist/node/components/Table/TableFooter.js +58 -34
  138. package/dist/node/components/Table/TableFooter.js.map +1 -1
  139. package/dist/node/components/Table/TableHead.cjs +57 -0
  140. package/dist/node/components/Table/TableHead.cjs.map +1 -0
  141. package/dist/node/components/Table/TableHead.d.cts +4 -0
  142. package/dist/node/components/Table/TableHead.d.cts.map +1 -0
  143. package/dist/node/components/Table/TableHead.js +26 -32
  144. package/dist/node/components/Table/TableHead.js.map +1 -1
  145. package/dist/node/components/Table/TablePagination.cjs +74 -0
  146. package/dist/node/components/Table/TablePagination.cjs.map +1 -0
  147. package/dist/node/components/Table/TablePagination.d.cts +11 -0
  148. package/dist/node/components/Table/TablePagination.d.cts.map +1 -0
  149. package/dist/node/components/Table/TablePagination.js +22 -43
  150. package/dist/node/components/Table/TablePagination.js.map +1 -1
  151. package/dist/node/components/Table/TableRow.cjs +105 -0
  152. package/dist/node/components/Table/TableRow.cjs.map +1 -0
  153. package/dist/node/components/Table/TableRow.d.cts +14 -0
  154. package/dist/node/components/Table/TableRow.d.cts.map +1 -0
  155. package/dist/node/components/Table/TableRow.js +43 -50
  156. package/dist/node/components/Table/TableRow.js.map +1 -1
  157. package/dist/node/components/Table/TableRowNoData.cjs +44 -0
  158. package/dist/node/components/Table/TableRowNoData.cjs.map +1 -0
  159. package/dist/node/components/Table/TableRowNoData.d.cts +9 -0
  160. package/dist/node/components/Table/TableRowNoData.d.cts.map +1 -0
  161. package/dist/node/components/Table/TableRowNoData.js +10 -33
  162. package/dist/node/components/Table/TableRowNoData.js.map +1 -1
  163. package/dist/node/components/Table/index.cjs +385 -0
  164. package/dist/node/components/Table/index.cjs.map +1 -0
  165. package/dist/node/components/Table/index.d.cts +7 -0
  166. package/dist/node/components/Table/index.d.cts.map +1 -0
  167. package/dist/node/components/Table/index.js +353 -30
  168. package/dist/node/components/Table/index.js.map +1 -1
  169. package/dist/node/components/Table/types/PaginationEventNouns.cjs +19 -0
  170. package/dist/node/components/Table/types/PaginationEventNouns.cjs.map +1 -0
  171. package/dist/node/components/Table/types/PaginationEventNouns.d.cts +2 -0
  172. package/dist/node/components/Table/types/PaginationEventNouns.d.cts.map +1 -0
  173. package/dist/node/components/Table/types/PaginationEventNouns.js +0 -16
  174. package/dist/node/components/Table/types/PaginationEventNouns.js.map +1 -1
  175. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs +19 -0
  176. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs.map +1 -0
  177. package/dist/node/components/Table/types/PayloadTableBodyProps.d.cts +15 -0
  178. package/dist/node/components/Table/types/PayloadTableBodyProps.d.cts.map +1 -0
  179. package/dist/node/components/Table/types/PayloadTableBodyProps.js +0 -16
  180. package/dist/node/components/Table/types/PayloadTableBodyProps.js.map +1 -1
  181. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs +19 -0
  182. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs.map +1 -0
  183. package/dist/node/components/Table/types/PayloadTableFooterProps.d.cts +13 -0
  184. package/dist/node/components/Table/types/PayloadTableFooterProps.d.cts.map +1 -0
  185. package/dist/node/components/Table/types/PayloadTableFooterProps.js +0 -16
  186. package/dist/node/components/Table/types/PayloadTableFooterProps.js.map +1 -1
  187. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs +19 -0
  188. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs.map +1 -0
  189. package/dist/node/components/Table/types/PayloadTableHeadProps.d.cts +6 -0
  190. package/dist/node/components/Table/types/PayloadTableHeadProps.d.cts.map +1 -0
  191. package/dist/node/components/Table/types/PayloadTableHeadProps.js +0 -16
  192. package/dist/node/components/Table/types/PayloadTableHeadProps.js.map +1 -1
  193. package/dist/node/components/Table/types/index.cjs +19 -0
  194. package/dist/node/components/Table/types/index.cjs.map +1 -0
  195. package/dist/node/components/Table/types/index.d.cts +5 -0
  196. package/dist/node/components/Table/types/index.d.cts.map +1 -0
  197. package/dist/node/components/Table/types/index.js +0 -28
  198. package/dist/node/components/Table/types/index.js.map +1 -1
  199. package/dist/node/components/index.cjs +610 -0
  200. package/dist/node/components/index.cjs.map +1 -0
  201. package/dist/node/components/index.d.cts +3 -0
  202. package/dist/node/components/index.d.cts.map +1 -0
  203. package/dist/node/components/index.js +593 -23
  204. package/dist/node/components/index.js.map +1 -1
  205. package/dist/node/index.cjs +610 -0
  206. package/dist/node/index.cjs.map +1 -0
  207. package/dist/node/index.d.cts +2 -0
  208. package/dist/node/index.d.cts.map +1 -0
  209. package/dist/node/index.js +593 -21
  210. package/dist/node/index.js.map +1 -1
  211. package/package.json +29 -29
  212. package/src/components/DynamicTable/DynamicTableRow.tsx +1 -1
  213. package/dist/browser/components/DynamicTable/DynamicTable.stories.js +0 -71
  214. package/dist/browser/components/DynamicTable/DynamicTable.stories.js.map +0 -1
  215. package/dist/browser/components/Table/FetchMoreTable.stories.js +0 -71
  216. package/dist/browser/components/Table/FetchMoreTable.stories.js.map +0 -1
  217. package/dist/browser/components/Table/Table.stories.js +0 -80
  218. package/dist/browser/components/Table/Table.stories.js.map +0 -1
  219. package/dist/node/components/DynamicTable/DynamicTable.stories.js +0 -91
  220. package/dist/node/components/DynamicTable/DynamicTable.stories.js.map +0 -1
  221. package/dist/node/components/DynamicTable/DynamicTable.stories.mjs +0 -71
  222. package/dist/node/components/DynamicTable/DynamicTable.stories.mjs.map +0 -1
  223. package/dist/node/components/DynamicTable/DynamicTableRow.mjs +0 -75
  224. package/dist/node/components/DynamicTable/DynamicTableRow.mjs.map +0 -1
  225. package/dist/node/components/DynamicTable/Table.mjs +0 -128
  226. package/dist/node/components/DynamicTable/Table.mjs.map +0 -1
  227. package/dist/node/components/DynamicTable/index.mjs +0 -4
  228. package/dist/node/components/DynamicTable/index.mjs.map +0 -1
  229. package/dist/node/components/Table/FetchMoreTable.stories.js +0 -95
  230. package/dist/node/components/Table/FetchMoreTable.stories.js.map +0 -1
  231. package/dist/node/components/Table/FetchMoreTable.stories.mjs +0 -71
  232. package/dist/node/components/Table/FetchMoreTable.stories.mjs.map +0 -1
  233. package/dist/node/components/Table/PayloadTableColumnConfig.mjs +0 -18
  234. package/dist/node/components/Table/Table.mjs +0 -101
  235. package/dist/node/components/Table/Table.mjs.map +0 -1
  236. package/dist/node/components/Table/Table.stories.js +0 -110
  237. package/dist/node/components/Table/Table.stories.js.map +0 -1
  238. package/dist/node/components/Table/Table.stories.mjs +0 -80
  239. package/dist/node/components/Table/Table.stories.mjs.map +0 -1
  240. package/dist/node/components/Table/TableBody.mjs +0 -53
  241. package/dist/node/components/Table/TableBody.mjs.map +0 -1
  242. package/dist/node/components/Table/TableFooter.mjs +0 -42
  243. package/dist/node/components/Table/TableFooter.mjs.map +0 -1
  244. package/dist/node/components/Table/TableHead.mjs +0 -14
  245. package/dist/node/components/Table/TableHead.mjs.map +0 -1
  246. package/dist/node/components/Table/TablePagination.mjs +0 -46
  247. package/dist/node/components/Table/TableRow.mjs +0 -71
  248. package/dist/node/components/Table/TableRow.mjs.map +0 -1
  249. package/dist/node/components/Table/TableRowNoData.mjs +0 -18
  250. package/dist/node/components/Table/index.mjs +0 -7
  251. package/dist/node/components/Table/index.mjs.map +0 -1
  252. package/dist/node/components/Table/types/PaginationEventNouns.mjs +0 -1
  253. package/dist/node/components/Table/types/PaginationEventNouns.mjs.map +0 -1
  254. package/dist/node/components/Table/types/PayloadTableBodyProps.mjs +0 -1
  255. package/dist/node/components/Table/types/PayloadTableBodyProps.mjs.map +0 -1
  256. package/dist/node/components/Table/types/PayloadTableFooterProps.mjs +0 -1
  257. package/dist/node/components/Table/types/PayloadTableFooterProps.mjs.map +0 -1
  258. package/dist/node/components/Table/types/PayloadTableHeadProps.mjs +0 -1
  259. package/dist/node/components/Table/types/PayloadTableHeadProps.mjs.map +0 -1
  260. package/dist/node/components/Table/types/index.mjs +0 -5
  261. package/dist/node/components/index.mjs +0 -3
  262. package/dist/node/components/index.mjs.map +0 -1
  263. package/dist/node/index.mjs +0 -2
  264. package/dist/node/index.mjs.map +0 -1
@@ -1,35 +1,263 @@
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 });
1
+ // src/components/Table/Table.tsx
2
+ import { TableEx } from "@xyo-network/react-table";
3
+ import { forwardRef, useEffect, useMemo, useState } from "react";
4
+
5
+ // src/components/Table/TableBody.tsx
6
+ import { Alert, TableBody, Typography as Typography2 } from "@mui/material";
7
+ import { ThrownErrorBoundary } from "@xyo-network/react-error";
8
+ import { usePayloadHashes } from "@xyo-network/react-shared";
9
+
10
+ // src/components/Table/TableRow.tsx
11
+ import {
12
+ CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,
13
+ ErrorOutlineRounded as ErrorOutlineRoundedIcon,
14
+ WarningAmberRounded as WarningAmberRoundedIcon
15
+ } from "@mui/icons-material";
16
+ import { alpha, TableCell, TableRow, Typography } from "@mui/material";
17
+ import { usePromise } from "@xylabs/react-promise";
18
+ import { useBreakpoint } from "@xylabs/react-shared";
19
+ import { PayloadValidator } from "@xyo-network/payload-validator";
20
+ import { useNetwork } from "@xyo-network/react-network";
21
+ import { HashTableCell, usePayloadHash } from "@xyo-network/react-shared";
22
+
23
+ // src/components/Table/PayloadTableColumnConfig.ts
24
+ var payloadColumnNames = {
25
+ hash: "Hash",
26
+ schema: "Schema",
27
+ valid: "Valid"
9
28
  };
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 });
29
+ var payloadTableColumnConfigDefaults = () => {
30
+ const xs = ["hash", "schema", "valid"];
31
+ const sm = ["hash", "schema", "valid"];
32
+ const md = ["hash", "schema", "valid"];
33
+ const lg = ["hash", "schema", "valid"];
34
+ const xl = ["hash", "schema", "valid"];
35
+ return { lg, md, sm, xl, xs };
36
+ };
37
+
38
+ // src/components/Table/TableRow.tsx
39
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
40
+ var PayloadTableRow = ({
41
+ archive,
42
+ columns = payloadTableColumnConfigDefaults(),
43
+ exploreDomain,
44
+ maxSchemaDepth,
45
+ network: networkProp,
46
+ payload,
47
+ ...props
48
+ }) => {
49
+ var _a;
50
+ const breakPoint = useBreakpoint();
51
+ const payloadHash = usePayloadHash(payload);
52
+ const { network } = useNetwork();
53
+ const [errors = []] = usePromise(async () => payload ? await new PayloadValidator(payload).validate() : void 0, [payload]);
54
+ const isValid = errors.length === 0;
55
+ const hash = (props2) => /* @__PURE__ */ jsx(
56
+ HashTableCell,
57
+ {
58
+ archive,
59
+ width: "100%",
60
+ value: payloadHash,
61
+ dataType: "payload",
62
+ exploreDomain,
63
+ network: networkProp ?? (network == null ? void 0 : network.slug),
64
+ ...props2
65
+ },
66
+ "hash"
67
+ );
68
+ const reduceSchemaDepth = (schema2, maxSchemaDepth2) => {
69
+ if (maxSchemaDepth2) {
70
+ const parts = (schema2 == null ? void 0 : schema2.split(".")) ?? [];
71
+ const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
72
+ if (partsToRemove > 0) {
73
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ /* @__PURE__ */ jsx(Fragment, { children: "\u2026" }),
75
+ `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
76
+ ] });
77
+ }
78
+ }
79
+ return schema2;
80
+ };
81
+ const schema = (props2) => /* @__PURE__ */ jsx(TableCell, { title: payload == null ? void 0 : payload.schema, align: "center", ...props2, children: /* @__PURE__ */ jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload == null ? void 0 : payload.schema, maxSchemaDepth) }) }, "payloads");
82
+ 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" }) : (
83
+ //to keep row height consistent when no data provided, may need fix later
84
+ /* @__PURE__ */ jsx(ErrorOutlineRoundedIcon, { sx: { color: alpha("#fff", 0) }, fontSize: "small" })
85
+ ) }, "valid");
86
+ const tableCells = {
87
+ hash,
88
+ schema,
89
+ valid
90
+ };
91
+ return breakPoint ? /* @__PURE__ */ jsx(TableRow, { style: { maxWidth: "100vw" }, ...props, children: (_a = columns[breakPoint]) == null ? void 0 : _a.map((column) => {
92
+ return tableCells[column]({});
93
+ }) }) : null;
94
+ };
95
+
96
+ // src/components/Table/TableBody.tsx
97
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
98
+ var PayloadTableBody = ({
99
+ children,
100
+ exploreDomain,
101
+ payloads,
102
+ archive,
103
+ maxSchemaDepth,
104
+ onRowClick,
105
+ emptyRows,
106
+ noResults,
107
+ NoResultRowComponent,
108
+ ...props
109
+ }) => {
110
+ const payloadPairs = usePayloadHashes(payloads);
111
+ return /* @__PURE__ */ jsxs2(TableBody, { ...props, children: [
112
+ noResults && NoResultRowComponent ? /* @__PURE__ */ jsx2(NoResultRowComponent, {}) : null,
113
+ payloadPairs == null ? void 0 : payloadPairs.map(([payload, hash], index) => {
114
+ return /* @__PURE__ */ jsx2(
115
+ ThrownErrorBoundary,
116
+ {
117
+ boundaryName: "PayloadTableBody",
118
+ errorComponent: (e) => /* @__PURE__ */ jsxs2(Alert, { severity: "error", children: [
119
+ "Error Loading Payload: ",
120
+ /* @__PURE__ */ jsx2(Typography2, { fontWeight: "bold", children: e.message })
121
+ ] }),
122
+ children: /* @__PURE__ */ jsx2(
123
+ PayloadTableRow,
124
+ {
125
+ maxSchemaDepth,
126
+ archive,
127
+ onClick: onRowClick ? () => {
128
+ onRowClick(payload);
129
+ } : void 0,
130
+ exploreDomain,
131
+ payload
132
+ }
133
+ )
134
+ },
135
+ `${hash}-${index}`
136
+ );
137
+ }),
138
+ children,
139
+ (emptyRows ?? 0) > 0 && Array(emptyRows).fill(/* @__PURE__ */ jsx2(PayloadTableRow, {}))
140
+ ] });
141
+ };
142
+
143
+ // src/components/Table/TableFooter.tsx
144
+ import { styled, TablePagination, TableRow as TableRow2 } from "@mui/material";
145
+ import { TableFooterEx } from "@xyo-network/react-table";
146
+
147
+ // src/components/Table/TablePagination.tsx
148
+ import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from "@mui/icons-material";
149
+ import { Box, CircularProgress, IconButton, useTheme } from "@mui/material";
150
+ import { useEvent } from "@xyo-network/react-event";
151
+ import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
152
+ function TablePaginationActions({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
153
+ const theme = useTheme();
154
+ const [paginationRef, paginationDispatch] = useEvent();
155
+ const handleFirstPageButtonClick = (event) => {
156
+ paginationDispatch("firstPage", "click", "true");
157
+ onPageChange(event, 0);
158
+ };
159
+ const handleBackButtonClick = (event) => {
160
+ var _a;
161
+ paginationDispatch("previousPage", "click", (_a = page - 1) == null ? void 0 : _a.toString());
162
+ onPageChange(event, page - 1);
163
+ };
164
+ const handleNextButtonClick = (event) => {
165
+ var _a;
166
+ paginationDispatch("nextPage", "click", (_a = page + 1) == null ? void 0 : _a.toString());
167
+ onPageChange(event, page + 1);
168
+ };
169
+ const handleLastPageButtonClick = (event) => {
170
+ paginationDispatch("lastPage", "click", "true");
171
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
172
+ };
173
+ return /* @__PURE__ */ jsxs3(Fragment2, { children: [
174
+ loading ? /* @__PURE__ */ jsx3(CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
175
+ /* @__PURE__ */ jsxs3(Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
176
+ /* @__PURE__ */ jsx3(IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx3(LastPageIcon, {}) : /* @__PURE__ */ jsx3(FirstPageIcon, {}) }),
177
+ /* @__PURE__ */ jsx3(IconButton, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx3(KeyboardArrowRight, {}) : /* @__PURE__ */ jsx3(KeyboardArrowLeft, {}) }),
178
+ /* @__PURE__ */ jsx3(
179
+ IconButton,
180
+ {
181
+ ref: paginationRef,
182
+ onClick: handleNextButtonClick,
183
+ disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
184
+ "aria-label": "next page",
185
+ children: theme.direction === "rtl" ? /* @__PURE__ */ jsx3(KeyboardArrowLeft, {}) : /* @__PURE__ */ jsx3(KeyboardArrowRight, {})
186
+ }
187
+ ),
188
+ /* @__PURE__ */ jsx3(IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx3(FirstPageIcon, {}) : /* @__PURE__ */ jsx3(LastPageIcon, {}) })
189
+ ] })
190
+ ] });
191
+ }
192
+
193
+ // src/components/Table/TableFooter.tsx
194
+ import { jsx as jsx4 } from "react/jsx-runtime";
195
+ var PayloadTableFooter = ({
196
+ count,
197
+ variant,
198
+ page,
199
+ rowsPerPage,
200
+ handleChangePage = () => void 0,
201
+ handleChangeRowsPerPage = () => void 0,
202
+ fetchMorePayloads,
203
+ loading
204
+ }) => /* @__PURE__ */ jsx4(TableFooterEx, { variant, children: /* @__PURE__ */ jsx4(TableRow2, { children: /* @__PURE__ */ jsx4(
205
+ StyledTablePagination,
206
+ {
207
+ rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
208
+ count: count ?? 0,
209
+ rowsPerPage: rowsPerPage ?? 10,
210
+ page: page ?? 0,
211
+ SelectProps: {
212
+ inputProps: {
213
+ "aria-label": "rows per page"
214
+ },
215
+ native: true
216
+ },
217
+ onPageChange: handleChangePage,
218
+ onRowsPerPageChange: handleChangeRowsPerPage,
219
+ ActionsComponent: (props) => /* @__PURE__ */ jsx4(TablePaginationActions, { enableNextPage: !!fetchMorePayloads, loading, ...props })
15
220
  }
16
- return to;
221
+ ) }) });
222
+ var StyledTablePagination = styled(TablePagination)(({ theme }) => ({
223
+ "& > .MuiToolbar-root": {
224
+ paddingLeft: theme.spacing(1)
225
+ },
226
+ borderTop: "1px solid",
227
+ borderTopColor: theme.palette.divider
228
+ }));
229
+
230
+ // src/components/Table/TableHead.tsx
231
+ import { TableCell as TableCell2, TableHead, TableRow as TableRow3, Typography as Typography3 } from "@mui/material";
232
+ import { useBreakpoint as useBreakpoint2 } from "@xylabs/react-shared";
233
+ import { jsx as jsx5 } from "react/jsx-runtime";
234
+ var PayloadTableHead = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
235
+ var _a;
236
+ const breakPoint = useBreakpoint2();
237
+ return /* @__PURE__ */ jsx5(TableHead, { ...props, children: /* @__PURE__ */ jsx5(TableRow3, { children: breakPoint && columns ? (_a = columns[breakPoint]) == null ? void 0 : _a.map((column, index) => {
238
+ return /* @__PURE__ */ jsx5(TableCell2, { width: index === 0 ? "100%" : void 0, align: index === 0 ? "left" : "center", children: /* @__PURE__ */ jsx5(Typography3, { variant: "body2", noWrap: true, children: payloadColumnNames[column] }) }, index);
239
+ }) : null }) });
17
240
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Table_exports = {};
20
- __export(Table_exports, {
21
- PayloadTable: () => PayloadTable,
22
- PayloadTableWithRef: () => PayloadTableWithRef
23
- });
24
- module.exports = __toCommonJS(Table_exports);
25
- var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_react_table = require("@xyo-network/react-table");
27
- var import_react = require("react");
28
- var import_TableBody = require("./TableBody");
29
- var import_TableFooter = require("./TableFooter");
30
- var import_TableHead = require("./TableHead");
31
- var import_TableRowNoData = require("./TableRowNoData");
32
- const PayloadTableWithRef = (0, import_react.forwardRef)(
241
+
242
+ // src/components/Table/TableRowNoData.tsx
243
+ import { styled as styled2, TableCell as TableCell3, TableRow as TableRow4, Typography as Typography4 } from "@mui/material";
244
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
245
+ var TableRowNoData = ({ additionalCells, hideBorder = false, typographyProps, ...props }) => {
246
+ return /* @__PURE__ */ jsxs4(TableRow4, { ...props, children: [
247
+ /* @__PURE__ */ jsx6(StyledTableCell, { hideBorder, children: /* @__PURE__ */ jsx6(Typography4, { variant: "body2", ...typographyProps, children: "No Data To Display..." }) }),
248
+ additionalCells ? Array(additionalCells).fill(void 0).map((_fill, index) => /* @__PURE__ */ jsx6(StyledTableCell, { hideBorder }, index)) : null
249
+ ] });
250
+ };
251
+ var StyledTableCell = styled2(TableCell3, {
252
+ name: "StyledTableCell",
253
+ shouldForwardProp: (prop) => prop !== "hideBorder"
254
+ })(({ hideBorder }) => ({
255
+ ...hideBorder && { border: "none" }
256
+ }));
257
+
258
+ // src/components/Table/Table.tsx
259
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
260
+ var PayloadTableWithRef = forwardRef(
33
261
  ({
34
262
  exploreDomain,
35
263
  archive,
@@ -38,36 +266,36 @@ const PayloadTableWithRef = (0, import_react.forwardRef)(
38
266
  rowsPerPage: rowsPerPageProp = 25,
39
267
  payloads,
40
268
  columns,
41
- PayloadTableHeadComponent = import_TableHead.PayloadTableHead,
42
- PayloadTableBodyComponent = import_TableBody.PayloadTableBody,
43
- PayloadTableFooterComponent = import_TableFooter.PayloadTableFooter,
269
+ PayloadTableHeadComponent = PayloadTableHead,
270
+ PayloadTableBodyComponent = PayloadTableBody,
271
+ PayloadTableFooterComponent = PayloadTableFooter,
44
272
  maxSchemaDepth,
45
273
  count = 0,
46
274
  loading = false,
47
275
  variant = "scrollable",
48
276
  ...props
49
277
  }, ref) => {
50
- const [page, setPage] = (0, import_react.useState)(0);
51
- const [rowsPerPage, setRowsPerPage] = (0, import_react.useState)(rowsPerPageProp);
52
- const [visiblePayloads, setVisiblePayloads] = (0, import_react.useState)([]);
278
+ const [page, setPage] = useState(0);
279
+ const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp);
280
+ const [visiblePayloads, setVisiblePayloads] = useState([]);
53
281
  const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0;
54
- (0, import_react.useEffect)(() => {
282
+ useEffect(() => {
55
283
  setRowsPerPage(rowsPerPageProp);
56
284
  }, [rowsPerPageProp]);
57
- (0, import_react.useEffect)(() => {
285
+ useEffect(() => {
58
286
  if (payloads) {
59
287
  setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage));
60
288
  }
61
289
  }, [count, page, payloads, rowsPerPage]);
62
- (0, import_react.useEffect)(() => {
290
+ useEffect(() => {
63
291
  setPage(0);
64
292
  }, [payloads]);
65
293
  const handleAdditionalPayloads = () => {
66
294
  if (fetchMorePayloads && payloads) {
67
295
  const buffer = rowsPerPage * 2;
68
- const lastVisiblePayload = visiblePayloads?.at(-1);
296
+ const lastVisiblePayload = visiblePayloads == null ? void 0 : visiblePayloads.at(-1);
69
297
  if (lastVisiblePayload) {
70
- const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload);
298
+ const lastVisibleIndex = payloads == null ? void 0 : payloads.indexOf(lastVisiblePayload);
71
299
  if (lastVisibleIndex !== void 0 && payloads.length - (lastVisibleIndex + 1) <= buffer) {
72
300
  fetchMorePayloads();
73
301
  }
@@ -82,12 +310,12 @@ const PayloadTableWithRef = (0, import_react.forwardRef)(
82
310
  setRowsPerPage(parseInt(event.target.value, 10));
83
311
  setPage(0);
84
312
  };
85
- const noResults = (0, import_react.useMemo)(() => {
313
+ const noResults = useMemo(() => {
86
314
  return !loading && (!visiblePayloads || visiblePayloads.length === 0);
87
315
  }, [loading, visiblePayloads]);
88
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_table.TableEx, { variant, ref, ...props, children: [
89
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PayloadTableHeadComponent, { columns }),
90
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
316
+ return /* @__PURE__ */ jsxs5(TableEx, { variant, ref, ...props, children: [
317
+ /* @__PURE__ */ jsx7(PayloadTableHeadComponent, { columns }),
318
+ /* @__PURE__ */ jsx7(
91
319
  PayloadTableBodyComponent,
92
320
  {
93
321
  payloads: visiblePayloads,
@@ -97,10 +325,10 @@ const PayloadTableWithRef = (0, import_react.forwardRef)(
97
325
  onRowClick,
98
326
  emptyRows,
99
327
  noResults,
100
- NoResultRowComponent: import_TableRowNoData.TableRowNoData
328
+ NoResultRowComponent: TableRowNoData
101
329
  }
102
330
  ),
103
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
331
+ /* @__PURE__ */ jsx7(
104
332
  PayloadTableFooterComponent,
105
333
  {
106
334
  count,
@@ -117,10 +345,9 @@ const PayloadTableWithRef = (0, import_react.forwardRef)(
117
345
  }
118
346
  );
119
347
  PayloadTableWithRef.displayName = "PayloadTable";
120
- const PayloadTable = PayloadTableWithRef;
121
- // Annotate the CommonJS export names for ESM import in node:
122
- 0 && (module.exports = {
348
+ var PayloadTable = PayloadTableWithRef;
349
+ export {
123
350
  PayloadTable,
124
351
  PayloadTableWithRef
125
- });
352
+ };
126
353
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Table/Table.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuGM;AAtGN,yBAAsC;AACtC,mBAAwE;AAGxE,uBAAiC;AACjC,yBAAmC;AACnC,uBAAiC;AACjC,4BAA+B;AAsBxB,MAAM,0BAAsB;AAAA,EACjC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,kBAAkB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,8BAA8B;AAAA,IAC9B;AAAA,IACA,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,UAAU;AAAA,IACV,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,CAAC;AAClC,UAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,eAAe;AAC9D,UAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAoB,CAAC,CAAC;AAGpE,UAAM,YAAY,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,cAAc,SAAS,CAAC,IAAI;AAElF,gCAAU,MAAM;AACd,qBAAe,eAAe;AAAA,IAChC,GAAG,CAAC,eAAe,CAAC;AAIpB,gCAAU,MAAM;AACd,UAAI,UAAU;AACZ,2BAAmB,SAAS,MAAM,OAAO,aAAa,OAAO,cAAc,WAAW,CAAC;AAAA,MACzF;AAAA,IACF,GAAG,CAAC,OAAO,MAAM,UAAU,WAAW,CAAC;AAGvC,gCAAU,MAAM;AACd,cAAQ,CAAC;AAAA,IACX,GAAG,CAAC,QAAQ,CAAC;AAEb,UAAM,2BAA2B,MAAM;AACrC,UAAI,qBAAqB,UAAU;AACjC,cAAM,SAAS,cAAc;AAC7B,cAAM,qBAAqB,iBAAiB,GAAG,EAAE;AACjD,YAAI,oBAAoB;AACtB,gBAAM,mBAAmB,UAAU,QAAQ,kBAAkB;AAC7D,cAAI,qBAAqB,UAAa,SAAS,UAAU,mBAAmB,MAAM,QAAQ;AACxF,8BAAkB;AAAA,UACpB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,mBAAmB,CAAC,QAAoD,YAAoB;AAChG,+BAAyB;AACzB,cAAQ,OAAO;AAAA,IACjB;AAEA,UAAM,0BAA0B,CAAC,UAAqE;AACpG,qBAAe,SAAS,MAAM,OAAO,OAAO,EAAE,CAAC;AAC/C,cAAQ,CAAC;AAAA,IACX;AAEA,UAAM,gBAAY,sBAAQ,MAAM;AAC9B,aAAO,CAAC,YAAY,CAAC,mBAAmB,gBAAgB,WAAW;AAAA,IACrE,GAAG,CAAC,SAAS,eAAe,CAAC;AAE7B,WACE,6CAAC,8BAAQ,SAAkB,KAAW,GAAG,OACvC;AAAA,kDAAC,6BAA0B,SAAkB;AAAA,MAC7C;AAAA,QAAC;AAAA;AAAA,UACC,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,sBAAsB;AAAA;AAAA,MACxB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,OACF;AAAA,EAEJ;AACF;AAEA,oBAAoB,cAAc;AAE3B,MAAM,eAAe;","names":[]}
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":["Typography","props","schema","maxSchemaDepth","jsx","jsxs","Typography","TableRow","Fragment","jsx","jsxs","jsx","TableRow","TableCell","TableRow","Typography","useBreakpoint","jsx","useBreakpoint","TableRow","TableCell","Typography","styled","TableCell","TableRow","Typography","jsx","jsxs","jsx","jsxs"]}
@@ -0,0 +1,157 @@
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/TableBody.tsx
21
+ var TableBody_exports = {};
22
+ __export(TableBody_exports, {
23
+ PayloadTableBody: () => PayloadTableBody
24
+ });
25
+ module.exports = __toCommonJS(TableBody_exports);
26
+ var import_material2 = require("@mui/material");
27
+ var import_react_error = require("@xyo-network/react-error");
28
+ var import_react_shared3 = require("@xyo-network/react-shared");
29
+
30
+ // src/components/Table/TableRow.tsx
31
+ var import_icons_material = require("@mui/icons-material");
32
+ var import_material = require("@mui/material");
33
+ var import_react_promise = require("@xylabs/react-promise");
34
+ var import_react_shared = require("@xylabs/react-shared");
35
+ var import_payload_validator = require("@xyo-network/payload-validator");
36
+ var import_react_network = require("@xyo-network/react-network");
37
+ var import_react_shared2 = require("@xyo-network/react-shared");
38
+
39
+ // src/components/Table/PayloadTableColumnConfig.ts
40
+ var payloadTableColumnConfigDefaults = () => {
41
+ const xs = ["hash", "schema", "valid"];
42
+ const sm = ["hash", "schema", "valid"];
43
+ const md = ["hash", "schema", "valid"];
44
+ const lg = ["hash", "schema", "valid"];
45
+ const xl = ["hash", "schema", "valid"];
46
+ return { lg, md, sm, xl, xs };
47
+ };
48
+
49
+ // src/components/Table/TableRow.tsx
50
+ var import_jsx_runtime = require("react/jsx-runtime");
51
+ var PayloadTableRow = ({
52
+ archive,
53
+ columns = payloadTableColumnConfigDefaults(),
54
+ exploreDomain,
55
+ maxSchemaDepth,
56
+ network: networkProp,
57
+ payload,
58
+ ...props
59
+ }) => {
60
+ var _a;
61
+ const breakPoint = (0, import_react_shared.useBreakpoint)();
62
+ const payloadHash = (0, import_react_shared2.usePayloadHash)(payload);
63
+ const { network } = (0, import_react_network.useNetwork)();
64
+ const [errors = []] = (0, import_react_promise.usePromise)(async () => payload ? await new import_payload_validator.PayloadValidator(payload).validate() : void 0, [payload]);
65
+ const isValid = errors.length === 0;
66
+ const hash = (props2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
67
+ import_react_shared2.HashTableCell,
68
+ {
69
+ archive,
70
+ width: "100%",
71
+ value: payloadHash,
72
+ dataType: "payload",
73
+ exploreDomain,
74
+ network: networkProp ?? (network == null ? void 0 : network.slug),
75
+ ...props2
76
+ },
77
+ "hash"
78
+ );
79
+ const reduceSchemaDepth = (schema2, maxSchemaDepth2) => {
80
+ if (maxSchemaDepth2) {
81
+ const parts = (schema2 == null ? void 0 : schema2.split(".")) ?? [];
82
+ const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
83
+ if (partsToRemove > 0) {
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
85
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "\u2026" }),
86
+ `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
87
+ ] });
88
+ }
89
+ }
90
+ return schema2;
91
+ };
92
+ const schema = (props2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableCell, { title: payload == null ? void 0 : payload.schema, align: "center", ...props2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload == null ? void 0 : payload.schema, maxSchemaDepth) }) }, "payloads");
93
+ 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" }) : (
94
+ //to keep row height consistent when no data provided, may need fix later
95
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ErrorOutlineRounded, { sx: { color: (0, import_material.alpha)("#fff", 0) }, fontSize: "small" })
96
+ ) }, "valid");
97
+ const tableCells = {
98
+ hash,
99
+ schema,
100
+ valid
101
+ };
102
+ return breakPoint ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.TableRow, { style: { maxWidth: "100vw" }, ...props, children: (_a = columns[breakPoint]) == null ? void 0 : _a.map((column) => {
103
+ return tableCells[column]({});
104
+ }) }) : null;
105
+ };
106
+
107
+ // src/components/Table/TableBody.tsx
108
+ var import_jsx_runtime2 = require("react/jsx-runtime");
109
+ var PayloadTableBody = ({
110
+ children,
111
+ exploreDomain,
112
+ payloads,
113
+ archive,
114
+ maxSchemaDepth,
115
+ onRowClick,
116
+ emptyRows,
117
+ noResults,
118
+ NoResultRowComponent,
119
+ ...props
120
+ }) => {
121
+ const payloadPairs = (0, import_react_shared3.usePayloadHashes)(payloads);
122
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.TableBody, { ...props, children: [
123
+ noResults && NoResultRowComponent ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NoResultRowComponent, {}) : null,
124
+ payloadPairs == null ? void 0 : payloadPairs.map(([payload, hash], index) => {
125
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
126
+ import_react_error.ThrownErrorBoundary,
127
+ {
128
+ boundaryName: "PayloadTableBody",
129
+ errorComponent: (e) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.Alert, { severity: "error", children: [
130
+ "Error Loading Payload: ",
131
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { fontWeight: "bold", children: e.message })
132
+ ] }),
133
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
134
+ PayloadTableRow,
135
+ {
136
+ maxSchemaDepth,
137
+ archive,
138
+ onClick: onRowClick ? () => {
139
+ onRowClick(payload);
140
+ } : void 0,
141
+ exploreDomain,
142
+ payload
143
+ }
144
+ )
145
+ },
146
+ `${hash}-${index}`
147
+ );
148
+ }),
149
+ children,
150
+ (emptyRows ?? 0) > 0 && Array(emptyRows).fill(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PayloadTableRow, {}))
151
+ ] });
152
+ };
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ PayloadTableBody
156
+ });
157
+ //# sourceMappingURL=TableBody.cjs.map