@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,324 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { CreditCard as t, DollarSign as n, Download as r, Receipt as i, TrendingDown as a } from "lucide-react";
3
+ import { Badge as o, Button as s, Card as c, CardContent as l, CardDescription as u, CardHeader as d, CardTitle as f, Tabs as p, TabsContent as m, TabsList as h, TabsTrigger as g } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/FinanceFinanceHubPage.tsx
6
+ function y() {
7
+ let { transactions: y, budgets: b, invoices: x } = e(), S = y.filter((e) => e.amount > 0).reduce((e, t) => e + t.amount, 0), C = y.filter((e) => e.status === "pending"), w = b.filter((e) => e.status === "over_budget"), T = x.filter((e) => e.status === "overdue");
8
+ return /* @__PURE__ */ v("div", {
9
+ className: "space-y-6 p-6",
10
+ children: [
11
+ /* @__PURE__ */ v("div", {
12
+ className: "flex items-center justify-between",
13
+ children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
14
+ className: "text-2xl font-bold",
15
+ children: "Finance Hub"
16
+ }), /* @__PURE__ */ _("p", {
17
+ className: "text-sm text-muted-foreground",
18
+ children: "Financial management for IT assets"
19
+ })] }), /* @__PURE__ */ v("div", {
20
+ className: "flex gap-2",
21
+ children: [/* @__PURE__ */ v(s, {
22
+ variant: "outline",
23
+ size: "sm",
24
+ children: [/* @__PURE__ */ _(r, { className: "mr-2 h-4 w-4" }), "Export"]
25
+ }), /* @__PURE__ */ _(s, {
26
+ size: "sm",
27
+ children: "New Transaction"
28
+ })]
29
+ })]
30
+ }),
31
+ /* @__PURE__ */ v("div", {
32
+ className: "grid gap-4 md:grid-cols-4",
33
+ children: [
34
+ /* @__PURE__ */ _(c, { children: /* @__PURE__ */ v(l, {
35
+ className: "pt-4",
36
+ children: [/* @__PURE__ */ v("div", {
37
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
38
+ children: [/* @__PURE__ */ _(n, { className: "h-4 w-4" }), "Total Spend"]
39
+ }), /* @__PURE__ */ v("p", {
40
+ className: "text-2xl font-bold mt-1",
41
+ children: ["$", S.toLocaleString()]
42
+ })]
43
+ }) }),
44
+ /* @__PURE__ */ _(c, { children: /* @__PURE__ */ v(l, {
45
+ className: "pt-4",
46
+ children: [/* @__PURE__ */ v("div", {
47
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
48
+ children: [/* @__PURE__ */ _(t, { className: "h-4 w-4" }), "Pending"]
49
+ }), /* @__PURE__ */ _("p", {
50
+ className: "text-2xl font-bold mt-1 text-blue-600",
51
+ children: C.length
52
+ })]
53
+ }) }),
54
+ /* @__PURE__ */ _(c, { children: /* @__PURE__ */ v(l, {
55
+ className: "pt-4",
56
+ children: [/* @__PURE__ */ v("div", {
57
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
58
+ children: [/* @__PURE__ */ _(a, { className: "h-4 w-4" }), "Over Budget"]
59
+ }), /* @__PURE__ */ _("p", {
60
+ className: "text-2xl font-bold mt-1 text-red-600",
61
+ children: w.length
62
+ })]
63
+ }) }),
64
+ /* @__PURE__ */ _(c, { children: /* @__PURE__ */ v(l, {
65
+ className: "pt-4",
66
+ children: [/* @__PURE__ */ v("div", {
67
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
68
+ children: [/* @__PURE__ */ _(i, { className: "h-4 w-4" }), "Overdue Invoices"]
69
+ }), /* @__PURE__ */ _("p", {
70
+ className: "text-2xl font-bold mt-1 text-orange-600",
71
+ children: T.length
72
+ })]
73
+ }) })
74
+ ]
75
+ }),
76
+ /* @__PURE__ */ v(p, {
77
+ defaultValue: "transactions",
78
+ children: [
79
+ /* @__PURE__ */ v(h, { children: [
80
+ /* @__PURE__ */ _(g, {
81
+ value: "transactions",
82
+ children: "Transactions"
83
+ }),
84
+ /* @__PURE__ */ _(g, {
85
+ value: "budgets",
86
+ children: "Budgets"
87
+ }),
88
+ /* @__PURE__ */ _(g, {
89
+ value: "invoices",
90
+ children: "Invoices"
91
+ })
92
+ ] }),
93
+ /* @__PURE__ */ _(m, {
94
+ value: "transactions",
95
+ className: "mt-4",
96
+ children: /* @__PURE__ */ _(c, { children: /* @__PURE__ */ _(l, {
97
+ className: "p-0",
98
+ children: /* @__PURE__ */ _("div", {
99
+ className: "overflow-x-auto",
100
+ children: /* @__PURE__ */ v("table", {
101
+ className: "w-full text-sm",
102
+ children: [/* @__PURE__ */ _("thead", { children: /* @__PURE__ */ v("tr", {
103
+ className: "border-b bg-muted/50",
104
+ children: [
105
+ /* @__PURE__ */ _("th", {
106
+ className: "text-left p-3 font-medium",
107
+ children: "ID"
108
+ }),
109
+ /* @__PURE__ */ _("th", {
110
+ className: "text-left p-3 font-medium",
111
+ children: "Type"
112
+ }),
113
+ /* @__PURE__ */ _("th", {
114
+ className: "text-left p-3 font-medium",
115
+ children: "Description"
116
+ }),
117
+ /* @__PURE__ */ _("th", {
118
+ className: "text-left p-3 font-medium",
119
+ children: "Department"
120
+ }),
121
+ /* @__PURE__ */ _("th", {
122
+ className: "text-right p-3 font-medium",
123
+ children: "Amount"
124
+ }),
125
+ /* @__PURE__ */ _("th", {
126
+ className: "text-left p-3 font-medium",
127
+ children: "Status"
128
+ }),
129
+ /* @__PURE__ */ _("th", {
130
+ className: "text-left p-3 font-medium",
131
+ children: "Date"
132
+ })
133
+ ]
134
+ }) }), /* @__PURE__ */ _("tbody", { children: y.map((e) => /* @__PURE__ */ v("tr", {
135
+ className: "border-b hover:bg-muted/50 cursor-pointer",
136
+ children: [
137
+ /* @__PURE__ */ _("td", {
138
+ className: "p-3 font-mono text-xs",
139
+ children: e.id
140
+ }),
141
+ /* @__PURE__ */ _("td", {
142
+ className: "p-3 capitalize",
143
+ children: e.type
144
+ }),
145
+ /* @__PURE__ */ _("td", {
146
+ className: "p-3 truncate max-w-xs",
147
+ children: e.description
148
+ }),
149
+ /* @__PURE__ */ _("td", {
150
+ className: "p-3 text-xs",
151
+ children: e.department
152
+ }),
153
+ /* @__PURE__ */ v("td", {
154
+ className: `p-3 text-right font-medium ${e.amount < 0 ? "text-red-600" : ""}`,
155
+ children: ["$", Math.abs(e.amount).toLocaleString()]
156
+ }),
157
+ /* @__PURE__ */ _("td", {
158
+ className: "p-3",
159
+ children: /* @__PURE__ */ _(o, {
160
+ variant: "outline",
161
+ children: e.status
162
+ })
163
+ }),
164
+ /* @__PURE__ */ _("td", {
165
+ className: "p-3 text-xs",
166
+ children: new Date(e.date).toLocaleDateString()
167
+ })
168
+ ]
169
+ }, e.id)) })]
170
+ })
171
+ })
172
+ }) })
173
+ }),
174
+ /* @__PURE__ */ _(m, {
175
+ value: "budgets",
176
+ className: "mt-4",
177
+ children: /* @__PURE__ */ _("div", {
178
+ className: "grid gap-4 md:grid-cols-2",
179
+ children: b.map((e) => /* @__PURE__ */ v(c, { children: [/* @__PURE__ */ v(d, {
180
+ className: "pb-2",
181
+ children: [/* @__PURE__ */ v("div", {
182
+ className: "flex items-center justify-between",
183
+ children: [/* @__PURE__ */ _(f, {
184
+ className: "text-base",
185
+ children: e.name
186
+ }), /* @__PURE__ */ _(o, {
187
+ variant: e.status === "over_budget" ? "destructive" : e.status === "under_budget" ? "secondary" : "default",
188
+ children: e.status.replace("_", " ")
189
+ })]
190
+ }), /* @__PURE__ */ v(u, { children: [
191
+ e.department,
192
+ " · ",
193
+ e.period
194
+ ] })]
195
+ }), /* @__PURE__ */ _(l, { children: /* @__PURE__ */ v("div", {
196
+ className: "space-y-3",
197
+ children: [
198
+ /* @__PURE__ */ v("div", {
199
+ className: "flex justify-between text-sm",
200
+ children: [/* @__PURE__ */ _("span", {
201
+ className: "text-muted-foreground",
202
+ children: "Allocated"
203
+ }), /* @__PURE__ */ v("span", {
204
+ className: "font-medium",
205
+ children: ["$", e.allocated.toLocaleString()]
206
+ })]
207
+ }),
208
+ /* @__PURE__ */ v("div", {
209
+ className: "flex justify-between text-sm",
210
+ children: [/* @__PURE__ */ _("span", {
211
+ className: "text-muted-foreground",
212
+ children: "Spent"
213
+ }), /* @__PURE__ */ v("span", {
214
+ className: "font-medium",
215
+ children: ["$", e.spent.toLocaleString()]
216
+ })]
217
+ }),
218
+ /* @__PURE__ */ v("div", {
219
+ className: "flex justify-between text-sm",
220
+ children: [/* @__PURE__ */ _("span", {
221
+ className: "text-muted-foreground",
222
+ children: "Remaining"
223
+ }), /* @__PURE__ */ v("span", {
224
+ className: `font-medium ${e.remaining < 0 ? "text-red-600" : "text-green-600"}`,
225
+ children: ["$", e.remaining.toLocaleString()]
226
+ })]
227
+ }),
228
+ /* @__PURE__ */ _("div", {
229
+ className: "h-2 rounded-full bg-muted overflow-hidden",
230
+ children: /* @__PURE__ */ _("div", {
231
+ className: `h-full rounded-full ${e.status === "over_budget" ? "bg-red-500" : "bg-primary"}`,
232
+ style: { width: `${Math.min(e.spent / e.allocated * 100, 100)}%` }
233
+ })
234
+ }),
235
+ /* @__PURE__ */ v("p", {
236
+ className: "text-xs text-muted-foreground text-right",
237
+ children: [Math.round(e.spent / e.allocated * 100), "% utilized"]
238
+ })
239
+ ]
240
+ }) })] }, e.id))
241
+ })
242
+ }),
243
+ /* @__PURE__ */ _(m, {
244
+ value: "invoices",
245
+ className: "mt-4",
246
+ children: /* @__PURE__ */ _(c, { children: /* @__PURE__ */ _(l, {
247
+ className: "p-0",
248
+ children: /* @__PURE__ */ _("div", {
249
+ className: "overflow-x-auto",
250
+ children: /* @__PURE__ */ v("table", {
251
+ className: "w-full text-sm",
252
+ children: [/* @__PURE__ */ _("thead", { children: /* @__PURE__ */ v("tr", {
253
+ className: "border-b bg-muted/50",
254
+ children: [
255
+ /* @__PURE__ */ _("th", {
256
+ className: "text-left p-3 font-medium",
257
+ children: "Invoice #"
258
+ }),
259
+ /* @__PURE__ */ _("th", {
260
+ className: "text-left p-3 font-medium",
261
+ children: "Vendor"
262
+ }),
263
+ /* @__PURE__ */ _("th", {
264
+ className: "text-right p-3 font-medium",
265
+ children: "Amount"
266
+ }),
267
+ /* @__PURE__ */ _("th", {
268
+ className: "text-left p-3 font-medium",
269
+ children: "Issue Date"
270
+ }),
271
+ /* @__PURE__ */ _("th", {
272
+ className: "text-left p-3 font-medium",
273
+ children: "Due Date"
274
+ }),
275
+ /* @__PURE__ */ _("th", {
276
+ className: "text-left p-3 font-medium",
277
+ children: "Status"
278
+ })
279
+ ]
280
+ }) }), /* @__PURE__ */ _("tbody", { children: x.map((e) => /* @__PURE__ */ v("tr", {
281
+ className: "border-b hover:bg-muted/50 cursor-pointer",
282
+ children: [
283
+ /* @__PURE__ */ _("td", {
284
+ className: "p-3 font-mono text-xs",
285
+ children: e.number
286
+ }),
287
+ /* @__PURE__ */ _("td", {
288
+ className: "p-3",
289
+ children: e.vendor
290
+ }),
291
+ /* @__PURE__ */ v("td", {
292
+ className: "p-3 text-right font-medium",
293
+ children: ["$", e.amount.toLocaleString()]
294
+ }),
295
+ /* @__PURE__ */ _("td", {
296
+ className: "p-3 text-xs",
297
+ children: e.issueDate
298
+ }),
299
+ /* @__PURE__ */ _("td", {
300
+ className: "p-3 text-xs",
301
+ children: e.dueDate
302
+ }),
303
+ /* @__PURE__ */ _("td", {
304
+ className: "p-3",
305
+ children: /* @__PURE__ */ _(o, {
306
+ variant: e.status === "overdue" ? "destructive" : e.status === "paid" ? "default" : "outline",
307
+ children: e.status
308
+ })
309
+ })
310
+ ]
311
+ }, e.id)) })]
312
+ })
313
+ })
314
+ }) })
315
+ })
316
+ ]
317
+ })
318
+ ]
319
+ });
320
+ }
321
+ //#endregion
322
+ export { y as FinanceFinanceHubPage };
323
+
324
+ //# sourceMappingURL=FinanceFinanceHubPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinanceFinanceHubPage.js","names":[],"sources":["../../../src/assethandler/pages/FinanceFinanceHubPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport {\n DollarSign,\n TrendingUp,\n TrendingDown,\n Receipt,\n FileText,\n CreditCard,\n Download,\n} from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function FinanceFinanceHubPage() {\n const { transactions, budgets, invoices } = useAssetHandlerStore();\n\n const totalSpend = transactions.filter((t) => t.amount > 0).reduce((s, t) => s + t.amount, 0);\n const pendingTxns = transactions.filter((t) => t.status === 'pending');\n const overBudget = budgets.filter((b) => b.status === 'over_budget');\n const overdueInvoices = invoices.filter((i) => i.status === 'overdue');\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold\">Finance Hub</h1>\n <p className=\"text-sm text-muted-foreground\">Financial management for IT assets</p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Download className=\"mr-2 h-4 w-4\" />\n Export\n </Button>\n <Button size=\"sm\">New Transaction</Button>\n </div>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <DollarSign className=\"h-4 w-4\" />\n Total Spend\n </div>\n <p className=\"text-2xl font-bold mt-1\">${totalSpend.toLocaleString()}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <CreditCard className=\"h-4 w-4\" />\n Pending\n </div>\n <p className=\"text-2xl font-bold mt-1 text-blue-600\">{pendingTxns.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <TrendingDown className=\"h-4 w-4\" />\n Over Budget\n </div>\n <p className=\"text-2xl font-bold mt-1 text-red-600\">{overBudget.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Receipt className=\"h-4 w-4\" />\n Overdue Invoices\n </div>\n <p className=\"text-2xl font-bold mt-1 text-orange-600\">{overdueInvoices.length}</p>\n </CardContent>\n </Card>\n </div>\n\n <Tabs defaultValue=\"transactions\">\n <TabsList>\n <TabsTrigger value=\"transactions\">Transactions</TabsTrigger>\n <TabsTrigger value=\"budgets\">Budgets</TabsTrigger>\n <TabsTrigger value=\"invoices\">Invoices</TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"transactions\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">ID</th>\n <th className=\"text-left p-3 font-medium\">Type</th>\n <th className=\"text-left p-3 font-medium\">Description</th>\n <th className=\"text-left p-3 font-medium\">Department</th>\n <th className=\"text-right p-3 font-medium\">Amount</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Date</th>\n </tr>\n </thead>\n <tbody>\n {transactions.map((txn) => (\n <tr key={txn.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{txn.id}</td>\n <td className=\"p-3 capitalize\">{txn.type}</td>\n <td className=\"p-3 truncate max-w-xs\">{txn.description}</td>\n <td className=\"p-3 text-xs\">{txn.department}</td>\n <td\n className={`p-3 text-right font-medium ${txn.amount < 0 ? 'text-red-600' : ''}`}\n >\n ${Math.abs(txn.amount).toLocaleString()}\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{txn.status}</Badge>\n </td>\n <td className=\"p-3 text-xs\">{new Date(txn.date).toLocaleDateString()}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n\n <TabsContent value=\"budgets\" className=\"mt-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n {budgets.map((budget) => (\n <Card key={budget.id}>\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">{budget.name}</CardTitle>\n <Badge\n variant={\n budget.status === 'over_budget'\n ? 'destructive'\n : budget.status === 'under_budget'\n ? 'secondary'\n : 'default'\n }\n >\n {budget.status.replace('_', ' ')}\n </Badge>\n </div>\n <CardDescription>\n {budget.department} &middot; {budget.period}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <div className=\"flex justify-between text-sm\">\n <span className=\"text-muted-foreground\">Allocated</span>\n <span className=\"font-medium\">${budget.allocated.toLocaleString()}</span>\n </div>\n <div className=\"flex justify-between text-sm\">\n <span className=\"text-muted-foreground\">Spent</span>\n <span className=\"font-medium\">${budget.spent.toLocaleString()}</span>\n </div>\n <div className=\"flex justify-between text-sm\">\n <span className=\"text-muted-foreground\">Remaining</span>\n <span\n className={`font-medium ${budget.remaining < 0 ? 'text-red-600' : 'text-green-600'}`}\n >\n ${budget.remaining.toLocaleString()}\n </span>\n </div>\n <div className=\"h-2 rounded-full bg-muted overflow-hidden\">\n <div\n className={`h-full rounded-full ${budget.status === 'over_budget' ? 'bg-red-500' : 'bg-primary'}`}\n style={{\n width: `${Math.min((budget.spent / budget.allocated) * 100, 100)}%`,\n }}\n />\n </div>\n <p className=\"text-xs text-muted-foreground text-right\">\n {Math.round((budget.spent / budget.allocated) * 100)}% utilized\n </p>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </TabsContent>\n\n <TabsContent value=\"invoices\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">Invoice #</th>\n <th className=\"text-left p-3 font-medium\">Vendor</th>\n <th className=\"text-right p-3 font-medium\">Amount</th>\n <th className=\"text-left p-3 font-medium\">Issue Date</th>\n <th className=\"text-left p-3 font-medium\">Due Date</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n </tr>\n </thead>\n <tbody>\n {invoices.map((inv) => (\n <tr key={inv.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{inv.number}</td>\n <td className=\"p-3\">{inv.vendor}</td>\n <td className=\"p-3 text-right font-medium\">\n ${inv.amount.toLocaleString()}\n </td>\n <td className=\"p-3 text-xs\">{inv.issueDate}</td>\n <td className=\"p-3 text-xs\">{inv.dueDate}</td>\n <td className=\"p-3\">\n <Badge\n variant={\n inv.status === 'overdue'\n ? 'destructive'\n : inv.status === 'paid'\n ? 'default'\n : 'outline'\n }\n >\n {inv.status}\n </Badge>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n"],"mappings":";;;;;AAyBA,SAAgB,IAAwB;CACtC,IAAM,EAAE,iBAAc,YAAS,gBAAa,GAAsB,EAE5D,IAAa,EAAa,QAAQ,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,QAAQ,EAAE,EACvF,IAAc,EAAa,QAAQ,MAAM,EAAE,WAAW,UAAU,EAChE,IAAa,EAAQ,QAAQ,MAAM,EAAE,WAAW,cAAc,EAC9D,IAAkB,EAAS,QAAQ,MAAM,EAAE,WAAW,UAAU;AAEtE,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;KAAI,WAAU;eAAqB;KAAgB,CAAA,EACnD,kBAAC,KAAD;KAAG,WAAU;eAAgC;KAAsC,CAAA,CAC/E,EAAA,CAAA,EACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAQ,SAAQ;MAAU,MAAK;gBAA/B,CACE,kBAAC,GAAD,EAAU,WAAU,gBAAiB,CAAA,EAAA,SAE9B;SACT,kBAAC,GAAD;MAAQ,MAAK;gBAAK;MAAwB,CAAA,CACtC;OACF;;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAY,WAAU,WAAY,CAAA,EAAA,cAE9B;UACN,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAAuC,KAAE,EAAW,gBAAgB,CAAK;SAC7D;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAY,WAAU,WAAY,CAAA,EAAA,UAE9B;UACN,kBAAC,KAAD;OAAG,WAAU;iBAAyC,EAAY;OAAW,CAAA,CACjE;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAc,WAAU,WAAY,CAAA,EAAA,cAEhC;UACN,kBAAC,KAAD;OAAG,WAAU;iBAAwC,EAAW;OAAW,CAAA,CAC/D;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAS,WAAU,WAAY,CAAA,EAAA,mBAE3B;UACN,kBAAC,KAAD;OAAG,WAAU;iBAA2C,EAAgB;OAAW,CAAA,CACvE;SACT,CAAA;KACH;;GAEN,kBAAC,GAAD;IAAM,cAAa;cAAnB;KACE,kBAAC,GAAD,EAAA,UAAA;MACE,kBAAC,GAAD;OAAa,OAAM;iBAAe;OAA0B,CAAA;MAC5D,kBAAC,GAAD;OAAa,OAAM;iBAAU;OAAqB,CAAA;MAClD,kBAAC,GAAD;OAAa,OAAM;iBAAW;OAAsB,CAAA;MAC3C,EAAA,CAAA;KAEX,kBAAC,GAAD;MAAa,OAAM;MAAe,WAAU;gBAC1C,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAa,WAAU;iBACrB,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,SAAD;SAAO,WAAU;mBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;UAAI,WAAU;oBAAd;WACE,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAO,CAAA;WACjD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAS,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAgB,CAAA;WAC1D,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAe,CAAA;WACzD,kBAAC,MAAD;YAAI,WAAU;sBAA6B;YAAW,CAAA;WACtD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WACrD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAS,CAAA;WAChD;aACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAa,KAAK,MACjB,kBAAC,MAAD;UAAiB,WAAU;oBAA3B;WACE,kBAAC,MAAD;YAAI,WAAU;sBAAyB,EAAI;YAAQ,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAAkB,EAAI;YAAU,CAAA;WAC9C,kBAAC,MAAD;YAAI,WAAU;sBAAyB,EAAI;YAAiB,CAAA;WAC5D,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAgB,CAAA;WACjD,kBAAC,MAAD;YACE,WAAW,8BAA8B,EAAI,SAAS,IAAI,iBAAiB;sBAD7E,CAEC,KACG,KAAK,IAAI,EAAI,OAAO,CAAC,gBAAgB,CACpC;;WACL,kBAAC,MAAD;YAAI,WAAU;sBACZ,kBAAC,GAAD;aAAO,SAAQ;uBAAW,EAAI;aAAe,CAAA;YAC1C,CAAA;WACL,kBAAC,MAAD;YAAI,WAAU;sBAAe,IAAI,KAAK,EAAI,KAAK,CAAC,oBAAoB;YAAM,CAAA;WACvE;YAdI,EAAI,GAcR,CACL,EACI,CAAA,CACF;;QACJ,CAAA;OACM,CAAA,EACT,CAAA;MACK,CAAA;KAEd,kBAAC,GAAD;MAAa,OAAM;MAAU,WAAU;gBACrC,kBAAC,OAAD;OAAK,WAAU;iBACZ,EAAQ,KAAK,MACZ,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;QAAY,WAAU;kBAAtB,CACE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD;UAAW,WAAU;oBAAa,EAAO;UAAiB,CAAA,EAC1D,kBAAC,GAAD;UACE,SACE,EAAO,WAAW,gBACd,gBACA,EAAO,WAAW,iBAChB,cACA;oBAGP,EAAO,OAAO,QAAQ,KAAK,IAAI;UAC1B,CAAA,CACJ;YACN,kBAAC,GAAD,EAAA,UAAA;SACG,EAAO;SAAW;SAAW,EAAO;SACrB,EAAA,CAAA,CACP;WACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,QAAD;WAAM,WAAU;qBAAwB;WAAgB,CAAA,EACxD,kBAAC,QAAD;WAAM,WAAU;qBAAhB,CAA8B,KAAE,EAAO,UAAU,gBAAgB,CAAQ;aACrE;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,QAAD;WAAM,WAAU;qBAAwB;WAAY,CAAA,EACpD,kBAAC,QAAD;WAAM,WAAU;qBAAhB,CAA8B,KAAE,EAAO,MAAM,gBAAgB,CAAQ;aACjE;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,QAAD;WAAM,WAAU;qBAAwB;WAAgB,CAAA,EACxD,kBAAC,QAAD;WACE,WAAW,eAAe,EAAO,YAAY,IAAI,iBAAiB;qBADpE,CAEC,KACG,EAAO,UAAU,gBAAgB,CAC9B;aACH;;SACN,kBAAC,OAAD;UAAK,WAAU;oBACb,kBAAC,OAAD;WACE,WAAW,uBAAuB,EAAO,WAAW,gBAAgB,eAAe;WACnF,OAAO,EACL,OAAO,GAAG,KAAK,IAAK,EAAO,QAAQ,EAAO,YAAa,KAAK,IAAI,CAAC,IAClE;WACD,CAAA;UACE,CAAA;SACN,kBAAC,KAAD;UAAG,WAAU;oBAAb,CACG,KAAK,MAAO,EAAO,QAAQ,EAAO,YAAa,IAAI,EAAC,aACnD;;SACA;WACM,CAAA,CACT,EAAA,EAnDI,EAAO,GAmDX,CACP;OACE,CAAA;MACM,CAAA;KAEd,kBAAC,GAAD;MAAa,OAAM;MAAW,WAAU;gBACtC,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAa,WAAU;iBACrB,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,SAAD;SAAO,WAAU;mBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;UAAI,WAAU;oBAAd;WACE,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAc,CAAA;WACxD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WACrD,kBAAC,MAAD;YAAI,WAAU;sBAA6B;YAAW,CAAA;WACtD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAe,CAAA;WACzD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAa,CAAA;WACvD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WAClD;aACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAS,KAAK,MACb,kBAAC,MAAD;UAAiB,WAAU;oBAA3B;WACE,kBAAC,MAAD;YAAI,WAAU;sBAAyB,EAAI;YAAY,CAAA;WACvD,kBAAC,MAAD;YAAI,WAAU;sBAAO,EAAI;YAAY,CAAA;WACrC,kBAAC,MAAD;YAAI,WAAU;sBAAd,CAA2C,KACvC,EAAI,OAAO,gBAAgB,CAC1B;;WACL,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAe,CAAA;WAChD,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAa,CAAA;WAC9C,kBAAC,MAAD;YAAI,WAAU;sBACZ,kBAAC,GAAD;aACE,SACE,EAAI,WAAW,YACX,gBACA,EAAI,WAAW,SACb,YACA;uBAGP,EAAI;aACC,CAAA;YACL,CAAA;WACF;YArBI,EAAI,GAqBR,CACL,EACI,CAAA,CACF;;QACJ,CAAA;OACM,CAAA,EACT,CAAA;MACK,CAAA;KACT;;GACH"}
@@ -0,0 +1,2 @@
1
+ export declare function FinanceInvoiceDetailPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FinanceInvoiceDetailPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinanceInvoiceDetailPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/FinanceInvoiceDetailPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,wBAAwB,4CAmIvC"}
@@ -0,0 +1,172 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { ArrowLeft as t, CheckCircle as n, Download as r, Printer as i } from "lucide-react";
3
+ import { useParams as a } from "react-router-dom";
4
+ import { Badge as o, Button as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ //#region src/assethandler/pages/FinanceInvoiceDetailPage.tsx
7
+ function m() {
8
+ let { invoiceId: m } = a(), { invoices: h } = e(), g = h.find((e) => e.id === m || e.number === m) ?? h[0];
9
+ return g ? /* @__PURE__ */ p("div", {
10
+ className: "space-y-6 p-6 max-w-4xl",
11
+ children: [
12
+ /* @__PURE__ */ p("div", {
13
+ className: "flex items-center justify-between",
14
+ children: [/* @__PURE__ */ p("div", {
15
+ className: "flex items-center gap-4",
16
+ children: [/* @__PURE__ */ f(s, {
17
+ variant: "ghost",
18
+ size: "icon",
19
+ children: /* @__PURE__ */ f(t, { className: "h-4 w-4" })
20
+ }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ p("div", {
21
+ className: "flex items-center gap-3",
22
+ children: [/* @__PURE__ */ f("h1", {
23
+ className: "text-2xl font-bold",
24
+ children: g.number
25
+ }), /* @__PURE__ */ f(o, {
26
+ variant: g.status === "overdue" ? "destructive" : g.status === "paid" ? "default" : "outline",
27
+ children: g.status
28
+ })]
29
+ }), /* @__PURE__ */ f("p", {
30
+ className: "text-sm text-muted-foreground mt-1",
31
+ children: g.vendor
32
+ })] })]
33
+ }), /* @__PURE__ */ p("div", {
34
+ className: "flex gap-2",
35
+ children: [
36
+ /* @__PURE__ */ p(s, {
37
+ variant: "outline",
38
+ size: "sm",
39
+ children: [/* @__PURE__ */ f(i, { className: "mr-2 h-4 w-4" }), "Print"]
40
+ }),
41
+ /* @__PURE__ */ p(s, {
42
+ variant: "outline",
43
+ size: "sm",
44
+ children: [/* @__PURE__ */ f(r, { className: "mr-2 h-4 w-4" }), "Download"]
45
+ }),
46
+ g.status !== "paid" && /* @__PURE__ */ p(s, {
47
+ size: "sm",
48
+ children: [/* @__PURE__ */ f(n, { className: "mr-2 h-4 w-4" }), "Mark as Paid"]
49
+ })
50
+ ]
51
+ })]
52
+ }),
53
+ /* @__PURE__ */ p(c, { children: [/* @__PURE__ */ f(u, { children: /* @__PURE__ */ f(d, { children: "Invoice Details" }) }), /* @__PURE__ */ f(l, { children: /* @__PURE__ */ p("div", {
54
+ className: "grid grid-cols-2 gap-6 text-sm",
55
+ children: [
56
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
57
+ className: "text-muted-foreground",
58
+ children: "Invoice Number"
59
+ }), /* @__PURE__ */ f("p", {
60
+ className: "font-medium",
61
+ children: g.number
62
+ })] }),
63
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
64
+ className: "text-muted-foreground",
65
+ children: "Vendor"
66
+ }), /* @__PURE__ */ f("p", {
67
+ className: "font-medium",
68
+ children: g.vendor
69
+ })] }),
70
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
71
+ className: "text-muted-foreground",
72
+ children: "Issue Date"
73
+ }), /* @__PURE__ */ f("p", {
74
+ className: "font-medium",
75
+ children: g.issueDate
76
+ })] }),
77
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
78
+ className: "text-muted-foreground",
79
+ children: "Due Date"
80
+ }), /* @__PURE__ */ f("p", {
81
+ className: "font-medium",
82
+ children: g.dueDate
83
+ })] }),
84
+ g.relatedPO && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
85
+ className: "text-muted-foreground",
86
+ children: "Related PO"
87
+ }), /* @__PURE__ */ f("p", {
88
+ className: "font-medium",
89
+ children: g.relatedPO
90
+ })] }),
91
+ /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("span", {
92
+ className: "text-muted-foreground",
93
+ children: "Currency"
94
+ }), /* @__PURE__ */ f("p", {
95
+ className: "font-medium",
96
+ children: g.currency
97
+ })] })
98
+ ]
99
+ }) })] }),
100
+ /* @__PURE__ */ p(c, { children: [/* @__PURE__ */ f(u, { children: /* @__PURE__ */ f(d, { children: "Line Items" }) }), /* @__PURE__ */ f(l, {
101
+ className: "p-0",
102
+ children: /* @__PURE__ */ f("div", {
103
+ className: "overflow-x-auto",
104
+ children: /* @__PURE__ */ p("table", {
105
+ className: "w-full text-sm",
106
+ children: [/* @__PURE__ */ f("thead", { children: /* @__PURE__ */ p("tr", {
107
+ className: "border-b bg-muted/50",
108
+ children: [
109
+ /* @__PURE__ */ f("th", {
110
+ className: "text-left p-3 font-medium",
111
+ children: "Description"
112
+ }),
113
+ /* @__PURE__ */ f("th", {
114
+ className: "text-right p-3 font-medium",
115
+ children: "Qty"
116
+ }),
117
+ /* @__PURE__ */ f("th", {
118
+ className: "text-right p-3 font-medium",
119
+ children: "Unit Price"
120
+ }),
121
+ /* @__PURE__ */ f("th", {
122
+ className: "text-right p-3 font-medium",
123
+ children: "Total"
124
+ })
125
+ ]
126
+ }) }), /* @__PURE__ */ p("tbody", { children: [g.items.map((e, t) => /* @__PURE__ */ p("tr", {
127
+ className: "border-b",
128
+ children: [
129
+ /* @__PURE__ */ f("td", {
130
+ className: "p-3",
131
+ children: e.description
132
+ }),
133
+ /* @__PURE__ */ f("td", {
134
+ className: "p-3 text-right",
135
+ children: e.qty
136
+ }),
137
+ /* @__PURE__ */ p("td", {
138
+ className: "p-3 text-right",
139
+ children: ["$", e.unitPrice.toLocaleString()]
140
+ }),
141
+ /* @__PURE__ */ p("td", {
142
+ className: "p-3 text-right font-medium",
143
+ children: ["$", e.total.toLocaleString()]
144
+ })
145
+ ]
146
+ }, t)), /* @__PURE__ */ p("tr", {
147
+ className: "bg-muted/50",
148
+ children: [/* @__PURE__ */ f("td", {
149
+ colSpan: 3,
150
+ className: "p-3 text-right font-bold",
151
+ children: "Total"
152
+ }), /* @__PURE__ */ p("td", {
153
+ className: "p-3 text-right font-bold text-lg",
154
+ children: ["$", g.amount.toLocaleString()]
155
+ })]
156
+ })] })]
157
+ })
158
+ })
159
+ })] })
160
+ ]
161
+ }) : /* @__PURE__ */ f("div", {
162
+ className: "p-6",
163
+ children: /* @__PURE__ */ f("p", {
164
+ className: "text-muted-foreground",
165
+ children: "Invoice not found."
166
+ })
167
+ });
168
+ }
169
+ //#endregion
170
+ export { m as FinanceInvoiceDetailPage };
171
+
172
+ //# sourceMappingURL=FinanceInvoiceDetailPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinanceInvoiceDetailPage.js","names":[],"sources":["../../../src/assethandler/pages/FinanceInvoiceDetailPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowLeft, Download, Printer, CheckCircle } from 'lucide-react';\nimport { useParams } from 'react-router-dom';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function FinanceInvoiceDetailPage() {\n const { invoiceId } = useParams<{ invoiceId: string }>();\n const { invoices } = useAssetHandlerStore();\n const invoice =\n invoices.find((item) => item.id === invoiceId || item.number === invoiceId) ?? invoices[0];\n\n if (!invoice)\n return (\n <div className=\"p-6\">\n <p className=\"text-muted-foreground\">Invoice not found.</p>\n </div>\n );\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 <div className=\"flex items-center gap-3\">\n <h1 className=\"text-2xl font-bold\">{invoice.number}</h1>\n <Badge\n variant={\n invoice.status === 'overdue'\n ? 'destructive'\n : invoice.status === 'paid'\n ? 'default'\n : 'outline'\n }\n >\n {invoice.status}\n </Badge>\n </div>\n <p className=\"text-sm text-muted-foreground mt-1\">{invoice.vendor}</p>\n </div>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Printer className=\"mr-2 h-4 w-4\" />\n Print\n </Button>\n <Button variant=\"outline\" size=\"sm\">\n <Download className=\"mr-2 h-4 w-4\" />\n Download\n </Button>\n {invoice.status !== 'paid' && (\n <Button size=\"sm\">\n <CheckCircle className=\"mr-2 h-4 w-4\" />\n Mark as Paid\n </Button>\n )}\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Invoice Details</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-2 gap-6 text-sm\">\n <div>\n <span className=\"text-muted-foreground\">Invoice Number</span>\n <p className=\"font-medium\">{invoice.number}</p>\n </div>\n <div>\n <span className=\"text-muted-foreground\">Vendor</span>\n <p className=\"font-medium\">{invoice.vendor}</p>\n </div>\n <div>\n <span className=\"text-muted-foreground\">Issue Date</span>\n <p className=\"font-medium\">{invoice.issueDate}</p>\n </div>\n <div>\n <span className=\"text-muted-foreground\">Due Date</span>\n <p className=\"font-medium\">{invoice.dueDate}</p>\n </div>\n {invoice.relatedPO && (\n <div>\n <span className=\"text-muted-foreground\">Related PO</span>\n <p className=\"font-medium\">{invoice.relatedPO}</p>\n </div>\n )}\n <div>\n <span className=\"text-muted-foreground\">Currency</span>\n <p className=\"font-medium\">{invoice.currency}</p>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Line Items</CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">Description</th>\n <th className=\"text-right p-3 font-medium\">Qty</th>\n <th className=\"text-right p-3 font-medium\">Unit Price</th>\n <th className=\"text-right p-3 font-medium\">Total</th>\n </tr>\n </thead>\n <tbody>\n {invoice.items.map((item, i) => (\n <tr key={i} className=\"border-b\">\n <td className=\"p-3\">{item.description}</td>\n <td className=\"p-3 text-right\">{item.qty}</td>\n <td className=\"p-3 text-right\">${item.unitPrice.toLocaleString()}</td>\n <td className=\"p-3 text-right font-medium\">${item.total.toLocaleString()}</td>\n </tr>\n ))}\n <tr className=\"bg-muted/50\">\n <td colSpan={3} className=\"p-3 text-right font-bold\">\n Total\n </td>\n <td className=\"p-3 text-right font-bold text-lg\">\n ${invoice.amount.toLocaleString()}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;;AAaA,SAAgB,IAA2B;CACzC,IAAM,EAAE,iBAAc,GAAkC,EAClD,EAAE,gBAAa,GAAsB,EACrC,IACJ,EAAS,MAAM,MAAS,EAAK,OAAO,KAAa,EAAK,WAAW,EAAU,IAAI,EAAS;AAS1F,QAPK,IAQH,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAQ,SAAQ;MAAQ,MAAK;gBAC3B,kBAAC,GAAD,EAAW,WAAU,WAAY,CAAA;MAC1B,CAAA,EACT,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBAAsB,EAAQ;OAAY,CAAA,EACxD,kBAAC,GAAD;OACE,SACE,EAAQ,WAAW,YACf,gBACA,EAAQ,WAAW,SACjB,YACA;iBAGP,EAAQ;OACH,CAAA,CACJ;SACN,kBAAC,KAAD;MAAG,WAAU;gBAAsC,EAAQ;MAAW,CAAA,CAClE,EAAA,CAAA,CACF;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,GAAD;OAAQ,SAAQ;OAAU,MAAK;iBAA/B,CACE,kBAAC,GAAD,EAAS,WAAU,gBAAiB,CAAA,EAAA,QAE7B;;MACT,kBAAC,GAAD;OAAQ,SAAQ;OAAU,MAAK;iBAA/B,CACE,kBAAC,GAAD,EAAU,WAAU,gBAAiB,CAAA,EAAA,WAE9B;;MACR,EAAQ,WAAW,UAClB,kBAAC,GAAD;OAAQ,MAAK;iBAAb,CACE,kBAAC,GAAD,EAAa,WAAU,gBAAiB,CAAA,EAAA,eAEjC;;MAEP;OACF;;GAEN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,mBAA2B,CAAA,EAC3B,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAqB,CAAA,EAC7D,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAW,CAAA,CAC3C,EAAA,CAAA;KACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAa,CAAA,EACrD,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAW,CAAA,CAC3C,EAAA,CAAA;KACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAiB,CAAA,EACzD,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAc,CAAA,CAC9C,EAAA,CAAA;KACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAe,CAAA,EACvD,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAY,CAAA,CAC5C,EAAA,CAAA;KACL,EAAQ,aACP,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAiB,CAAA,EACzD,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAc,CAAA,CAC9C,EAAA,CAAA;KAER,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;MAAM,WAAU;gBAAwB;MAAe,CAAA,EACvD,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAQ;MAAa,CAAA,CAC7C,EAAA,CAAA;KACF;OACM,CAAA,CACT,EAAA,CAAA;GAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,cAAsB,CAAA,EACtB,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cACrB,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,SAAD;MAAO,WAAU;gBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;OAAI,WAAU;iBAAd;QACE,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAgB,CAAA;QAC1D,kBAAC,MAAD;SAAI,WAAU;mBAA6B;SAAQ,CAAA;QACnD,kBAAC,MAAD;SAAI,WAAU;mBAA6B;SAAe,CAAA;QAC1D,kBAAC,MAAD;SAAI,WAAU;mBAA6B;SAAU,CAAA;QAClD;UACC,CAAA,EACR,kBAAC,SAAD,EAAA,UAAA,CACG,EAAQ,MAAM,KAAK,GAAM,MACxB,kBAAC,MAAD;OAAY,WAAU;iBAAtB;QACE,kBAAC,MAAD;SAAI,WAAU;mBAAO,EAAK;SAAiB,CAAA;QAC3C,kBAAC,MAAD;SAAI,WAAU;mBAAkB,EAAK;SAAS,CAAA;QAC9C,kBAAC,MAAD;SAAI,WAAU;mBAAd,CAA+B,KAAE,EAAK,UAAU,gBAAgB,CAAM;;QACtE,kBAAC,MAAD;SAAI,WAAU;mBAAd,CAA2C,KAAE,EAAK,MAAM,gBAAgB,CAAM;;QAC3E;SALI,EAKJ,CACL,EACF,kBAAC,MAAD;OAAI,WAAU;iBAAd,CACE,kBAAC,MAAD;QAAI,SAAS;QAAG,WAAU;kBAA2B;QAEhD,CAAA,EACL,kBAAC,MAAD;QAAI,WAAU;kBAAd,CAAiD,KAC7C,EAAQ,OAAO,gBAAgB,CAC9B;UACF;SACC,EAAA,CAAA,CACF;;KACJ,CAAA;IACM,CAAA,CACT,EAAA,CAAA;GACH;MAzHJ,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,KAAD;GAAG,WAAU;aAAwB;GAAsB,CAAA;EACvD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function IotDevicesPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=IotDevicesPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IotDevicesPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/IotDevicesPage.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,cAAc,4CAuD7B"}
@@ -0,0 +1,80 @@
1
+ import { Cpu as e } from "lucide-react";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { gql as r } from "@apollo/client";
4
+ import { useQuery as i } from "@apollo/client/react";
5
+ //#region src/assethandler/pages/IotDevicesPage.tsx
6
+ var a = r`
7
+ query AssetHandlerIoTDevices {
8
+ iotDevices {
9
+ id
10
+ deviceId
11
+ name
12
+ type
13
+ protocol
14
+ status
15
+ assetId
16
+ updatedAt
17
+ }
18
+ }
19
+ `;
20
+ function o() {
21
+ let { data: r, loading: o } = i(a, { fetchPolicy: "cache-and-network" }), s = r?.iotDevices ?? [];
22
+ return /* @__PURE__ */ n("div", {
23
+ className: "space-y-4 p-4",
24
+ children: [
25
+ /* @__PURE__ */ n("h1", {
26
+ className: "flex items-center gap-2 text-2xl font-semibold",
27
+ children: [/* @__PURE__ */ t(e, { className: "h-6 w-6" }), " IoT Devices"]
28
+ }),
29
+ /* @__PURE__ */ t("p", {
30
+ className: "text-muted-foreground",
31
+ children: "Monitor IoT device health, telemetry streams, and command execution."
32
+ }),
33
+ /* @__PURE__ */ n("div", {
34
+ className: "rounded-lg border",
35
+ children: [
36
+ /* @__PURE__ */ n("div", {
37
+ className: "grid grid-cols-6 gap-3 border-b px-4 py-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
38
+ children: [
39
+ /* @__PURE__ */ t("span", { children: "Device" }),
40
+ /* @__PURE__ */ t("span", { children: "Name" }),
41
+ /* @__PURE__ */ t("span", { children: "Type" }),
42
+ /* @__PURE__ */ t("span", { children: "Protocol" }),
43
+ /* @__PURE__ */ t("span", { children: "Status" }),
44
+ /* @__PURE__ */ t("span", { children: "Asset" })
45
+ ]
46
+ }),
47
+ o && s.length === 0 ? /* @__PURE__ */ t("div", {
48
+ className: "px-4 py-4 text-sm text-muted-foreground",
49
+ children: "Loading devices..."
50
+ }) : null,
51
+ !o && s.length === 0 ? /* @__PURE__ */ t("div", {
52
+ className: "px-4 py-4 text-sm text-muted-foreground",
53
+ children: "No IoT devices found."
54
+ }) : null,
55
+ s.map((e) => /* @__PURE__ */ n("div", {
56
+ className: "grid grid-cols-6 gap-3 border-b px-4 py-3 text-sm last:border-b-0",
57
+ children: [
58
+ /* @__PURE__ */ t("span", {
59
+ className: "font-medium",
60
+ children: e.deviceId
61
+ }),
62
+ /* @__PURE__ */ t("span", { children: e.name }),
63
+ /* @__PURE__ */ t("span", { children: e.type }),
64
+ /* @__PURE__ */ t("span", { children: e.protocol }),
65
+ /* @__PURE__ */ t("span", { children: e.status }),
66
+ /* @__PURE__ */ t("span", {
67
+ className: "truncate text-muted-foreground",
68
+ children: e.assetId ?? "Unlinked"
69
+ })
70
+ ]
71
+ }, e.id))
72
+ ]
73
+ })
74
+ ]
75
+ });
76
+ }
77
+ //#endregion
78
+ export { o as IotDevicesPage };
79
+
80
+ //# sourceMappingURL=IotDevicesPage.js.map