@xyo-network/react-payload-table 2.81.9 → 2.82.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 (271) hide show
  1. package/dist/browser/components/DynamicTable/DynamicTableRow.d.cts +2 -1
  2. package/dist/browser/components/DynamicTable/DynamicTableRow.d.cts.map +1 -1
  3. package/dist/browser/components/DynamicTable/DynamicTableRow.d.mts +2 -1
  4. package/dist/browser/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  5. package/dist/browser/components/DynamicTable/DynamicTableRow.d.ts +2 -1
  6. package/dist/browser/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  7. package/dist/browser/components/DynamicTable/Table.d.cts +2 -1
  8. package/dist/browser/components/DynamicTable/Table.d.cts.map +1 -1
  9. package/dist/browser/components/DynamicTable/Table.d.mts +2 -1
  10. package/dist/browser/components/DynamicTable/Table.d.mts.map +1 -1
  11. package/dist/browser/components/DynamicTable/Table.d.ts +2 -1
  12. package/dist/browser/components/DynamicTable/Table.d.ts.map +1 -1
  13. package/dist/browser/components/DynamicTable/index.d.cts +3 -3
  14. package/dist/browser/components/DynamicTable/index.d.cts.map +1 -1
  15. package/dist/browser/components/DynamicTable/index.d.mts +3 -3
  16. package/dist/browser/components/DynamicTable/index.d.mts.map +1 -1
  17. package/dist/browser/components/DynamicTable/index.d.ts +3 -3
  18. package/dist/browser/components/DynamicTable/index.d.ts.map +1 -1
  19. package/dist/browser/components/Table/Table.d.cts +5 -5
  20. package/dist/browser/components/Table/Table.d.cts.map +1 -1
  21. package/dist/browser/components/Table/Table.d.mts +5 -5
  22. package/dist/browser/components/Table/Table.d.mts.map +1 -1
  23. package/dist/browser/components/Table/Table.d.ts +5 -5
  24. package/dist/browser/components/Table/Table.d.ts.map +1 -1
  25. package/dist/browser/components/Table/TableBody.d.cts +2 -1
  26. package/dist/browser/components/Table/TableBody.d.cts.map +1 -1
  27. package/dist/browser/components/Table/TableBody.d.mts +2 -1
  28. package/dist/browser/components/Table/TableBody.d.mts.map +1 -1
  29. package/dist/browser/components/Table/TableBody.d.ts +2 -1
  30. package/dist/browser/components/Table/TableBody.d.ts.map +1 -1
  31. package/dist/browser/components/Table/TableFooter.d.cts +2 -1
  32. package/dist/browser/components/Table/TableFooter.d.cts.map +1 -1
  33. package/dist/browser/components/Table/TableFooter.d.mts +2 -1
  34. package/dist/browser/components/Table/TableFooter.d.mts.map +1 -1
  35. package/dist/browser/components/Table/TableFooter.d.ts +2 -1
  36. package/dist/browser/components/Table/TableFooter.d.ts.map +1 -1
  37. package/dist/browser/components/Table/TableHead.d.cts +2 -1
  38. package/dist/browser/components/Table/TableHead.d.cts.map +1 -1
  39. package/dist/browser/components/Table/TableHead.d.mts +2 -1
  40. package/dist/browser/components/Table/TableHead.d.mts.map +1 -1
  41. package/dist/browser/components/Table/TableHead.d.ts +2 -1
  42. package/dist/browser/components/Table/TableHead.d.ts.map +1 -1
  43. package/dist/browser/components/Table/TablePagination.d.cts +1 -0
  44. package/dist/browser/components/Table/TablePagination.d.cts.map +1 -1
  45. package/dist/browser/components/Table/TablePagination.d.mts +1 -0
  46. package/dist/browser/components/Table/TablePagination.d.mts.map +1 -1
  47. package/dist/browser/components/Table/TablePagination.d.ts +1 -0
  48. package/dist/browser/components/Table/TablePagination.d.ts.map +1 -1
  49. package/dist/browser/components/Table/TableRow.d.cts +2 -1
  50. package/dist/browser/components/Table/TableRow.d.cts.map +1 -1
  51. package/dist/browser/components/Table/TableRow.d.mts +2 -1
  52. package/dist/browser/components/Table/TableRow.d.mts.map +1 -1
  53. package/dist/browser/components/Table/TableRow.d.ts +2 -1
  54. package/dist/browser/components/Table/TableRow.d.ts.map +1 -1
  55. package/dist/browser/components/Table/TableRowNoData.d.cts +1 -0
  56. package/dist/browser/components/Table/TableRowNoData.d.cts.map +1 -1
  57. package/dist/browser/components/Table/TableRowNoData.d.mts +1 -0
  58. package/dist/browser/components/Table/TableRowNoData.d.mts.map +1 -1
  59. package/dist/browser/components/Table/TableRowNoData.d.ts +1 -0
  60. package/dist/browser/components/Table/TableRowNoData.d.ts.map +1 -1
  61. package/dist/browser/components/Table/index.d.cts +6 -6
  62. package/dist/browser/components/Table/index.d.cts.map +1 -1
  63. package/dist/browser/components/Table/index.d.mts +6 -6
  64. package/dist/browser/components/Table/index.d.mts.map +1 -1
  65. package/dist/browser/components/Table/index.d.ts +6 -6
  66. package/dist/browser/components/Table/index.d.ts.map +1 -1
  67. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.cts +1 -1
  68. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.mts +1 -1
  69. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.ts +1 -1
  70. package/dist/browser/components/Table/types/index.d.cts +4 -4
  71. package/dist/browser/components/Table/types/index.d.mts +4 -4
  72. package/dist/browser/components/Table/types/index.d.ts +4 -4
  73. package/dist/browser/components/index.d.cts +2 -2
  74. package/dist/browser/components/index.d.mts +2 -2
  75. package/dist/browser/components/index.d.ts +2 -2
  76. package/dist/browser/index.cjs +634 -394
  77. package/dist/browser/index.cjs.map +1 -1
  78. package/dist/browser/index.d.cts +1 -1
  79. package/dist/browser/index.d.mts +1 -1
  80. package/dist/browser/index.d.ts +1 -1
  81. package/dist/browser/index.mjs +801 -0
  82. package/dist/browser/index.mjs.map +1 -0
  83. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.cts +2 -1
  84. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.cts.map +1 -1
  85. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.mts +2 -1
  86. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  87. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.ts +2 -1
  88. package/dist/neutral/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  89. package/dist/neutral/components/DynamicTable/Table.d.cts +2 -1
  90. package/dist/neutral/components/DynamicTable/Table.d.cts.map +1 -1
  91. package/dist/neutral/components/DynamicTable/Table.d.mts +2 -1
  92. package/dist/neutral/components/DynamicTable/Table.d.mts.map +1 -1
  93. package/dist/neutral/components/DynamicTable/Table.d.ts +2 -1
  94. package/dist/neutral/components/DynamicTable/Table.d.ts.map +1 -1
  95. package/dist/neutral/components/DynamicTable/index.d.cts +3 -3
  96. package/dist/neutral/components/DynamicTable/index.d.cts.map +1 -1
  97. package/dist/neutral/components/DynamicTable/index.d.mts +3 -3
  98. package/dist/neutral/components/DynamicTable/index.d.mts.map +1 -1
  99. package/dist/neutral/components/DynamicTable/index.d.ts +3 -3
  100. package/dist/neutral/components/DynamicTable/index.d.ts.map +1 -1
  101. package/dist/neutral/components/Table/Table.d.cts +5 -5
  102. package/dist/neutral/components/Table/Table.d.cts.map +1 -1
  103. package/dist/neutral/components/Table/Table.d.mts +5 -5
  104. package/dist/neutral/components/Table/Table.d.mts.map +1 -1
  105. package/dist/neutral/components/Table/Table.d.ts +5 -5
  106. package/dist/neutral/components/Table/Table.d.ts.map +1 -1
  107. package/dist/neutral/components/Table/TableBody.d.cts +2 -1
  108. package/dist/neutral/components/Table/TableBody.d.cts.map +1 -1
  109. package/dist/neutral/components/Table/TableBody.d.mts +2 -1
  110. package/dist/neutral/components/Table/TableBody.d.mts.map +1 -1
  111. package/dist/neutral/components/Table/TableBody.d.ts +2 -1
  112. package/dist/neutral/components/Table/TableBody.d.ts.map +1 -1
  113. package/dist/neutral/components/Table/TableFooter.d.cts +2 -1
  114. package/dist/neutral/components/Table/TableFooter.d.cts.map +1 -1
  115. package/dist/neutral/components/Table/TableFooter.d.mts +2 -1
  116. package/dist/neutral/components/Table/TableFooter.d.mts.map +1 -1
  117. package/dist/neutral/components/Table/TableFooter.d.ts +2 -1
  118. package/dist/neutral/components/Table/TableFooter.d.ts.map +1 -1
  119. package/dist/neutral/components/Table/TableHead.d.cts +2 -1
  120. package/dist/neutral/components/Table/TableHead.d.cts.map +1 -1
  121. package/dist/neutral/components/Table/TableHead.d.mts +2 -1
  122. package/dist/neutral/components/Table/TableHead.d.mts.map +1 -1
  123. package/dist/neutral/components/Table/TableHead.d.ts +2 -1
  124. package/dist/neutral/components/Table/TableHead.d.ts.map +1 -1
  125. package/dist/neutral/components/Table/TablePagination.d.cts +1 -0
  126. package/dist/neutral/components/Table/TablePagination.d.cts.map +1 -1
  127. package/dist/neutral/components/Table/TablePagination.d.mts +1 -0
  128. package/dist/neutral/components/Table/TablePagination.d.mts.map +1 -1
  129. package/dist/neutral/components/Table/TablePagination.d.ts +1 -0
  130. package/dist/neutral/components/Table/TablePagination.d.ts.map +1 -1
  131. package/dist/neutral/components/Table/TableRow.d.cts +2 -1
  132. package/dist/neutral/components/Table/TableRow.d.cts.map +1 -1
  133. package/dist/neutral/components/Table/TableRow.d.mts +2 -1
  134. package/dist/neutral/components/Table/TableRow.d.mts.map +1 -1
  135. package/dist/neutral/components/Table/TableRow.d.ts +2 -1
  136. package/dist/neutral/components/Table/TableRow.d.ts.map +1 -1
  137. package/dist/neutral/components/Table/TableRowNoData.d.cts +1 -0
  138. package/dist/neutral/components/Table/TableRowNoData.d.cts.map +1 -1
  139. package/dist/neutral/components/Table/TableRowNoData.d.mts +1 -0
  140. package/dist/neutral/components/Table/TableRowNoData.d.mts.map +1 -1
  141. package/dist/neutral/components/Table/TableRowNoData.d.ts +1 -0
  142. package/dist/neutral/components/Table/TableRowNoData.d.ts.map +1 -1
  143. package/dist/neutral/components/Table/index.d.cts +6 -6
  144. package/dist/neutral/components/Table/index.d.cts.map +1 -1
  145. package/dist/neutral/components/Table/index.d.mts +6 -6
  146. package/dist/neutral/components/Table/index.d.mts.map +1 -1
  147. package/dist/neutral/components/Table/index.d.ts +6 -6
  148. package/dist/neutral/components/Table/index.d.ts.map +1 -1
  149. package/dist/neutral/components/Table/types/PayloadTableHeadProps.d.cts +1 -1
  150. package/dist/neutral/components/Table/types/PayloadTableHeadProps.d.mts +1 -1
  151. package/dist/neutral/components/Table/types/PayloadTableHeadProps.d.ts +1 -1
  152. package/dist/neutral/components/Table/types/index.d.cts +4 -4
  153. package/dist/neutral/components/Table/types/index.d.mts +4 -4
  154. package/dist/neutral/components/Table/types/index.d.ts +4 -4
  155. package/dist/neutral/components/index.d.cts +2 -2
  156. package/dist/neutral/components/index.d.mts +2 -2
  157. package/dist/neutral/components/index.d.ts +2 -2
  158. package/dist/neutral/index.cjs +634 -394
  159. package/dist/neutral/index.cjs.map +1 -1
  160. package/dist/neutral/index.d.cts +1 -1
  161. package/dist/neutral/index.d.mts +1 -1
  162. package/dist/neutral/index.d.ts +1 -1
  163. package/dist/neutral/index.mjs +801 -0
  164. package/dist/neutral/index.mjs.map +1 -0
  165. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts +2 -1
  166. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts.map +1 -1
  167. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts +2 -1
  168. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  169. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts +2 -1
  170. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  171. package/dist/node/components/DynamicTable/Table.d.cts +2 -1
  172. package/dist/node/components/DynamicTable/Table.d.cts.map +1 -1
  173. package/dist/node/components/DynamicTable/Table.d.mts +2 -1
  174. package/dist/node/components/DynamicTable/Table.d.mts.map +1 -1
  175. package/dist/node/components/DynamicTable/Table.d.ts +2 -1
  176. package/dist/node/components/DynamicTable/Table.d.ts.map +1 -1
  177. package/dist/node/components/DynamicTable/index.d.cts +3 -3
  178. package/dist/node/components/DynamicTable/index.d.cts.map +1 -1
  179. package/dist/node/components/DynamicTable/index.d.mts +3 -3
  180. package/dist/node/components/DynamicTable/index.d.mts.map +1 -1
  181. package/dist/node/components/DynamicTable/index.d.ts +3 -3
  182. package/dist/node/components/DynamicTable/index.d.ts.map +1 -1
  183. package/dist/node/components/Table/Table.d.cts +5 -5
  184. package/dist/node/components/Table/Table.d.cts.map +1 -1
  185. package/dist/node/components/Table/Table.d.mts +5 -5
  186. package/dist/node/components/Table/Table.d.mts.map +1 -1
  187. package/dist/node/components/Table/Table.d.ts +5 -5
  188. package/dist/node/components/Table/Table.d.ts.map +1 -1
  189. package/dist/node/components/Table/TableBody.d.cts +2 -1
  190. package/dist/node/components/Table/TableBody.d.cts.map +1 -1
  191. package/dist/node/components/Table/TableBody.d.mts +2 -1
  192. package/dist/node/components/Table/TableBody.d.mts.map +1 -1
  193. package/dist/node/components/Table/TableBody.d.ts +2 -1
  194. package/dist/node/components/Table/TableBody.d.ts.map +1 -1
  195. package/dist/node/components/Table/TableFooter.d.cts +2 -1
  196. package/dist/node/components/Table/TableFooter.d.cts.map +1 -1
  197. package/dist/node/components/Table/TableFooter.d.mts +2 -1
  198. package/dist/node/components/Table/TableFooter.d.mts.map +1 -1
  199. package/dist/node/components/Table/TableFooter.d.ts +2 -1
  200. package/dist/node/components/Table/TableFooter.d.ts.map +1 -1
  201. package/dist/node/components/Table/TableHead.d.cts +2 -1
  202. package/dist/node/components/Table/TableHead.d.cts.map +1 -1
  203. package/dist/node/components/Table/TableHead.d.mts +2 -1
  204. package/dist/node/components/Table/TableHead.d.mts.map +1 -1
  205. package/dist/node/components/Table/TableHead.d.ts +2 -1
  206. package/dist/node/components/Table/TableHead.d.ts.map +1 -1
  207. package/dist/node/components/Table/TablePagination.d.cts +1 -0
  208. package/dist/node/components/Table/TablePagination.d.cts.map +1 -1
  209. package/dist/node/components/Table/TablePagination.d.mts +1 -0
  210. package/dist/node/components/Table/TablePagination.d.mts.map +1 -1
  211. package/dist/node/components/Table/TablePagination.d.ts +1 -0
  212. package/dist/node/components/Table/TablePagination.d.ts.map +1 -1
  213. package/dist/node/components/Table/TableRow.d.cts +2 -1
  214. package/dist/node/components/Table/TableRow.d.cts.map +1 -1
  215. package/dist/node/components/Table/TableRow.d.mts +2 -1
  216. package/dist/node/components/Table/TableRow.d.mts.map +1 -1
  217. package/dist/node/components/Table/TableRow.d.ts +2 -1
  218. package/dist/node/components/Table/TableRow.d.ts.map +1 -1
  219. package/dist/node/components/Table/TableRowNoData.d.cts +1 -0
  220. package/dist/node/components/Table/TableRowNoData.d.cts.map +1 -1
  221. package/dist/node/components/Table/TableRowNoData.d.mts +1 -0
  222. package/dist/node/components/Table/TableRowNoData.d.mts.map +1 -1
  223. package/dist/node/components/Table/TableRowNoData.d.ts +1 -0
  224. package/dist/node/components/Table/TableRowNoData.d.ts.map +1 -1
  225. package/dist/node/components/Table/index.d.cts +6 -6
  226. package/dist/node/components/Table/index.d.cts.map +1 -1
  227. package/dist/node/components/Table/index.d.mts +6 -6
  228. package/dist/node/components/Table/index.d.mts.map +1 -1
  229. package/dist/node/components/Table/index.d.ts +6 -6
  230. package/dist/node/components/Table/index.d.ts.map +1 -1
  231. package/dist/node/components/Table/types/PayloadTableHeadProps.d.cts +1 -1
  232. package/dist/node/components/Table/types/PayloadTableHeadProps.d.mts +1 -1
  233. package/dist/node/components/Table/types/PayloadTableHeadProps.d.ts +1 -1
  234. package/dist/node/components/Table/types/index.d.cts +4 -4
  235. package/dist/node/components/Table/types/index.d.mts +4 -4
  236. package/dist/node/components/Table/types/index.d.ts +4 -4
  237. package/dist/node/components/index.d.cts +2 -2
  238. package/dist/node/components/index.d.mts +2 -2
  239. package/dist/node/components/index.d.ts +2 -2
  240. package/dist/node/index.cjs +635 -395
  241. package/dist/node/index.cjs.map +1 -1
  242. package/dist/node/index.d.cts +1 -1
  243. package/dist/node/index.d.mts +1 -1
  244. package/dist/node/index.d.ts +1 -1
  245. package/dist/node/index.mjs +809 -0
  246. package/dist/node/index.mjs.map +1 -0
  247. package/package.json +25 -25
  248. package/src/components/DynamicTable/DynamicTable.stories.tsx +5 -5
  249. package/src/components/DynamicTable/DynamicTableRow.tsx +32 -28
  250. package/src/components/DynamicTable/Table.tsx +83 -79
  251. package/src/components/DynamicTable/index.ts +3 -3
  252. package/src/components/Table/FetchMoreTable.stories.tsx +6 -5
  253. package/src/components/Table/Table.stories.tsx +6 -7
  254. package/src/components/Table/Table.tsx +7 -7
  255. package/src/components/Table/TableBody.tsx +15 -13
  256. package/src/components/Table/TableFooter.tsx +9 -8
  257. package/src/components/Table/TableHead.tsx +8 -6
  258. package/src/components/Table/TablePagination.tsx +17 -16
  259. package/src/components/Table/TableRow.tsx +24 -19
  260. package/src/components/Table/TableRowNoData.tsx +4 -3
  261. package/src/components/Table/index.ts +6 -6
  262. package/src/components/Table/types/PayloadTableHeadProps.ts +1 -1
  263. package/src/components/Table/types/index.ts +4 -4
  264. package/src/components/index.ts +2 -2
  265. package/src/index.ts +1 -1
  266. package/dist/browser/index.js +0 -590
  267. package/dist/browser/index.js.map +0 -1
  268. package/dist/neutral/index.js +0 -590
  269. package/dist/neutral/index.js.map +0 -1
  270. package/dist/node/index.js +0 -598
  271. package/dist/node/index.js.map +0 -1
