@burdenoff/microfe-assethandler 2026.510.104

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 (270) hide show
  1. package/README.md +12 -0
  2. package/dist/assethandler/AssetHandlerRoot.d.ts +5 -0
  3. package/dist/assethandler/AssetHandlerRoot.d.ts.map +1 -0
  4. package/dist/assethandler/AssetHandlerRoot.js +159 -0
  5. package/dist/assethandler/AssetHandlerRoot.js.map +1 -0
  6. package/dist/assethandler/AssetHandlerRoutes.d.ts +2 -0
  7. package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -0
  8. package/dist/assethandler/AssetHandlerRoutes.js +255 -0
  9. package/dist/assethandler/AssetHandlerRoutes.js.map +1 -0
  10. package/dist/assethandler/index.d.ts +5 -0
  11. package/dist/assethandler/index.d.ts.map +1 -0
  12. package/dist/assethandler/index.js +3 -0
  13. package/dist/assethandler/pages/AiPredictionsPage.d.ts +2 -0
  14. package/dist/assethandler/pages/AiPredictionsPage.d.ts.map +1 -0
  15. package/dist/assethandler/pages/AiPredictionsPage.js +133 -0
  16. package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -0
  17. package/dist/assethandler/pages/AnalyticsPage.d.ts +2 -0
  18. package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -0
  19. package/dist/assethandler/pages/AnalyticsPage.js +576 -0
  20. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -0
  21. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts +2 -0
  22. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -0
  23. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +162 -0
  24. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -0
  25. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts +2 -0
  26. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -0
  27. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +249 -0
  28. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -0
  29. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts +2 -0
  30. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -0
  31. package/dist/assethandler/pages/AssetsAssetCreatePage.js +323 -0
  32. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -0
  33. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts +2 -0
  34. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -0
  35. package/dist/assethandler/pages/AssetsAssetDetailPage.js +392 -0
  36. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -0
  37. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts +2 -0
  38. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts.map +1 -0
  39. package/dist/assethandler/pages/AssetsAssetEditPage.js +341 -0
  40. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -0
  41. package/dist/assethandler/pages/AssetsAssetListPage.d.ts +2 -0
  42. package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -0
  43. package/dist/assethandler/pages/AssetsAssetListPage.js +459 -0
  44. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -0
  45. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts +2 -0
  46. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts.map +1 -0
  47. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +166 -0
  48. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -0
  49. package/dist/assethandler/pages/AuditTrailPage.d.ts +2 -0
  50. package/dist/assethandler/pages/AuditTrailPage.d.ts.map +1 -0
  51. package/dist/assethandler/pages/AuditTrailPage.js +197 -0
  52. package/dist/assethandler/pages/AuditTrailPage.js.map +1 -0
  53. package/dist/assethandler/pages/CmdbBrowserPage.d.ts +2 -0
  54. package/dist/assethandler/pages/CmdbBrowserPage.d.ts.map +1 -0
  55. package/dist/assethandler/pages/CmdbBrowserPage.js +75 -0
  56. package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -0
  57. package/dist/assethandler/pages/DashboardPage.d.ts +2 -0
  58. package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -0
  59. package/dist/assethandler/pages/DashboardPage.js +336 -0
  60. package/dist/assethandler/pages/DashboardPage.js.map +1 -0
  61. package/dist/assethandler/pages/DigitalTwinPage.d.ts +2 -0
  62. package/dist/assethandler/pages/DigitalTwinPage.d.ts.map +1 -0
  63. package/dist/assethandler/pages/DigitalTwinPage.js +71 -0
  64. package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -0
  65. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts +2 -0
  66. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts.map +1 -0
  67. package/dist/assethandler/pages/DiscoveryJobsPage.js +115 -0
  68. package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -0
  69. package/dist/assethandler/pages/EsgDashboardPage.d.ts +2 -0
  70. package/dist/assethandler/pages/EsgDashboardPage.d.ts.map +1 -0
  71. package/dist/assethandler/pages/EsgDashboardPage.js +130 -0
  72. package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -0
  73. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts +2 -0
  74. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts.map +1 -0
  75. package/dist/assethandler/pages/FinanceBudgetDetailPage.js +182 -0
  76. package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -0
  77. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts +2 -0
  78. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts.map +1 -0
  79. package/dist/assethandler/pages/FinanceFinanceHubPage.js +324 -0
  80. package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -0
  81. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts +2 -0
  82. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts.map +1 -0
  83. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +172 -0
  84. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -0
  85. package/dist/assethandler/pages/IotDevicesPage.d.ts +2 -0
  86. package/dist/assethandler/pages/IotDevicesPage.d.ts.map +1 -0
  87. package/dist/assethandler/pages/IotDevicesPage.js +80 -0
  88. package/dist/assethandler/pages/IotDevicesPage.js.map +1 -0
  89. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts +2 -0
  90. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts.map +1 -0
  91. package/dist/assethandler/pages/ItilChangeDetailPage.js +221 -0
  92. package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -0
  93. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts +2 -0
  94. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts.map +1 -0
  95. package/dist/assethandler/pages/ItilChangeManagementPage.js +179 -0
  96. package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -0
  97. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts +2 -0
  98. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts.map +1 -0
  99. package/dist/assethandler/pages/ItilIncidentDetailPage.js +222 -0
  100. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -0
  101. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts +2 -0
  102. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts.map +1 -0
  103. package/dist/assethandler/pages/ItilIncidentManagementPage.js +265 -0
  104. package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -0
  105. package/dist/assethandler/pages/ItilItilhubPage.d.ts +2 -0
  106. package/dist/assethandler/pages/ItilItilhubPage.d.ts.map +1 -0
  107. package/dist/assethandler/pages/ItilItilhubPage.js +374 -0
  108. package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -0
  109. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts +2 -0
  110. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts.map +1 -0
  111. package/dist/assethandler/pages/ItilProblemDetailPage.js +177 -0
  112. package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -0
  113. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts +2 -0
  114. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts.map +1 -0
  115. package/dist/assethandler/pages/ItilProblemManagementPage.js +167 -0
  116. package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -0
  117. package/dist/assethandler/pages/KnowledgeBasePage.d.ts +2 -0
  118. package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -0
  119. package/dist/assethandler/pages/KnowledgeBasePage.js +116 -0
  120. package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -0
  121. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts +2 -0
  122. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts.map +1 -0
  123. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +185 -0
  124. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -0
  125. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts +2 -0
  126. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts.map +1 -0
  127. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +133 -0
  128. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -0
  129. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts +2 -0
  130. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts.map +1 -0
  131. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +166 -0
  132. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -0
  133. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts +2 -0
  134. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts.map +1 -0
  135. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +155 -0
  136. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -0
  137. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts +2 -0
  138. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts.map +1 -0
  139. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +126 -0
  140. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -0
  141. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts +2 -0
  142. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts.map +1 -0
  143. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +157 -0
  144. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -0
  145. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts +2 -0
  146. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts.map +1 -0
  147. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +179 -0
  148. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -0
  149. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts +2 -0
  150. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts.map +1 -0
  151. package/dist/assethandler/pages/OperationsOperationsHubPage.js +291 -0
  152. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -0
  153. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts +2 -0
  154. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -0
  155. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +172 -0
  156. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -0
  157. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts +2 -0
  158. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -0
  159. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +203 -0
  160. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -0
  161. package/dist/assethandler/pages/ProvenancePage.d.ts +2 -0
  162. package/dist/assethandler/pages/ProvenancePage.d.ts.map +1 -0
  163. package/dist/assethandler/pages/ProvenancePage.js +118 -0
  164. package/dist/assethandler/pages/ProvenancePage.js.map +1 -0
  165. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts +2 -0
  166. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts.map +1 -0
  167. package/dist/assethandler/pages/ReportsReportBuilderPage.js +201 -0
  168. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -0
  169. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts +2 -0
  170. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts.map +1 -0
  171. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +201 -0
  172. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -0
  173. package/dist/assethandler/pages/ReportsReportsListPage.d.ts +2 -0
  174. package/dist/assethandler/pages/ReportsReportsListPage.d.ts.map +1 -0
  175. package/dist/assethandler/pages/ReportsReportsListPage.js +128 -0
  176. package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -0
  177. package/dist/assethandler/pages/SamLicensesPage.d.ts +2 -0
  178. package/dist/assethandler/pages/SamLicensesPage.d.ts.map +1 -0
  179. package/dist/assethandler/pages/SamLicensesPage.js +79 -0
  180. package/dist/assethandler/pages/SamLicensesPage.js.map +1 -0
  181. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts +2 -0
  182. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts.map +1 -0
  183. package/dist/assethandler/pages/SecurityComplianceDetailPage.js +109 -0
  184. package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -0
  185. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts +2 -0
  186. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts.map +1 -0
  187. package/dist/assethandler/pages/SecurityPolicyDetailPage.js +133 -0
  188. package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -0
  189. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts +2 -0
  190. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts.map +1 -0
  191. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +143 -0
  192. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -0
  193. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts +2 -0
  194. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts.map +1 -0
  195. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +135 -0
  196. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -0
  197. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts +2 -0
  198. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts.map +1 -0
  199. package/dist/assethandler/pages/SecuritySecurityHubPage.js +355 -0
  200. package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -0
  201. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts +2 -0
  202. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts.map +1 -0
  203. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +281 -0
  204. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -0
  205. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts +2 -0
  206. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts.map +1 -0
  207. package/dist/assethandler/pages/TransactionsTransactionListPage.js +220 -0
  208. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -0
  209. package/dist/assethandler/pages/UsersPage.d.ts +2 -0
  210. package/dist/assethandler/pages/UsersPage.d.ts.map +1 -0
  211. package/dist/assethandler/pages/UsersPage.js +183 -0
  212. package/dist/assethandler/pages/UsersPage.js.map +1 -0
  213. package/dist/assethandler/pages/UsersUserCreatePage.d.ts +2 -0
  214. package/dist/assethandler/pages/UsersUserCreatePage.d.ts.map +1 -0
  215. package/dist/assethandler/pages/UsersUserCreatePage.js +213 -0
  216. package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -0
  217. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts +2 -0
  218. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts.map +1 -0
  219. package/dist/assethandler/pages/UsersUserManagementHubPage.js +325 -0
  220. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -0
  221. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts +2 -0
  222. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts.map +1 -0
  223. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +246 -0
  224. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -0
  225. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts +2 -0
  226. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts.map +1 -0
  227. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +188 -0
  228. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -0
  229. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts +2 -0
  230. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts.map +1 -0
  231. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +163 -0
  232. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -0
  233. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts +2 -0
  234. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts.map +1 -0
  235. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +158 -0
  236. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -0
  237. package/dist/assethandler/providers/AssetHandlerProvider.d.ts +6 -0
  238. package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -0
  239. package/dist/assethandler/providers/AssetHandlerProvider.js +214 -0
  240. package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -0
  241. package/dist/assethandler/store/assethandlerStore.d.ts +635 -0
  242. package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -0
  243. package/dist/assethandler/store/assethandlerStore.js +2337 -0
  244. package/dist/assethandler/store/assethandlerStore.js.map +1 -0
  245. package/dist/assethandler/types/index.d.ts +56 -0
  246. package/dist/assethandler/types/index.d.ts.map +1 -0
  247. package/dist/assethandler/utils/cn.d.ts +4 -0
  248. package/dist/assethandler/utils/cn.d.ts.map +1 -0
  249. package/dist/assethandler/utils/i18n.d.ts +6 -0
  250. package/dist/assethandler/utils/i18n.d.ts.map +1 -0
  251. package/dist/assethandler/utils/i18n.js +9 -0
  252. package/dist/assethandler/utils/i18n.js.map +1 -0
  253. package/dist/assethandler/utils/navigation.d.ts +2 -0
  254. package/dist/assethandler/utils/navigation.d.ts.map +1 -0
  255. package/dist/assethandler/utils/navigation.js +8 -0
  256. package/dist/assethandler/utils/navigation.js.map +1 -0
  257. package/dist/dev/main.d.ts +2 -0
  258. package/dist/dev/main.d.ts.map +1 -0
  259. package/dist/generated/global-operations.d.ts +2 -0
  260. package/dist/generated/global-operations.d.ts.map +1 -0
  261. package/dist/generated/global-types.d.ts +20716 -0
  262. package/dist/generated/global-types.d.ts.map +1 -0
  263. package/dist/generated/wspace-operations.d.ts +210 -0
  264. package/dist/generated/wspace-operations.d.ts.map +1 -0
  265. package/dist/generated/wspace-types.d.ts +53363 -0
  266. package/dist/generated/wspace-types.d.ts.map +1 -0
  267. package/dist/index.d.ts +2 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +5 -0
  270. package/package.json +108 -0
