@xyo-network/react-payload-table 2.64.0-rc.7 → 2.64.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) 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 +41 -5
  10. package/dist/browser/components/DynamicTable/DynamicTableRow.js.map +1 -1
  11. package/dist/{node/components/DynamicTable/PayloadDynamicTableColumnConfig.mjs → browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs} +27 -5
  12. package/dist/{node/components/DynamicTable/PayloadDynamicTableColumnConfig.mjs.map → browser/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map} +1 -1
  13. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts +16 -0
  14. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts.map +1 -0
  15. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js +2 -1
  16. package/dist/browser/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +1 -1
  17. package/dist/browser/components/DynamicTable/Table.cjs +241 -0
  18. package/dist/browser/components/DynamicTable/Table.cjs.map +1 -0
  19. package/dist/browser/components/DynamicTable/Table.d.cts +14 -0
  20. package/dist/browser/components/DynamicTable/Table.d.cts.map +1 -0
  21. package/dist/browser/components/DynamicTable/Table.js +129 -20
  22. package/dist/browser/components/DynamicTable/Table.js.map +1 -1
  23. package/dist/browser/components/DynamicTable/index.cjs +243 -0
  24. package/dist/browser/components/DynamicTable/index.cjs.map +1 -0
  25. package/dist/browser/components/DynamicTable/index.d.cts +4 -0
  26. package/dist/browser/components/DynamicTable/index.d.cts.map +1 -0
  27. package/dist/browser/components/DynamicTable/index.js +236 -3
  28. package/dist/browser/components/DynamicTable/index.js.map +1 -1
  29. package/dist/browser/components/Table/PayloadTableColumnConfig.cjs +40 -0
  30. package/dist/{node/components/Table/PayloadTableColumnConfig.mjs.map → browser/components/Table/PayloadTableColumnConfig.cjs.map} +1 -1
  31. package/dist/browser/components/Table/PayloadTableColumnConfig.d.cts +11 -0
  32. package/dist/browser/components/Table/PayloadTableColumnConfig.d.cts.map +1 -0
  33. package/dist/browser/components/Table/PayloadTableColumnConfig.js +3 -2
  34. package/dist/browser/components/Table/PayloadTableColumnConfig.js.map +1 -1
  35. package/dist/browser/components/Table/Table.cjs +366 -0
  36. package/dist/browser/components/Table/Table.cjs.map +1 -0
  37. package/dist/browser/components/Table/Table.d.cts +26 -0
  38. package/dist/browser/components/Table/Table.d.cts.map +1 -0
  39. package/dist/browser/components/Table/Table.js +259 -11
  40. package/dist/browser/components/Table/Table.js.map +1 -1
  41. package/dist/browser/components/Table/TableBody.cjs +152 -0
  42. package/dist/browser/components/Table/TableBody.cjs.map +1 -0
  43. package/dist/browser/components/Table/TableBody.d.cts +4 -0
  44. package/dist/browser/components/Table/TableBody.d.cts.map +1 -0
  45. package/dist/browser/components/Table/TableBody.js +93 -11
  46. package/dist/browser/components/Table/TableBody.js.map +1 -1
  47. package/dist/browser/components/Table/TableFooter.cjs +109 -0
  48. package/dist/browser/components/Table/TableFooter.cjs.map +1 -0
  49. package/dist/browser/components/Table/TableFooter.d.cts +4 -0
  50. package/dist/browser/components/Table/TableFooter.d.cts.map +1 -0
  51. package/dist/browser/components/Table/TableFooter.js +52 -6
  52. package/dist/browser/components/Table/TableFooter.js.map +1 -1
  53. package/dist/browser/components/Table/TableHead.cjs +52 -0
  54. package/dist/browser/components/Table/TableHead.cjs.map +1 -0
  55. package/dist/browser/components/Table/TableHead.d.cts +4 -0
  56. package/dist/browser/components/Table/TableHead.d.cts.map +1 -0
  57. package/dist/browser/components/Table/TableHead.js +20 -3
  58. package/dist/browser/components/Table/TableHead.js.map +1 -1
  59. package/dist/browser/components/Table/TablePagination.cjs +68 -0
  60. package/dist/{node/components/Table/TablePagination.mjs.map → browser/components/Table/TablePagination.cjs.map} +1 -1
  61. package/dist/browser/components/Table/TablePagination.d.cts +11 -0
  62. package/dist/browser/components/Table/TablePagination.d.cts.map +1 -0
  63. package/dist/browser/components/Table/TablePagination.js +2 -1
  64. package/dist/browser/components/Table/TablePagination.js.map +1 -1
  65. package/dist/browser/components/Table/TableRow.cjs +100 -0
  66. package/dist/browser/components/Table/TableRow.cjs.map +1 -0
  67. package/dist/browser/components/Table/TableRow.d.cts +14 -0
  68. package/dist/browser/components/Table/TableRow.d.cts.map +1 -0
  69. package/dist/browser/components/Table/TableRow.js +15 -3
  70. package/dist/browser/components/Table/TableRow.js.map +1 -1
  71. package/dist/browser/components/Table/TableRowNoData.cjs +40 -0
  72. package/dist/{node/components/Table/TableRowNoData.mjs.map → browser/components/Table/TableRowNoData.cjs.map} +1 -1
  73. package/dist/browser/components/Table/TableRowNoData.d.cts +9 -0
  74. package/dist/browser/components/Table/TableRowNoData.d.cts.map +1 -0
  75. package/dist/browser/components/Table/TableRowNoData.js +4 -3
  76. package/dist/browser/components/Table/TableRowNoData.js.map +1 -1
  77. package/dist/browser/components/Table/index.cjs +371 -0
  78. package/dist/browser/components/Table/index.cjs.map +1 -0
  79. package/dist/browser/components/Table/index.d.cts +7 -0
  80. package/dist/browser/components/Table/index.d.cts.map +1 -0
  81. package/dist/browser/components/Table/index.js +351 -6
  82. package/dist/browser/components/Table/index.js.map +1 -1
  83. package/dist/browser/components/Table/types/PaginationEventNouns.cjs +19 -0
  84. package/dist/browser/components/Table/types/PaginationEventNouns.cjs.map +1 -0
  85. package/dist/browser/components/Table/types/PaginationEventNouns.d.cts +2 -0
  86. package/dist/browser/components/Table/types/PaginationEventNouns.d.cts.map +1 -0
  87. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs +19 -0
  88. package/dist/browser/components/Table/types/PayloadTableBodyProps.cjs.map +1 -0
  89. package/dist/browser/components/Table/types/PayloadTableBodyProps.d.cts +15 -0
  90. package/dist/browser/components/Table/types/PayloadTableBodyProps.d.cts.map +1 -0
  91. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs +19 -0
  92. package/dist/browser/components/Table/types/PayloadTableFooterProps.cjs.map +1 -0
  93. package/dist/browser/components/Table/types/PayloadTableFooterProps.d.cts +13 -0
  94. package/dist/browser/components/Table/types/PayloadTableFooterProps.d.cts.map +1 -0
  95. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs +19 -0
  96. package/dist/browser/components/Table/types/PayloadTableHeadProps.cjs.map +1 -0
  97. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.cts +6 -0
  98. package/dist/browser/components/Table/types/PayloadTableHeadProps.d.cts.map +1 -0
  99. package/dist/browser/components/Table/types/index.cjs +19 -0
  100. package/dist/{node/components/Table/types/index.mjs.map → browser/components/Table/types/index.cjs.map} +1 -1
  101. package/dist/browser/components/Table/types/index.d.cts +5 -0
  102. package/dist/browser/components/Table/types/index.d.cts.map +1 -0
  103. package/dist/browser/components/Table/types/index.js +0 -4
  104. package/dist/browser/components/Table/types/index.js.map +1 -1
  105. package/dist/browser/components/index.cjs +589 -0
  106. package/dist/browser/components/index.cjs.map +1 -0
  107. package/dist/browser/components/index.d.cts +3 -0
  108. package/dist/browser/components/index.d.cts.map +1 -0
  109. package/dist/browser/components/index.js +586 -2
  110. package/dist/browser/components/index.js.map +1 -1
  111. package/dist/browser/index.cjs +589 -0
  112. package/dist/browser/index.cjs.map +1 -0
  113. package/dist/browser/index.d.cts +2 -0
  114. package/dist/browser/index.d.cts.map +1 -0
  115. package/dist/browser/index.js +586 -1
  116. package/dist/browser/index.js.map +1 -1
  117. package/dist/docs.json +4590 -0
  118. package/dist/node/components/DynamicTable/DynamicTableRow.cjs +135 -0
  119. package/dist/node/components/DynamicTable/DynamicTableRow.cjs.map +1 -0
  120. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts +15 -0
  121. package/dist/node/components/DynamicTable/DynamicTableRow.d.cts.map +1 -0
  122. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts +3 -1
  123. package/dist/node/components/DynamicTable/DynamicTableRow.d.mts.map +1 -1
  124. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts +3 -1
  125. package/dist/node/components/DynamicTable/DynamicTableRow.d.ts.map +1 -1
  126. package/dist/node/components/DynamicTable/DynamicTableRow.js +77 -56
  127. package/dist/node/components/DynamicTable/DynamicTableRow.js.map +1 -1
  128. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs +64 -0
  129. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.cjs.map +1 -0
  130. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts +16 -0
  131. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.d.cts.map +1 -0
  132. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js +4 -27
  133. package/dist/node/components/DynamicTable/PayloadDynamicTableColumnConfig.js.map +1 -1
  134. package/dist/node/components/DynamicTable/Table.cjs +249 -0
  135. package/dist/node/components/DynamicTable/Table.cjs.map +1 -0
  136. package/dist/node/components/DynamicTable/Table.d.cts +14 -0
  137. package/dist/node/components/DynamicTable/Table.d.cts.map +1 -0
  138. package/dist/node/components/DynamicTable/Table.js +163 -61
  139. package/dist/node/components/DynamicTable/Table.js.map +1 -1
  140. package/dist/node/components/DynamicTable/index.cjs +253 -0
  141. package/dist/node/components/DynamicTable/index.cjs.map +1 -0
  142. package/dist/node/components/DynamicTable/index.d.cts +4 -0
  143. package/dist/node/components/DynamicTable/index.d.cts.map +1 -0
  144. package/dist/node/components/DynamicTable/index.js +239 -25
  145. package/dist/node/components/DynamicTable/index.js.map +1 -1
  146. package/dist/node/components/Table/PayloadTableColumnConfig.cjs +45 -0
  147. package/dist/node/components/Table/PayloadTableColumnConfig.cjs.map +1 -0
  148. package/dist/node/components/Table/PayloadTableColumnConfig.d.cts +11 -0
  149. package/dist/node/components/Table/PayloadTableColumnConfig.d.cts.map +1 -0
  150. package/dist/node/components/Table/PayloadTableColumnConfig.js +5 -29
  151. package/dist/node/components/Table/PayloadTableColumnConfig.js.map +1 -1
  152. package/dist/node/components/Table/Table.cjs +375 -0
  153. package/dist/node/components/Table/Table.cjs.map +1 -0
  154. package/dist/node/components/Table/Table.d.cts +26 -0
  155. package/dist/node/components/Table/Table.d.cts.map +1 -0
  156. package/dist/node/components/Table/Table.js +277 -50
  157. package/dist/node/components/Table/Table.js.map +1 -1
  158. package/dist/node/components/Table/TableBody.cjs +157 -0
  159. package/dist/node/components/Table/TableBody.cjs.map +1 -0
  160. package/dist/node/components/Table/TableBody.d.cts +4 -0
  161. package/dist/node/components/Table/TableBody.d.cts.map +1 -0
  162. package/dist/node/components/Table/TableBody.js +100 -41
  163. package/dist/node/components/Table/TableBody.js.map +1 -1
  164. package/dist/node/components/Table/TableFooter.cjs +115 -0
  165. package/dist/node/components/Table/TableFooter.cjs.map +1 -0
  166. package/dist/node/components/Table/TableFooter.d.cts +4 -0
  167. package/dist/node/components/Table/TableFooter.d.cts.map +1 -0
  168. package/dist/node/components/Table/TableFooter.js +58 -34
  169. package/dist/node/components/Table/TableFooter.js.map +1 -1
  170. package/dist/node/components/Table/TableHead.cjs +57 -0
  171. package/dist/node/components/Table/TableHead.cjs.map +1 -0
  172. package/dist/node/components/Table/TableHead.d.cts +4 -0
  173. package/dist/node/components/Table/TableHead.d.cts.map +1 -0
  174. package/dist/node/components/Table/TableHead.js +26 -32
  175. package/dist/node/components/Table/TableHead.js.map +1 -1
  176. package/dist/node/components/Table/TablePagination.cjs +74 -0
  177. package/dist/node/components/Table/TablePagination.cjs.map +1 -0
  178. package/dist/node/components/Table/TablePagination.d.cts +11 -0
  179. package/dist/node/components/Table/TablePagination.d.cts.map +1 -0
  180. package/dist/node/components/Table/TablePagination.js +22 -43
  181. package/dist/node/components/Table/TablePagination.js.map +1 -1
  182. package/dist/node/components/Table/TableRow.cjs +105 -0
  183. package/dist/node/components/Table/TableRow.cjs.map +1 -0
  184. package/dist/node/components/Table/TableRow.d.cts +14 -0
  185. package/dist/node/components/Table/TableRow.d.cts.map +1 -0
  186. package/dist/node/components/Table/TableRow.js +43 -50
  187. package/dist/node/components/Table/TableRow.js.map +1 -1
  188. package/dist/node/components/Table/TableRowNoData.cjs +44 -0
  189. package/dist/node/components/Table/TableRowNoData.cjs.map +1 -0
  190. package/dist/node/components/Table/TableRowNoData.d.cts +9 -0
  191. package/dist/node/components/Table/TableRowNoData.d.cts.map +1 -0
  192. package/dist/node/components/Table/TableRowNoData.js +10 -33
  193. package/dist/node/components/Table/TableRowNoData.js.map +1 -1
  194. package/dist/node/components/Table/index.cjs +385 -0
  195. package/dist/node/components/Table/index.cjs.map +1 -0
  196. package/dist/node/components/Table/index.d.cts +7 -0
  197. package/dist/node/components/Table/index.d.cts.map +1 -0
  198. package/dist/node/components/Table/index.js +353 -30
  199. package/dist/node/components/Table/index.js.map +1 -1
  200. package/dist/node/components/Table/types/PaginationEventNouns.cjs +19 -0
  201. package/dist/node/components/Table/types/PaginationEventNouns.cjs.map +1 -0
  202. package/dist/node/components/Table/types/PaginationEventNouns.d.cts +2 -0
  203. package/dist/node/components/Table/types/PaginationEventNouns.d.cts.map +1 -0
  204. package/dist/node/components/Table/types/PaginationEventNouns.js +0 -16
  205. package/dist/node/components/Table/types/PaginationEventNouns.js.map +1 -1
  206. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs +19 -0
  207. package/dist/node/components/Table/types/PayloadTableBodyProps.cjs.map +1 -0
  208. package/dist/node/components/Table/types/PayloadTableBodyProps.d.cts +15 -0
  209. package/dist/node/components/Table/types/PayloadTableBodyProps.d.cts.map +1 -0
  210. package/dist/node/components/Table/types/PayloadTableBodyProps.js +0 -16
  211. package/dist/node/components/Table/types/PayloadTableBodyProps.js.map +1 -1
  212. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs +19 -0
  213. package/dist/node/components/Table/types/PayloadTableFooterProps.cjs.map +1 -0
  214. package/dist/node/components/Table/types/PayloadTableFooterProps.d.cts +13 -0
  215. package/dist/node/components/Table/types/PayloadTableFooterProps.d.cts.map +1 -0
  216. package/dist/node/components/Table/types/PayloadTableFooterProps.js +0 -16
  217. package/dist/node/components/Table/types/PayloadTableFooterProps.js.map +1 -1
  218. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs +19 -0
  219. package/dist/node/components/Table/types/PayloadTableHeadProps.cjs.map +1 -0
  220. package/dist/node/components/Table/types/PayloadTableHeadProps.d.cts +6 -0
  221. package/dist/node/components/Table/types/PayloadTableHeadProps.d.cts.map +1 -0
  222. package/dist/node/components/Table/types/PayloadTableHeadProps.js +0 -16
  223. package/dist/node/components/Table/types/PayloadTableHeadProps.js.map +1 -1
  224. package/dist/node/components/Table/types/index.cjs +19 -0
  225. package/dist/node/components/Table/types/index.cjs.map +1 -0
  226. package/dist/node/components/Table/types/index.d.cts +5 -0
  227. package/dist/node/components/Table/types/index.d.cts.map +1 -0
  228. package/dist/node/components/Table/types/index.js +0 -28
  229. package/dist/node/components/Table/types/index.js.map +1 -1
  230. package/dist/node/components/index.cjs +610 -0
  231. package/dist/node/components/index.cjs.map +1 -0
  232. package/dist/node/components/index.d.cts +3 -0
  233. package/dist/node/components/index.d.cts.map +1 -0
  234. package/dist/node/components/index.js +593 -23
  235. package/dist/node/components/index.js.map +1 -1
  236. package/dist/node/index.cjs +610 -0
  237. package/dist/node/index.cjs.map +1 -0
  238. package/dist/node/index.d.cts +2 -0
  239. package/dist/node/index.d.cts.map +1 -0
  240. package/dist/node/index.js +593 -21
  241. package/dist/node/index.js.map +1 -1
  242. package/package.json +29 -29
  243. package/src/components/DynamicTable/DynamicTableRow.tsx +1 -1
  244. package/dist/browser/components/DynamicTable/DynamicTable.stories.js +0 -71
  245. package/dist/browser/components/DynamicTable/DynamicTable.stories.js.map +0 -1
  246. package/dist/browser/components/Table/FetchMoreTable.stories.js +0 -71
  247. package/dist/browser/components/Table/FetchMoreTable.stories.js.map +0 -1
  248. package/dist/browser/components/Table/Table.stories.js +0 -80
  249. package/dist/browser/components/Table/Table.stories.js.map +0 -1
  250. package/dist/node/components/DynamicTable/DynamicTable.stories.js +0 -91
  251. package/dist/node/components/DynamicTable/DynamicTable.stories.js.map +0 -1
  252. package/dist/node/components/DynamicTable/DynamicTable.stories.mjs +0 -71
  253. package/dist/node/components/DynamicTable/DynamicTable.stories.mjs.map +0 -1
  254. package/dist/node/components/DynamicTable/DynamicTableRow.mjs +0 -75
  255. package/dist/node/components/DynamicTable/DynamicTableRow.mjs.map +0 -1
  256. package/dist/node/components/DynamicTable/Table.mjs +0 -128
  257. package/dist/node/components/DynamicTable/Table.mjs.map +0 -1
  258. package/dist/node/components/DynamicTable/index.mjs +0 -4
  259. package/dist/node/components/DynamicTable/index.mjs.map +0 -1
  260. package/dist/node/components/Table/FetchMoreTable.stories.js +0 -95
  261. package/dist/node/components/Table/FetchMoreTable.stories.js.map +0 -1
  262. package/dist/node/components/Table/FetchMoreTable.stories.mjs +0 -71
  263. package/dist/node/components/Table/FetchMoreTable.stories.mjs.map +0 -1
  264. package/dist/node/components/Table/PayloadTableColumnConfig.mjs +0 -18
  265. package/dist/node/components/Table/Table.mjs +0 -101
  266. package/dist/node/components/Table/Table.mjs.map +0 -1
  267. package/dist/node/components/Table/Table.stories.js +0 -110
  268. package/dist/node/components/Table/Table.stories.js.map +0 -1
  269. package/dist/node/components/Table/Table.stories.mjs +0 -80
  270. package/dist/node/components/Table/Table.stories.mjs.map +0 -1
  271. package/dist/node/components/Table/TableBody.mjs +0 -53
  272. package/dist/node/components/Table/TableBody.mjs.map +0 -1
  273. package/dist/node/components/Table/TableFooter.mjs +0 -42
  274. package/dist/node/components/Table/TableFooter.mjs.map +0 -1
  275. package/dist/node/components/Table/TableHead.mjs +0 -14
  276. package/dist/node/components/Table/TableHead.mjs.map +0 -1
  277. package/dist/node/components/Table/TablePagination.mjs +0 -46
  278. package/dist/node/components/Table/TableRow.mjs +0 -71
  279. package/dist/node/components/Table/TableRow.mjs.map +0 -1
  280. package/dist/node/components/Table/TableRowNoData.mjs +0 -18
  281. package/dist/node/components/Table/index.mjs +0 -7
  282. package/dist/node/components/Table/index.mjs.map +0 -1
  283. package/dist/node/components/Table/types/PaginationEventNouns.mjs +0 -1
  284. package/dist/node/components/Table/types/PaginationEventNouns.mjs.map +0 -1
  285. package/dist/node/components/Table/types/PayloadTableBodyProps.mjs +0 -1
  286. package/dist/node/components/Table/types/PayloadTableBodyProps.mjs.map +0 -1
  287. package/dist/node/components/Table/types/PayloadTableFooterProps.mjs +0 -1
  288. package/dist/node/components/Table/types/PayloadTableFooterProps.mjs.map +0 -1
  289. package/dist/node/components/Table/types/PayloadTableHeadProps.mjs +0 -1
  290. package/dist/node/components/Table/types/PayloadTableHeadProps.mjs.map +0 -1
  291. package/dist/node/components/Table/types/index.mjs +0 -5
  292. package/dist/node/components/index.mjs +0 -3
  293. package/dist/node/components/index.mjs.map +0 -1
  294. package/dist/node/index.mjs +0 -2
  295. package/dist/node/index.mjs.map +0 -1