@@ -0,0 +1,809 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/components/DynamicTable/DynamicTableRow.tsx
5
+ import { CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon, ErrorOutlineRounded as ErrorOutlineRoundedIcon, WarningAmberRounded as WarningAmberRoundedIcon } from "@mui/icons-material";
6
+ import { TableCell, TableRow, Typography } from "@mui/material";
7
+ import { usePromise } from "@xylabs/react-promise";
8
+ import { useBreakpoint } from "@xylabs/react-shared";
9
+ import { PayloadHasher } from "@xyo-network/hash";
10
+ import { PayloadValidator } from "@xyo-network/payload-validator";
11
+ import { useNetwork } from "@xyo-network/react-network";
12
+ import { usePayloadRenderPluginResolver } from "@xyo-network/react-payload-plugin-resolver";
13
+ import { HashTableCell, usePayloadHash } from "@xyo-network/react-shared";
14
+ import React, { useMemo } from "react";
15
+
16
+ // src/components/DynamicTable/PayloadDynamicTableColumnConfig.ts
17
+ var payloadDynamicTableColumnConfigDefaults = /* @__PURE__ */ __name(() => {
18
+ const xs = [
19
+ {
20
+ alignment: "left",
21
+ name: "Hash",
22
+ slug: "hash",
23
+ width: "100%"
24
+ },
25
+ {
26
+ alignment: "left",
27
+ name: "Schema",
28
+ slug: "schema",
29
+ width: "50px"
30
+ },
31
+ {
32
+ alignment: "left",
33
+ name: "Valid",
34
+ slug: "valid",
35
+ width: "50px"
36
+ }
37
+ ];
38
+ const sm = [
39
+ {
40
+ alignment: "left",
41
+ name: "Icon",
42
+ slug: "icon",
43
+ width: "50px"
44
+ },
45
+ {
46
+ alignment: "left",
47
+ name: "Hash",
48
+ slug: "hash",
49
+ width: "100%"
50
+ },
51
+ {
52
+ alignment: "left",
53
+ name: "Schema",
54
+ slug: "schema",
55
+ width: "50px"
56
+ },
57
+ {
58
+ alignment: "left",
59
+ name: "Valid",
60
+ slug: "valid",
61
+ width: "50px"
62
+ }
63
+ ];
64
+ const md = [
65
+ {
66
+ alignment: "left",
67
+ name: "Icon",
68
+ slug: "icon",
69
+ width: "50px"
70
+ },
71
+ {
72
+ alignment: "left",
73
+ name: "Hash",
74
+ slug: "hash",
75
+ width: "100%"
76
+ },
77
+ {
78
+ alignment: "left",
79
+ name: "Schema",
80
+ slug: "schema",
81
+ width: "50px"
82
+ },
83
+ {
84
+ alignment: "left",
85
+ name: "Valid",
86
+ slug: "valid",
87
+ width: "50px"
88
+ }
89
+ ];
90
+ const lg = [
91
+ {
92
+ alignment: "left",
93
+ name: "Icon",
94
+ slug: "icon",
95
+ width: "50px"
96
+ },
97
+ {
98
+ alignment: "left",
99
+ name: "Hash",
100
+ slug: "hash",
101
+ width: "100%"
102
+ },
103
+ {
104
+ alignment: "left",
105
+ name: "Schema",
106
+ slug: "schema",
107
+ width: "50px"
108
+ },
109
+ {
110
+ alignment: "left",
111
+ name: "Render",
112
+ slug: "render",
113
+ width: "50px"
114
+ },
115
+ {
116
+ alignment: "left",
117
+ name: "Valid",
118
+ slug: "valid",
119
+ width: "50px"
120
+ }
121
+ ];
122
+ const xl = [
123
+ {
124
+ alignment: "left",
125
+ name: "Icon",
126
+ slug: "icon",
127
+ width: "50px"
128
+ },
129
+ {
130
+ alignment: "left",
131
+ name: "Hash",
132
+ slug: "hash",
133
+ width: "100%"
134
+ },
135
+ {
136
+ alignment: "left",
137
+ name: "Schema",
138
+ slug: "schema",
139
+ width: "50px"
140
+ },
141
+ {
142
+ alignment: "left",
143
+ name: "Render",
144
+ slug: "render",
145
+ width: "50px"
146
+ },
147
+ {
148
+ alignment: "left",
149
+ name: "Valid",
150
+ slug: "valid",
151
+ width: "50px"
152
+ }
153
+ ];
154
+ return {
155
+ lg,
156
+ md,
157
+ sm,
158
+ xl,
159
+ xs
160
+ };
161
+ }, "payloadDynamicTableColumnConfigDefaults");
162
+
163
+ // src/components/DynamicTable/DynamicTableRow.tsx
164
+ var PayloadDynamicTableRow = /* @__PURE__ */ __name(({ archive, columns, exploreDomain, network: networkProp, payload, ...props }) => {
165
+ var _a;
166
+ const breakPoint = useBreakpoint();
167
+ const payloadHash = usePayloadHash(payload);
168
+ const { network } = useNetwork();
169
+ const { resolver } = usePayloadRenderPluginResolver();
170
+ const [validationErrors = []] = usePromise(async () => payload ? await new PayloadValidator(payload).validate() : void 0, [
171
+ payload
172
+ ]);
173
+ const isValid = validationErrors.length === 0;
174
+ const payloadFieldCount = payload ? Object.keys(PayloadHasher.hashFields(payload)).length : 0;
175
+ const hash = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React.createElement(HashTableCell, {
176
+ key: "hash",
177
+ align: "left",
178
+ archive,
179
+ value: payloadHash,
180
+ dataType: "payload",
181
+ exploreDomain,
182
+ network: networkProp ?? (network == null ? void 0 : network.slug),
183
+ ...props2
184
+ }), "hash");
185
+ const schema = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React.createElement(TableCell, {
186
+ key: "payloads",
187
+ align: "left",
188
+ ...props2
189
+ }, /* @__PURE__ */ React.createElement(Typography, {
190
+ fontFamily: "monospace",
191
+ variant: "body2",
192
+ noWrap: true
193
+ }, payload == null ? void 0 : payload.schema)), "schema");
194
+ const details = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React.createElement(TableCell, {
195
+ key: "payloads",
196
+ align: "left",
197
+ ...props2
198
+ }, /* @__PURE__ */ React.createElement(Typography, {
199
+ fontFamily: "monospace",
200
+ variant: "body2",
201
+ noWrap: true
202
+ }, payloadFieldCount)), "details");
203
+ const render = /* @__PURE__ */ __name((props2) => {
204
+ var _a2;
205
+ const Render = payload ? (_a2 = resolver == null ? void 0 : resolver.resolve(payload)) == null ? void 0 : _a2.components.table.cell : void 0;
206
+ return Render ? /* @__PURE__ */ React.createElement(Render, {
207
+ payload,
208
+ ...props2
209
+ }) : /* @__PURE__ */ React.createElement(TableCell, {
210
+ key: "payloads",
211
+ align: "left",
212
+ ...props2
213
+ });
214
+ }, "render");
215
+ const icon = /* @__PURE__ */ __name((props2) => {
216
+ var _a2;
217
+ const Avatar = payload ? (_a2 = resolver == null ? void 0 : resolver.resolve(payload)) == null ? void 0 : _a2.components.avatar.image : void 0;
218
+ return /* @__PURE__ */ React.createElement(TableCell, {
219
+ key: "payloads",
220
+ align: "left",
221
+ ...props2
222
+ }, Avatar ? /* @__PURE__ */ React.createElement(Avatar, {
223
+ payload
224
+ }) : null);
225
+ }, "icon");
226
+ const valid = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React.createElement(TableCell, {
227
+ key: "valid",
228
+ align: "center",
229
+ ...props2
230
+ }, isValid === void 0 && payload != void 0 ? /* @__PURE__ */ React.createElement(WarningAmberRoundedIcon, {
231
+ fontSize: "small",
232
+ color: "warning"
233
+ }) : isValid === true ? /* @__PURE__ */ React.createElement(CheckCircleOutlineRoundedIcon, {
234
+ fontSize: "small",
235
+ color: "success"
236
+ }) : isValid === false ? /* @__PURE__ */ React.createElement(ErrorOutlineRoundedIcon, {
237
+ color: "error",
238
+ fontSize: "small"
239
+ }) : /* @__PURE__ */ React.createElement(Typography, null, " \xA0")), "valid");
240
+ const tableCells = {
241
+ details,
242
+ hash,
243
+ icon,
244
+ render,
245
+ schema,
246
+ valid
247
+ };
248
+ const columnsMemo = useMemo(() => columns ?? payloadDynamicTableColumnConfigDefaults(), [
249
+ columns
250
+ ]);
251
+ return breakPoint ? /* @__PURE__ */ React.createElement(TableRow, {
252
+ style: {
253
+ maxWidth: "100vw"
254
+ },
255
+ ...props
256
+ }, (_a = columnsMemo[breakPoint]) == null ? void 0 : _a.map((column) => {
257
+ return column.slug ? tableCells[column.slug]({}) : null;
258
+ })) : null;
259
+ }, "PayloadDynamicTableRow");
260
+
261
+ // src/components/DynamicTable/Table.tsx
262
+ import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from "@mui/icons-material";
263
+ import { Alert, Box, IconButton, Table, TableBody, TableCell as TableCell2, TableFooter, TableHead, TablePagination, TableRow as TableRow2, Typography as Typography2, useTheme } from "@mui/material";
264
+ import { useBreakpoint as useBreakpoint2 } from "@xylabs/react-shared";
265
+ import { ThrownErrorBoundary } from "@xyo-network/react-error";
266
+ import { usePayloadHashes } from "@xyo-network/react-shared";
267
+ import React2, { useEffect, useMemo as useMemo2, useState } from "react";
268
+ function TablePaginationActions(props) {
269
+ const theme = useTheme();
270
+ const { count, page, rowsPerPage, onPageChange } = props;
271
+ const handleFirstPageButtonClick = /* @__PURE__ */ __name((event) => {
272
+ onPageChange(event, 0);
273
+ }, "handleFirstPageButtonClick");
274
+ const handleBackButtonClick = /* @__PURE__ */ __name((event) => {
275
+ onPageChange(event, page - 1);
276
+ }, "handleBackButtonClick");
277
+ const handleNextButtonClick = /* @__PURE__ */ __name((event) => {
278
+ onPageChange(event, page + 1);
279
+ }, "handleNextButtonClick");
280
+ const handleLastPageButtonClick = /* @__PURE__ */ __name((event) => {
281
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
282
+ }, "handleLastPageButtonClick");
283
+ return /* @__PURE__ */ React2.createElement(Box, {
284
+ sx: {
285
+ flexShrink: 0,
286
+ ml: 2.5
287
+ }
288
+ }, /* @__PURE__ */ React2.createElement(IconButton, {
289
+ onClick: handleFirstPageButtonClick,
290
+ disabled: page === 0,
291
+ "aria-label": "first page"
292
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React2.createElement(LastPageIcon, null) : /* @__PURE__ */ React2.createElement(FirstPageIcon, null)), /* @__PURE__ */ React2.createElement(IconButton, {
293
+ onClick: handleBackButtonClick,
294
+ disabled: page === 0,
295
+ "aria-label": "previous page"
296
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React2.createElement(KeyboardArrowRight, null) : /* @__PURE__ */ React2.createElement(KeyboardArrowLeft, null)), /* @__PURE__ */ React2.createElement(IconButton, {
297
+ onClick: handleNextButtonClick,
298
+ disabled: page >= Math.ceil(count / rowsPerPage) - 1,
299
+ "aria-label": "next page"
300
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React2.createElement(KeyboardArrowLeft, null) : /* @__PURE__ */ React2.createElement(KeyboardArrowRight, null)), /* @__PURE__ */ React2.createElement(IconButton, {
301
+ onClick: handleLastPageButtonClick,
302
+ disabled: page >= Math.ceil(count / rowsPerPage) - 1,
303
+ "aria-label": "last page"
304
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React2.createElement(FirstPageIcon, null) : /* @__PURE__ */ React2.createElement(LastPageIcon, null)));
305
+ }
306
+ __name(TablePaginationActions, "TablePaginationActions");
307
+ var PayloadDynamicTable = /* @__PURE__ */ __name(({ archive, children, columns, exploreDomain, onRowClick, rowsPerPage: rowsPerPageProp = 10, payloads, ...props }) => {
308
+ var _a;
309
+ const breakPoint = useBreakpoint2();
310
+ const [page, setPage] = useState(0);
311
+ const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp);
312
+ const payloadCount = payloads ? payloads.length : 0;
313
+ const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0;
314
+ const pagedPayloads = useMemo2(() => payloads == null ? void 0 : payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [
315
+ payloads,
316
+ page,
317
+ rowsPerPage
318
+ ]);
319
+ const payloadPairs = usePayloadHashes(pagedPayloads);
320
+ useEffect(() => {
321
+ setRowsPerPage(rowsPerPageProp);
322
+ }, [
323
+ rowsPerPageProp
324
+ ]);
325
+ const handleChangePage = /* @__PURE__ */ __name((event, newPage) => {
326
+ setPage(newPage);
327
+ }, "handleChangePage");
328
+ const handleChangeRowsPerPage = /* @__PURE__ */ __name((event) => {
329
+ setRowsPerPage(Number.parseInt(event.target.value, 10));
330
+ setPage(0);
331
+ }, "handleChangeRowsPerPage");
332
+ return breakPoint ? /* @__PURE__ */ React2.createElement(Table, {
333
+ stickyHeader: true,
334
+ ...props
335
+ }, /* @__PURE__ */ React2.createElement(TableHead, null, /* @__PURE__ */ React2.createElement(TableRow2, null, (_a = (columns ?? payloadDynamicTableColumnConfigDefaults())[breakPoint]) == null ? void 0 : _a.map((column, index) => {
336
+ return /* @__PURE__ */ React2.createElement(TableCell2, {
337
+ key: index,
338
+ align: column.alignment ?? "left",
339
+ width: column.width
340
+ }, /* @__PURE__ */ React2.createElement(Typography2, {
341
+ variant: "body2",
342
+ noWrap: true
343
+ }, column.name));
344
+ }))), /* @__PURE__ */ React2.createElement(TableBody, {
345
+ sx: {
346
+ overflowY: "scroll "
347
+ }
348
+ }, payloadPairs == null ? void 0 : payloadPairs.map(([payload, hash], index) => {
349
+ return /* @__PURE__ */ React2.createElement(ThrownErrorBoundary, {
350
+ boundaryName: "PayloadTableBody",
351
+ key: `${hash}-${index}`,
352
+ errorComponent: /* @__PURE__ */ __name((e) => /* @__PURE__ */ React2.createElement(Alert, {
353
+ severity: "error"
354
+ }, "Error Loading Payload:", " ", /* @__PURE__ */ React2.createElement(Typography2, {
355
+ fontWeight: "bold"
356
+ }, e.message)), "errorComponent")
357
+ }, /* @__PURE__ */ React2.createElement(PayloadDynamicTableRow, {
358
+ archive,
359
+ onClick: onRowClick ? () => {
360
+ onRowClick(payload);
361
+ } : void 0,
362
+ exploreDomain,
363
+ payload
364
+ }));
365
+ }), children, emptyRows ? Array.from({
366
+ length: emptyRows
367
+ }).fill(/* @__PURE__ */ React2.createElement(PayloadDynamicTableRow, null)) : null), /* @__PURE__ */ React2.createElement(TableFooter, null, /* @__PURE__ */ React2.createElement(TableRow2, null, /* @__PURE__ */ React2.createElement(TablePagination, {
368
+ rowsPerPageOptions: [
369
+ 5,
370
+ 10,
371
+ 25,
372
+ {
373
+ label: "All",
374
+ value: -1
375
+ }
376
+ ],
377
+ colSpan: 5,
378
+ count: payloadCount,
379
+ rowsPerPage,
380
+ page,
381
+ SelectProps: {
382
+ inputProps: {
383
+ "aria-label": "rows per page"
384
+ },
385
+ native: true
386
+ },
387
+ onPageChange: handleChangePage,
388
+ onRowsPerPageChange: handleChangeRowsPerPage,
389
+ ActionsComponent: TablePaginationActions
390
+ })))) : null;
391
+ }, "PayloadDynamicTable");
392
+
393
+ // src/components/Table/PayloadTableColumnConfig.ts
394
+ var payloadColumnNames = {
395
+ hash: "Hash",
396
+ schema: "Schema",
397
+ valid: "Valid"
398
+ };
399
+ var payloadTableColumnConfigDefaults = /* @__PURE__ */ __name(() => {
400
+ const xs = [
401
+ "hash",
402
+ "schema",
403
+ "valid"
404
+ ];
405
+ const sm = [
406
+ "hash",
407
+ "schema",
408
+ "valid"
409
+ ];
410
+ const md = [
411
+ "hash",
412
+ "schema",
413
+ "valid"
414
+ ];
415
+ const lg = [
416
+ "hash",
417
+ "schema",
418
+ "valid"
419
+ ];
420
+ const xl = [
421
+ "hash",
422
+ "schema",
423
+ "valid"
424
+ ];
425
+ return {
426
+ lg,
427
+ md,
428
+ sm,
429
+ xl,
430
+ xs
431
+ };
432
+ }, "payloadTableColumnConfigDefaults");
433
+
434
+ // src/components/Table/Table.tsx
435
+ import { TableEx } from "@xyo-network/react-table";
436
+ import React9, { forwardRef, useEffect as useEffect2, useMemo as useMemo5, useState as useState2 } from "react";
437
+
438
+ // src/components/Table/TableBody.tsx
439
+ import { Alert as Alert2, TableBody as TableBody2, Typography as Typography4 } from "@mui/material";
440
+ import { ThrownErrorBoundary as ThrownErrorBoundary2 } from "@xyo-network/react-error";
441
+ import { usePayloadHashes as usePayloadHashes2 } from "@xyo-network/react-shared";
442
+ import React4 from "react";
443
+
444
+ // src/components/Table/TableRow.tsx
445
+ import { CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon2, ErrorOutlineRounded as ErrorOutlineRoundedIcon2, WarningAmberRounded as WarningAmberRoundedIcon2 } from "@mui/icons-material";
446
+ import { alpha, TableCell as TableCell3, TableRow as TableRow3, Typography as Typography3 } from "@mui/material";
447
+ import { usePromise as usePromise2 } from "@xylabs/react-promise";
448
+ import { useBreakpoint as useBreakpoint3 } from "@xylabs/react-shared";
449
+ import { PayloadValidator as PayloadValidator2 } from "@xyo-network/payload-validator";
450
+ import { useNetwork as useNetwork2 } from "@xyo-network/react-network";
451
+ import { HashTableCell as HashTableCell2, usePayloadHash as usePayloadHash2 } from "@xyo-network/react-shared";
452
+ import React3, { useMemo as useMemo3 } from "react";
453
+ var PayloadTableRow = /* @__PURE__ */ __name(({ archive, columns, exploreDomain, maxSchemaDepth, network: networkProp, onHashClick, payload, ...props }) => {
454
+ var _a;
455
+ const breakPoint = useBreakpoint3();
456
+ const payloadHash = usePayloadHash2(payload);
457
+ const { network } = useNetwork2();
458
+ const [errors = []] = usePromise2(async () => payload ? await new PayloadValidator2(payload).validate() : void 0, [
459
+ payload
460
+ ]);
461
+ const isValid = errors.length === 0;
462
+ const hash = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React3.createElement(HashTableCell2, {
463
+ key: "hash",
464
+ archive,
465
+ width: "100%",
466
+ value: payloadHash,
467
+ onHashClick,
468
+ dataType: "payload",
469
+ exploreDomain,
470
+ network: networkProp ?? (network == null ? void 0 : network.slug),
471
+ ...props2
472
+ }), "hash");
473
+ const reduceSchemaDepth = /* @__PURE__ */ __name((schema2, maxSchemaDepth2) => {
474
+ if (maxSchemaDepth2) {
475
+ const parts = (schema2 == null ? void 0 : schema2.split(".")) ?? [];
476
+ const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
477
+ if (partsToRemove > 0) {
478
+ return /* @__PURE__ */ React3.createElement(
479
+ React3.Fragment,
480
+ null,
481
+ /* @__PURE__ */ React3.createElement(React3.Fragment, null, "\u2026"),
482
+ // eslint-disable-next-line unicorn/no-array-reduce
483
+ `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
484
+ );
485
+ }
486
+ }
487
+ return schema2;
488
+ }, "reduceSchemaDepth");
489
+ const schema = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React3.createElement(TableCell3, {
490
+ title: payload == null ? void 0 : payload.schema,
491
+ key: "payloads",
492
+ align: "center",
493
+ ...props2
494
+ }, /* @__PURE__ */ React3.createElement(Typography3, {
495
+ fontFamily: "monospace",
496
+ variant: "body2",
497
+ noWrap: true
498
+ }, reduceSchemaDepth(payload == null ? void 0 : payload.schema, maxSchemaDepth))), "schema");
499
+ const valid = /* @__PURE__ */ __name((props2) => /* @__PURE__ */ React3.createElement(TableCell3, {
500
+ key: "valid",
501
+ align: "center",
502
+ ...props2
503
+ }, isValid === void 0 && payload != void 0 ? /* @__PURE__ */ React3.createElement(WarningAmberRoundedIcon2, {
504
+ fontSize: "small",
505
+ color: "warning"
506
+ }) : isValid === true ? /* @__PURE__ */ React3.createElement(CheckCircleOutlineRoundedIcon2, {
507
+ fontSize: "small",
508
+ color: "success"
509
+ }) : isValid === false ? /* @__PURE__ */ React3.createElement(ErrorOutlineRoundedIcon2, {
510
+ color: "error",
511
+ fontSize: "small"
512
+ }) : /* @__PURE__ */ React3.createElement(ErrorOutlineRoundedIcon2, {
513
+ sx: {
514
+ color: alpha("#fff", 0)
515
+ },
516
+ fontSize: "small"
517
+ })), "valid");
518
+ const tableCells = {
519
+ hash,
520
+ schema,
521
+ valid
522
+ };
523
+ const columnsMemo = useMemo3(() => columns ?? payloadTableColumnConfigDefaults(), [
524
+ columns
525
+ ]);
526
+ return breakPoint ? /* @__PURE__ */ React3.createElement(TableRow3, {
527
+ style: {
528
+ maxWidth: "100vw"
529
+ },
530
+ ...props
531
+ }, (_a = columnsMemo[breakPoint]) == null ? void 0 : _a.map((column) => {
532
+ return tableCells[column]({});
533
+ })) : null;
534
+ }, "PayloadTableRow");
535
+
536
+ // src/components/Table/TableBody.tsx
537
+ var PayloadTableBody = /* @__PURE__ */ __name(({ children, exploreDomain, payloads, archive, maxSchemaDepth, onHashClick, onRowClick, emptyRows, noResults, NoResultRowComponent, ...props }) => {
538
+ const payloadPairs = usePayloadHashes2(payloads);
539
+ return /* @__PURE__ */ React4.createElement(TableBody2, props, noResults && NoResultRowComponent ? /* @__PURE__ */ React4.createElement(NoResultRowComponent, null) : null, payloadPairs == null ? void 0 : payloadPairs.map(([payload, hash], index) => {
540
+ return /* @__PURE__ */ React4.createElement(ThrownErrorBoundary2, {
541
+ boundaryName: "PayloadTableBody",
542
+ key: `${hash}-${index}`,
543
+ errorComponent: /* @__PURE__ */ __name((e) => /* @__PURE__ */ React4.createElement(Alert2, {
544
+ severity: "error"
545
+ }, "Error Loading Payload:", " ", /* @__PURE__ */ React4.createElement(Typography4, {
546
+ fontWeight: "bold"
547
+ }, e.message)), "errorComponent")
548
+ }, /* @__PURE__ */ React4.createElement(PayloadTableRow, {
549
+ maxSchemaDepth,
550
+ archive,
551
+ onClick: onRowClick ? () => {
552
+ onRowClick(payload);
553
+ } : void 0,
554
+ onHashClick,
555
+ exploreDomain,
556
+ payload
557
+ }));
558
+ }), children, emptyRows ? Array.from({
559
+ length: emptyRows
560
+ }).fill(/* @__PURE__ */ React4.createElement(PayloadTableRow, null)) : null);
561
+ }, "PayloadTableBody");
562
+
563
+ // src/components/Table/TableFooter.tsx
564
+ import { styled, TablePagination as TablePagination2, TableRow as TableRow4 } from "@mui/material";
565
+ import { TableFooterEx } from "@xyo-network/react-table";
566
+ import React6 from "react";
567
+
568
+ // src/components/Table/TablePagination.tsx
569
+ import { FirstPage as FirstPageIcon2, KeyboardArrowLeft as KeyboardArrowLeft2, KeyboardArrowRight as KeyboardArrowRight2, LastPage as LastPageIcon2 } from "@mui/icons-material";
570
+ import { Box as Box2, CircularProgress, IconButton as IconButton2, useTheme as useTheme2 } from "@mui/material";
571
+ import { useEvent } from "@xyo-network/react-event";
572
+ import React5 from "react";
573
+ function TablePaginationActions2({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
574
+ const theme = useTheme2();
575
+ const [paginationRef, paginationDispatch] = useEvent();
576
+ const handleFirstPageButtonClick = /* @__PURE__ */ __name((event) => {
577
+ paginationDispatch("firstPage", "click", "true");
578
+ onPageChange(event, 0);
579
+ }, "handleFirstPageButtonClick");
580
+ const handleBackButtonClick = /* @__PURE__ */ __name((event) => {
581
+ var _a;
582
+ paginationDispatch("previousPage", "click", (_a = page - 1) == null ? void 0 : _a.toString());
583
+ onPageChange(event, page - 1);
584
+ }, "handleBackButtonClick");
585
+ const handleNextButtonClick = /* @__PURE__ */ __name((event) => {
586
+ var _a;
587
+ paginationDispatch("nextPage", "click", (_a = page + 1) == null ? void 0 : _a.toString());
588
+ onPageChange(event, page + 1);
589
+ }, "handleNextButtonClick");
590
+ const handleLastPageButtonClick = /* @__PURE__ */ __name((event) => {
591
+ paginationDispatch("lastPage", "click", "true");
592
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
593
+ }, "handleLastPageButtonClick");
594
+ return /* @__PURE__ */ React5.createElement(React5.Fragment, null, loading ? /* @__PURE__ */ React5.createElement(CircularProgress, {
595
+ size: "small",
596
+ sx: {
597
+ height: theme.spacing(2),
598
+ position: "absolute",
599
+ width: theme.spacing(2)
600
+ }
601
+ }) : null, /* @__PURE__ */ React5.createElement(Box2, {
602
+ sx: {
603
+ flexShrink: 0,
604
+ ml: 2.5
605
+ }
606
+ }, /* @__PURE__ */ React5.createElement(IconButton2, {
607
+ onClick: handleFirstPageButtonClick,
608
+ disabled: page === 0,
609
+ "aria-label": "first page"
610
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React5.createElement(LastPageIcon2, null) : /* @__PURE__ */ React5.createElement(FirstPageIcon2, null)), /* @__PURE__ */ React5.createElement(IconButton2, {
611
+ ref: paginationRef,
612
+ onClick: handleBackButtonClick,
613
+ disabled: page === 0,
614
+ "aria-label": "previous page"
615
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React5.createElement(KeyboardArrowRight2, null) : /* @__PURE__ */ React5.createElement(KeyboardArrowLeft2, null)), /* @__PURE__ */ React5.createElement(IconButton2, {
616
+ ref: paginationRef,
617
+ onClick: handleNextButtonClick,
618
+ disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
619
+ "aria-label": "next page"
620
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React5.createElement(KeyboardArrowLeft2, null) : /* @__PURE__ */ React5.createElement(KeyboardArrowRight2, null)), /* @__PURE__ */ React5.createElement(IconButton2, {
621
+ onClick: handleLastPageButtonClick,
622
+ disabled: page >= Math.ceil(count / rowsPerPage) - 1,
623
+ "aria-label": "last page"
624
+ }, theme.direction === "rtl" ? /* @__PURE__ */ React5.createElement(FirstPageIcon2, null) : /* @__PURE__ */ React5.createElement(LastPageIcon2, null))));
625
+ }
626
+ __name(TablePaginationActions2, "TablePaginationActions");
627
+
628
+ // src/components/Table/TableFooter.tsx
629
+ var PayloadTableFooter = /* @__PURE__ */ __name(({ count, variant, page, rowsPerPage, handleChangePage, handleChangeRowsPerPage, fetchMorePayloads, loading }) => /* @__PURE__ */ React6.createElement(TableFooterEx, {
630
+ variant
631
+ }, /* @__PURE__ */ React6.createElement(TableRow4, null, /* @__PURE__ */ React6.createElement(StyledTablePagination, {
632
+ rowsPerPageOptions: [
633
+ 5,
634
+ 10,
635
+ 25,
636
+ {
637
+ label: "All",
638
+ value: -1
639
+ }
640
+ ],
641
+ count: count ?? 0,
642
+ rowsPerPage: rowsPerPage ?? 10,
643
+ page: page ?? 0,
644
+ SelectProps: {
645
+ inputProps: {
646
+ "aria-label": "rows per page"
647
+ },
648
+ native: true
649
+ },
650
+ onPageChange: handleChangePage ?? (() => {
651
+ }),
652
+ onRowsPerPageChange: handleChangeRowsPerPage ?? (() => {
653
+ }),
654
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
655
+ ActionsComponent: /* @__PURE__ */ __name((props) => /* @__PURE__ */ React6.createElement(TablePaginationActions2, {
656
+ enableNextPage: !!fetchMorePayloads,
657
+ loading,
658
+ ...props
659
+ }), "ActionsComponent")
660
+ }))), "PayloadTableFooter");
661
+ var StyledTablePagination = styled(TablePagination2)(({ theme }) => ({
662
+ "& > .MuiToolbar-root": {
663
+ paddingLeft: theme.spacing(1)
664
+ },
665
+ "borderTop": "1px solid",
666
+ "borderTopColor": theme.palette.divider
667
+ }));
668
+
669
+ // src/components/Table/TableHead.tsx
670
+ import { TableCell as TableCell4, TableHead as TableHead2, TableRow as TableRow5, Typography as Typography5 } from "@mui/material";
671
+ import { useBreakpoint as useBreakpoint4 } from "@xylabs/react-shared";
672
+ import React7, { useMemo as useMemo4 } from "react";
673
+ var PayloadTableHead = /* @__PURE__ */ __name(({ columns, ...props }) => {
674
+ var _a;
675
+ const breakPoint = useBreakpoint4();
676
+ const columnsMemo = useMemo4(() => columns ?? payloadTableColumnConfigDefaults(), [
677
+ columns
678
+ ]);
679
+ return /* @__PURE__ */ React7.createElement(TableHead2, props, /* @__PURE__ */ React7.createElement(TableRow5, null, breakPoint ? (_a = columnsMemo[breakPoint]) == null ? void 0 : _a.map((column, index) => {
680
+ return /* @__PURE__ */ React7.createElement(TableCell4, {
681
+ key: index,
682
+ width: index === 0 ? "100%" : void 0,
683
+ align: index === 0 ? "left" : "center"
684
+ }, /* @__PURE__ */ React7.createElement(Typography5, {
685
+ variant: "body2",
686
+ noWrap: true
687
+ }, payloadColumnNames[column]));
688
+ }) : null));
689
+ }, "PayloadTableHead");
690
+
691
+ // src/components/Table/TableRowNoData.tsx
692
+ import { styled as styled2, TableCell as TableCell5, TableRow as TableRow6, Typography as Typography6 } from "@mui/material";
693
+ import React8 from "react";
694
+ var TableRowNoData = /* @__PURE__ */ __name(({ additionalCells, hideBorder = false, typographyProps, ...props }) => {
695
+ return /* @__PURE__ */ React8.createElement(TableRow6, props, /* @__PURE__ */ React8.createElement(StyledTableCell, {
696
+ hideBorder
697
+ }, /* @__PURE__ */ React8.createElement(Typography6, {
698
+ variant: "body2",
699
+ ...typographyProps
700
+ }, "No Data To Display...")), additionalCells ? Array.from({
701
+ length: additionalCells
702
+ }).fill(null).map((_fill, index) => /* @__PURE__ */ React8.createElement(StyledTableCell, {
703
+ key: index,
704
+ hideBorder
705
+ })) : null);
706
+ }, "TableRowNoData");
707
+ var StyledTableCell = styled2(TableCell5, {
708
+ name: "StyledTableCell",
709
+ shouldForwardProp: /* @__PURE__ */ __name((prop) => prop !== "hideBorder", "shouldForwardProp")
710
+ })(({ hideBorder }) => ({
711
+ ...hideBorder && {
712
+ border: "none"
713
+ }
714
+ }));
715
+
716
+ // src/components/Table/Table.tsx
717
+ var PayloadTableWithRef = /* @__PURE__ */ forwardRef(({ exploreDomain, archive, onHashClick, onRowClick, fetchMorePayloads, rowsPerPage: rowsPerPageProp = 25, payloads, columns, PayloadTableHeadComponent = PayloadTableHead, PayloadTableBodyComponent = PayloadTableBody, PayloadTableFooterComponent = PayloadTableFooter, maxSchemaDepth, count = 0, loading = false, variant = "scrollable", ...props }, ref) => {
718
+ const [page, setPage] = useState2(0);
719
+ const [rowsPerPage, setRowsPerPage] = useState2(rowsPerPageProp);
720
+ const [visiblePayloads, setVisiblePayloads] = useState2([]);
721
+ const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0;
722
+ useEffect2(() => {
723
+ setRowsPerPage(rowsPerPageProp);
724
+ }, [
725
+ rowsPerPageProp
726
+ ]);
727
+ useEffect2(() => {
728
+ if (payloads) {
729
+ setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage));
730
+ }
731
+ }, [
732
+ count,
733
+ page,
734
+ payloads,
735
+ rowsPerPage
736
+ ]);
737
+ useEffect2(() => {
738
+ setPage(0);
739
+ }, [
740
+ payloads
741
+ ]);
742
+ const handleAdditionalPayloads = /* @__PURE__ */ __name(() => {
743
+ if (fetchMorePayloads && payloads) {
744
+ const buffer = rowsPerPage * 2;
745
+ const lastVisiblePayload = visiblePayloads == null ? void 0 : visiblePayloads.at(-1);
746
+ if (lastVisiblePayload) {
747
+ const lastVisibleIndex = payloads == null ? void 0 : payloads.indexOf(lastVisiblePayload);
748
+ if (lastVisibleIndex !== void 0 && payloads.length - (lastVisibleIndex + 1) <= buffer) {
749
+ fetchMorePayloads();
750
+ }
751
+ }
752
+ }
753
+ }, "handleAdditionalPayloads");
754
+ const handleChangePage = /* @__PURE__ */ __name((_event, newPage) => {
755
+ handleAdditionalPayloads();
756
+ setPage(newPage);
757
+ }, "handleChangePage");
758
+ const handleChangeRowsPerPage = /* @__PURE__ */ __name((event) => {
759
+ setRowsPerPage(Number.parseInt(event.target.value, 10));
760
+ setPage(0);
761
+ }, "handleChangeRowsPerPage");
762
+ const noResults = useMemo5(() => {
763
+ return !loading && (!visiblePayloads || visiblePayloads.length === 0);
764
+ }, [
765
+ loading,
766
+ visiblePayloads
767
+ ]);
768
+ return /* @__PURE__ */ React9.createElement(TableEx, {
769
+ variant,
770
+ ref,
771
+ ...props
772
+ }, /* @__PURE__ */ React9.createElement(PayloadTableHeadComponent, {
773
+ columns
774
+ }), /* @__PURE__ */ React9.createElement(PayloadTableBodyComponent, {
775
+ payloads: visiblePayloads,
776
+ exploreDomain,
777
+ archive,
778
+ maxSchemaDepth,
779
+ onRowClick,
780
+ onHashClick,
781
+ emptyRows,
782
+ noResults,
783
+ NoResultRowComponent: TableRowNoData
784
+ }), /* @__PURE__ */ React9.createElement(PayloadTableFooterComponent, {
785
+ count,
786
+ variant,
787
+ rowsPerPage,
788
+ handleChangePage,
789
+ handleChangeRowsPerPage,
790
+ fetchMorePayloads,
791
+ loading,
792
+ page
793
+ }));
794
+ });
795
+ PayloadTableWithRef.displayName = "PayloadTable";
796
+ var PayloadTable = PayloadTableWithRef;
797
+ export {
798
+ PayloadDynamicTable,
799
+ PayloadDynamicTableRow,
800
+ PayloadTable,
801
+ PayloadTableRow,
802
+ PayloadTableWithRef,
803
+ TablePaginationActions2 as TablePaginationActions,
804
+ TableRowNoData,
805
+ payloadColumnNames,
806
+ payloadDynamicTableColumnConfigDefaults,
807
+ payloadTableColumnConfigDefaults
808
+ };
809
+ //# sourceMappingURL=index.mjs.map