@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,201 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { CheckCircle as t, Clock as n, Download as r, FileText as i, Loader2 as a, Plus as o, XCircle as s } from "lucide-react";
3
+ import { Badge as c, Button as l, Card as u, CardContent as d, CardHeader as f, CardTitle as p } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/ReportsReportsDashboardPage.tsx
6
+ function g() {
7
+ let { reports: g, reportExecutions: _ } = e(), v = _.filter((e) => e.status === "completed"), y = _.filter((e) => e.status === "running");
8
+ _.filter((e) => e.status === "failed");
9
+ let b = g.filter((e) => e.schedule);
10
+ return /* @__PURE__ */ h("div", {
11
+ className: "space-y-6 p-6",
12
+ children: [
13
+ /* @__PURE__ */ h("div", {
14
+ className: "flex items-center justify-between",
15
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h1", {
16
+ className: "text-2xl font-bold",
17
+ children: "Reports Dashboard"
18
+ }), /* @__PURE__ */ m("p", {
19
+ className: "text-sm text-muted-foreground",
20
+ children: "Overview of all reports and executions"
21
+ })] }), /* @__PURE__ */ h(l, {
22
+ size: "sm",
23
+ children: [/* @__PURE__ */ m(o, { className: "mr-2 h-4 w-4" }), "New Report"]
24
+ })]
25
+ }),
26
+ /* @__PURE__ */ h("div", {
27
+ className: "grid gap-4 md:grid-cols-4",
28
+ children: [
29
+ /* @__PURE__ */ m(u, { children: /* @__PURE__ */ h(d, {
30
+ className: "pt-4",
31
+ children: [/* @__PURE__ */ h("div", {
32
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
33
+ children: [/* @__PURE__ */ m(i, { className: "h-4 w-4" }), "Total Reports"]
34
+ }), /* @__PURE__ */ m("p", {
35
+ className: "text-2xl font-bold mt-1",
36
+ children: g.length
37
+ })]
38
+ }) }),
39
+ /* @__PURE__ */ m(u, { children: /* @__PURE__ */ h(d, {
40
+ className: "pt-4",
41
+ children: [/* @__PURE__ */ h("div", {
42
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
43
+ children: [/* @__PURE__ */ m(n, { className: "h-4 w-4" }), "Scheduled"]
44
+ }), /* @__PURE__ */ m("p", {
45
+ className: "text-2xl font-bold mt-1",
46
+ children: b.length
47
+ })]
48
+ }) }),
49
+ /* @__PURE__ */ m(u, { children: /* @__PURE__ */ h(d, {
50
+ className: "pt-4",
51
+ children: [/* @__PURE__ */ h("div", {
52
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
53
+ children: [/* @__PURE__ */ m(t, { className: "h-4 w-4" }), "Completed"]
54
+ }), /* @__PURE__ */ m("p", {
55
+ className: "text-2xl font-bold mt-1 text-green-600",
56
+ children: v.length
57
+ })]
58
+ }) }),
59
+ /* @__PURE__ */ m(u, { children: /* @__PURE__ */ h(d, {
60
+ className: "pt-4",
61
+ children: [/* @__PURE__ */ h("div", {
62
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
63
+ children: [/* @__PURE__ */ m(a, { className: "h-4 w-4" }), "Running"]
64
+ }), /* @__PURE__ */ m("p", {
65
+ className: "text-2xl font-bold mt-1 text-blue-600",
66
+ children: y.length
67
+ })]
68
+ }) })
69
+ ]
70
+ }),
71
+ /* @__PURE__ */ h(u, { children: [/* @__PURE__ */ m(f, { children: /* @__PURE__ */ m(p, { children: "Recent Executions" }) }), /* @__PURE__ */ m(d, {
72
+ className: "p-0",
73
+ children: /* @__PURE__ */ m("div", {
74
+ className: "overflow-x-auto",
75
+ children: /* @__PURE__ */ h("table", {
76
+ className: "w-full text-sm",
77
+ children: [/* @__PURE__ */ m("thead", { children: /* @__PURE__ */ h("tr", {
78
+ className: "border-b bg-muted/50",
79
+ children: [
80
+ /* @__PURE__ */ m("th", {
81
+ className: "text-left p-3 font-medium",
82
+ children: "Report"
83
+ }),
84
+ /* @__PURE__ */ m("th", {
85
+ className: "text-left p-3 font-medium",
86
+ children: "Executed By"
87
+ }),
88
+ /* @__PURE__ */ m("th", {
89
+ className: "text-left p-3 font-medium",
90
+ children: "Status"
91
+ }),
92
+ /* @__PURE__ */ m("th", {
93
+ className: "text-left p-3 font-medium",
94
+ children: "Format"
95
+ }),
96
+ /* @__PURE__ */ m("th", {
97
+ className: "text-left p-3 font-medium",
98
+ children: "Duration"
99
+ }),
100
+ /* @__PURE__ */ m("th", {
101
+ className: "text-left p-3 font-medium",
102
+ children: "Time"
103
+ }),
104
+ /* @__PURE__ */ m("th", { className: "p-3" })
105
+ ]
106
+ }) }), /* @__PURE__ */ m("tbody", { children: _.map((e) => /* @__PURE__ */ h("tr", {
107
+ className: "border-b hover:bg-muted/50",
108
+ children: [
109
+ /* @__PURE__ */ m("td", {
110
+ className: "p-3 font-medium",
111
+ children: e.reportName
112
+ }),
113
+ /* @__PURE__ */ m("td", {
114
+ className: "p-3 text-xs",
115
+ children: e.executedBy
116
+ }),
117
+ /* @__PURE__ */ h("td", {
118
+ className: "p-3",
119
+ children: [
120
+ e.status === "completed" && /* @__PURE__ */ h(c, {
121
+ variant: "default",
122
+ children: [/* @__PURE__ */ m(t, { className: "mr-1 h-3 w-3" }), "Completed"]
123
+ }),
124
+ e.status === "running" && /* @__PURE__ */ h(c, {
125
+ variant: "secondary",
126
+ children: [/* @__PURE__ */ m(a, { className: "mr-1 h-3 w-3 animate-spin" }), "Running"]
127
+ }),
128
+ e.status === "failed" && /* @__PURE__ */ h(c, {
129
+ variant: "destructive",
130
+ children: [/* @__PURE__ */ m(s, { className: "mr-1 h-3 w-3" }), "Failed"]
131
+ }),
132
+ e.status === "queued" && /* @__PURE__ */ m(c, {
133
+ variant: "outline",
134
+ children: "Queued"
135
+ })
136
+ ]
137
+ }),
138
+ /* @__PURE__ */ m("td", {
139
+ className: "p-3 text-xs",
140
+ children: e.format
141
+ }),
142
+ /* @__PURE__ */ h("td", {
143
+ className: "p-3 text-xs",
144
+ children: [e.duration, "s"]
145
+ }),
146
+ /* @__PURE__ */ m("td", {
147
+ className: "p-3 text-xs",
148
+ children: new Date(e.executedAt).toLocaleString()
149
+ }),
150
+ /* @__PURE__ */ m("td", {
151
+ className: "p-3",
152
+ children: e.status === "completed" && /* @__PURE__ */ m(l, {
153
+ variant: "ghost",
154
+ size: "sm",
155
+ children: /* @__PURE__ */ m(r, { className: "h-3 w-3" })
156
+ })
157
+ })
158
+ ]
159
+ }, e.id)) })]
160
+ })
161
+ })
162
+ })] }),
163
+ /* @__PURE__ */ h(u, { children: [/* @__PURE__ */ m(f, { children: /* @__PURE__ */ m(p, { children: "Available Reports" }) }), /* @__PURE__ */ m(d, { children: /* @__PURE__ */ m("div", {
164
+ className: "grid gap-3 md:grid-cols-2 lg:grid-cols-3",
165
+ children: g.map((e) => /* @__PURE__ */ h("div", {
166
+ className: "rounded-lg border p-4 hover:shadow-sm transition-shadow cursor-pointer",
167
+ children: [
168
+ /* @__PURE__ */ h("div", {
169
+ className: "flex items-center justify-between",
170
+ children: [/* @__PURE__ */ m(c, {
171
+ variant: "outline",
172
+ className: "text-xs",
173
+ children: e.type
174
+ }), /* @__PURE__ */ m(c, {
175
+ variant: "secondary",
176
+ className: "text-xs",
177
+ children: e.category
178
+ })]
179
+ }),
180
+ /* @__PURE__ */ m("h4", {
181
+ className: "font-medium mt-2",
182
+ children: e.name
183
+ }),
184
+ /* @__PURE__ */ m("p", {
185
+ className: "text-xs text-muted-foreground mt-1",
186
+ children: e.description
187
+ }),
188
+ /* @__PURE__ */ h("div", {
189
+ className: "flex items-center gap-2 mt-2 text-xs text-muted-foreground",
190
+ children: [e.schedule && /* @__PURE__ */ h("span", { children: ["Schedule: ", e.schedule] }), e.lastRun && /* @__PURE__ */ h("span", { children: ["· Last: ", new Date(e.lastRun).toLocaleDateString()] })]
191
+ })
192
+ ]
193
+ }, e.id))
194
+ }) })] })
195
+ ]
196
+ });
197
+ }
198
+ //#endregion
199
+ export { g as ReportsReportsDashboardPage };
200
+
201
+ //# sourceMappingURL=ReportsReportsDashboardPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportsDashboardPage.js","names":[],"sources":["../../../src/assethandler/pages/ReportsReportsDashboardPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@burdenoff/fe-libs/ui';\nimport {\n BarChart3,\n FileText,\n Clock,\n Download,\n Plus,\n CheckCircle,\n XCircle,\n Loader2,\n} from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function ReportsReportsDashboardPage() {\n const { reports, reportExecutions } = useAssetHandlerStore();\n\n const completed = reportExecutions.filter((e) => e.status === 'completed');\n const running = reportExecutions.filter((e) => e.status === 'running');\n const failed = reportExecutions.filter((e) => e.status === 'failed');\n const scheduled = reports.filter((r) => r.schedule);\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\">Reports Dashboard</h1>\n <p className=\"text-sm text-muted-foreground\">Overview of all reports and executions</p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"mr-2 h-4 w-4\" />\n New Report\n </Button>\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 <FileText className=\"h-4 w-4\" />\n Total Reports\n </div>\n <p className=\"text-2xl font-bold mt-1\">{reports.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 <Clock className=\"h-4 w-4\" />\n Scheduled\n </div>\n <p className=\"text-2xl font-bold mt-1\">{scheduled.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 <CheckCircle className=\"h-4 w-4\" />\n Completed\n </div>\n <p className=\"text-2xl font-bold mt-1 text-green-600\">{completed.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 <Loader2 className=\"h-4 w-4\" />\n Running\n </div>\n <p className=\"text-2xl font-bold mt-1 text-blue-600\">{running.length}</p>\n </CardContent>\n </Card>\n </div>\n\n {/* Recent Executions */}\n <Card>\n <CardHeader>\n <CardTitle>Recent Executions</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\">Report</th>\n <th className=\"text-left p-3 font-medium\">Executed By</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Format</th>\n <th className=\"text-left p-3 font-medium\">Duration</th>\n <th className=\"text-left p-3 font-medium\">Time</th>\n <th className=\"p-3\"></th>\n </tr>\n </thead>\n <tbody>\n {reportExecutions.map((exec) => (\n <tr key={exec.id} className=\"border-b hover:bg-muted/50\">\n <td className=\"p-3 font-medium\">{exec.reportName}</td>\n <td className=\"p-3 text-xs\">{exec.executedBy}</td>\n <td className=\"p-3\">\n {exec.status === 'completed' && (\n <Badge variant=\"default\">\n <CheckCircle className=\"mr-1 h-3 w-3\" />\n Completed\n </Badge>\n )}\n {exec.status === 'running' && (\n <Badge variant=\"secondary\">\n <Loader2 className=\"mr-1 h-3 w-3 animate-spin\" />\n Running\n </Badge>\n )}\n {exec.status === 'failed' && (\n <Badge variant=\"destructive\">\n <XCircle className=\"mr-1 h-3 w-3\" />\n Failed\n </Badge>\n )}\n {exec.status === 'queued' && <Badge variant=\"outline\">Queued</Badge>}\n </td>\n <td className=\"p-3 text-xs\">{exec.format}</td>\n <td className=\"p-3 text-xs\">{exec.duration}s</td>\n <td className=\"p-3 text-xs\">{new Date(exec.executedAt).toLocaleString()}</td>\n <td className=\"p-3\">\n {exec.status === 'completed' && (\n <Button variant=\"ghost\" size=\"sm\">\n <Download className=\"h-3 w-3\" />\n </Button>\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n\n {/* Report Configs */}\n <Card>\n <CardHeader>\n <CardTitle>Available Reports</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid gap-3 md:grid-cols-2 lg:grid-cols-3\">\n {reports.map((report) => (\n <div\n key={report.id}\n className=\"rounded-lg border p-4 hover:shadow-sm transition-shadow cursor-pointer\"\n >\n <div className=\"flex items-center justify-between\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {report.type}\n </Badge>\n <Badge variant=\"secondary\" className=\"text-xs\">\n {report.category}\n </Badge>\n </div>\n <h4 className=\"font-medium mt-2\">{report.name}</h4>\n <p className=\"text-xs text-muted-foreground mt-1\">{report.description}</p>\n <div className=\"flex items-center gap-2 mt-2 text-xs text-muted-foreground\">\n {report.schedule && <span>Schedule: {report.schedule}</span>}\n {report.lastRun && (\n <span>&middot; Last: {new Date(report.lastRun).toLocaleDateString()}</span>\n )}\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ReportsReportsListPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ReportsReportsListPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportsListPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/ReportsReportsListPage.tsx"],"names":[],"mappings":"AAYA,wBAAgB,sBAAsB,4CA0ErC"}
@@ -0,0 +1,128 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { Play as t, Plus as n, Search as r } from "lucide-react";
3
+ import { Badge as i, Button as a, Card as o, CardContent as s, Input as c } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/ReportsReportsListPage.tsx
6
+ function d() {
7
+ let { reports: d } = e();
8
+ return /* @__PURE__ */ u("div", {
9
+ className: "space-y-6 p-6",
10
+ children: [
11
+ /* @__PURE__ */ u("div", {
12
+ className: "flex items-center justify-between",
13
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h1", {
14
+ className: "text-2xl font-bold",
15
+ children: "Reports List"
16
+ }), /* @__PURE__ */ u("p", {
17
+ className: "text-sm text-muted-foreground",
18
+ children: [d.length, " configured reports"]
19
+ })] }), /* @__PURE__ */ u(a, {
20
+ size: "sm",
21
+ children: [/* @__PURE__ */ l(n, { className: "mr-2 h-4 w-4" }), "Create Report"]
22
+ })]
23
+ }),
24
+ /* @__PURE__ */ u("div", {
25
+ className: "relative max-w-md",
26
+ children: [/* @__PURE__ */ l(r, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ l(c, {
27
+ placeholder: "Search reports...",
28
+ className: "pl-9"
29
+ })]
30
+ }),
31
+ /* @__PURE__ */ l(o, { children: /* @__PURE__ */ l(s, {
32
+ className: "p-0",
33
+ children: /* @__PURE__ */ l("div", {
34
+ className: "overflow-x-auto",
35
+ children: /* @__PURE__ */ u("table", {
36
+ className: "w-full text-sm",
37
+ children: [/* @__PURE__ */ l("thead", { children: /* @__PURE__ */ u("tr", {
38
+ className: "border-b bg-muted/50",
39
+ children: [
40
+ /* @__PURE__ */ l("th", {
41
+ className: "text-left p-3 font-medium",
42
+ children: "Name"
43
+ }),
44
+ /* @__PURE__ */ l("th", {
45
+ className: "text-left p-3 font-medium",
46
+ children: "Category"
47
+ }),
48
+ /* @__PURE__ */ l("th", {
49
+ className: "text-left p-3 font-medium",
50
+ children: "Type"
51
+ }),
52
+ /* @__PURE__ */ l("th", {
53
+ className: "text-left p-3 font-medium",
54
+ children: "Schedule"
55
+ }),
56
+ /* @__PURE__ */ l("th", {
57
+ className: "text-left p-3 font-medium",
58
+ children: "Last Run"
59
+ }),
60
+ /* @__PURE__ */ l("th", {
61
+ className: "text-left p-3 font-medium",
62
+ children: "Tags"
63
+ }),
64
+ /* @__PURE__ */ l("th", { className: "p-3" })
65
+ ]
66
+ }) }), /* @__PURE__ */ l("tbody", { children: d.map((e) => /* @__PURE__ */ u("tr", {
67
+ className: "border-b hover:bg-muted/50 cursor-pointer",
68
+ children: [
69
+ /* @__PURE__ */ u("td", {
70
+ className: "p-3",
71
+ children: [/* @__PURE__ */ l("p", {
72
+ className: "font-medium",
73
+ children: e.name
74
+ }), /* @__PURE__ */ l("p", {
75
+ className: "text-xs text-muted-foreground",
76
+ children: e.description
77
+ })]
78
+ }),
79
+ /* @__PURE__ */ l("td", {
80
+ className: "p-3",
81
+ children: /* @__PURE__ */ l(i, {
82
+ variant: "outline",
83
+ children: e.category
84
+ })
85
+ }),
86
+ /* @__PURE__ */ l("td", {
87
+ className: "p-3 capitalize text-xs",
88
+ children: e.type
89
+ }),
90
+ /* @__PURE__ */ l("td", {
91
+ className: "p-3 text-xs",
92
+ children: e.schedule || "Manual"
93
+ }),
94
+ /* @__PURE__ */ l("td", {
95
+ className: "p-3 text-xs",
96
+ children: e.lastRun ? new Date(e.lastRun).toLocaleDateString() : "Never"
97
+ }),
98
+ /* @__PURE__ */ l("td", {
99
+ className: "p-3",
100
+ children: /* @__PURE__ */ l("div", {
101
+ className: "flex flex-wrap gap-1",
102
+ children: e.tags.map((e) => /* @__PURE__ */ l(i, {
103
+ variant: "secondary",
104
+ className: "text-[10px]",
105
+ children: e
106
+ }, e))
107
+ })
108
+ }),
109
+ /* @__PURE__ */ l("td", {
110
+ className: "p-3",
111
+ children: /* @__PURE__ */ l(a, {
112
+ variant: "ghost",
113
+ size: "sm",
114
+ children: /* @__PURE__ */ l(t, { className: "h-3 w-3" })
115
+ })
116
+ })
117
+ ]
118
+ }, e.id)) })]
119
+ })
120
+ })
121
+ }) })
122
+ ]
123
+ });
124
+ }
125
+ //#endregion
126
+ export { d as ReportsReportsListPage };
127
+
128
+ //# sourceMappingURL=ReportsReportsListPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportsReportsListPage.js","names":[],"sources":["../../../src/assethandler/pages/ReportsReportsListPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { FileText, Plus, Search, Play, Clock } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function ReportsReportsListPage() {\n const { reports } = useAssetHandlerStore();\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\">Reports List</h1>\n <p className=\"text-sm text-muted-foreground\">{reports.length} configured reports</p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"mr-2 h-4 w-4\" />\n Create Report\n </Button>\n </div>\n\n <div className=\"relative max-w-md\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input placeholder=\"Search reports...\" className=\"pl-9\" />\n </div>\n\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\">Name</th>\n <th className=\"text-left p-3 font-medium\">Category</th>\n <th className=\"text-left p-3 font-medium\">Type</th>\n <th className=\"text-left p-3 font-medium\">Schedule</th>\n <th className=\"text-left p-3 font-medium\">Last Run</th>\n <th className=\"text-left p-3 font-medium\">Tags</th>\n <th className=\"p-3\"></th>\n </tr>\n </thead>\n <tbody>\n {reports.map((report) => (\n <tr key={report.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3\">\n <p className=\"font-medium\">{report.name}</p>\n <p className=\"text-xs text-muted-foreground\">{report.description}</p>\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{report.category}</Badge>\n </td>\n <td className=\"p-3 capitalize text-xs\">{report.type}</td>\n <td className=\"p-3 text-xs\">{report.schedule || 'Manual'}</td>\n <td className=\"p-3 text-xs\">\n {report.lastRun ? new Date(report.lastRun).toLocaleDateString() : 'Never'}\n </td>\n <td className=\"p-3\">\n <div className=\"flex flex-wrap gap-1\">\n {report.tags.map((t) => (\n <Badge key={t} variant=\"secondary\" className=\"text-[10px]\">\n {t}\n </Badge>\n ))}\n </div>\n </td>\n <td className=\"p-3\">\n <Button variant=\"ghost\" size=\"sm\">\n <Play className=\"h-3 w-3\" />\n </Button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;AAYA,SAAgB,IAAyB;CACvC,IAAM,EAAE,eAAY,GAAsB;AAE1C,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;KAAI,WAAU;eAAqB;KAAiB,CAAA,EACpD,kBAAC,KAAD;KAAG,WAAU;eAAb,CAA8C,EAAQ,QAAO,sBAAuB;OAChF,EAAA,CAAA,EACN,kBAAC,GAAD;KAAQ,MAAK;eAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,gBAE1B;OACL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAQ,WAAU,0EAA2E,CAAA,EAC7F,kBAAC,GAAD;KAAO,aAAY;KAAoB,WAAU;KAAS,CAAA,CACtD;;GAEN,kBAAC,GAAD,EAAA,UACE,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;SAAS,CAAA;QACnD,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAa,CAAA;QACvD,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAS,CAAA;QACnD,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAa,CAAA;QACvD,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAa,CAAA;QACvD,kBAAC,MAAD;SAAI,WAAU;mBAA4B;SAAS,CAAA;QACnD,kBAAC,MAAD,EAAI,WAAU,OAAW,CAAA;QACtB;UACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAQ,KAAK,MACZ,kBAAC,MAAD;OAAoB,WAAU;iBAA9B;QACE,kBAAC,MAAD;SAAI,WAAU;mBAAd,CACE,kBAAC,KAAD;UAAG,WAAU;oBAAe,EAAO;UAAS,CAAA,EAC5C,kBAAC,KAAD;UAAG,WAAU;oBAAiC,EAAO;UAAgB,CAAA,CAClE;;QACL,kBAAC,MAAD;SAAI,WAAU;mBACZ,kBAAC,GAAD;UAAO,SAAQ;oBAAW,EAAO;UAAiB,CAAA;SAC/C,CAAA;QACL,kBAAC,MAAD;SAAI,WAAU;mBAA0B,EAAO;SAAU,CAAA;QACzD,kBAAC,MAAD;SAAI,WAAU;mBAAe,EAAO,YAAY;SAAc,CAAA;QAC9D,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAO,UAAU,IAAI,KAAK,EAAO,QAAQ,CAAC,oBAAoB,GAAG;SAC/D,CAAA;QACL,kBAAC,MAAD;SAAI,WAAU;mBACZ,kBAAC,OAAD;UAAK,WAAU;oBACZ,EAAO,KAAK,KAAK,MAChB,kBAAC,GAAD;WAAe,SAAQ;WAAY,WAAU;qBAC1C;WACK,EAFI,EAEJ,CACR;UACE,CAAA;SACH,CAAA;QACL,kBAAC,MAAD;SAAI,WAAU;mBACZ,kBAAC,GAAD;UAAQ,SAAQ;UAAQ,MAAK;oBAC3B,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA;UACrB,CAAA;SACN,CAAA;QACF;SA3BI,EAAO,GA2BX,CACL,EACI,CAAA,CACF;;KACJ,CAAA;IACM,CAAA,EACT,CAAA;GACH"}
@@ -0,0 +1,2 @@
1
+ export declare function SamLicensesPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SamLicensesPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SamLicensesPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/SamLicensesPage.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,eAAe,4CAuD9B"}
@@ -0,0 +1,79 @@
1
+ import { KeyRound 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/SamLicensesPage.tsx
6
+ var a = r`
7
+ query AssetHandlerSoftwareAssets {
8
+ softwareAssets {
9
+ id
10
+ name
11
+ vendor
12
+ version
13
+ licenseType
14
+ seatsPurchased
15
+ seatsUsed
16
+ compliancePercent
17
+ }
18
+ }
19
+ `;
20
+ function o() {
21
+ let { data: r, loading: o } = i(a, { fetchPolicy: "cache-and-network" }), s = r?.softwareAssets ?? [];
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" }), " SAM Licenses"]
28
+ }),
29
+ /* @__PURE__ */ t("p", {
30
+ className: "text-muted-foreground",
31
+ children: "Manage software entitlements, utilization, and compliance posture."
32
+ }),
33
+ /* @__PURE__ */ n("div", {
34
+ className: "rounded-lg border",
35
+ children: [
36
+ /* @__PURE__ */ n("div", {
37
+ className: "grid grid-cols-5 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: "Software" }),
40
+ /* @__PURE__ */ t("span", { children: "Vendor" }),
41
+ /* @__PURE__ */ t("span", { children: "Version" }),
42
+ /* @__PURE__ */ t("span", { children: "Seats Used" }),
43
+ /* @__PURE__ */ t("span", { children: "Compliance" })
44
+ ]
45
+ }),
46
+ o && s.length === 0 ? /* @__PURE__ */ t("div", {
47
+ className: "px-4 py-4 text-sm text-muted-foreground",
48
+ children: "Loading software assets..."
49
+ }) : null,
50
+ !o && s.length === 0 ? /* @__PURE__ */ t("div", {
51
+ className: "px-4 py-4 text-sm text-muted-foreground",
52
+ children: "No software assets found."
53
+ }) : null,
54
+ s.map((e) => /* @__PURE__ */ n("div", {
55
+ className: "grid grid-cols-5 gap-3 border-b px-4 py-3 text-sm last:border-b-0",
56
+ children: [
57
+ /* @__PURE__ */ t("span", {
58
+ className: "font-medium",
59
+ children: e.name
60
+ }),
61
+ /* @__PURE__ */ t("span", { children: e.vendor }),
62
+ /* @__PURE__ */ t("span", { children: e.version }),
63
+ /* @__PURE__ */ n("span", { children: [
64
+ e.seatsUsed ?? 0,
65
+ "/",
66
+ e.seatsPurchased ?? "-"
67
+ ] }),
68
+ /* @__PURE__ */ n("span", { children: [e.compliancePercent.toFixed(1), "%"] })
69
+ ]
70
+ }, e.id))
71
+ ]
72
+ })
73
+ ]
74
+ });
75
+ }
76
+ //#endregion
77
+ export { o as SamLicensesPage };
78
+
79
+ //# sourceMappingURL=SamLicensesPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SamLicensesPage.js","names":[],"sources":["../../../src/assethandler/pages/SamLicensesPage.tsx"],"sourcesContent":["import { KeyRound } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\n\nconst SOFTWARE_ASSETS_QUERY = gql`\n query AssetHandlerSoftwareAssets {\n softwareAssets {\n id\n name\n vendor\n version\n licenseType\n seatsPurchased\n seatsUsed\n compliancePercent\n }\n }\n`;\n\nexport function SamLicensesPage() {\n const { data, loading } = useQuery<{\n softwareAssets: Array<{\n id: string;\n name: string;\n vendor: string;\n version: string;\n licenseType: string;\n seatsPurchased: number | null;\n seatsUsed: number | null;\n compliancePercent: number;\n }>;\n }>(SOFTWARE_ASSETS_QUERY, { fetchPolicy: 'cache-and-network' });\n\n const softwareAssets = data?.softwareAssets ?? [];\n\n return (\n <div className=\"space-y-4 p-4\">\n <h1 className=\"flex items-center gap-2 text-2xl font-semibold\">\n <KeyRound className=\"h-6 w-6\" /> SAM Licenses\n </h1>\n <p className=\"text-muted-foreground\">\n Manage software entitlements, utilization, and compliance posture.\n </p>\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>Software</span>\n <span>Vendor</span>\n <span>Version</span>\n <span>Seats Used</span>\n <span>Compliance</span>\n </div>\n {loading && softwareAssets.length === 0 ? (\n <div className=\"px-4 py-4 text-sm text-muted-foreground\">Loading software assets...</div>\n ) : null}\n {!loading && softwareAssets.length === 0 ? (\n <div className=\"px-4 py-4 text-sm text-muted-foreground\">No software assets found.</div>\n ) : null}\n {softwareAssets.map((asset) => (\n <div\n key={asset.id}\n className=\"grid grid-cols-5 gap-3 border-b px-4 py-3 text-sm last:border-b-0\"\n >\n <span className=\"font-medium\">{asset.name}</span>\n <span>{asset.vendor}</span>\n <span>{asset.version}</span>\n <span>\n {asset.seatsUsed ?? 0}/{asset.seatsPurchased ?? '-'}\n </span>\n <span>{asset.compliancePercent.toFixed(1)}%</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,IAAM,IAAwB,CAAG;;;;;;;;;;;;;;AAejC,SAAgB,IAAkB;CAChC,IAAM,EAAE,SAAM,eAAY,EAWvB,GAAuB,EAAE,aAAa,qBAAqB,CAAC,EAEzD,IAAiB,GAAM,kBAAkB,EAAE;AAEjD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,MAAD;IAAI,WAAU;cAAd,CACE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA,EAAA,gBAC7B;;GACL,kBAAC,KAAD;IAAG,WAAU;cAAwB;IAEjC,CAAA;GACJ,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,QAAD,EAAA,UAAM,YAAe,CAAA;OACrB,kBAAC,QAAD,EAAA,UAAM,UAAa,CAAA;OACnB,kBAAC,QAAD,EAAA,UAAM,WAAc,CAAA;OACpB,kBAAC,QAAD,EAAA,UAAM,cAAiB,CAAA;OACvB,kBAAC,QAAD,EAAA,UAAM,cAAiB,CAAA;OACnB;;KACL,KAAW,EAAe,WAAW,IACpC,kBAAC,OAAD;MAAK,WAAU;gBAA0C;MAAgC,CAAA,GACvF;KACH,CAAC,KAAW,EAAe,WAAW,IACrC,kBAAC,OAAD;MAAK,WAAU;gBAA0C;MAA+B,CAAA,GACtF;KACH,EAAe,KAAK,MACnB,kBAAC,OAAD;MAEE,WAAU;gBAFZ;OAIE,kBAAC,QAAD;QAAM,WAAU;kBAAe,EAAM;QAAY,CAAA;OACjD,kBAAC,QAAD,EAAA,UAAO,EAAM,QAAc,CAAA;OAC3B,kBAAC,QAAD,EAAA,UAAO,EAAM,SAAe,CAAA;OAC5B,kBAAC,QAAD,EAAA,UAAA;QACG,EAAM,aAAa;QAAE;QAAE,EAAM,kBAAkB;QAC3C,EAAA,CAAA;OACP,kBAAC,QAAD,EAAA,UAAA,CAAO,EAAM,kBAAkB,QAAQ,EAAE,EAAC,IAAQ,EAAA,CAAA;OAC9C;QAVC,EAAM,GAUP,CACN;KACE;;GACF"}
@@ -0,0 +1,2 @@
1
+ export declare function SecurityComplianceDetailPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SecurityComplianceDetailPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityComplianceDetailPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/SecurityComplianceDetailPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,4BAA4B,4CA8F3C"}
@@ -0,0 +1,109 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { ArrowLeft as t, Shield as n } from "lucide-react";
3
+ import { useParams as r } from "react-router-dom";
4
+ import { Badge as i, Button as a, Card as o, CardContent as s, CardHeader as c, CardTitle as l } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
6
+ //#region src/assethandler/pages/SecurityComplianceDetailPage.tsx
7
+ function f() {
8
+ let { frameworkId: f } = r(), { complianceFrameworks: p } = e(), m = p.find((e) => e.id === f) ?? p[0];
9
+ return m ? /* @__PURE__ */ d("div", {
10
+ className: "space-y-6 p-6",
11
+ children: [
12
+ /* @__PURE__ */ d("div", {
13
+ className: "flex items-center justify-between",
14
+ children: [/* @__PURE__ */ d("div", {
15
+ className: "flex items-center gap-4",
16
+ children: [/* @__PURE__ */ u(a, {
17
+ variant: "ghost",
18
+ size: "icon",
19
+ children: /* @__PURE__ */ u(t, { className: "h-4 w-4" })
20
+ }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ d("div", {
21
+ className: "flex items-center gap-3",
22
+ children: [/* @__PURE__ */ d("h1", {
23
+ className: "text-2xl font-bold",
24
+ children: [
25
+ m.name,
26
+ " ",
27
+ m.version
28
+ ]
29
+ }), /* @__PURE__ */ u(i, {
30
+ variant: m.status === "compliant" ? "default" : m.status === "non_compliant" ? "destructive" : "secondary",
31
+ children: m.status.replace("_", " ")
32
+ })]
33
+ }), /* @__PURE__ */ u("p", {
34
+ className: "text-sm text-muted-foreground mt-1",
35
+ children: "Compliance framework assessment details"
36
+ })] })]
37
+ }), /* @__PURE__ */ d(a, {
38
+ size: "sm",
39
+ children: [/* @__PURE__ */ u(n, { className: "mr-2 h-4 w-4" }), "Run Assessment"]
40
+ })]
41
+ }),
42
+ /* @__PURE__ */ d("div", {
43
+ className: "grid gap-4 md:grid-cols-4",
44
+ children: [
45
+ /* @__PURE__ */ u(o, { children: /* @__PURE__ */ d(s, {
46
+ className: "pt-4 text-center",
47
+ children: [/* @__PURE__ */ d("p", {
48
+ className: "text-4xl font-bold",
49
+ children: [m.score, "%"]
50
+ }), /* @__PURE__ */ u("p", {
51
+ className: "text-xs text-muted-foreground",
52
+ children: "Overall Score"
53
+ })]
54
+ }) }),
55
+ /* @__PURE__ */ u(o, { children: /* @__PURE__ */ d(s, {
56
+ className: "pt-4 text-center",
57
+ children: [/* @__PURE__ */ u("p", {
58
+ className: "text-4xl font-bold text-green-600",
59
+ children: m.passedControls
60
+ }), /* @__PURE__ */ u("p", {
61
+ className: "text-xs text-muted-foreground",
62
+ children: "Passed"
63
+ })]
64
+ }) }),
65
+ /* @__PURE__ */ u(o, { children: /* @__PURE__ */ d(s, {
66
+ className: "pt-4 text-center",
67
+ children: [/* @__PURE__ */ u("p", {
68
+ className: "text-4xl font-bold text-red-600",
69
+ children: m.failedControls
70
+ }), /* @__PURE__ */ u("p", {
71
+ className: "text-xs text-muted-foreground",
72
+ children: "Failed"
73
+ })]
74
+ }) }),
75
+ /* @__PURE__ */ u(o, { children: /* @__PURE__ */ d(s, {
76
+ className: "pt-4 text-center",
77
+ children: [/* @__PURE__ */ u("p", {
78
+ className: "text-4xl font-bold",
79
+ children: m.totalControls
80
+ }), /* @__PURE__ */ u("p", {
81
+ className: "text-xs text-muted-foreground",
82
+ children: "Total Controls"
83
+ })]
84
+ }) })
85
+ ]
86
+ }),
87
+ /* @__PURE__ */ d(o, { children: [/* @__PURE__ */ u(c, { children: /* @__PURE__ */ u(l, { children: "Compliance Progress" }) }), /* @__PURE__ */ d(s, { children: [/* @__PURE__ */ u("div", {
88
+ className: "h-4 rounded-full bg-muted overflow-hidden",
89
+ children: /* @__PURE__ */ u("div", {
90
+ className: `h-full rounded-full ${m.score >= 90 ? "bg-green-500" : m.score >= 70 ? "bg-yellow-500" : "bg-red-500"}`,
91
+ style: { width: `${m.score}%` }
92
+ })
93
+ }), /* @__PURE__ */ d("div", {
94
+ className: "flex justify-between mt-2 text-xs text-muted-foreground",
95
+ children: [/* @__PURE__ */ d("span", { children: ["Last Assessment: ", m.lastAssessment] }), /* @__PURE__ */ d("span", { children: ["Next Assessment: ", m.nextAssessment] })]
96
+ })] })] })
97
+ ]
98
+ }) : /* @__PURE__ */ u("div", {
99
+ className: "p-6",
100
+ children: /* @__PURE__ */ u("p", {
101
+ className: "text-muted-foreground",
102
+ children: "Framework not found."
103
+ })
104
+ });
105
+ }
106
+ //#endregion
107
+ export { f as SecurityComplianceDetailPage };
108
+
109
+ //# sourceMappingURL=SecurityComplianceDetailPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityComplianceDetailPage.js","names":[],"sources":["../../../src/assethandler/pages/SecurityComplianceDetailPage.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, CheckCircle, XCircle, Shield } from 'lucide-react';\nimport { useParams } from 'react-router-dom';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function SecurityComplianceDetailPage() {\n const { frameworkId } = useParams<{ frameworkId: string }>();\n const { complianceFrameworks } = useAssetHandlerStore();\n const framework =\n complianceFrameworks.find((item) => item.id === frameworkId) ?? complianceFrameworks[0];\n\n if (!framework)\n return (\n <div className=\"p-6\">\n <p className=\"text-muted-foreground\">Framework not found.</p>\n </div>\n );\n\n return (\n <div className=\"space-y-6 p-6\">\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\">\n {framework.name} {framework.version}\n </h1>\n <Badge\n variant={\n framework.status === 'compliant'\n ? 'default'\n : framework.status === 'non_compliant'\n ? 'destructive'\n : 'secondary'\n }\n >\n {framework.status.replace('_', ' ')}\n </Badge>\n </div>\n <p className=\"text-sm text-muted-foreground mt-1\">\n Compliance framework assessment details\n </p>\n </div>\n </div>\n <Button size=\"sm\">\n <Shield className=\"mr-2 h-4 w-4\" />\n Run Assessment\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardContent className=\"pt-4 text-center\">\n <p className=\"text-4xl font-bold\">{framework.score}%</p>\n <p className=\"text-xs text-muted-foreground\">Overall Score</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4 text-center\">\n <p className=\"text-4xl font-bold text-green-600\">{framework.passedControls}</p>\n <p className=\"text-xs text-muted-foreground\">Passed</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4 text-center\">\n <p className=\"text-4xl font-bold text-red-600\">{framework.failedControls}</p>\n <p className=\"text-xs text-muted-foreground\">Failed</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4 text-center\">\n <p className=\"text-4xl font-bold\">{framework.totalControls}</p>\n <p className=\"text-xs text-muted-foreground\">Total Controls</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Compliance Progress</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"h-4 rounded-full bg-muted overflow-hidden\">\n <div\n className={`h-full rounded-full ${framework.score >= 90 ? 'bg-green-500' : framework.score >= 70 ? 'bg-yellow-500' : 'bg-red-500'}`}\n style={{ width: `${framework.score}%` }}\n />\n </div>\n <div className=\"flex justify-between mt-2 text-xs text-muted-foreground\">\n <span>Last Assessment: {framework.lastAssessment}</span>\n <span>Next Assessment: {framework.nextAssessment}</span>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;;AAaA,SAAgB,IAA+B;CAC7C,IAAM,EAAE,mBAAgB,GAAoC,EACtD,EAAE,4BAAyB,GAAsB,EACjD,IACJ,EAAqB,MAAM,MAAS,EAAK,OAAO,EAAY,IAAI,EAAqB;AASvF,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;iBAAd;QACG,EAAU;QAAK;QAAE,EAAU;QACzB;UACL,kBAAC,GAAD;OACE,SACE,EAAU,WAAW,cACjB,YACA,EAAU,WAAW,kBACnB,gBACA;iBAGP,EAAU,OAAO,QAAQ,KAAK,IAAI;OAC7B,CAAA,CACJ;SACN,kBAAC,KAAD;MAAG,WAAU;gBAAqC;MAE9C,CAAA,CACA,EAAA,CAAA,CACF;QACN,kBAAC,GAAD;KAAQ,MAAK;eAAb,CACE,kBAAC,GAAD,EAAQ,WAAU,gBAAiB,CAAA,EAAA,iBAE5B;OACL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAAmC,EAAU,OAAM,IAAK;UACxD,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAiB,CAAA,CAClD;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAqC,EAAU;OAAmB,CAAA,EAC/E,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAU,CAAA,CAC3C;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAmC,EAAU;OAAmB,CAAA,EAC7E,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAU,CAAA,CAC3C;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAsB,EAAU;OAAkB,CAAA,EAC/D,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAkB,CAAA,CACnD;SACT,CAAA;KACH;;GAEN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,uBAA+B,CAAA,EAC/B,CAAA,EACb,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,OAAD;KACE,WAAW,uBAAuB,EAAU,SAAS,KAAK,iBAAiB,EAAU,SAAS,KAAK,kBAAkB;KACrH,OAAO,EAAE,OAAO,GAAG,EAAU,MAAM,IAAI;KACvC,CAAA;IACE,CAAA,EACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD,EAAA,UAAA,CAAM,qBAAkB,EAAU,eAAsB,EAAA,CAAA,EACxD,kBAAC,QAAD,EAAA,UAAA,CAAM,qBAAkB,EAAU,eAAsB,EAAA,CAAA,CACpD;MACM,EAAA,CAAA,CACT,EAAA,CAAA;GACH;MApFJ,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,KAAD;GAAG,WAAU;aAAwB;GAAwB,CAAA;EACzD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function SecurityPolicyDetailPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SecurityPolicyDetailPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityPolicyDetailPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/SecurityPolicyDetailPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,wBAAwB,4CA6GvC"}