@@ -1,3 +1,587 @@
1
- export * from "./DynamicTable";
2
- export * from "./Table";
1
+ // src/components/DynamicTable/DynamicTableRow.tsx
2
+ import {
3
+ CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon,
4
+ ErrorOutlineRounded as ErrorOutlineRoundedIcon,
5
+ WarningAmberRounded as WarningAmberRoundedIcon
6
+ } from "@mui/icons-material";
7
+ import { TableCell, TableRow, Typography } from "@mui/material";
8
+ import { usePromise } from "@xylabs/react-promise";
9
+ import { useBreakpoint } from "@xylabs/react-shared";
10
+ import { PayloadHasher } from "@xyo-network/hash";
11
+ import { PayloadValidator } from "@xyo-network/payload-validator";
12
+ import { useNetwork } from "@xyo-network/react-network";
13
+ import { usePayloadRenderPluginResolver } from "@xyo-network/react-payload-plugin-resolver";
14
+ import { HashTableCell, usePayloadHash } from "@xyo-network/react-shared";
15
+
16
+ // src/components/DynamicTable/PayloadDynamicTableColumnConfig.ts
17
+ var payloadDynamicTableColumnConfigDefaults = () => {
18
+ const xs = [
19
+ { alignment: "left", name: "Hash", slug: "hash", width: "100%" },
20
+ { alignment: "left", name: "Schema", slug: "schema", width: "50px" },
21
+ { alignment: "left", name: "Valid", slug: "valid", width: "50px" }
22
+ ];
23
+ const sm = [
24
+ { alignment: "left", name: "Icon", slug: "icon", width: "50px" },
25
+ { alignment: "left", name: "Hash", slug: "hash", width: "100%" },
26
+ { alignment: "left", name: "Schema", slug: "schema", width: "50px" },
27
+ { alignment: "left", name: "Valid", slug: "valid", width: "50px" }
28
+ ];
29
+ const md = [
30
+ { alignment: "left", name: "Icon", slug: "icon", width: "50px" },
31
+ { alignment: "left", name: "Hash", slug: "hash", width: "100%" },
32
+ { alignment: "left", name: "Schema", slug: "schema", width: "50px" },
33
+ { alignment: "left", name: "Valid", slug: "valid", width: "50px" }
34
+ ];
35
+ const lg = [
36
+ { alignment: "left", name: "Icon", slug: "icon", width: "50px" },
37
+ { alignment: "left", name: "Hash", slug: "hash", width: "100%" },
38
+ { alignment: "left", name: "Schema", slug: "schema", width: "50px" },
39
+ { alignment: "left", name: "Render", slug: "render", width: "50px" },
40
+ { alignment: "left", name: "Valid", slug: "valid", width: "50px" }
41
+ ];
42
+ const xl = [
43
+ { alignment: "left", name: "Icon", slug: "icon", width: "50px" },
44
+ { alignment: "left", name: "Hash", slug: "hash", width: "100%" },
45
+ { alignment: "left", name: "Schema", slug: "schema", width: "50px" },
46
+ { alignment: "left", name: "Render", slug: "render", width: "50px" },
47
+ { alignment: "left", name: "Valid", slug: "valid", width: "50px" }
48
+ ];
49
+ return { lg, md, sm, xl, xs };
50
+ };
51
+
52
+ // src/components/DynamicTable/DynamicTableRow.tsx
53
+ import { jsx } from "react/jsx-runtime";
54
+ var PayloadDynamicTableRow = ({
55
+ archive,
56
+ columns = payloadDynamicTableColumnConfigDefaults(),
57
+ exploreDomain,
58
+ network: networkProp,
59
+ payload,
60
+ ...props
61
+ }) => {
62
+ const breakPoint = useBreakpoint();
63
+ const payloadHash = usePayloadHash(payload);
64
+ const { network } = useNetwork();
65
+ const { resolver } = usePayloadRenderPluginResolver();
66
+ const [validationErrors = []] = usePromise(async () => payload ? await new PayloadValidator(payload).validate() : void 0, [payload]);
67
+ const isValid = validationErrors.length === 0;
68
+ const payloadFieldCount = payload ? Object.keys(PayloadHasher.hashFields(payload)).length : 0;
69
+ const hash = (props2) => /* @__PURE__ */ jsx(
70
+ HashTableCell,
71
+ {
72
+ align: "left",
73
+ archive,
74
+ value: payloadHash,
75
+ dataType: "payload",
76
+ exploreDomain,
77
+ network: networkProp ?? network?.slug,
78
+ ...props2
79
+ },
80
+ "hash"
81
+ );
82
+ const schema = (props2) => /* @__PURE__ */ jsx(TableCell, { align: "left", ...props2, children: /* @__PURE__ */ jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: payload?.schema }) }, "payloads");
83
+ const details = (props2) => /* @__PURE__ */ jsx(TableCell, { align: "left", ...props2, children: /* @__PURE__ */ jsx(Typography, { fontFamily: "monospace", variant: "body2", noWrap: true, children: payloadFieldCount }) }, "payloads");
84
+ const render = (props2) => {
85
+ const Render = payload ? resolver?.resolve(payload)?.components.table.cell : void 0;
86
+ return Render ? /* @__PURE__ */ jsx(Render, { payload, ...props2 }) : /* @__PURE__ */ jsx(TableCell, { align: "left", ...props2 }, "payloads");
87
+ };
88
+ const icon = (props2) => {
89
+ const Avatar = payload ? resolver?.resolve(payload)?.components.avatar.image : void 0;
90
+ return /* @__PURE__ */ jsx(TableCell, { align: "left", ...props2, children: Avatar ? /* @__PURE__ */ jsx(Avatar, { payload }) : null }, "payloads");
91
+ };
92
+ 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" }) : (
93
+ //nbsp to keep row height consistent even when no data is provided for the row
94
+ /* @__PURE__ */ jsx(Typography, { children: " \xA0" })
95
+ ) }, "valid");
96
+ const tableCells = {
97
+ details,
98
+ hash,
99
+ icon,
100
+ render,
101
+ schema,
102
+ valid
103
+ };
104
+ return breakPoint ? /* @__PURE__ */ jsx(TableRow, { style: { maxWidth: "100vw" }, ...props, children: columns[breakPoint]?.map((column) => {
105
+ return column.slug ? tableCells[column.slug]({}) : null;
106
+ }) }) : null;
107
+ };
108
+
109
+ // src/components/DynamicTable/Table.tsx
110
+ import { FirstPage as FirstPageIcon, KeyboardArrowLeft, KeyboardArrowRight, LastPage as LastPageIcon } from "@mui/icons-material";
111
+ import {
112
+ Alert,
113
+ Box,
114
+ IconButton,
115
+ Table,
116
+ TableBody,
117
+ TableCell as TableCell2,
118
+ TableFooter,
119
+ TableHead,
120
+ TablePagination,
121
+ TableRow as TableRow2,
122
+ Typography as Typography2,
123
+ useTheme
124
+ } from "@mui/material";
125
+ import { useBreakpoint as useBreakpoint2 } from "@xylabs/react-shared";
126
+ import { ThrownErrorBoundary } from "@xyo-network/react-error";
127
+ import { usePayloadHashes } from "@xyo-network/react-shared";
128
+ import { useEffect, useMemo, useState } from "react";
129
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
130
+ function TablePaginationActions(props) {
131
+ const theme = useTheme();
132
+ const { count, page, rowsPerPage, onPageChange } = props;
133
+ const handleFirstPageButtonClick = (event) => {
134
+ onPageChange(event, 0);
135
+ };
136
+ const handleBackButtonClick = (event) => {
137
+ onPageChange(event, page - 1);
138
+ };
139
+ const handleNextButtonClick = (event) => {
140
+ onPageChange(event, page + 1);
141
+ };
142
+ const handleLastPageButtonClick = (event) => {
143
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
144
+ };
145
+ return /* @__PURE__ */ jsxs(Box, { sx: { flexShrink: 0, ml: 2.5 }, children: [
146
+ /* @__PURE__ */ jsx2(IconButton, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx2(LastPageIcon, {}) : /* @__PURE__ */ jsx2(FirstPageIcon, {}) }),
147
+ /* @__PURE__ */ jsx2(IconButton, { onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx2(KeyboardArrowRight, {}) : /* @__PURE__ */ jsx2(KeyboardArrowLeft, {}) }),
148
+ /* @__PURE__ */ jsx2(IconButton, { onClick: handleNextButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "next page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx2(KeyboardArrowLeft, {}) : /* @__PURE__ */ jsx2(KeyboardArrowRight, {}) }),
149
+ /* @__PURE__ */ jsx2(IconButton, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx2(FirstPageIcon, {}) : /* @__PURE__ */ jsx2(LastPageIcon, {}) })
150
+ ] });
151
+ }
152
+ var PayloadDynamicTable = ({
153
+ archive,
154
+ children,
155
+ columns = payloadDynamicTableColumnConfigDefaults(),
156
+ exploreDomain,
157
+ onRowClick,
158
+ rowsPerPage: rowsPerPageProp = 10,
159
+ payloads,
160
+ ...props
161
+ }) => {
162
+ const breakPoint = useBreakpoint2();
163
+ const [page, setPage] = useState(0);
164
+ const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageProp);
165
+ const payloadCount = payloads ? payloads.length : 0;
166
+ const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0;
167
+ const pagedPayloads = useMemo(() => payloads?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage), [payloads, page, rowsPerPage]);
168
+ const payloadPairs = usePayloadHashes(pagedPayloads);
169
+ useEffect(() => {
170
+ setRowsPerPage(rowsPerPageProp);
171
+ }, [rowsPerPageProp]);
172
+ const handleChangePage = (event, newPage) => {
173
+ setPage(newPage);
174
+ };
175
+ const handleChangeRowsPerPage = (event) => {
176
+ setRowsPerPage(parseInt(event.target.value, 10));
177
+ setPage(0);
178
+ };
179
+ return breakPoint ? /* @__PURE__ */ jsxs(Table, { stickyHeader: true, ...props, children: [
180
+ /* @__PURE__ */ jsx2(TableHead, { children: /* @__PURE__ */ jsx2(TableRow2, { children: columns[breakPoint]?.map((column, index) => {
181
+ return /* @__PURE__ */ jsx2(TableCell2, { align: column.alignment ?? "left", width: column.width, children: /* @__PURE__ */ jsx2(Typography2, { variant: "body2", noWrap: true, children: column.name }) }, index);
182
+ }) }) }),
183
+ /* @__PURE__ */ jsxs(TableBody, { sx: { overflowY: "scroll " }, children: [
184
+ payloadPairs?.map(([payload, hash], index) => {
185
+ return /* @__PURE__ */ jsx2(
186
+ ThrownErrorBoundary,
187
+ {
188
+ boundaryName: "PayloadTableBody",
189
+ errorComponent: (e) => /* @__PURE__ */ jsxs(Alert, { severity: "error", children: [
190
+ "Error Loading Payload: ",
191
+ /* @__PURE__ */ jsx2(Typography2, { fontWeight: "bold", children: e.message })
192
+ ] }),
193
+ children: /* @__PURE__ */ jsx2(
194
+ PayloadDynamicTableRow,
195
+ {
196
+ archive,
197
+ onClick: onRowClick ? () => {
198
+ onRowClick(payload);
199
+ } : void 0,
200
+ exploreDomain,
201
+ payload
202
+ }
203
+ )
204
+ },
205
+ `${hash}-${index}`
206
+ );
207
+ }),
208
+ children,
209
+ emptyRows > 0 && Array(emptyRows).fill(/* @__PURE__ */ jsx2(PayloadDynamicTableRow, {}))
210
+ ] }),
211
+ /* @__PURE__ */ jsx2(TableFooter, { children: /* @__PURE__ */ jsx2(TableRow2, { children: /* @__PURE__ */ jsx2(
212
+ TablePagination,
213
+ {
214
+ rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
215
+ colSpan: 5,
216
+ count: payloadCount,
217
+ rowsPerPage,
218
+ page,
219
+ SelectProps: {
220
+ inputProps: {
221
+ "aria-label": "rows per page"
222
+ },
223
+ native: true
224
+ },
225
+ onPageChange: handleChangePage,
226
+ onRowsPerPageChange: handleChangeRowsPerPage,
227
+ ActionsComponent: TablePaginationActions
228
+ }
229
+ ) }) })
230
+ ] }) : null;
231
+ };
232
+
233
+ // src/components/Table/PayloadTableColumnConfig.ts
234
+ var payloadColumnNames = {
235
+ hash: "Hash",
236
+ schema: "Schema",
237
+ valid: "Valid"
238
+ };
239
+ var payloadTableColumnConfigDefaults = () => {
240
+ const xs = ["hash", "schema", "valid"];
241
+ const sm = ["hash", "schema", "valid"];
242
+ const md = ["hash", "schema", "valid"];
243
+ const lg = ["hash", "schema", "valid"];
244
+ const xl = ["hash", "schema", "valid"];
245
+ return { lg, md, sm, xl, xs };
246
+ };
247
+
248
+ // src/components/Table/Table.tsx
249
+ import { TableEx } from "@xyo-network/react-table";
250
+ import { forwardRef, useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
251
+
252
+ // src/components/Table/TableBody.tsx
253
+ import { Alert as Alert2, TableBody as TableBody2, Typography as Typography4 } from "@mui/material";
254
+ import { ThrownErrorBoundary as ThrownErrorBoundary2 } from "@xyo-network/react-error";
255
+ import { usePayloadHashes as usePayloadHashes2 } from "@xyo-network/react-shared";
256
+
257
+ // src/components/Table/TableRow.tsx
258
+ import {
259
+ CheckCircleOutlineRounded as CheckCircleOutlineRoundedIcon2,
260
+ ErrorOutlineRounded as ErrorOutlineRoundedIcon2,
261
+ WarningAmberRounded as WarningAmberRoundedIcon2
262
+ } from "@mui/icons-material";
263
+ import { alpha, TableCell as TableCell3, TableRow as TableRow3, Typography as Typography3 } from "@mui/material";
264
+ import { usePromise as usePromise2 } from "@xylabs/react-promise";
265
+ import { useBreakpoint as useBreakpoint3 } from "@xylabs/react-shared";
266
+ import { PayloadValidator as PayloadValidator2 } from "@xyo-network/payload-validator";
267
+ import { useNetwork as useNetwork2 } from "@xyo-network/react-network";
268
+ import { HashTableCell as HashTableCell2, usePayloadHash as usePayloadHash2 } from "@xyo-network/react-shared";
269
+ import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
270
+ var PayloadTableRow = ({
271
+ archive,
272
+ columns = payloadTableColumnConfigDefaults(),
273
+ exploreDomain,
274
+ maxSchemaDepth,
275
+ network: networkProp,
276
+ payload,
277
+ ...props
278
+ }) => {
279
+ const breakPoint = useBreakpoint3();
280
+ const payloadHash = usePayloadHash2(payload);
281
+ const { network } = useNetwork2();
282
+ const [errors = []] = usePromise2(async () => payload ? await new PayloadValidator2(payload).validate() : void 0, [payload]);
283
+ const isValid = errors.length === 0;
284
+ const hash = (props2) => /* @__PURE__ */ jsx3(
285
+ HashTableCell2,
286
+ {
287
+ archive,
288
+ width: "100%",
289
+ value: payloadHash,
290
+ dataType: "payload",
291
+ exploreDomain,
292
+ network: networkProp ?? network?.slug,
293
+ ...props2
294
+ },
295
+ "hash"
296
+ );
297
+ const reduceSchemaDepth = (schema2, maxSchemaDepth2) => {
298
+ if (maxSchemaDepth2) {
299
+ const parts = schema2?.split(".") ?? [];
300
+ const partsToRemove = parts.length - maxSchemaDepth2 > 0 ? parts.length - maxSchemaDepth2 : 0;
301
+ if (partsToRemove > 0) {
302
+ return /* @__PURE__ */ jsxs2(Fragment, { children: [
303
+ /* @__PURE__ */ jsx3(Fragment, { children: "\u2026" }),
304
+ `${parts.slice(partsToRemove).reduce((previousValue, part) => `${previousValue}.${part}`)}`
305
+ ] });
306
+ }
307
+ }
308
+ return schema2;
309
+ };
310
+ const schema = (props2) => /* @__PURE__ */ jsx3(TableCell3, { title: payload?.schema, align: "center", ...props2, children: /* @__PURE__ */ jsx3(Typography3, { fontFamily: "monospace", variant: "body2", noWrap: true, children: reduceSchemaDepth(payload?.schema, maxSchemaDepth) }) }, "payloads");
311
+ const valid = (props2) => /* @__PURE__ */ jsx3(TableCell3, { align: "center", ...props2, children: isValid === void 0 && payload != void 0 ? /* @__PURE__ */ jsx3(WarningAmberRoundedIcon2, { fontSize: "small", color: "warning" }) : isValid === true ? /* @__PURE__ */ jsx3(CheckCircleOutlineRoundedIcon2, { fontSize: "small", color: "success" }) : isValid === false ? /* @__PURE__ */ jsx3(ErrorOutlineRoundedIcon2, { color: "error", fontSize: "small" }) : (
312
+ //to keep row height consistent when no data provided, may need fix later
313
+ /* @__PURE__ */ jsx3(ErrorOutlineRoundedIcon2, { sx: { color: alpha("#fff", 0) }, fontSize: "small" })
314
+ ) }, "valid");
315
+ const tableCells = {
316
+ hash,
317
+ schema,
318
+ valid
319
+ };
320
+ return breakPoint ? /* @__PURE__ */ jsx3(TableRow3, { style: { maxWidth: "100vw" }, ...props, children: columns[breakPoint]?.map((column) => {
321
+ return tableCells[column]({});
322
+ }) }) : null;
323
+ };
324
+
325
+ // src/components/Table/TableBody.tsx
326
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
327
+ var PayloadTableBody = ({
328
+ children,
329
+ exploreDomain,
330
+ payloads,
331
+ archive,
332
+ maxSchemaDepth,
333
+ onRowClick,
334
+ emptyRows,
335
+ noResults,
336
+ NoResultRowComponent,
337
+ ...props
338
+ }) => {
339
+ const payloadPairs = usePayloadHashes2(payloads);
340
+ return /* @__PURE__ */ jsxs3(TableBody2, { ...props, children: [
341
+ noResults && NoResultRowComponent ? /* @__PURE__ */ jsx4(NoResultRowComponent, {}) : null,
342
+ payloadPairs?.map(([payload, hash], index) => {
343
+ return /* @__PURE__ */ jsx4(
344
+ ThrownErrorBoundary2,
345
+ {
346
+ boundaryName: "PayloadTableBody",
347
+ errorComponent: (e) => /* @__PURE__ */ jsxs3(Alert2, { severity: "error", children: [
348
+ "Error Loading Payload: ",
349
+ /* @__PURE__ */ jsx4(Typography4, { fontWeight: "bold", children: e.message })
350
+ ] }),
351
+ children: /* @__PURE__ */ jsx4(
352
+ PayloadTableRow,
353
+ {
354
+ maxSchemaDepth,
355
+ archive,
356
+ onClick: onRowClick ? () => {
357
+ onRowClick(payload);
358
+ } : void 0,
359
+ exploreDomain,
360
+ payload
361
+ }
362
+ )
363
+ },
364
+ `${hash}-${index}`
365
+ );
366
+ }),
367
+ children,
368
+ (emptyRows ?? 0) > 0 && Array(emptyRows).fill(/* @__PURE__ */ jsx4(PayloadTableRow, {}))
369
+ ] });
370
+ };
371
+
372
+ // src/components/Table/TableFooter.tsx
373
+ import { styled, TablePagination as TablePagination2, TableRow as TableRow4 } from "@mui/material";
374
+ import { TableFooterEx } from "@xyo-network/react-table";
375
+
376
+ // src/components/Table/TablePagination.tsx
377
+ import { FirstPage as FirstPageIcon2, KeyboardArrowLeft as KeyboardArrowLeft2, KeyboardArrowRight as KeyboardArrowRight2, LastPage as LastPageIcon2 } from "@mui/icons-material";
378
+ import { Box as Box2, CircularProgress, IconButton as IconButton2, useTheme as useTheme2 } from "@mui/material";
379
+ import { useEvent } from "@xyo-network/react-event";
380
+ import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
381
+ function TablePaginationActions2({ count, enableNextPage, loading, onPageChange, page, rowsPerPage }) {
382
+ const theme = useTheme2();
383
+ const [paginationRef, paginationDispatch] = useEvent();
384
+ const handleFirstPageButtonClick = (event) => {
385
+ paginationDispatch("firstPage", "click", "true");
386
+ onPageChange(event, 0);
387
+ };
388
+ const handleBackButtonClick = (event) => {
389
+ paginationDispatch("previousPage", "click", (page - 1)?.toString());
390
+ onPageChange(event, page - 1);
391
+ };
392
+ const handleNextButtonClick = (event) => {
393
+ paginationDispatch("nextPage", "click", (page + 1)?.toString());
394
+ onPageChange(event, page + 1);
395
+ };
396
+ const handleLastPageButtonClick = (event) => {
397
+ paginationDispatch("lastPage", "click", "true");
398
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
399
+ };
400
+ return /* @__PURE__ */ jsxs4(Fragment2, { children: [
401
+ loading ? /* @__PURE__ */ jsx5(CircularProgress, { size: "small", sx: { height: theme.spacing(2), position: "absolute", width: theme.spacing(2) } }) : null,
402
+ /* @__PURE__ */ jsxs4(Box2, { sx: { flexShrink: 0, ml: 2.5 }, children: [
403
+ /* @__PURE__ */ jsx5(IconButton2, { onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx5(LastPageIcon2, {}) : /* @__PURE__ */ jsx5(FirstPageIcon2, {}) }),
404
+ /* @__PURE__ */ jsx5(IconButton2, { ref: paginationRef, onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx5(KeyboardArrowRight2, {}) : /* @__PURE__ */ jsx5(KeyboardArrowLeft2, {}) }),
405
+ /* @__PURE__ */ jsx5(
406
+ IconButton2,
407
+ {
408
+ ref: paginationRef,
409
+ onClick: handleNextButtonClick,
410
+ disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1,
411
+ "aria-label": "next page",
412
+ children: theme.direction === "rtl" ? /* @__PURE__ */ jsx5(KeyboardArrowLeft2, {}) : /* @__PURE__ */ jsx5(KeyboardArrowRight2, {})
413
+ }
414
+ ),
415
+ /* @__PURE__ */ jsx5(IconButton2, { onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page", children: theme.direction === "rtl" ? /* @__PURE__ */ jsx5(FirstPageIcon2, {}) : /* @__PURE__ */ jsx5(LastPageIcon2, {}) })
416
+ ] })
417
+ ] });
418
+ }
419
+
420
+ // src/components/Table/TableFooter.tsx
421
+ import { jsx as jsx6 } from "react/jsx-runtime";
422
+ var PayloadTableFooter = ({
423
+ count,
424
+ variant,
425
+ page,
426
+ rowsPerPage,
427
+ handleChangePage = () => void 0,
428
+ handleChangeRowsPerPage = () => void 0,
429
+ fetchMorePayloads,
430
+ loading
431
+ }) => /* @__PURE__ */ jsx6(TableFooterEx, { variant, children: /* @__PURE__ */ jsx6(TableRow4, { children: /* @__PURE__ */ jsx6(
432
+ StyledTablePagination,
433
+ {
434
+ rowsPerPageOptions: [5, 10, 25, { label: "All", value: -1 }],
435
+ count: count ?? 0,
436
+ rowsPerPage: rowsPerPage ?? 10,
437
+ page: page ?? 0,
438
+ SelectProps: {
439
+ inputProps: {
440
+ "aria-label": "rows per page"
441
+ },
442
+ native: true
443
+ },
444
+ onPageChange: handleChangePage,
445
+ onRowsPerPageChange: handleChangeRowsPerPage,
446
+ ActionsComponent: (props) => /* @__PURE__ */ jsx6(TablePaginationActions2, { enableNextPage: !!fetchMorePayloads, loading, ...props })
447
+ }
448
+ ) }) });
449
+ var StyledTablePagination = styled(TablePagination2)(({ theme }) => ({
450
+ "& > .MuiToolbar-root": {
451
+ paddingLeft: theme.spacing(1)
452
+ },
453
+ borderTop: "1px solid",
454
+ borderTopColor: theme.palette.divider
455
+ }));
456
+
457
+ // src/components/Table/TableHead.tsx
458
+ import { TableCell as TableCell4, TableHead as TableHead2, TableRow as TableRow5, Typography as Typography5 } from "@mui/material";
459
+ import { useBreakpoint as useBreakpoint4 } from "@xylabs/react-shared";
460
+ import { jsx as jsx7 } from "react/jsx-runtime";
461
+ var PayloadTableHead = ({ columns = payloadTableColumnConfigDefaults(), ...props }) => {
462
+ const breakPoint = useBreakpoint4();
463
+ return /* @__PURE__ */ jsx7(TableHead2, { ...props, children: /* @__PURE__ */ jsx7(TableRow5, { children: breakPoint && columns ? columns[breakPoint]?.map((column, index) => {
464
+ return /* @__PURE__ */ jsx7(TableCell4, { width: index === 0 ? "100%" : void 0, align: index === 0 ? "left" : "center", children: /* @__PURE__ */ jsx7(Typography5, { variant: "body2", noWrap: true, children: payloadColumnNames[column] }) }, index);
465
+ }) : null }) });
466
+ };
467
+
468
+ // src/components/Table/TableRowNoData.tsx
469
+ import { styled as styled2, TableCell as TableCell5, TableRow as TableRow6, Typography as Typography6 } from "@mui/material";
470
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
471
+ var TableRowNoData = ({ additionalCells, hideBorder = false, typographyProps, ...props }) => {
472
+ return /* @__PURE__ */ jsxs5(TableRow6, { ...props, children: [
473
+ /* @__PURE__ */ jsx8(StyledTableCell, { hideBorder, children: /* @__PURE__ */ jsx8(Typography6, { variant: "body2", ...typographyProps, children: "No Data To Display..." }) }),
474
+ additionalCells ? Array(additionalCells).fill(void 0).map((_fill, index) => /* @__PURE__ */ jsx8(StyledTableCell, { hideBorder }, index)) : null
475
+ ] });
476
+ };
477
+ var StyledTableCell = styled2(TableCell5, {
478
+ name: "StyledTableCell",
479
+ shouldForwardProp: (prop) => prop !== "hideBorder"
480
+ })(({ hideBorder }) => ({
481
+ ...hideBorder && { border: "none" }
482
+ }));
483
+
484
+ // src/components/Table/Table.tsx
485
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
486
+ var PayloadTableWithRef = forwardRef(
487
+ ({
488
+ exploreDomain,
489
+ archive,
490
+ onRowClick,
491
+ fetchMorePayloads,
492
+ rowsPerPage: rowsPerPageProp = 25,
493
+ payloads,
494
+ columns,
495
+ PayloadTableHeadComponent = PayloadTableHead,
496
+ PayloadTableBodyComponent = PayloadTableBody,
497
+ PayloadTableFooterComponent = PayloadTableFooter,
498
+ maxSchemaDepth,
499
+ count = 0,
500
+ loading = false,
501
+ variant = "scrollable",
502
+ ...props
503
+ }, ref) => {
504
+ const [page, setPage] = useState2(0);
505
+ const [rowsPerPage, setRowsPerPage] = useState2(rowsPerPageProp);
506
+ const [visiblePayloads, setVisiblePayloads] = useState2([]);
507
+ const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0;
508
+ useEffect2(() => {
509
+ setRowsPerPage(rowsPerPageProp);
510
+ }, [rowsPerPageProp]);
511
+ useEffect2(() => {
512
+ if (payloads) {
513
+ setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage));
514
+ }
515
+ }, [count, page, payloads, rowsPerPage]);
516
+ useEffect2(() => {
517
+ setPage(0);
518
+ }, [payloads]);
519
+ const handleAdditionalPayloads = () => {
520
+ if (fetchMorePayloads && payloads) {
521
+ const buffer = rowsPerPage * 2;
522
+ const lastVisiblePayload = visiblePayloads?.at(-1);
523
+ if (lastVisiblePayload) {
524
+ const lastVisibleIndex = payloads?.indexOf(lastVisiblePayload);
525
+ if (lastVisibleIndex !== void 0 && payloads.length - (lastVisibleIndex + 1) <= buffer) {
526
+ fetchMorePayloads();
527
+ }
528
+ }
529
+ }
530
+ };
531
+ const handleChangePage = (_event, newPage) => {
532
+ handleAdditionalPayloads();
533
+ setPage(newPage);
534
+ };
535
+ const handleChangeRowsPerPage = (event) => {
536
+ setRowsPerPage(parseInt(event.target.value, 10));
537
+ setPage(0);
538
+ };
539
+ const noResults = useMemo2(() => {
540
+ return !loading && (!visiblePayloads || visiblePayloads.length === 0);
541
+ }, [loading, visiblePayloads]);
542
+ return /* @__PURE__ */ jsxs6(TableEx, { variant, ref, ...props, children: [
543
+ /* @__PURE__ */ jsx9(PayloadTableHeadComponent, { columns }),
544
+ /* @__PURE__ */ jsx9(
545
+ PayloadTableBodyComponent,
546
+ {
547
+ payloads: visiblePayloads,
548
+ exploreDomain,
549
+ archive,
550
+ maxSchemaDepth,
551
+ onRowClick,
552
+ emptyRows,
553
+ noResults,
554
+ NoResultRowComponent: TableRowNoData
555
+ }
556
+ ),
557
+ /* @__PURE__ */ jsx9(
558
+ PayloadTableFooterComponent,
559
+ {
560
+ count,
561
+ variant,
562
+ rowsPerPage,
563
+ handleChangePage,
564
+ handleChangeRowsPerPage,
565
+ fetchMorePayloads,
566
+ loading,
567
+ page
568
+ }
569
+ )
570
+ ] });
571
+ }
572
+ );
573
+ PayloadTableWithRef.displayName = "PayloadTable";
574
+ var PayloadTable = PayloadTableWithRef;
575
+ export {
576
+ PayloadDynamicTable,
577
+ PayloadDynamicTableRow,
578
+ PayloadTable,
579
+ PayloadTableRow,
580
+ PayloadTableWithRef,
581
+ TablePaginationActions2 as TablePaginationActions,
582
+ TableRowNoData,
583
+ payloadColumnNames,
584
+ payloadDynamicTableColumnConfigDefaults,
585
+ payloadTableColumnConfigDefaults
586
+ };
3
587
  //# sourceMappingURL=index.js.map