@@ -0,0 +1,203 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { BarChart3 as t, DollarSign as n, Package as r, TrendingDown as i } from "lucide-react";
3
+ import { Badge as a, Card as o, CardContent as s, CardHeader as c, CardTitle as l, Table as u, TableBody as d, TableCell as f, TableHead as p, TableHeader as m, TableRow as h } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/PortfolioPortfolioOverviewPage.tsx
6
+ function v() {
7
+ let { portfolio: v } = e(), y = v.totalValue > 0 ? Math.round((v.totalValue - v.depreciatedValue) / v.totalValue * 100) : 0, b = (e) => e >= 1e6 ? `$${(e / 1e6).toFixed(2)}M` : `$${e.toLocaleString()}`, x = Math.max(...v.byCategory.map((e) => e.value), 1), S = Math.max(...v.depreciationTrend.map((e) => e.value), 1), C = Math.max(...v.acquisitionTrend.map((e) => e.value), 1);
8
+ return /* @__PURE__ */ _("div", {
9
+ className: "space-y-6 p-6",
10
+ children: [
11
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h1", {
12
+ className: "text-2xl font-semibold",
13
+ children: "Portfolio Overview"
14
+ }), /* @__PURE__ */ g("p", {
15
+ className: "text-sm text-muted-foreground",
16
+ children: "Comprehensive view of your asset portfolio, valuations, and trends."
17
+ })] }),
18
+ /* @__PURE__ */ _("div", {
19
+ className: "grid gap-4 md:grid-cols-4",
20
+ children: [
21
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ _(c, {
22
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
23
+ children: [/* @__PURE__ */ g(l, {
24
+ className: "text-sm font-medium",
25
+ children: "Total Assets"
26
+ }), /* @__PURE__ */ g(r, { className: "h-4 w-4 text-muted-foreground" })]
27
+ }), /* @__PURE__ */ _(s, { children: [/* @__PURE__ */ g("div", {
28
+ className: "text-2xl font-bold",
29
+ children: v.totalAssets.toLocaleString()
30
+ }), /* @__PURE__ */ g("p", {
31
+ className: "text-xs text-muted-foreground",
32
+ children: "Across all categories"
33
+ })] })] }),
34
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ _(c, {
35
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
36
+ children: [/* @__PURE__ */ g(l, {
37
+ className: "text-sm font-medium",
38
+ children: "Total Value"
39
+ }), /* @__PURE__ */ g(n, { className: "h-4 w-4 text-green-500" })]
40
+ }), /* @__PURE__ */ _(s, { children: [/* @__PURE__ */ g("div", {
41
+ className: "text-2xl font-bold",
42
+ children: b(v.totalValue)
43
+ }), /* @__PURE__ */ g("p", {
44
+ className: "text-xs text-muted-foreground",
45
+ children: "Original purchase value"
46
+ })] })] }),
47
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ _(c, {
48
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
49
+ children: [/* @__PURE__ */ g(l, {
50
+ className: "text-sm font-medium",
51
+ children: "Current Value"
52
+ }), /* @__PURE__ */ g(i, { className: "h-4 w-4 text-yellow-500" })]
53
+ }), /* @__PURE__ */ _(s, { children: [/* @__PURE__ */ g("div", {
54
+ className: "text-2xl font-bold",
55
+ children: b(v.depreciatedValue)
56
+ }), /* @__PURE__ */ g("p", {
57
+ className: "text-xs text-muted-foreground",
58
+ children: "After depreciation"
59
+ })] })] }),
60
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ _(c, {
61
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
62
+ children: [/* @__PURE__ */ g(l, {
63
+ className: "text-sm font-medium",
64
+ children: "Depreciation"
65
+ }), /* @__PURE__ */ g(t, { className: "h-4 w-4 text-muted-foreground" })]
66
+ }), /* @__PURE__ */ _(s, { children: [/* @__PURE__ */ _("div", {
67
+ className: "text-2xl font-bold",
68
+ children: [y, "%"]
69
+ }), /* @__PURE__ */ _("p", {
70
+ className: "text-xs text-muted-foreground",
71
+ children: [b(v.totalValue - v.depreciatedValue), " total loss"]
72
+ })] })] })
73
+ ]
74
+ }),
75
+ /* @__PURE__ */ _("div", {
76
+ className: "grid gap-6 md:grid-cols-2",
77
+ children: [
78
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(l, { children: "Assets by Category" }) }), /* @__PURE__ */ g(s, {
79
+ className: "space-y-3",
80
+ children: v.byCategory.map((e) => /* @__PURE__ */ _("div", {
81
+ className: "space-y-1",
82
+ children: [/* @__PURE__ */ _("div", {
83
+ className: "flex items-center justify-between text-sm",
84
+ children: [/* @__PURE__ */ g("span", {
85
+ className: "font-medium capitalize",
86
+ children: e.category.replace(/_/g, " ")
87
+ }), /* @__PURE__ */ _("span", {
88
+ className: "text-muted-foreground",
89
+ children: [
90
+ e.count,
91
+ " assets - ",
92
+ b(e.value)
93
+ ]
94
+ })]
95
+ }), /* @__PURE__ */ g("div", {
96
+ className: "h-3 bg-muted rounded overflow-hidden",
97
+ children: /* @__PURE__ */ g("div", {
98
+ className: "h-3 bg-primary rounded",
99
+ style: { width: `${Math.round(e.value / x * 100)}%` }
100
+ })
101
+ })]
102
+ }, e.category))
103
+ })] }),
104
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(l, { children: "Assets by Department" }) }), /* @__PURE__ */ g(s, { children: /* @__PURE__ */ _(u, { children: [/* @__PURE__ */ g(m, { children: /* @__PURE__ */ _(h, { children: [
105
+ /* @__PURE__ */ g(p, { children: "Department" }),
106
+ /* @__PURE__ */ g(p, {
107
+ className: "text-right",
108
+ children: "Count"
109
+ }),
110
+ /* @__PURE__ */ g(p, {
111
+ className: "text-right",
112
+ children: "Value"
113
+ })
114
+ ] }) }), /* @__PURE__ */ g(d, { children: v.byDepartment.map((e) => /* @__PURE__ */ _(h, { children: [
115
+ /* @__PURE__ */ g(f, {
116
+ className: "font-medium",
117
+ children: e.department
118
+ }),
119
+ /* @__PURE__ */ g(f, {
120
+ className: "text-right",
121
+ children: e.count
122
+ }),
123
+ /* @__PURE__ */ g(f, {
124
+ className: "text-right",
125
+ children: b(e.value)
126
+ })
127
+ ] }, e.department)) })] }) })] }),
128
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(l, { children: "Assets by Status" }) }), /* @__PURE__ */ g(s, { children: /* @__PURE__ */ g("div", {
129
+ className: "flex flex-wrap gap-3",
130
+ children: v.byStatus.map((e) => /* @__PURE__ */ _("div", {
131
+ className: "flex items-center gap-2 rounded-lg border p-3",
132
+ children: [/* @__PURE__ */ g(a, {
133
+ variant: e.status === "active" ? "default" : e.status === "disposed" ? "destructive" : "secondary",
134
+ className: "capitalize",
135
+ children: e.status.replace(/_/g, " ")
136
+ }), /* @__PURE__ */ g("span", {
137
+ className: "text-lg font-bold",
138
+ children: e.count
139
+ })]
140
+ }, e.status))
141
+ }) })] }),
142
+ /* @__PURE__ */ _(o, { children: [/* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(l, { children: "Depreciation Trend" }) }), /* @__PURE__ */ g(s, {
143
+ className: "space-y-2",
144
+ children: v.depreciationTrend.map((e) => /* @__PURE__ */ _("div", {
145
+ className: "flex items-center gap-3",
146
+ children: [
147
+ /* @__PURE__ */ g("span", {
148
+ className: "w-10 text-xs text-muted-foreground",
149
+ children: e.month
150
+ }),
151
+ /* @__PURE__ */ g("div", {
152
+ className: "flex-1 h-4 bg-muted rounded overflow-hidden",
153
+ children: /* @__PURE__ */ g("div", {
154
+ className: "h-4 bg-yellow-500 rounded",
155
+ style: { width: `${Math.round(e.value / S * 100)}%` }
156
+ })
157
+ }),
158
+ /* @__PURE__ */ g("span", {
159
+ className: "text-xs font-medium w-16 text-right",
160
+ children: b(e.value)
161
+ })
162
+ ]
163
+ }, e.month))
164
+ })] }),
165
+ /* @__PURE__ */ _(o, {
166
+ className: "md:col-span-2",
167
+ children: [/* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(l, { children: "Acquisition Trend" }) }), /* @__PURE__ */ g(s, {
168
+ className: "space-y-2",
169
+ children: v.acquisitionTrend.map((e) => /* @__PURE__ */ _("div", {
170
+ className: "flex items-center gap-3",
171
+ children: [
172
+ /* @__PURE__ */ g("span", {
173
+ className: "w-10 text-xs text-muted-foreground",
174
+ children: e.month
175
+ }),
176
+ /* @__PURE__ */ g("div", {
177
+ className: "flex-1 h-4 bg-muted rounded overflow-hidden",
178
+ children: /* @__PURE__ */ g("div", {
179
+ className: "h-4 bg-green-500 rounded",
180
+ style: { width: `${Math.round(e.value / C * 100)}%` }
181
+ })
182
+ }),
183
+ /* @__PURE__ */ _("span", {
184
+ className: "text-xs w-12 text-right",
185
+ children: [e.count, " units"]
186
+ }),
187
+ /* @__PURE__ */ g("span", {
188
+ className: "text-xs font-medium w-16 text-right",
189
+ children: b(e.value)
190
+ })
191
+ ]
192
+ }, e.month))
193
+ })]
194
+ })
195
+ ]
196
+ })
197
+ ]
198
+ });
199
+ }
200
+ //#endregion
201
+ export { v as PortfolioPortfolioOverviewPage };
202
+
203
+ //# sourceMappingURL=PortfolioPortfolioOverviewPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortfolioPortfolioOverviewPage.js","names":[],"sources":["../../../src/assethandler/pages/PortfolioPortfolioOverviewPage.tsx"],"sourcesContent":["import {\n Badge,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@burdenoff/fe-libs/ui';\nimport { Package, DollarSign, TrendingDown, BarChart3 } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function PortfolioPortfolioOverviewPage() {\n const { portfolio } = useAssetHandlerStore();\n\n const depreciationPct =\n portfolio.totalValue > 0\n ? Math.round(\n ((portfolio.totalValue - portfolio.depreciatedValue) / portfolio.totalValue) * 100\n )\n : 0;\n\n const formatCurrency = (val: number) =>\n val >= 1000000 ? `$${(val / 1000000).toFixed(2)}M` : `$${val.toLocaleString()}`;\n\n const maxCategoryValue = Math.max(...portfolio.byCategory.map((c) => c.value), 1);\n const maxDepreciation = Math.max(...portfolio.depreciationTrend.map((d) => d.value), 1);\n const maxAcquisitionValue = Math.max(...portfolio.acquisitionTrend.map((a) => a.value), 1);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Portfolio Overview</h1>\n <p className=\"text-sm text-muted-foreground\">\n Comprehensive view of your asset portfolio, valuations, and trends.\n </p>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Assets</CardTitle>\n <Package className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{portfolio.totalAssets.toLocaleString()}</div>\n <p className=\"text-xs text-muted-foreground\">Across all categories</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Value</CardTitle>\n <DollarSign className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{formatCurrency(portfolio.totalValue)}</div>\n <p className=\"text-xs text-muted-foreground\">Original purchase value</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Current Value</CardTitle>\n <TrendingDown className=\"h-4 w-4 text-yellow-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{formatCurrency(portfolio.depreciatedValue)}</div>\n <p className=\"text-xs text-muted-foreground\">After depreciation</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Depreciation</CardTitle>\n <BarChart3 className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{depreciationPct}%</div>\n <p className=\"text-xs text-muted-foreground\">\n {formatCurrency(portfolio.totalValue - portfolio.depreciatedValue)} total loss\n </p>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid gap-6 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle>Assets by Category</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {portfolio.byCategory.map((cat) => (\n <div key={cat.category} className=\"space-y-1\">\n <div className=\"flex items-center justify-between text-sm\">\n <span className=\"font-medium capitalize\">{cat.category.replace(/_/g, ' ')}</span>\n <span className=\"text-muted-foreground\">\n {cat.count} assets - {formatCurrency(cat.value)}\n </span>\n </div>\n <div className=\"h-3 bg-muted rounded overflow-hidden\">\n <div\n className=\"h-3 bg-primary rounded\"\n style={{ width: `${Math.round((cat.value / maxCategoryValue) * 100)}%` }}\n />\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assets by Department</CardTitle>\n </CardHeader>\n <CardContent>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Department</TableHead>\n <TableHead className=\"text-right\">Count</TableHead>\n <TableHead className=\"text-right\">Value</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {portfolio.byDepartment.map((dept) => (\n <TableRow key={dept.department}>\n <TableCell className=\"font-medium\">{dept.department}</TableCell>\n <TableCell className=\"text-right\">{dept.count}</TableCell>\n <TableCell className=\"text-right\">{formatCurrency(dept.value)}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Assets by Status</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-wrap gap-3\">\n {portfolio.byStatus.map((s) => (\n <div key={s.status} className=\"flex items-center gap-2 rounded-lg border p-3\">\n <Badge\n variant={\n s.status === 'active'\n ? 'default'\n : s.status === 'disposed'\n ? 'destructive'\n : 'secondary'\n }\n className=\"capitalize\"\n >\n {s.status.replace(/_/g, ' ')}\n </Badge>\n <span className=\"text-lg font-bold\">{s.count}</span>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Depreciation Trend</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {portfolio.depreciationTrend.map((d) => (\n <div key={d.month} className=\"flex items-center gap-3\">\n <span className=\"w-10 text-xs text-muted-foreground\">{d.month}</span>\n <div className=\"flex-1 h-4 bg-muted rounded overflow-hidden\">\n <div\n className=\"h-4 bg-yellow-500 rounded\"\n style={{ width: `${Math.round((d.value / maxDepreciation) * 100)}%` }}\n />\n </div>\n <span className=\"text-xs font-medium w-16 text-right\">\n {formatCurrency(d.value)}\n </span>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card className=\"md:col-span-2\">\n <CardHeader>\n <CardTitle>Acquisition Trend</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {portfolio.acquisitionTrend.map((a) => (\n <div key={a.month} className=\"flex items-center gap-3\">\n <span className=\"w-10 text-xs text-muted-foreground\">{a.month}</span>\n <div className=\"flex-1 h-4 bg-muted rounded overflow-hidden\">\n <div\n className=\"h-4 bg-green-500 rounded\"\n style={{ width: `${Math.round((a.value / maxAcquisitionValue) * 100)}%` }}\n />\n </div>\n <span className=\"text-xs w-12 text-right\">{a.count} units</span>\n <span className=\"text-xs font-medium w-16 text-right\">\n {formatCurrency(a.value)}\n </span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ProvenancePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ProvenancePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvenancePage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ProvenancePage.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,cAAc,4CA+F7B"}
@@ -0,0 +1,118 @@
1
+ import { useState as e } from "react";
2
+ import { ShieldCheck as t } from "lucide-react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { gql as i } from "@apollo/client";
5
+ import { useMutation as a, useQuery as o } from "@apollo/client/react";
6
+ //#region src/assethandler/pages/ProvenancePage.tsx
7
+ var s = i`
8
+ query AssetHandlerProvenanceRecords {
9
+ provenanceRecords {
10
+ id
11
+ assetId
12
+ hash
13
+ chainNetwork
14
+ txHash
15
+ attestedAt
16
+ attestedBy
17
+ }
18
+ }
19
+ `, c = i`
20
+ mutation AssetHandlerRecordProvenance($input: RecordProvenanceInput!) {
21
+ recordProvenance(input: $input) {
22
+ id
23
+ }
24
+ }
25
+ `;
26
+ function l() {
27
+ let [i, l] = e("AST-001"), [u, d] = e("polygon-amoy"), { data: f, loading: p, refetch: m } = o(s, { fetchPolicy: "cache-and-network" }), [h, { loading: g }] = a(c, { onCompleted: () => {
28
+ m();
29
+ } }), _ = f?.provenanceRecords ?? [];
30
+ return /* @__PURE__ */ r("div", {
31
+ className: "space-y-4 p-4",
32
+ children: [
33
+ /* @__PURE__ */ r("h1", {
34
+ className: "flex items-center gap-2 text-2xl font-semibold",
35
+ children: [/* @__PURE__ */ n(t, { className: "h-6 w-6" }), " Provenance"]
36
+ }),
37
+ /* @__PURE__ */ n("p", {
38
+ className: "text-muted-foreground",
39
+ children: "Verify immutable asset provenance and lifecycle attestations."
40
+ }),
41
+ /* @__PURE__ */ r("form", {
42
+ className: "grid gap-3 rounded-lg border p-4 md:grid-cols-3",
43
+ onSubmit: (e) => {
44
+ e.preventDefault(), h({ variables: { input: {
45
+ assetId: i,
46
+ hash: `${i}-${Date.now()}`,
47
+ chainNetwork: u,
48
+ metadata: { source: "assethandler-ui" }
49
+ } } });
50
+ },
51
+ children: [
52
+ /* @__PURE__ */ n("input", {
53
+ className: "rounded-md border px-3 py-2",
54
+ value: i,
55
+ onChange: (e) => l(e.target.value)
56
+ }),
57
+ /* @__PURE__ */ n("input", {
58
+ className: "rounded-md border px-3 py-2",
59
+ value: u,
60
+ onChange: (e) => d(e.target.value)
61
+ }),
62
+ /* @__PURE__ */ n("button", {
63
+ className: "rounded-md bg-primary px-3 py-2 text-primary-foreground",
64
+ disabled: g,
65
+ type: "submit",
66
+ children: g ? "Recording..." : "Record Attestation"
67
+ })
68
+ ]
69
+ }),
70
+ /* @__PURE__ */ r("div", {
71
+ className: "rounded-lg border",
72
+ children: [
73
+ /* @__PURE__ */ r("div", {
74
+ className: "grid grid-cols-5 gap-3 border-b px-4 py-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
75
+ children: [
76
+ /* @__PURE__ */ n("span", { children: "Asset" }),
77
+ /* @__PURE__ */ n("span", { children: "Network" }),
78
+ /* @__PURE__ */ n("span", { children: "Hash" }),
79
+ /* @__PURE__ */ n("span", { children: "Tx" }),
80
+ /* @__PURE__ */ n("span", { children: "Attested At" })
81
+ ]
82
+ }),
83
+ p && _.length === 0 ? /* @__PURE__ */ n("div", {
84
+ className: "px-4 py-4 text-sm text-muted-foreground",
85
+ children: "Loading records..."
86
+ }) : null,
87
+ !p && _.length === 0 ? /* @__PURE__ */ n("div", {
88
+ className: "px-4 py-4 text-sm text-muted-foreground",
89
+ children: "No provenance records found."
90
+ }) : null,
91
+ _.map((e) => /* @__PURE__ */ r("div", {
92
+ className: "grid grid-cols-5 gap-3 border-b px-4 py-3 text-sm last:border-b-0",
93
+ children: [
94
+ /* @__PURE__ */ n("span", { children: e.assetId }),
95
+ /* @__PURE__ */ n("span", { children: e.chainNetwork }),
96
+ /* @__PURE__ */ n("span", {
97
+ className: "truncate",
98
+ children: e.hash
99
+ }),
100
+ /* @__PURE__ */ n("span", {
101
+ className: "truncate text-muted-foreground",
102
+ children: e.txHash ?? "pending"
103
+ }),
104
+ /* @__PURE__ */ n("span", {
105
+ className: "text-muted-foreground",
106
+ children: new Date(e.attestedAt).toLocaleString()
107
+ })
108
+ ]
109
+ }, e.id))
110
+ ]
111
+ })
112
+ ]
113
+ });
114
+ }
115
+ //#endregion
116
+ export { l as ProvenancePage };
117
+
118
+ //# sourceMappingURL=ProvenancePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProvenancePage.js","names":[],"sources":["../../../src/assethandler/pages/ProvenancePage.tsx"],"sourcesContent":["import { ShieldCheck } from 'lucide-react';\nimport { useState } from 'react';\nimport { gql } from '@apollo/client';\nimport { useMutation, useQuery } from '@apollo/client/react';\n\nconst PROVENANCE_RECORDS_QUERY = gql`\n query AssetHandlerProvenanceRecords {\n provenanceRecords {\n id\n assetId\n hash\n chainNetwork\n txHash\n attestedAt\n attestedBy\n }\n }\n`;\n\nconst RECORD_PROVENANCE_MUTATION = gql`\n mutation AssetHandlerRecordProvenance($input: RecordProvenanceInput!) {\n recordProvenance(input: $input) {\n id\n }\n }\n`;\n\nexport function ProvenancePage() {\n const [assetId, setAssetId] = useState('AST-001');\n const [chainNetwork, setChainNetwork] = useState('polygon-amoy');\n\n const { data, loading, refetch } = useQuery<{\n provenanceRecords: Array<{\n id: string;\n assetId: string;\n hash: string;\n chainNetwork: string;\n txHash: string | null;\n attestedAt: string;\n attestedBy: string;\n }>;\n }>(PROVENANCE_RECORDS_QUERY, { fetchPolicy: 'cache-and-network' });\n\n const [recordProvenance, { loading: recording }] = useMutation(RECORD_PROVENANCE_MUTATION, {\n onCompleted: () => {\n void refetch();\n },\n });\n\n const records = data?.provenanceRecords ?? [];\n\n return (\n <div className=\"space-y-4 p-4\">\n <h1 className=\"flex items-center gap-2 text-2xl font-semibold\">\n <ShieldCheck className=\"h-6 w-6\" /> Provenance\n </h1>\n <p className=\"text-muted-foreground\">\n Verify immutable asset provenance and lifecycle attestations.\n </p>\n <form\n className=\"grid gap-3 rounded-lg border p-4 md:grid-cols-3\"\n onSubmit={(event) => {\n event.preventDefault();\n const hash = `${assetId}-${Date.now()}`;\n void recordProvenance({\n variables: {\n input: { assetId, hash, chainNetwork, metadata: { source: 'assethandler-ui' } },\n },\n });\n }}\n >\n <input\n className=\"rounded-md border px-3 py-2\"\n value={assetId}\n onChange={(event) => setAssetId(event.target.value)}\n />\n <input\n className=\"rounded-md border px-3 py-2\"\n value={chainNetwork}\n onChange={(event) => setChainNetwork(event.target.value)}\n />\n <button\n className=\"rounded-md bg-primary px-3 py-2 text-primary-foreground\"\n disabled={recording}\n type=\"submit\"\n >\n {recording ? 'Recording...' : 'Record Attestation'}\n </button>\n </form>\n <div className=\"rounded-lg border\">\n <div className=\"grid grid-cols-5 gap-3 border-b px-4 py-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n <span>Asset</span>\n <span>Network</span>\n <span>Hash</span>\n <span>Tx</span>\n <span>Attested At</span>\n </div>\n {loading && records.length === 0 ? (\n <div className=\"px-4 py-4 text-sm text-muted-foreground\">Loading records...</div>\n ) : null}\n {!loading && records.length === 0 ? (\n <div className=\"px-4 py-4 text-sm text-muted-foreground\">\n No provenance records found.\n </div>\n ) : null}\n {records.map((record) => (\n <div\n key={record.id}\n className=\"grid grid-cols-5 gap-3 border-b px-4 py-3 text-sm last:border-b-0\"\n >\n <span>{record.assetId}</span>\n <span>{record.chainNetwork}</span>\n <span className=\"truncate\">{record.hash}</span>\n <span className=\"truncate text-muted-foreground\">{record.txHash ?? 'pending'}</span>\n <span className=\"text-muted-foreground\">\n {new Date(record.attestedAt).toLocaleString()}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAKA,IAAM,IAA2B,CAAG;;;;;;;;;;;;GAc9B,IAA6B,CAAG;;;;;;;AAQtC,SAAgB,IAAiB;CAC/B,IAAM,CAAC,GAAS,KAAc,EAAS,UAAU,EAC3C,CAAC,GAAc,KAAmB,EAAS,eAAe,EAE1D,EAAE,SAAM,YAAS,eAAY,EAUhC,GAA0B,EAAE,aAAa,qBAAqB,CAAC,EAE5D,CAAC,GAAkB,EAAE,SAAS,OAAe,EAAY,GAA4B,EACzF,mBAAmB;AACZ,KAAS;IAEjB,CAAC,EAEI,IAAU,GAAM,qBAAqB,EAAE;AAE7C,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,MAAD;IAAI,WAAU;cAAd,CACE,kBAAC,GAAD,EAAa,WAAU,WAAY,CAAA,EAAA,cAChC;;GACL,kBAAC,KAAD;IAAG,WAAU;cAAwB;IAEjC,CAAA;GACJ,kBAAC,QAAD;IACE,WAAU;IACV,WAAW,MAAU;AAGd,KAFL,EAAM,gBAAgB,EAEjB,EAAiB,EACpB,WAAW,EACT,OAAO;MAAE;MAAS,MAHT,GAAG,EAAQ,GAAG,KAAK,KAAK;MAGT;MAAc,UAAU,EAAE,QAAQ,mBAAmB;MAAE,EAChF,EACF,CAAC;;cATN;KAYE,kBAAC,SAAD;MACE,WAAU;MACV,OAAO;MACP,WAAW,MAAU,EAAW,EAAM,OAAO,MAAM;MACnD,CAAA;KACF,kBAAC,SAAD;MACE,WAAU;MACV,OAAO;MACP,WAAW,MAAU,EAAgB,EAAM,OAAO,MAAM;MACxD,CAAA;KACF,kBAAC,UAAD;MACE,WAAU;MACV,UAAU;MACV,MAAK;gBAEJ,IAAY,iBAAiB;MACvB,CAAA;KACJ;;GACP,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,QAAD,EAAA,UAAM,SAAY,CAAA;OAClB,kBAAC,QAAD,EAAA,UAAM,WAAc,CAAA;OACpB,kBAAC,QAAD,EAAA,UAAM,QAAW,CAAA;OACjB,kBAAC,QAAD,EAAA,UAAM,MAAS,CAAA;OACf,kBAAC,QAAD,EAAA,UAAM,eAAkB,CAAA;OACpB;;KACL,KAAW,EAAQ,WAAW,IAC7B,kBAAC,OAAD;MAAK,WAAU;gBAA0C;MAAwB,CAAA,GAC/E;KACH,CAAC,KAAW,EAAQ,WAAW,IAC9B,kBAAC,OAAD;MAAK,WAAU;gBAA0C;MAEnD,CAAA,GACJ;KACH,EAAQ,KAAK,MACZ,kBAAC,OAAD;MAEE,WAAU;gBAFZ;OAIE,kBAAC,QAAD,EAAA,UAAO,EAAO,SAAe,CAAA;OAC7B,kBAAC,QAAD,EAAA,UAAO,EAAO,cAAoB,CAAA;OAClC,kBAAC,QAAD;QAAM,WAAU;kBAAY,EAAO;QAAY,CAAA;OAC/C,kBAAC,QAAD;QAAM,WAAU;kBAAkC,EAAO,UAAU;QAAiB,CAAA;OACpF,kBAAC,QAAD;QAAM,WAAU;kBACb,IAAI,KAAK,EAAO,WAAW,CAAC,gBAAgB;QACxC,CAAA;OACH;QAVC,EAAO,GAUR,CACN;KACE;;GACF"}
@@ -0,0 +1,2 @@
1
+ export declare function ReportsReportBuilderPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ReportsReportBuilderPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportBuilderPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ReportsReportBuilderPage.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,wBAAwB,4CAkJvC"}
@@ -0,0 +1,201 @@
1
+ import { useState as e } from "react";
2
+ import { ArrowLeft as t, Play as n, Save as r } from "lucide-react";
3
+ import { Button as i, Card as a, CardContent as o, CardDescription as s, CardHeader as c, CardTitle as l, Input as u, Label as d, Select as f, SelectContent as p, SelectItem as m, SelectTrigger as h, SelectValue as g, Textarea as _ } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/ReportsReportBuilderPage.tsx
6
+ function b() {
7
+ let [b, x] = e({
8
+ name: "",
9
+ description: "",
10
+ category: "Operational",
11
+ type: "chart",
12
+ schedule: "",
13
+ dataSource: "assets"
14
+ }), S = (e, t) => x((n) => ({
15
+ ...n,
16
+ [e]: t
17
+ }));
18
+ return /* @__PURE__ */ y("div", {
19
+ className: "space-y-6 p-6 max-w-4xl",
20
+ children: [
21
+ /* @__PURE__ */ y("div", {
22
+ className: "flex items-center justify-between",
23
+ children: [/* @__PURE__ */ y("div", {
24
+ className: "flex items-center gap-4",
25
+ children: [/* @__PURE__ */ v(i, {
26
+ variant: "ghost",
27
+ size: "icon",
28
+ children: /* @__PURE__ */ v(t, { className: "h-4 w-4" })
29
+ }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h1", {
30
+ className: "text-2xl font-bold",
31
+ children: "Report Builder"
32
+ }), /* @__PURE__ */ v("p", {
33
+ className: "text-sm text-muted-foreground",
34
+ children: "Create custom reports and dashboards"
35
+ })] })]
36
+ }), /* @__PURE__ */ y("div", {
37
+ className: "flex gap-2",
38
+ children: [/* @__PURE__ */ y(i, {
39
+ variant: "outline",
40
+ size: "sm",
41
+ children: [/* @__PURE__ */ v(n, { className: "mr-2 h-4 w-4" }), "Preview"]
42
+ }), /* @__PURE__ */ y(i, {
43
+ size: "sm",
44
+ children: [/* @__PURE__ */ v(r, { className: "mr-2 h-4 w-4" }), "Save Report"]
45
+ })]
46
+ })]
47
+ }),
48
+ /* @__PURE__ */ y(a, { children: [/* @__PURE__ */ v(c, { children: /* @__PURE__ */ v(l, { children: "Report Configuration" }) }), /* @__PURE__ */ y(o, {
49
+ className: "space-y-4",
50
+ children: [
51
+ /* @__PURE__ */ y("div", {
52
+ className: "grid gap-4 md:grid-cols-2",
53
+ children: [/* @__PURE__ */ y("div", {
54
+ className: "space-y-2",
55
+ children: [/* @__PURE__ */ v(d, { children: "Report Name *" }), /* @__PURE__ */ v(u, {
56
+ placeholder: "e.g., Monthly Asset Utilization",
57
+ value: b.name,
58
+ onChange: (e) => S("name", e.target.value)
59
+ })]
60
+ }), /* @__PURE__ */ y("div", {
61
+ className: "space-y-2",
62
+ children: [/* @__PURE__ */ v(d, { children: "Category" }), /* @__PURE__ */ y(f, {
63
+ value: b.category,
64
+ onValueChange: (e) => S("category", e),
65
+ children: [/* @__PURE__ */ v(h, { children: /* @__PURE__ */ v(g, {}) }), /* @__PURE__ */ y(p, { children: [
66
+ /* @__PURE__ */ v(m, {
67
+ value: "Operational",
68
+ children: "Operational"
69
+ }),
70
+ /* @__PURE__ */ v(m, {
71
+ value: "Financial",
72
+ children: "Financial"
73
+ }),
74
+ /* @__PURE__ */ v(m, {
75
+ value: "Compliance",
76
+ children: "Compliance"
77
+ }),
78
+ /* @__PURE__ */ v(m, {
79
+ value: "Performance",
80
+ children: "Performance"
81
+ }),
82
+ /* @__PURE__ */ v(m, {
83
+ value: "Inventory",
84
+ children: "Inventory"
85
+ })
86
+ ] })]
87
+ })]
88
+ })]
89
+ }),
90
+ /* @__PURE__ */ y("div", {
91
+ className: "space-y-2",
92
+ children: [/* @__PURE__ */ v(d, { children: "Description" }), /* @__PURE__ */ v(_, {
93
+ placeholder: "What does this report show?",
94
+ value: b.description,
95
+ onChange: (e) => S("description", e.target.value),
96
+ rows: 3
97
+ })]
98
+ }),
99
+ /* @__PURE__ */ y("div", {
100
+ className: "grid gap-4 md:grid-cols-3",
101
+ children: [
102
+ /* @__PURE__ */ y("div", {
103
+ className: "space-y-2",
104
+ children: [/* @__PURE__ */ v(d, { children: "Report Type" }), /* @__PURE__ */ y(f, {
105
+ value: b.type,
106
+ onValueChange: (e) => S("type", e),
107
+ children: [/* @__PURE__ */ v(h, { children: /* @__PURE__ */ v(g, {}) }), /* @__PURE__ */ y(p, { children: [
108
+ /* @__PURE__ */ v(m, {
109
+ value: "chart",
110
+ children: "Chart"
111
+ }),
112
+ /* @__PURE__ */ v(m, {
113
+ value: "tabular",
114
+ children: "Tabular"
115
+ }),
116
+ /* @__PURE__ */ v(m, {
117
+ value: "dashboard",
118
+ children: "Dashboard"
119
+ }),
120
+ /* @__PURE__ */ v(m, {
121
+ value: "document",
122
+ children: "Document"
123
+ })
124
+ ] })]
125
+ })]
126
+ }),
127
+ /* @__PURE__ */ y("div", {
128
+ className: "space-y-2",
129
+ children: [/* @__PURE__ */ v(d, { children: "Data Source" }), /* @__PURE__ */ y(f, {
130
+ value: b.dataSource,
131
+ onValueChange: (e) => S("dataSource", e),
132
+ children: [/* @__PURE__ */ v(h, { children: /* @__PURE__ */ v(g, {}) }), /* @__PURE__ */ y(p, { children: [
133
+ /* @__PURE__ */ v(m, {
134
+ value: "assets",
135
+ children: "Assets"
136
+ }),
137
+ /* @__PURE__ */ v(m, {
138
+ value: "transactions",
139
+ children: "Transactions"
140
+ }),
141
+ /* @__PURE__ */ v(m, {
142
+ value: "incidents",
143
+ children: "Incidents"
144
+ }),
145
+ /* @__PURE__ */ v(m, {
146
+ value: "maintenance",
147
+ children: "Maintenance"
148
+ })
149
+ ] })]
150
+ })]
151
+ }),
152
+ /* @__PURE__ */ y("div", {
153
+ className: "space-y-2",
154
+ children: [/* @__PURE__ */ v(d, { children: "Schedule" }), /* @__PURE__ */ y(f, {
155
+ value: b.schedule,
156
+ onValueChange: (e) => S("schedule", e),
157
+ children: [/* @__PURE__ */ v(h, { children: /* @__PURE__ */ v(g, { placeholder: "Manual" }) }), /* @__PURE__ */ y(p, { children: [
158
+ /* @__PURE__ */ v(m, {
159
+ value: "",
160
+ children: "Manual"
161
+ }),
162
+ /* @__PURE__ */ v(m, {
163
+ value: "Daily",
164
+ children: "Daily"
165
+ }),
166
+ /* @__PURE__ */ v(m, {
167
+ value: "Weekly",
168
+ children: "Weekly"
169
+ }),
170
+ /* @__PURE__ */ v(m, {
171
+ value: "Monthly",
172
+ children: "Monthly"
173
+ })
174
+ ] })]
175
+ })]
176
+ })
177
+ ]
178
+ })
179
+ ]
180
+ })] }),
181
+ /* @__PURE__ */ y(a, { children: [/* @__PURE__ */ y(c, { children: [/* @__PURE__ */ v(l, { children: "Preview" }), /* @__PURE__ */ v(s, { children: "Report preview will appear here" })] }), /* @__PURE__ */ v(o, { children: /* @__PURE__ */ v("div", {
182
+ className: "bg-muted rounded-lg h-64 flex items-center justify-center border-2 border-dashed",
183
+ children: /* @__PURE__ */ v("p", {
184
+ className: "text-muted-foreground",
185
+ children: "Configure and preview your report"
186
+ })
187
+ }) })] }),
188
+ /* @__PURE__ */ y("div", {
189
+ className: "flex justify-end gap-2",
190
+ children: [/* @__PURE__ */ v(i, {
191
+ variant: "outline",
192
+ children: "Cancel"
193
+ }), /* @__PURE__ */ y(i, { children: [/* @__PURE__ */ v(r, { className: "mr-2 h-4 w-4" }), "Save Report"] })]
194
+ })
195
+ ]
196
+ });
197
+ }
198
+ //#endregion
199
+ export { b as ReportsReportBuilderPage };
200
+
201
+ //# sourceMappingURL=ReportsReportBuilderPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportBuilderPage.js","names":[],"sources":["../../../src/assethandler/pages/ReportsReportBuilderPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Play, Save } from 'lucide-react';\n\nexport function ReportsReportBuilderPage() {\n const [config, setConfig] = useState({\n name: '',\n description: '',\n category: 'Operational',\n type: 'chart',\n schedule: '',\n dataSource: 'assets',\n });\n const handleChange = (field: string, value: string) =>\n setConfig((prev) => ({ ...prev, [field]: value }));\n\n return (\n <div className=\"space-y-6 p-6 max-w-4xl\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button variant=\"ghost\" size=\"icon\">\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <h1 className=\"text-2xl font-bold\">Report Builder</h1>\n <p className=\"text-sm text-muted-foreground\">Create custom reports and dashboards</p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Play className=\"mr-2 h-4 w-4\" />\n Preview\n </Button>\n <Button size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Save Report\n </Button>\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Report Configuration</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label>Report Name *</Label>\n <Input\n placeholder=\"e.g., Monthly Asset Utilization\"\n value={config.name}\n onChange={(e) => handleChange('name', e.target.value)}\n />\n </div>\n <div className=\"space-y-2\">\n <Label>Category</Label>\n <Select value={config.category} onValueChange={(v) => handleChange('category', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"Operational\">Operational</SelectItem>\n <SelectItem value=\"Financial\">Financial</SelectItem>\n <SelectItem value=\"Compliance\">Compliance</SelectItem>\n <SelectItem value=\"Performance\">Performance</SelectItem>\n <SelectItem value=\"Inventory\">Inventory</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label>Description</Label>\n <Textarea\n placeholder=\"What does this report show?\"\n value={config.description}\n onChange={(e) => handleChange('description', e.target.value)}\n rows={3}\n />\n </div>\n <div className=\"grid gap-4 md:grid-cols-3\">\n <div className=\"space-y-2\">\n <Label>Report Type</Label>\n <Select value={config.type} onValueChange={(v) => handleChange('type', v)}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"chart\">Chart</SelectItem>\n <SelectItem value=\"tabular\">Tabular</SelectItem>\n <SelectItem value=\"dashboard\">Dashboard</SelectItem>\n <SelectItem value=\"document\">Document</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Data Source</Label>\n <Select\n value={config.dataSource}\n onValueChange={(v) => handleChange('dataSource', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"assets\">Assets</SelectItem>\n <SelectItem value=\"transactions\">Transactions</SelectItem>\n <SelectItem value=\"incidents\">Incidents</SelectItem>\n <SelectItem value=\"maintenance\">Maintenance</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-2\">\n <Label>Schedule</Label>\n <Select value={config.schedule} onValueChange={(v) => handleChange('schedule', v)}>\n <SelectTrigger>\n <SelectValue placeholder=\"Manual\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"\">Manual</SelectItem>\n <SelectItem value=\"Daily\">Daily</SelectItem>\n <SelectItem value=\"Weekly\">Weekly</SelectItem>\n <SelectItem value=\"Monthly\">Monthly</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Preview</CardTitle>\n <CardDescription>Report preview will appear here</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"bg-muted rounded-lg h-64 flex items-center justify-center border-2 border-dashed\">\n <p className=\"text-muted-foreground\">Configure and preview your report</p>\n </div>\n </CardContent>\n </Card>\n\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\">Cancel</Button>\n <Button>\n <Save className=\"mr-2 h-4 w-4\" />\n Save Report\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ReportsReportsDashboardPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ReportsReportsDashboardPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportsDashboardPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ReportsReportsDashboardPage.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,2BAA2B,4CA8J1C"}